Ma egy gyakorlati cikket osztok meg, amely segít megérteni, hogyan néz ki egy tökéletes PLC-program, és PLC-programozási szabványokat és javaslatokat adok a gyakorlati munkához.
Tervezési követelmények egy tökéletes PLC programhoz:
Egy teljes PLC program nem csupán a rendszer működését jelenti; teljes megjegyzéseket, jól{0}}strukturált architektúrát, jó skálázhatóságot, átfogó riasztó- és védelmi rendszert, valamint egy előre-futtatott szimulációs rendszert is igényel.
1. Egyszerűség
Legyen a PLC program a lehető legegyszerűbb. Az egyszerűség szabványos programkeret és egyszerű utasítások használatát jelenti. Általánosságban elmondható, hogy ez magában foglalja a programstruktúra optimalizálását és a program egyszerűsítését az áramlásvezérlő utasításokkal. Pontosabban azt jelenti, hogy az egy-funkciós utasításokat erősebbre kell cserélni, és ügyelni kell az utasítások sorrendjére.
2. Olvashatóság
A tervezett programnak jól olvashatónak kell lennie. Ez nem csak segít a programozónak jobban megérteni a programot, és megkönnyíti a hibakeresést, hanem megkönnyíti mások számára a megértést és a felhasználók számára a karbantartást. Szükség esetén megkönnyíti a programok terjesztését is.
A jó olvashatóság érdekében a programtervnek a lehető legvilágosabbnak kell lennie. Ügyeljen a hierarchiára és a modularitásra, még akkor is, ha objektumorientált tervezési módszereket{1}}alkalmaz. Használja a szabványos tervezési gyakorlatokat, amennyire csak lehetséges.
Ha speciális esetekben programozási nyelveket használnak, a könnyebb olvashatóság érdekében a legtöbb esetben létradiagramokat kell használni. Az I/O allokációnak szisztematikusnak kell lennie a könnyebb memorizálás és megértés érdekében. Ha szükséges, írjon hozzá megjegyzéseket. A belső alkatrészek használatának is szisztematikusnak kell lennie; kerülje a véletlenszerű használatát.
Az olvashatóságot már a programtervezés kezdetétől figyelembe kell venni. Ezt nem könnyű teljesen megvalósítani, mert a programhibakeresés során az utasítások hozzáadása vagy eltávolítása, valamint a belső komponensek használatának megváltoztatása némileg összezavarhatja az eredetileg tiszta programot. Ezért a tervezési fázisban tegye lehetővé a beállításokat a hibakeresés során, majd a hibakeresés után tegye rendbe. Ez magasabb színvonalú programot eredményez.
A programhoz fűzött megjegyzéseknek legalább a következőket kell tartalmazniuk:
A. Rendszer megjegyzések: A szerzői jog tulajdonosa és a teljes program célja; B. Megjegyzések blokkja: A blokk fő célja és szerzője; C. Szegmens megjegyzések: A kódszegmens célja; D. Változó megjegyzések: Magától értetődő fontosság-, beleértve az I/O megjegyzéseket és a közbenső változók megjegyzéseit. Ami a titoktartást illeti, ezeket a program titkosítási algoritmusával vagy blokkos titkosításával kell kezelni, nem pedig a megjegyzések csökkentésével.
3. Helyesség
A PLC programnak helyesnek kell lennie, és a tényleges működéssel ellenőrizni kell, hogy igazolja helyes működését. Ez a PLC program legalapvetőbb követelménye; ha ez nem valósul meg, hiába jók a többi szempont, hiába.
A program helyességének biztosítása érdekében az utasításokat és a belső eszközöket pontosan kell használni. Az utasítások pontos használata összefügg azok pontos megértésével; ezért alaposan meg kell érteni az utasítások jelentését és használati feltételeit. Ha szükséges, kis programokat is lehet írni néhány nem egyértelmű utasítás tesztelésére.
Ugyanazon utasítás esetében a PLC-gyártási tételek vagy sorozatmodellek eltérései miatt az utasítások egyes részletei eltérhetnek. A programozási kézikönyvet alaposan át kell olvasni.
A belső eszközök helyes használata is fontos. Például egyes PLC-k rendelkeznek áramkimaradás elleni védelemmel, míg mások nem. Alapvető fontosságú annak biztosítása, hogy olyan eszközöket használjanak, amelyek-lekapcsolási védelmet igényelnek, és fordítva.
Röviden, a PLC programokkal szemben támasztott legalapvetőbb követelmény az utasítások pontos használata és a belső komponensek megfelelő felhasználása a programozott program megfelelő végrehajtása érdekében.
Egy egyszerű példa: a Siemens PLC-k tárolási funkcióval rendelkező változókat igényelnek, mint közbenső változókat a felfutó és lefutó élekhez, mint például az M-pontok vagy a DB-pontok. Az FC temp változójának használata problémákat okozna.
4. Megbízhatóság
A programoknak nemcsak helyesnek, hanem megbízhatónak is kell lenniük. A megbízhatóság a PLC program stabilitását tükrözi, ami szintén alapkövetelmény.
Egyes PLC-programok normál működési körülmények között vagy törvényes műveletek során megfelelően működnek, de nem működnek megfelelően rendellenes működési körülmények között (például átmeneti áramszünet, majd gyors áramellátás visszaállítása) vagy illegális műveletek (például gombok egymás utáni lenyomása vagy több gomb egyidejű megnyomása) után. Az ilyen programok megbízhatatlanok, instabilok vagy rosszul megtervezettek.
A jó PLC-programok képesek azonosítani a rendellenes működési feltételeket, és zökkenőmentesen integrálni azokat a normál feltételekkel, lehetővé téve a program számára, hogy alkalmazkodjon a különféle helyzetekhez. Egy jó PLC program képes visszautasítani az illegális műveleteket anélkül, hogy "nyomot hagyna", csak a legális műveleteket fogadja el.
A reteszelés általános módszer az illegális műveletek visszautasítására; a relé áramkörök gyakran használják ezt a módszert, és a PLC-k is örökölhetik ezt a megközelítést.
5. Könnyű módosítás
A programnak könnyen módosíthatónak kell lennie. A PLC egyik jellemzője a kényelem és a rugalmasság a különféle helyzetekhez való alkalmazkodásban. Ez a program módosításával vagy újratervezésével érhető el.
A program újratervezésére akkor kerül sor, ha a PLC folyamatának alkalmazási követelményeit módosítani kell. Nemcsak a programot írják át, hanem az I/O-t is újra kell osztani. A legtöbb esetben a program átírása nem szükséges; kisebb módosítások is elegendőek. Ehhez az szükséges, hogy a program könnyen módosítható legyen.
A könnyű módosíthatóság egyben rugalmasságot is jelent, amely csak kisebb változtatásokat igényel a paraméterek megváltoztatásának vagy a műveletek módosításának céljának eléréséhez.
6. Bővíthetőség
Előfordulhat, hogy sok program előre-beprogramozható a webhelyen történő bevezetés előtt, de előfordulhat, hogy további programokat kell hozzáadni a webhelyhez. A teljes rendszerstruktúra megzavarásának elkerülése érdekében minden funkcionális területen elegendő helyet kell fenntartani a biztonsági mentési hardver számára. A szoftvert úgy kell megtervezni, hogy a kézi, az automatikus és a félautomata{4}}működést szem előtt tartsa, és ennek megfelelően kell helyet foglalni.
7. Átfogó riasztórendszer
A PLC rendszereket gyakran használják ipari környezetben, ahol minden baleset kisebb vagy nagyobb veszteséget okozhat. A balesetek megelőzése vagy a baleset során keletkező veszteségek minimalizálása érdekében hangsúlyozni kell a PLC riasztó és védelmi funkcióit. Ezért ezt a rendszer fontos elemeként emelik ki.
8. Program szimuláció
A helyszíni hibakeresés folyamatának-biztosításához vagy az ügyfelek bemutatóihoz gyakran szükség van a program teljesen automatikus szimulációjára a telepítés előtt. Ez szükségessé teszi egy szimulációs programszakasz hozzáadását a meglévő programhoz, amely a normál on-helyi működés után megszakad. Ahhoz, hogy a program szimulációt tudjon végrehajtani, a következő lépések szükségesek:
(1) A tényleges PLC I/O pontok konvertálása közbenső változókká vagy adatblokk-változókká;
(2) Írjon szimulációs programokat minden egyes berendezéshez a folyamatkövetelményeknek megfelelően.
Jó PLC programnak tekinthető az, amelyik megfelel a fenti követelményeknek.
PLC programozási specifikációk
1. Válassza ki a megfelelő PLC-modellt és az I/O-pontok számát. Válasszon speciális funkciómodulokat az adott funkcionális követelményekhez.
2. Ismerje meg a kiválasztott PLC programozási utasításokat és a fordítószoftvert.
3. Tervezze meg a soft alkatrészeket, beleértve a belső reléket, tartóreléket, adatregisztereket, időzítőket és számlálókat.
4. Tervezze meg a programot, általában követve a hibaelhárítás, hibakezelés, kézi kezelés, automatikus kezelés és kimenetkezelés sorrendjét. A nagyobb projekteket vagy berendezéseket funkcionális egységekre kell felosztani, például liftekre, szállítóeszközökre és emelő/forgató eszközökre egy automatizált gyártósoron. Ezeket szegmensekre és blokkokra kell programozni a fenti egységstruktúra szerint.
5. Adjon hozzá rövid szegmensmegjegyzéseket minden szegmentált vagy blokk{1}}alapú program előtt, elmagyarázva a funkcióját. Ha szükséges, jelezze a megfelelő folyamatfolyamatot. A szegmentált vagy blokk{4} alapú programok sorrendjének a teljes programon belül általában követnie kell a folyamatfolyamat sorrendjét az olvashatóság érdekében.
6. A program tervezése előtt a berendezést absztrahálni kell. Az olyan gyakori tényezőket, mint a leállás, a vészleállítás, a túlterhelés, a túllépés-, az időtúllépés, a biztonsági fényfüggöny, az ütközési leállítás és az ajtókapcsolót ki kell húzni, és az indítási-indítási áramkörbe vagy az indítási-fővezérlő- és reteszelőáramkörbe kell helyezni. Ez a teljes programstruktúra átfogó előfeltétele. Ennek alapján a program két fő funkcionális területre oszlik: automatikus és kézi.
7. A programstruktúra manuális funkcióinak közös tényezőit, például a kézi működtetést, valamint a berendezéseket és a személyi biztonságot veszélyeztető tényezőket ki kell bontani, és a kézi fővezérlő és reteszelő áramkörbe kell helyezni a védelem, az árnyékolás és a kézi vezérlés riasztása érdekében.
8. A programstruktúra automatikus működési területének gyakori tényezőit, például az automatikus működést, a -korlát túllépését és az időtúllépési tényezőket ki kell bontani, és az automatikus fővezérlő- és reteszelőáramkörbe kell helyezni az automatikus vezérlésű berendezések védelmére, árnyékolására és riasztására. Általános elv, hogy szigorúan korlátozzák a berendezések belépését, miközben lazán korlátozzák a berendezések kilépését, ezzel biztosítva a biztonságot.
9. A programban meg kell tervezni a master reset funkciót, amely lehetővé teszi a berendezés normál működésének gyors és egyszerű visszaállítását meghibásodás esetén. Az alaphelyzetbe állítás során teljes mértékben figyelembe kell venni a berendezések és a személyzet biztonságát a visszaállítási folyamat során.
10. Automatikus módról kézi üzemmódra való váltáskor a programnak törölnie kell a kimeneteket és a köztes állapotokat az automatikus üzemmódból. Különösen, ha a SET utasítást automata módban használja, azt a RESET utasítással kell törölni kézi módban.
11. A programozás során a kettős kimenet szigorúan tilos; azaz ugyanaz a kimeneti utasítás vagy ugyanaz a kimeneti tekercs kétszer vagy többször megjelenik a programban. Ugyanahhoz a kimeneti ponthoz különböző üzemmód-viszonyok között használjon köztes relét az átvitelhez, és végül egyesítse őket egyetlen kimeneti pontban.
12. Érintőképernyő használatakor az érintőképernyő és a PLC által közösen megosztott vezérlőterületet és állapotterületet nem szabad más funkcionális programozásra használni.
13. Mielőtt bármilyen speciális PLC-modult használna, ellenőrizze, hogy a vezérlőterülete és az állapotterülete munkaszavakat foglal-e el. Ha igen, ne programozza ezeket a munkaszavakat más célra.
14. A PLC bemeneteket, kimeneteket, közbenső reléket, időzítőket, számlálókat és adatregisztereket kínai karakterekkel kell ellátni. A bemeneteknek és kimeneteknek tartalmazniuk kell az összetevők nevét és a címkeszámokat is. A megfelelő bemeneti pontok alapértelmezés szerint a külső kapcsolókhoz csatlakoztatott NEM érintkezők. Az NC érintkezőket igénylő bemeneteknél ezt a megjegyzésekben kell megadni. Minden megjegyzésnek világosnak és egyértelműnek kell lennie, elkerülve a félreértéseket, és minimálisra kell csökkentenie az általános kifejezések használatát.
15. A projekt hibakeresésének befejezése után a végső szoftvert meg kell tartani. A mentett fájlnévnek tartalmaznia kell a projekt számát, a szerzőt, a dátumot és a verziószámot.
16. Programtitkosítással kapcsolatban: A titkosított program jelszavát egy erre a célra szolgáló fájlban kell tárolni, egyértelműen feltüntetve a felhasználónevet, jelszót és jogosultságokat. Ezt a fájlt legalább két személynek el kell juttatni, hogy megtanulják a jelszót, és megakadályozzák, hogy a program elérhetetlen legyen a jelszó elvesztése miatt.
Programozási javaslatok
1. Amikor egy PLC és egy gazdaszámítógép (vagy érintőképernyő) felügyeleti rendszert alkot, a képernyőn gyakran olyan vezérlési módokat kell megjeleníteni, mint a "kézi" és az "automatikus" (általában több üzemmódnak csak egy lehet). A "MOV" utasítás használható a programban. Például, ha a "kézi" van kiválasztva, az 1-es konstans a VB10 regiszterbe kerül; ha az "automatikus" van kiválasztva, a 2 ugyanabba a VB10 regiszterbe kerül. A nyilvántartásban szereplő adatok ellenőrzésével meghatározható a rendszer vezérlési módja. Ennek a megközelítésnek az az előnye, hogy könnyen érthető, és elkerülhető az olyan összetett eljárások, mint a reteszelés.
2. Ha a program analóg jelvezérlést tartalmaz, és az olvasott analóg jelben gyakorlatilag nincs hiba, időszűrés használható a bemenet késleltetésére. Ha az olvasott adatokban nagy hiba van, más szűrési módszerekre van szükség, például átlagolásra. További információkért tekintse meg a vonatkozó dokumentációt.
3. A programhibakeresés során, ha egy feltétel teljesül, de a kimeneti tekercs nincs aktiválva, ellenőrizze, hogy a programnak ez a része az ilyen utasításokon belül van-e, például `JUMP go to`. Egy másik lehetőség, hogy a program megszakítása után a feltétel teljesül, de nincs kimenet; ez általában azt jelzi, hogy a program ezen szakaszát nem vizsgálják.
4. A szekvenciális vezérlőprogramokban, azaz amikor egy művelet befejeződik és a következő művelet elindul, a +10+10 vezérlési mód nagyon kényelmes. Az ötlet a következő: Egy regiszter 0-ra van állítva az inicializálás során. A rendszer indítása után 10-zel növeljük, így a regiszter értéke 10. Ha a regiszter értéke 10, akkor az első művelet végrehajtható. Az első művelet után a regiszter ismét 10-zel nő, így a regiszter értéke 20-ra nő, és lehetővé válik a második művelet végrehajtása. A második művelet után ismét 10-zel növeljük, így a regiszter értéke 30-ra nő. Így a regiszterben lévő érték ellenőrzésével meghatározható a kívánt művelet. Ha ugrási műveletre van szükség, a növekmény 10-ről 20-ra, 30-ra stb. változtatható, a konkrét követelményektől függően.
Miért érdemes 10-zel növelni 1 helyett? Ugyanis a 10-es növelés után, ha egy szegmenst be kell szúrni, akkor a 10 elérhető hely bármelyikébe beilleszthető.
5. A program tervezésekor, ha folyamattal kapcsolatos (a vezérlőrendszer által nem vezérelt) hiba lép fel, akkor a legjobb, ha fenntartja a hibajelenséget, és vizuális és hangos riasztást biztosít, amíg a kezelő vissza nem állítja a rendszert, hogy tudatában legyen a hibának. Ellenkező esetben, ha a rendszer leáll, mások azt feltételezhetik, hogy probléma van a programmal. Ezeket a szempontokat általában figyelembe kell venni egy új rendszer tervezésekor.
6. A gyakran hívott szubrutinok almodulokká alakíthatók a gyakori hívásokhoz.
7. Mivel a gyártógép munkaciklusában minden egyes lépés végrehajtásához bizonyos időre van szükség, és ezeknek az időknek bizonyos korlátai vannak, egy időzítő indítható a figyelni kívánt lépés kezdetével egyidejűleg. Az időzítő beállításának 20–30%-kal hosszabbnak kell lennie, mint a művelet normál időtartama. Az időzítő kimeneti jele használható riasztásokhoz vagy automatikus leállító eszközökhöz. Amikor egy lépés ideje meghaladja a megadott időt, elérve a megfelelő időzítő előre beállított idejét, és mielőtt a következő lépés elkezdődik, az időzítő hibajelzést ad ki. Ez a jel leállítja a normál munkaciklust, és elindítja a riasztást vagy a leállítási eljárást; ezt általában túl-ciklusvédelemnek nevezzük.
8. Egyes biztonsági érzékelő kapcsolóknak (mint például vészleállító gombok, biztonsági fényfüggönyök, végálláskapcsolók stb.) normál zárt (NC) bemenetet kell használniuk.
9. Biztonsági és energiatakarékossági megfontolások miatt a kimeneteket úgy kell megtervezni, hogy csak szükség esetén aktiválódjanak, és a művelet befejezése után leálljanak, ahelyett, hogy folyamatosan adják ki a kimenetet a leállításig.
10. Az aktuátorok működési elve a következő legyen: jobb mozdulatlanul maradni, mint szabálytalanul mozogni.
11. Egy-egységes berendezésvezérlés: Minden egységnek rendelkeznie kell kézi/automatikus kapcsolási funkcióval, valamint start/stop funkcióval a kézi működtetés során. Automatikusról kézi üzemmódra váltáskor a berendezés nem állhat le; manuálisról automatára váltáskor a berendezés indítása/leállítása az automata programtól függ.
12. Minden berendezés egységet (szivattyút, ventilátort és egyéb nagy berendezéseket) 24 óra működés után forgatni kell, és kumulált üzemidő-rekordnak kell lennie, kivéve, ha az indítási/leállítási sorrendet a gazdaszámítógép állítja be; ellenkező esetben a kezelőnek kézzel kell beállítania.





