🏢 Íbúðarblokkin — svo allir skilji

Hugsaðu um minnissvæðið í PLC-inu eins og íbúðarblokk. Blokkin er með stigagang í miðjunni, íbúðir sitt hvoru megin, og fleiri en eina hæð.

M
Íbúð
Hvert M segir til um hvort einhver sé heima, ef það er af (0) þá er enginn heima en á ef það er einhver heima.
MB
Hlið — 8 íbúðir
Ein hlið af hæð = 8 íbúðir (8 bitar). Vinstri hlið eða hægri hlið stigagangsins.
MW
Heil hæð — 16 íbúðir
Báðar hliðar saman = 16 íbúðir (16 bitar). MW geymir tölu — t.d. rauntíma eða teljarastöðu í tvíundakerfi (0/1) og þarf til þess 16 bita og getur þá orðið 65.535 í tugakerfinu.

Hér er blokkin. Stigagangurinn í miðju, 8 íbúðir til vinstri (MB1) og 8 til hægri (MB2). Saman mynda þær eina hæð — MW1:

🛡️ MW10 — hæð 10 (örugg! engin M-bitar hér)
MB19
M152
M151
M150
M149
M148
M147
M146
M145
🚪
MB20
M153
M154
M155
M156
M157
M158
M159
M160
MW1 — hæð 1 (báðar hliðar = 16 íbúðir)
MB1 — vinstri hlið
M1
M2
M3
M4
M5
M6
M7
M8
🚪
Stiga-
gangur
MB2 — hægri hlið
M9
M10
M11
M12
M13
M14
M15
M16
⋮ hæðir 2–9 á milli — M17–M144 búa þar ⋮

Hæð 1 (MW1): vinstri hlið (MB1) = M1–M8, hægri hlið (MB2) = M9–M16. Þetta eru skrefabitarnir þínir — Standby, Mótor áfram, o.s.frv.

Ef þú skrifar tölu í MW1 — gengur þú inn í stigaganginn og skiptir út öllum ljósarofunum á hæðinni í einu. M1 til M16 breytast öll. Þess vegna notum við MW10 fyrir tölur — hún er á annarri hæð þar sem engir skrefabitar búa.

⚠️ Overlap — algengasta villan!

Ef þú notar M1 fyrir „Standby" og MW1 fyrir rauntíma tímaliða — þá gengur tímaliðinn inn á hæð 1 og skiptir um alla ljósarofana. SFC-skrefin þín hætta að virka og forritið hegðar sér skringilega. Notaðu alltaf MW10+.

✅ Lausnin: Notaðu MW10 eða hærra

Til að koma í veg fyrir overlap er reglan einföld:

Reglan
M1–M16 = skrefabitar   |   MW10+ = tölur
Þá skarast ekkert — M-bitarnir þínir eru öruggir
TegundSviðNotkunDæmi
M M1 – M96 (bitar) ON/OFF stöður — SFC-skref, flaggar, stöðubreytur M1 = Standby, M2 = Mótor áfram, M3 = Villa
MW MW10, MW11, MW12… Tölur — rauntími, teljarastaða, setpoint MW10 = rauntími T1, MW11 = setpoint teljara
💡 Af hverju MW10 og ekki MW1?

MW1 þekur bæti MB1 og MB2, sem innihalda bita M1–M16. Ef þú notar MW1 yfirskrifarðu öll M-merki sem þú notaðir sem skrefabita. MW10 byrjar á MB19 — langt frá M1–M16 svæðinu.

🧪 Prófaðu — sjáðu overlap í rauntíma

Smelltu á M-bitana til að kveikja/slökkva. Sjáðu hvernig MW1 gildið breytist — og öfugt. Þetta sýnir hvers vegna overlap er vandamál.

M1–M16 ↔ MW1

Smelltu á bita til að toggla
MB1 (M1–M8)
MB2 (M9–M16)
MW1 gildi (samanlögð tala)
0
Ef þú setur MW1 = 500 yfirskrifast bitarnir

🏭 Hvernig notum við þetta í verkefnum?

M-bitar — ON/OFF stöður fyrir SFC-skref:

MerkiNotkun
M1Standby — kerfi í biðstöðu
M2Mótor áfram
M3Mótor afturábak
M4Villa / neyðarstöðvun virk

MW-orð — tölur sem breytast í keyrslu:

MerkiNotkun
MW10Rauntími tímaliða 1 (T1.QV tengdur við MW10)
MW11Rauntími tímaliða 2 (T2.QV)
MW12Setpoint eða viðmiðunargildi
💡 Ráð: Skráðu allt í I/O listann

Bættu M- og MW-merkjum við I/O listann jafnóðum og þú bætir þeim við forritið. Þá veistu alltaf til hvers M3 var og þarft ekki að leita í kóðanum.

⚠️ Algengar villur

❌ Nota MW1–MW4: Þessi svæði skarast við M1–M32. Forritið virkar skringilega — bitar kveikna og slökkva af sjálfu sér. Notaðu MW10+ alltaf.
❌ Sama M-merki sem coil tvisvar: Eins og með Q úttök — hvert M-merki má aðeins vera coil einu sinni í forritinu. Annars yfirskrifar seinna networkið.
❌ Gleyma að nullstilla M-bita: Ef M2 er Set í skrefi 2 en aldrei Reset — þá er M2 alltaf ON eftir að skref 2 er búið. Passaðu að Reset-a þegar þú ferð í næsta skref.
❌ Rugla MB og MW: MB (marker byte) og MW (marker word) eru mismunandi stærðir. MB = 8 bitar (0–255), MW = 16 bitar (±32.767). Notaðu MW fyrir tölur.

📚 Sjáðu líka