Kérkel segíts, hogy ne maradjon hibás információ az oldalon!
Ha szerinted valami nem fedi a valóságot, kérlek írd meg, hogy javítani tudjam. Ha kérdésed van, fordulj hozzám bizalommal!

2008. október 23., csütörtök

Omron PLC programozás

Van szerencsém, hogy az egyik új munkához Omron PLC-t kell használnom. Valójában nem örülök neki, kezd elég lenni a ismerd_meg_két_hét_allatt csinálj_kitűnő_programot és működjön_is felállású munkákból. És a PLC-k soha nem is voltak a szívem csücske. Viszont a program elvi változata már kész, muszáj implementálni, azt meg nehéz az új ismeretek nélkül.

Nnna, elég a nyafogásból. Hál istennek az Omron cég a fennállásának a 70%-át dokumentálással töltötte, ezt abból gondolom, hogy ritka az 1000 oldal alatti pdf-ük :), de 500 alá már tényleg csak a legritkább esetbe silányodnak.
Elég sok az új információ, ezért egy picit muszáj jegyzetelnem közülük, mert van, amit más másodszor olvasok át és a teljes újdonság hatásával él.

Szóval a Programming Manualból szemezgetek elsőként. Hagyjuk inkább a régen-tekercs, de ma-már-kártya jellegű program szerkezet megközelítést, ez röhej és szánalom és nem program struktúra.


Az interlock és a jump:
Erősen nem értem az Interlock koncepciót. Ennek az lenne a lényege, hogy kikapcsol programrészleteket. Egy nem túl bonyi kis programmal próbáltam megérteni a két megoldás lényegét: az interlock kikapcsolja a közbezárt programkódban definiált kimeneteket, ha azok aktívak, függetlenül az őket aktiváló parancs állapotától és ha megszűnik az interlock, akkor a parancsnak megfelelő állapotba térnek vissza. Emellett reseteli az időzítőket is. A Jump (JMP) parancs viszont, 100%-ban a nevének megfelelően működik: átugorja a közbezárt parancsokat (JME-hez ugrik), NOP-ot futtat helyettük. Ezáltal hangyányit gyorsabb lehet a program futása is. Így egyáltalán nem foglalkozik a közbezárt kimenetekkel, időzítőkkel stb...

Címzések
Na de mindegy is. Térjünk át inkább a címzés konvenciókra:
Bit szerinti címzésnél a WWWW . BB (W- word, B- bit) formáció a használatos, a WWWW nem csak szám lehet, hanem a PLC különböző memória területeinek valamelyike. Értelemszerűen wordre a .BB elhagyásával hivatkozhatunk.
Az '@' jel egy szám előtt azt jelzi, hogy Hexa értéket írtunk oda, míg a '*' használata BCD kódolású számot jelez.
Lehetőség van indirekt címzések használatára az IR tároló regiszter alkalmazásával, de ebbe nem mennék bele (és remélem nem is lesz most szükségem hasonlóra).

Konstansok beadása:
Ha egy szám elé '#'-et teszünk, a fordító előjel nélküli hexa számként fogja értelmezni, ha előjelet írunk elé, akkor előjeles decimális számnak, míg az '&' karakter előjel nélküli decimális számnak tünteti fel. BCD számot itt is a hexával megegyező módon jelölünk.
Vannak sztringek is, ezeknek a lezárása 00, vagy 0000-al történik.

Futtatási feltételek:
Számomra az első újdonság az a Differentiated jelző és jelentése volt. Egy differenciált művelet csak a bementi változó (felfele, jelölése '@') 0->1, vagy (lefele, jelölése '%') 1->0 változásakor egyszer fut le! Azért, ez még hasznos lehet. Ez lehet egy parancs előtt is, pl: @MOV, de lehet a kontaktusba építve is, amit a kontaktusba rajzolt fel/le nyíl.




Nincsenek megjegyzések: