Jste zde

Praktické zkušenosti - PLC Millenium 3 CD12 a jednoduchý program časování

Hodně se u PLC psalo o jejich vlastnostech, parametrech a výkonech, ale již méně o jejich programování a ještě méně o konkrétních aplikacích. Tento článek by to měl alespoň trošku napravit. Nedávno jsem potřeboval rychle vyřešit úlohu časování tisku protokolu z elektroniky pásové váhy. Tato úloha je sice na první pohled vcelku jednoduchá, ale již ji nelze vyřešit multifunkčním časovačem typu Autonics. Použil jsem proto nejmenší PLC Millenium 3 a naprogramoval ho...

Obecný článek o PLC Millenium 3 francouzské společnosti Crouzet byl vydán na serveru automatizace.hw.cz již dříve (TEST - horká novinka na trhu - levné francouzké PLC Millenium3). Tento článek je pak konkrétně zaměřen na nejmenší zakrytovanou verzi s LCD displejem a tlačítky, tedy verzi CD12, určené pro napájení stejnosměrným napětím 24 V. Označení CD12 značí, že je k dispozici 8 binárních vstupů, resp. 4 binární a 4 sdílené binární / analogové vstupy (dle nastavení), a 4 reléové výstupy. Pro dále popisovaný program pro časování tisku tiskárny je důležitý integrovaný obvod reálných hodin RTC zálohovaný lithiovou knoflíkovou baterií, protože díky němu lze časování provádět dlouhodobě s velkou přesností a zajistit úspěšnou funkci i po vypnutí/zapnutí napájení.

Prakticky hlavním a jediným řídícím prvkem PLC je mikrokontrolér Atmel ATmega163, který je na základní desce plošných spojů doplněn o přidané periferie vytvářející hlavně rozhraní vstupů a výstupů. Do desky je zároveň připojena i malá vysunutá destička realizující HMI rozhraní, tedy již zmíněný žlutě osvětlený LCD displej poskytující 4 řádky po 18 znacích a soustavu 5 tlačítek (A, B, ESC, šipka nahoru, šipka dolu, OK). Od výroby běží v PLC nahraný firmware, který bez zásahu programátora ukazuje stav PLC, umožňuje spouštět a zastavovat v PLC nahraný program a zobrazovat a nastavovat hodiny (hod:min:sec). Mimo uvedených vstupů a výstupů se nalevo od tlačítek pod výsuvným krytem nachází 6pinové ISP programovací rozhraní fyzicky umístěné na základní desce plošných spojů (DPS). Otvor v pouzdru PLC není realizován samoúčelně, protože je proveden přesně tak, aby šel konec programovacího kabelu zastrčit jen v jedné pozici a nemohlo tedy dojít k otočení.

 

Vlastnosti PLC Millenium 3 verze CD12

  • Napájení: 24 V DC - napětí úrovně log. 1 vstupů = 24V DC
  • Procesor: Atmel ATmega163
  • Paměť: Flash EEPROM (až 250 funkčních bloků programu), EEPROM (368 bitů/200 slov s garantovaným udržením min. 10 let)
  • LCD displej: 4 řádky a 18 znaků
  • Vstupy:
    • 4 analogové napěťové 0-10 V sdílené s binárními vstupy
    • 8 binárních/diskrétních 0-24 V
  • Výstupy: 4 reléové, spínání max. 250 V AC / 150 V DC/ 8 A; min. 5V / 10 mA
  • Grafické programování: klasické reléové diagramy (Ladder diagram) nebo propojení funkčních bloků propojení/zapojení logických členů/sekvenčních členů
  • Programování: pomocí ISP rozhraní, kabelu USB-ISP a vývojového programu Crouzet Logic M3
  • Možná datová komunikace: MODBUS/RS-485, modem RTC, GSM
  • Provozní teplota: - 20 až 40°C
  • Vlhkost: až 95°
  • Rozměry: 90 x 72 x 70 mm
  • Stupeň krytí: IP40 (čelní panel)
  • Upevnění:
    • na 35 mm DIN lištu - upevňovací mechanismus na spodní straně pouzdra PLC
    • dva vysouvací plastové držáky pro přišroubování na panel

 

 

Základním stavebním kamenem hardwaru PLC je MCU Atmel ATmega128 (pro zvětšení kliknětě na obrázek)

Programovací a vývojové prostředky pro PLC Millenium 3

Programování PLC Millenium3 je vcelku jednoduché a je proto vhodné i pro začátečníky, kteří se chtějí jednoduchýma "PLCčkama" zabývat. Toho je dosaženo docela srozumitelným a intuitivně ovladatelným softwarem Crouzet Logic M3 pro OS Windows (běží na XP i 32bitových Vistách Home Basic - prakticky vyzkoušeno), který je na CD součástí vstupního vývojového kitu nebo lze je zvlášť objednat. Součástí CD je i mnoho příkladů naprogramovaných aplikací, takže po jejich vyzkoušení a prostudování již má uživatel docela dobrou představu o tom, co je možné s Milleniem 3 realizovat. Ať již uživatel má či nemá zkušenosti s programováním a návrhem logických obvodů, nestojí po krátkém seznámení nic v cestě k zahájení vývoje požadované aplikace.


 

K dispozici jsou dva módy programování:

  • klasické reléové/liniové schéma (Ladder diagram) - vhodné spíše pro jednodušší aplikace typu programovatelné relé

  • blokové schéma - propojování multifunkčních bloků FBD (několik typů čítačů a časovačů, MUX, násobička/dělička, sčítačka, RTC hodiny, komparátor, A/D převodník a mnoho dalších) s klasickými logickými obvody typu NAND, OR, RSKLO, které lze doplnit o sekvenční prvky - vhodný pro plné využití všech vlastností PLC

 

Jediné co chybí a vadí je málo předdefinovaných prvků sekvenční logiky. Například úplně chybí D klopný obvod nebo posuvný registr. Ty je pak nutné skládat z menších "stavebních kamenů" a zbytečně se na obrazovce komplikuje a znepřehledňuje zapojení, i když lze často opakující se bloky označit jako MACRA a snadno opakovaně využívat. Po pár experimentech však lze zjistit, že funkci DKLO lze docela dobře nahradit speciálním nastavením a zapojením časovače-Timer, který obsahuje povolovací ENABLE vstup reagující na hranu. Podobně lze obvodem časovač vytvořit i oscilátor/generátor signálu s periodou v řádu milisekund. Pro časy v násobcích setin sekundy a celých sekund lze použít předpřipravené časovače a pro časování v minutách a hodinách již RTC hodiny.

K vývoji a testování programu slouží do vývojového programu zakomponovaný velmi kvalitní simulátor, který podrobně ukazuje funkci jednotlivých prvků, vstupů a výstupů a "tok" logických, digitálních i analogových signálů. Pak už nic nebrání program načíst z PC do zvoleného typu PLC Millenium3, který je nutné definovat ještě před úplným začátkem programování, prostřednictvím RS-232 nebo USB kabelu. Poté lze celý program odladit pomocí emulátoru. Ten pracuje vizuálně stejně jako simulátor, ale pouze simulované hodnoty a indikace jsou nahrazeny reálnými. Zkompilovaný a odzkoušený je možné chránit heslem proti přečtení.

 

Vývojový software Crouzet Logic Software M3 dovoluje programovat a simulovat i zobrazení na LCD displeji PLC a stisky tlačítek

Praktická ukázka - naprogramování časování tisku pro pásovou váhu

Pro základní ukázku programování PLC Millenium 3 pomocí blokového schéma (funkčních bloků) a firmou Crouzet dodávaného vývojového PC softwaru jsem vybral jednoduchý, ale potřebný a v praxi realizovaný program pro časování tisku pásové váhy Sartorius. Níže zadaný úkol, i když je jednoduchý, je již totiž natolik obsáhlý, že nelze realizovat jen multifunkčním počítadlem.

