LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA II.



Hasonló dokumentumok
LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA III.

LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA I.

PROGRAMOZHATÓ LOGIKAI VEZÉRLİK

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

Ipari hálózatok biztonságának speciális szempontjai és szabványai

PARAMÉTERES GÖRBÉK ALKALMAZÁSA VALÓSIDE- JŰ DIGITÁLIS HANGFELDOLGOZÁS SORÁN

A SZEMCSEALAK ALAPJÁN TÖRTÉNŐ SZÉTVÁLASZTÁS JELENTŐSÉGE FÉMTARTALMÚ HULLADÉKOK FELDOLGOZÁSA SORÁN

Teszt generálás webes alkalmazásokhoz

BIZONYOS GRÁFELMÉLETI ALGORITMUSOK TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ

Pacemaker készülékek szoftverének verifikációja. Hesz Gábor

SZOFTVEREK A SORBANÁLLÁSI ELMÉLET OKTATÁSÁBAN

SZEMLÉLETES RÉSZINFORMÁCIÓK INTEGRÁCIÓS PROBLÉMÁINAK VIZSGÁLATA A VIRTUÁLIS VALÓSÁGOT TEREMTŐ SZIMULÁTOROK ALAPJÁN

Programozható logikai vezérlõk

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

24. oldal

Irányítási struktúrák összehasonlító vizsgálata. Tóth László Richárd. Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola

Kapacitív áramokkal működtetett relés áramkörök S: B7:S21.3S2.$

Joint Test Action Group (JTAG)

AKTUÁTOR MODELLEK KIVÁLASZTÁSA ÉS OBJEKTÍV ÖSSZEHASONLÍTÁSA

Anyagmérnöki Tudományok, 37. kötet, 1. szám (2012), pp

Hobbi Elektronika. Bevezetés az elektronikába: Boole algebra, logikai kifejezések

Brother eredeti színes nyomtatópatron A megadott oldalkapacitás számítási módja az ISO/IEC24711 szabvány alapján

1002D STRUKTÚRÁJÚ, KRITIKUS ÜZEMBIZTONSÁGÚ RENDSZER (SCS 1 ) ELEMZÉSE DISZKRÉT-DISZKRÉT MARKOV MODELLEL

Osztály és objektum fogalma

HU ISSN

Foundation Fieldbus kommunikációra épülő folyamatirányítás teljesítőképességi kérdései

AZ INFORMATIKAI RENDSZEREK BIZTONSÁGÁNAK EGY SAJÁTOS RÉSZTERÜLETE

INFORMATIKAI ALAPISMERETEK

A nagy teljesítõképességû vektorhajtások pontos paraméterszámításokat igényelnek

Intelligens Érzékelők

Using the CW-Net in a user defined IP network

Virtuális Egér. Horváth Zsolt, Schnádenberger Gábor, Varjas Viktor március 20.

Programozás létradiagramos programozási nyelven

I0 I0.0 I1 I0.1 I2 I0.2. Kimenetek Q0 Q0.0 Q1 Q0.1 Q2 Q0.2 Q3 Q0.3. A be- és kimenetek közötti függvénykapcsolat

Kapcsolóüzemű feszültségstabilizátorok túlterhelés elleni védelme ETO : ,

VALÓS HULLÁMFRONT ELŐÁLLÍTÁSA A SZÁMÍTÓGÉPES ÉS A DIGITÁLIS HOLOGRÁFIÁBAN PhD tézisfüzet

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Jancskárné Anweiler Ildikó: PLC programozás az IEC szabvány szerint KÉZIRAT!

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

DR. SZABÓ LÁSZLÓ 1 DOBOS GÁBOR 2

HIDEGEN HENGERELT ALUMÍNIUM SZALAG LENCSÉSSÉGÉNEK VIZSGÁLATA INVESTIGATION OF CROWN OF COLD ROLLED ALUMINIUM STRIP

MAKING MODERN LIVING POSSIBLE. Danfoss Heating Solutions

MŰSZAKI TUDOMÁNY AZ ÉSZAK-KELET MAGYARORSZÁGI RÉGIÓBAN 2012

Mezőgazdasági betakarítási folyamatok szimulációja

2. Laborgyakorlat. Step7 programozási környezet bemutatása

D T R V - E P T Í P U S Ú. komplex digitális transzformátorvédelem E S Z T E R G O M. Műszaki leírás. Azonosító: EJ

IEC Basic Engineering -től a Leszerelésig

Telepítési utasítás ORU-30

Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben

A keretrendszer. A linuxos keretrendszer az eredeti alapján készült (nagyrészt C++-ban), ezért nagyjából azzal azonos funkcionalitásokkal rendelkezik.

ACTROS VTC Segédlet a Közúti irányító és kommunikációs rendszerek II. c. tárgyhoz. Tettamanti Tamás 2010.

Drótposta: ; ; Honlapom:

Adatfolyam alapú RACER tömbprocesszor és algoritmus implementációs módszerek valamint azok alkalmazásai parallel, heterogén számítási architektúrákra

Hibatűrő TDMA ütemezés tervezése ciklikus vezeték nélküli hálózatokban. Orosz Ákos, Róth Gergő, Simon Gyula. Pannon Egyetem

FIR SZŰRŐK TELJESÍTMÉNYÉNEK JAVÍTÁSA C/C++-BAN

CSOMAGSZŰRÉS CISCO ROUTEREKEN ACL-EK SEGÍTSÉGÉVEL PACKET FILTERING ON CISCO ROUTERS USING ACLS

Programozható logikai vezérlők

A GÉPIPARI TUDOMÁNYOS EGYESÜLET MŰSZAKI FOLYÓIRATA 2009/ oldal LX. évfolyam

MIKROKONTROLLEREK ALKALMAZÁSA AUTOMATA REPÜLŐ SZERKEZETEKBEN 4 BEVEZETÉS

Conettix D6100i kommunikációs vevő/ átjáró

FIATAL MŰSZAKIAK TUDOMÁNYOS ÜLÉSSZAKA

AF 088II DIO 16/8 AF 088II DIO 16. Digitális ki-, bemeneti modul. Digitális bemeneti modul

MAGASÉPÍTÉSI PROJEKT KOCÁZATAINAK VIZSGÁLATA SZAKMAI INTERJÚK TÜKRÉBEN 1 CSERPES IMRE 2

FATERMÉSI FOK MEGHATÁROZÁSA AZ EGÉSZÁLLOMÁNY ÁTLAGNÖVEDÉKE ALAPJÁN

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares

Az új és azóta visszavont minimumfeltétel rendszer anomáliáiról

A Debreceni Egyetem és a Nagyváradi Egyetem WiFi alapú helymeghatározó rendszere

Az Ön kézikönyve OMRON CX-ONE

CommonKADS módszertan. Molnár Bálint. PhD, egyetemi docens, BKÁE

NYOMÁSOS ÖNTÉS KÖZBEN ÉBREDŐ NYOMÁSVISZONYOK MÉRÉTECHNOLÓGIAI TERVEZÉSE DEVELOPMENT OF CAVITY PRESSURE MEASUREMENT FOR HIGH PRESURE DIE CASTING

Rektifikáló oszlop szabályozása a kőolaj alkotó összetevőinek szétválasztására

VI. Magyar Földrajzi Konferencia

DESIGN STEPS OF VTOL UNMANNED AERIAL VEHICLE

Mérnök informatikus (BSc) alapszak levelező tagozat (BIL) / BSc in Engineering Information Technology (Part Time)

noannb Számítógépek automatizált tervezése

A ROBOTIKA ALKALMAZÁSÁNAK LEHETŐSÉGEI A HAD- ÉS BIZTONSÁGTECHNIKAI MÉRNÖK KÉPZÉSBEN

Mielıtt használná termékünket Az eltérı környezeti körülmény elektromos áramütést, tüzet, hibás mőködést vagy. okozhat.

SIM-02 Univerzális kardiológiai szimulátor

Miskolci Egyetem Gépészmérnöki és Informatikai Kar SZAKDOLGOZAT. Feladat címe: PLC vezérelt pneumatikus oktatórendszer kialakítása.

Köztesréteg adatbiztonsági protokollok megvalósítására

AZ AUTOMATIZÁLT MIG/MAG HEGESZTÉS VALÓS IDEJŰ MINŐSÉGBIZTOSÍTÁSI LEHETŐSÉGEI

TÁMOPͲ4.2.2.AͲ11/1/KONVͲ2012Ͳ0029

Generátor harmadik harmonikus testzárlatvédelem funkcióblokk leírása

A FÓKUSZÁLT NAPENERGIA TÁROLÁSI ÉS HASZNOSÍTÁSI LEHETŐSÉGEI

(1) Sztereóerõsítõ. Kezelési útmutató XM-ZR Sony Corporation Printed in Czech Republic (EU)

