4. Laborgyakorlat Digitális ki-bemenetek kezelése, bitszintű műveletek A gyakorlat célja A gyakorlat során a digitális ki-bemenetek kezelését vizsgáljuk, ezek programozását létralogika és STL programozási nyelvben. Továbbá megismerkedünk a bitszintű műveletekkel és a memória bitszintű kezelésével! Elméleti bevezető A PLC-k első generációja a relé-logikás áramkörök lecserélésére volt kifejlesztve. Ezért csak digitális ki/bemeneteket tartalmaztak. Az általánosan elfogadott szabvány a 24VDC feszültségszint, 500mA áramerősség a digitális jeleknek. Vannak olyan kiterjesztő kártyák, amelyeknél 110VAC feszültségszint jelenti a logikai 1-et, ugyanis a régi huzalozott logikai rendszerek ezzel a szinttel dolgoztak. A digitális bemenetek az I memóriazónában vannak bemásolva. A címzési módok, általános tudnivalók: Bitszintű címzés M124.0, ahol A a memóriazóna, 124 a byte címe, 0 a bit címe. Byte szintű címzés MB124, ahol M a memóriazóna, B-azt jelenti, hogy byte, 124 a címe. Word szintű címzés MW124, ahol M a memóriazóna, W-azt jelenti, hogy word, 124 a kezdőcíme. Két szó hosszúságú címzés MD124, ahol M a memóriazóna, D-azt jelenti, hogy Double word, 124 a kezdő címe. Ilyen típusú változó a DW (Double Word) valamint a Real(Valós). PLC Memóriazónák: I input, bemeneti memóriazóna Q output, kimeneti memóriazóna M merker, általános célokra használható T timer, időzítő C Counter, számláló PIW Peripheral Input WORD, analóg bementi zóna PQW - Peripheral Output WORD, analóg bementi zóna DB adattömb
Tehát a digitális bemenetek címzése: I 124.0, I124.1... IB124 IW124 Digitális kimenetek címzése: Q124.0 QB124 QW124 Mindig arra kell vigyázni, hogy a cím a hardware config-ba beállított memóriazónán belül legyen. A fenti programrészlet létralogikában bemutat egy bitszintű ki/bemenet megfeleltetést valamint egy byte és egy word típusú megfeleltetést. Nagyon fontos tudni, hogy a PLC a bemeneteket a programciklus elején olvassa és a kimeneteket a programciklus végén frissíti. Ez azt jelenti, hogy ha a programban több helyen változtatunk egy kimenetet, akkor csak az utolsó változtatásnak az eredményét látjuk majd.
Bitszintű műveletek A következőkben a létralogika és az STL bitszintű műveleteit ismertetem. A létralogika az áram-útterv programozott megvalósítása, ami azt jelenti, hogy az áram útja határozza meg a logikai szintet. Tehát ha folyik áram a logikai szint 1, ha nem akkor 0. --- --- - normál nyitott érintkező. Akkor zárt, ha a hozzárendelt bit értéke 1. A fenti példán a Q0.0 akkor 1, ha az I124.0 és az M0.1, vagy a DB1.DBX1.0 értéke 1. --- / --- - normál zárt érintkező. Akkor zárt ha a hozzárendelt bit értéke 0. A fenti példán a Q0.0 akkor 1, ha az I124.0 és az M0.1 értéke 1, vagy a DB1.DBX1.0 értéke 0. --- NOT --- - fordító, megfordítja a logikai szintet. ---( ) megfeleltetés, angolul tekercs a neve ugyanis ha áram folyik rajta akkor a a hozzárendelt bit értéke 1, ha nem akkor 0. A fenti ábrán a Q0.0 értéke az előtte levő elemek logikai eredményét veszi fel. Nem rendelkezik memóriával.
---( # )--- - A logikai szint elmentése. Tehát ha beékeljük a programba akkor az előtte levő elemek logikai eredményét elmentjük a hozzárendelt bitbe. Az alábbi példán az M10.0 elmenti az I124.0 és M0.1 állapotát. ---( R ) Reset. Letörli a hozzárendelt bit értékét, ha az előtte levő logikai szint 1- es. ---( S ) Set. Beállítja 1-re a hozzárendelt bit értékét, ha az előtte levő logikai szint 1-es. RS Reset, Set letöröl vagy beállít egy bitet. Előbb a Resetet végzi, ha mindkét bemenet aktív SR Set, Reset ugyanaz fordítva. --( N ) --- - Lemenő logikai él figyelésé ---( P )--- - Felmenő logikai él figyelése. Ezzel a két művelettel figyelhetjük egy bit vagy egy logikai kapcsolat változását az egyik programciklustól a másikig.
A fenti példában az M5.2 bitet akkor állítjuk be 1-re amikor a 124.1 és 124.2 bement sorba kötve 0-ból 1-re vált. NEG lemenő él a hozzárendelt biten POS felmenő él a hozzárendelt biten A fenti példán a Q124.2 akkor lesz 1, ha az I124.0 1-ben van és az I124.1 1-ről zéróra vált. STL bitszintű műveletek. Az STL programozás az asszambler programozáshoz hasonlít. A PLC k két akkumulátorral rendelkeznek, ezért a műveleteket az akkumulátorok között végezzük. A And - És AN And Not És negálva O Or - Vagy ON Or Not Vagy negálva X Exclusive Or kizáró vagy XN Exclusive Or Not kizáró vagy negálva
Egyszerű STL program. A Q4.0 kimenet akkor 1 ha az I1.0 és I1.1 egyben áll. = Assign - megfeleltetés R Reset letörli a bit értékét S Set beállítja a bit értékét. FN Edge Negative Lemenő él FP Edge Positive Felmenő él A fenti műveletek ugyanúgy értelmezhetők, mint a LAD esetben. Feladat Írjatok egy függvényt, amiben: A bemeneteket rendeljétek hozzá a kimenetekhez Az I124.0 bement, ha 1-ben áll, akkor a Q124.1 villogjon 2Hz-es frekvenciával (Clock memória használat) Minden lemenő élre a Q124.1 kimeneten változtassátok meg a Q124.2 szintjét. Az I124.2 bemeneten egy felmenő él váltson ki egy hibaüzenetet az OP-n. A K4 billentyű lenyomásával töröljétek a hibát. Rajzoljátok le és programozzátok le egy háromfázisú motor csillag/delta indítását. Minden feladatot írjatok meg STL-ben.