Úkol zadaný zákazníkem:

Pravidelný tisk hodnoty pásovou váhou Sartorius naváženého množství dopravovaného materiálu od začátku směny (času 6:00) po každých 30 minutách.

Přesněji definované zadání:

Každých 30 minut má být tiskárnou připojenou na RS-232 výstup pásové váhy automaticky vytištěna hodnota počítadla množství naváženého materiálu od automatického vynulování počítadla, které má proběhnout pravidelně každá den v 6:00.

Rozbor zadání:

Elektronika pásové váhy Sartorius sice má RS-232 výstup na tiskárnu a umí tisknout po řádcích hodnoty naváženého množství, ale neumožňuje přesné časování tisku po 30 minutách 24 hodin denně, 365 dní v týdnu. Navíc neumožňuje nulování počítadla prošlého množství v určitý časový okamžik. K tomu je potřeba přesný obvod reálného času RTC, který je například obsažen v levném PLC Millenium 3 francouzské firmy Crouzet. PLC tedy bude provádět časování jak pravidelného tisku po 30 minutách, realizovatelné pomocí reléového výstupu PLC a vstupu elektroniky pásové váhy pro externí nulovací tlačítko, tak i pravidelné nulování hodnoty počítadla prošlého množství opět pomocí reléového výstupu PLC a vstupu váhy pro připojení externího nulovacího tlačítka. Mimo to by však PLC mělo umožňovat alespoň pro servisní účely okamžité vytištění hodnoty i nulování počítadla po stisku tlačítka. Zároveň by ať při automatickém, tak i ručním nulování počítadla mělo dojít nejdříve k vytištění stavu těsně před vynulováním a pak následně těsně po vynulování jako nulovou startovací hodnotu.

 

Kompletní zapojení programu časování tisku pro pásovou váhu Sartorius (pro zvětšení klikněte na obrázek)

Realizace:

Výše uvedené zadání lze bez problémů splnit nejmenším PLC Millenium 3 s displejem a tlačítky, označené jako CD 14. Základem programu je funkční blok hodiny (Time Prog) B00 a B01, který je časován RTC obvodem a umožňuje nastavit až 50 časových údajů, kdy má dojít k překlopení výstupu bloku ze stavu log. 0 do stavu log. 1 či obráceně. Nastavit lze přesně hodinu, minutu, den v týdnu a týden v měsíci a měsíc v roce, kdy má změna stavu výstupu proběhnout. Navolit lze jak jednorázovou akci, tak častěji realizované periodické opakování. Periodu lze nastavit po dnech, týdnech či měsících. Ne však bohužel po minutách, což je jeden případ, který je nutné realizovat. Jedním blokem hodin se zadanou jednou akcí tak lze realizovat pravidelné nulování počítadla množství prošlého materiálu každý den v 6:00 ráno, zatímco druhým blokem hodin se zadanými 24 akcemi (zadanými řádky) se provádí časování pravidelného výpisu řádku na tiskárně. Každý řádek tedy realizuje sepnutí po zadaném časovém úseku 30 minut, tedy 6:30, 7:00, 7:30, 8:00, ... 5:00, 5:30. Těchto 24 řádků se pak opakuje každý den v roce. V případě potřeby lze snadno nastavením bloku tisk omezit třeba jen na pracovní dny (Po až Pá). Tisk v 6:00 pak realizuje samotný akt nulování počítadla prostřednictvím výstupu O1 (B03), kdy se po inicializaci akce nulování nejdříve vytiskne hodnota před vynulováním, pak se fyzicky provede nulování a poté opět vytištění počátečního stavu počítadla pro další směnu. To je ve schématu realizováno kombinací 3 časovačů (Timer) reagujících na hranu impulsu vygenerovaného blokem hodin, za který je připojen generátor impulsu při změně stavu.

 