BEACon TM. Verzió 2.0

Mosógépmotor bekötése

BIZTONSÁGI AUDIT. 13. óra

Váltakozó áramú generátor, egyenáramú motor, léptető motor vizsgálata

Elektronikai javítási folyamatok modellezése Markov-láncokkal

THNG IBMSZ Beltéri műszerszekrény Típusdokumentáció kiterjesztés

KELET-ÁZSIAI DUPLANÁDAS HANGSZEREK ÉS A HICHIRIKI HASZNÁLATA A 20. SZÁZADI ÉS A KORTÁRS ZENÉBEN

Vizsgáztatás multimédia eszközökkel

Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Interdiszciplináris Műszaki Tudományok Doktori Iskola Képzési Terve

DIGITAL TECHNICS I. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 12. LECTURE: FUNCTIONAL BUILDING BLOCKS III

SDN a különböző gyártói megközelítések tükrében

DT13xx Gyújtószikramentes NAMUR / kontaktus leválasztók

SZOLGÁLTATÁSI FOLYAMATOK LOGISZTIFIKÁLÁSÁNAK MATEMATIKAI MODELLJE MATHEMATICAL MODELL OF THE LOGISTIFICATION OF SERVICE FLOWS

TECHNIKAI RENDSZEREK ÁLLAPOTLEÍRÁSÁNAK KÉRDÉSEI QUESTIONS REGARDING THE DESCRIPTION OF THE STATE OF TECHNICAL SYSTEMS

Átírás:

V. Évfolyam 1. szám - 2010. március Deák Ferenc deak@nct.hu LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA II. Absztrakt A létradiagram egyszerű, programozási képzettséggel nem rendelkező szakemberek számára is érthető nyelv, ennek köszönhető, hogy az elmúlt 20-25 évben az egyik legnépszerűbb ipari programozási formává vált. Bár létradiagramos PLC (Programmable Logic Controller) rengeteg létezik a piacon, az ezeket feldolgozó fordítóprogramok irodalma meglehetősen szegényes. Az alábbi cikk az NCT új vezérléscsaládja számára kidolgozott PLC fordító elméleti hátterét mutatja be. Ez az algoritmus szakít az irodalom által ismertetett megközelítéssel, és gráfelméleti oldalról közelíti meg a kérdést, ami egy jól áttekinthető, szemléletes többlépcsős megoldást eredményez. Relay ladder logic has become one of the most popular discrete control programming systems in the last 20-25 years. Programmable Logic Controllers (PLCs) usually can be programmed by wiring up relay contacts and coils on screen. This virtual circuit is transformed into a list of instructions in sequence. In this paper, the translation theory of relay ladder logic for new generation NCT controllers is examined. In contrast to solutions accessible in the literature this algorithm is multiphase, expressive and based on graph theory. Kulcsszavak: PLC, létradiagramm, fordító ~ PLC, Programmable logic controllers, relay ladder logic, compiler 218

Bevezetés A cikksorozat első részében a létradiagrammot önállóan lefordítható részekre, létrafokokra bontottuk. Ebben a részben magát a fordítási algoritmust ismertetjük. Színezés A létradiagramot egy gráffá fogjuk alakítani a következő lépésben. A gráf pontjai annak az áramkörnek a csomópontjai, amit a létradiagram szimulál, élei pedig az áramkör reléi és tekercsei (kimenetei). A gráfban már nincs fent és lent, nincs jobbra és balra, és eltűnnek a logikailag felesleges csomópontok, a fordításhoz szükséges információk maradnak csak meg. A gráf leendő pontjainak felismeréséhez a létradiagramot beszínezzük. A színek és a gráf pontjai között kölcsönösen egyértelmű a megfeleltetés. A színezésnél balról jobbra illetve fentről lefelé haladva minden vezetékdarabra elvégezzük a Színezés nevű eljárást rekurzív módon. A szomszédok bejárása itt is az óramutatónak megfelelő irányban mélységi kereséssel történik. minden ( V vezeték darabra) Keresünk egy még nem használt C színt Színez( V, C ) Az érintkezők jobboldalára is elvégezzük a fentihez hasonló színezési eljárást Színez ( Létradiagram-elem V, Szín C ) ha ( V vezeték darab és még nincs beszínezve) akkor Beszínezzük V-t C színre minden (engedélyezett S szomszédra) Színezés( S, C ) ha ( V érintkező ) akkor ha ( V baloldala még nincs beszínezve és a színezés balról érkezik ) akkor Beszínezzük V baloldalát t C színre ha ( V jobboldala még nincs beszínezve és a színezés jobbról érkezik ) akkor Beszínezzük V jobboldalát t C színre 219

ha ( V kimenet darab és még nincs beszínezve ) akkor Beszínezzük V-t C színre 1. Pszeudó kód: A színezés 220

1. táblázat: Színezés bemutatása egy példán Gráffá és mnemonic kóddá alakítás A létradiagramot reprezentáló gráf élekből, és pontokból áll. Az élek kimeneteket és érintkezőket modelleznek. Minden él két pontot köt össze. Egyiket baloldali pontnak hívjuk, és az eredeti érintkező vagy kimenet baloldalának felel meg, a másikat pedig jobboldali pontnak nevezzük, és az eredeti érintkező jobboldalának felel meg. (A kimenetnek nincs jobboldala). A pontokhoz az előbbiek szerint élek csatlakoznak. Minden pont két listát tart nyilván a kimenő élek listáját, és a bemenő élek listáját. Minden pontban nyilvántartunk egy utasításlistát, ahol a lista minden eleme 221

egy mnemonickódos PLC programsornak fel meg. Érintkező esetében ennek formája LD cím, kimenet esetén ennek formája OUT cím. DEF: A gráf egy adott pontjához tartozó E élet a pontban bemenő élként tartjuk nyilván, ha az E él egy érintkező, és a pont a E jobboldalához csatlakozik. DEF: A gráf egy adott pontjához tartozó élet a pontban kimenő élként tartjuk nyilván, ha a) az E él egy érintkező, és a pont E baloldalához csatlakozik, vagy b) E él egy kimenet DEF: E 1 és E 2 élek párhuzamos kapcsolatban vannak, ha a) E 1 E 2, és b) E 1 és E 2 jobboldalán lévő pont közös, és c) E 1 és E 2 baloldalán lévő pont szintén közös DEF: E 1 és E 2 élek soros kapcsolatban vannak (E 1 jobboldali szomszédja E 2 ), ha a) E 1 E 2, és b) van olyan P pont, amelyre igaz, hogy - P pont E 1 él jobboldalán helyezkedik el, és - P pont E 2 él baloldalán helyezkedik el, és - P pontnak csak egy bemenő pontja van (ez E 1 ), és - P pontnak csak egy kimenő pontja van (ez E 2 ) vonjuk_össze_párhuzamosan ( E 1 élet és E 2 élet ) E 1 parancslistájához hozzáfűzzük E 2 parancslistáját Az így létrejövő lista végéhez hozzáírunk egy OR LD sort Töröljük E 1 -et a gráfból 2. pszeudó-kód: Párhuzamos összevonás 1. ábra: Párhuzamos összevonás 222

Keressünk_párhuzamos_éleket (Él E 1 ) Legyen E 1 baloldali pontja B minden (E 2 élre, mely B kimeneti listájában szerepel) ha (E 1 és E 2 párhuzamos kapcsolatban van) akkor vonjuk_össze_párhuzamosan ( E 1 élet és E 2 élet ) 3. pszeudó kód: Párhuzamos élek keresése vonjuk_össze_sorosan ( E 1 élet és E 2 élet ) ha (E 2 kimenet ) akkor nem csinálunk semmit különben E 1 jobboldali pontját, ami egyúttal E 2 baloldali pontja, nevezzük P 1 -nek E 2 jobboldali pontját nevezzük P 2 -nek E 1 parancslistájához hozzáfűzzük E 2 parancslistáját Az így létrejövő lista végéhez hozzáírunk egy AND LD sort P 2 összes kimenő élét átkötjük P 1 kimenő élei közé Töröljük E 2 -őt és P 2 -őt 4. pszeudó kód: Soros összevonás Egy él átkötéséhez - törölni kell az élt a baloldali pontjának kimenő élei közül - hozzá kell adni az új baloldali pont kimenő éleihez - az új baloldali pontot be kell jegyezni a pontban baloldali pontként - törölni kell az élt a jobboldali pontjának bemenő élei közül - hozzá kell adni az új jobboldali pont bemenő éleihez - az új jobboldali pontot be kell jegyezni a pontban jobboldali pontként 223

2. ábra: Soros összevonás Keressünk_soros_éleket ( Él E 1 ) ha (E 1 -nek létezik jobboldali szomszédja, és soros kapcsolatban vannak) akkor ezt a szomszédot nevezzük E 2 -nek vonjuk_össze_sorosan(e 1 -et és E 2 -őt ) ha ( történt összevonás ) akkor megismételjük az eljárást 5. pszeudó kód: Soros élek keresése minden (E 1 élre ) Keressünk_soros_éleket(E 1 ) Keressünk_párhuzamos_éleket(E 1 ) ha ( volt összevonás vagy a gráf éleinek száma > 1 ) akkor megismételjük az eljárást 6. pszeudó kód: Gráf reprezentáció átalakítása pszeudó kóddá A gráf minden élén végigmegyünk, és keresünk vele soros vagy párhuzamos kapcsolatban levő éleket. Ha találunk ilyet, akkor összevonjuk őket. Az eljárást addig ismételjük, amíg sikerül éleket összevonni, illetve a gráf éleinek száma nagyobb mint egy. Végül két él marad, egy tartalmazza az összes érintkezőre vonatkozó mnemonickódot, egy további él pedig a kimenetet. Utolsó lépésként ezt a két élt vonjuk össze a két él utasításlistájának összefűzésével. Az összefűzött lista lesz a létrafok mnemonickódja. A teljes PLC program mnemonickódját, úgy 224

kapjuk, hogy a létrafokokra kapott utasításlistákat egymás a létrafokok sorrendjében egymás után fűzzük. 225

2. táblázat: Mnemonic kóddá alakítás szemléltetése egy példán Az 2. táblázatban bemutatott átalakítások utolsó lépése után a 2. mnemonic kód mezőben látható eredmény keletkezik. LD 001.00 LD 001.01 AND LD LD 001.02 OR LD LD 001.03 AND LD LD 001.04 LD 001.05 OR LD AND LD OUT 004.00 1. mnemonic kód: Az összevonások eredménye fésülés előtt A következő lépés a kód fésülése. Ennek során a következő a 3. táblázatban látható cseréket hajtjuk végre. 226

Mit cserélünk LD cím AND LD LD cím OR LD Mire AND cím OR cím 3. táblázat: A fésülésnél történő cserék A fésülés műveletét addig ismételjük, amíg történik legalább egy csere. A példában szereplő kódunk a fésülést követően a 3. mnemonic kód mezőben látható. LD 001.00 AND 001.01 OR 001.02 AND 001.03 LD 001.04 OR 001.05 AND LD OUT 004.00 2. mnemonic kód: Fésülés után Összefoglalás A cikksorozat második része magát a fordítási algoritmust ismertette. A következő egyben befejező részben néhány olyan speciális esetre térünk ki, melyet most nem tárgyaltunk. A speciális esetek jelentik az algoritmus igazi értékét, mivel ezeknek a segítségével olyan programozási technikák is alkalmazhatóak, melyek a kereskedelemben kapható PLC-esetében nem. Felhasznált irodalom [1] IEC 61131-3 Programmable controllers - Part 3: Programming languages International Standard, International Electrotechnical Commission, 2003 [2] John T. Welch: Translating unrestricted relay ladder logic into Boolean form. Computers in Industry, 20 (1992) 45-61 [3] NCT szerszámgép vezérlések PLC programozási leírása http://www.nct.hu/pdf/nc_documents/magyar/telepites/magplc.pdf [4] H. A. Barker, J. Song, P. Townsend: A rule based procedure for generating programmable logic controller code from graphical input in the form of ladder diagrams, Eng. Appli. of AI, 1989, Vol. 2, December 227

[5] R. Wareham, Ladder diagram and sequential function chart languages in programmable controllers, Can. Mach. Metalwork., December 1988, pp. 25-26. [6] R. Devanathan, Computer aided design of relay ladder diagram from functional specification Int. Conf. on Industrial Electronics, Control and Instrumentation IECON, 1990, pp. 527-531. [7] D. Harel, Statecharts: a visual formalism for complex systems, Sci. Comput. Programming Vol. 8, 1987, pp. 231-274. [8] M. Courvoisier, R. Valette, J. Bigou and P. Esteban, A programmable controller based on a high level specification tool, IECON 1983, pp. 174-179. [9] T. Murata, N. Komoda, K. Matsumaoto and K. Haruna, A Petri-net based controller for flexible and maintainable sequence control and its applications in factory automation, IEEE Trans. Ind. Electron, Vol. IE-33, No. 1, February 1986, pp. 1-8. [10] IEC PAS 62407 Real-time Ethernet control automation technology (ETHERCATTM), International Electrotechnical Commission, 2005 228