Nastavení doby, data a opakování akce (přepnutí logického stavu) bloku "hodiny" je opravdu snadné

Blok hodin umožňuje nastavení mnoho časů / akcí, kdy se má výstup přepnout ze stavu log. 0 do log. 1 či obráceně

Pomocí logických členů OR se pak realizuje možnost servisního vynulování počítadla či výtisku pomocí dlouhého stisku tlačítka A (B18), resp. tlačítka B (B20). délka po kterou musí být tlačítko držené stisknuté, aby se akce zahájila, je dáno nastavením bloků časovačů B19 a B22, na které jsou na vstupy tlačítek připojeny. Zařazené bloky generátorů impulsů (B09, B13, B14 ....) vytvářejí stejný signál pro generování požadované délky impulsu, na který je schopen zareagovat vstup elektroniky pásové váhy, případně jiného zařízení pro které lze tento systém použít.

Nakonec se ve schématu objevují bloky displejů, které generují programátorem požadované zobrazení textu na displeji. Pokud by nebyly v programu tyto bloky použity, je standardně na displeji zobrazován čas a aktuální stavy vstupů a výstupů PLC. To generuje v PLC běžící firmware Crouzet. Po stisku tlačítek lze pak spustit či zastavit program či změnit nastavení času a data obvodu RTC. Ve zde uvedeném případě se pak na úvodní obrazovce zobrazuje čas, datum a popis k funkci zaprogramovaných tlačítek A a B, které ve firmwaru nemají žádnou úlohu (po stisku se nic nestane). Po stisku OK se pak přejde zpět do menu firmwaru, pro potřebu nastavení hodin PLC bez potřeby počítače. Pomocí stisků tlačítka ESC se pak přejde opět na zaprogramovanou úvodní obrazovku.

 

Programování zobrazení textu na LCD displeji PLC

Takto blokově vytvořený program lze po překladu otestovat na simulátoru nebo ho nahrát do PLC pomocí kabelu USB-ISP připojeného k PC a ladit přímo v reálném čase v PLC. Z tohoto pohledu je vývojový PC software Crouzet Logic Software M3, v mém případě ve verzi 2.1, je opravdu kvalitní nástroj pro vytváření prográmků pro aplikace, kam se PLC Millenium 3 hodí. Program již dlouho provozuji na Windows XP a zatím jsem v něm nenarazil na žádný problém. V posledním měsíci jsem jej také zkusil spustit na 32bitové verzi OS Windows Vista Home a také zde bez problémů běžel. Navíc software funguje i bez instalace, tzn. lze z jednoho počítače vzít celý adresář a nahrát na jiné PC a ono to funguje. Software je sice placený, ale lze ho získat zdarma v rámci zakoupení tzv. startovacího kitu právě s USB kabelem a zde použitým PLC CD14.

Při simulaci programu se zobrazuje i přední panel PLC, pokud jej zvolený typ PLC obsahuje, kde se nejen ukazují naprogramovaná zobrazení na displeji, ale myší lze i stisknout tlačítka jako v reálu prstem. Simulace je tak opravdu simulace reálného chodu.

Závěr

Zde uvedený program pro časování je jen malým "odvarem" toho, co PLC Millenium zvládne. Jde o ukázku realizace jednoduché aplikace, na kterou však již nestačí jiné prostředky a použití malého PLC je tedy logickým, praktickým i finančně vhodným prostředkem. A není nutné použít jen zde uvedený typ PLC, ale i programovatelný automat jiného výrobce (například FATEK nebo Moeller), který v sobě obsahuje RTC obvod, resp. funkci kalendáře. Aby toho nebylo málo, tak zanedlouho se k tématu programování PLC vrátím s ukázkou složitějšího programu.

Antonín Vojáček
vojacek@ hwg.cz

DOWNLOAD & Odkazy

Hodnocení článku: