Komunikačních možností a variant je u PLC Simatic S7-1200 opravdu celá řada, ale není třeba se děsit, velmi často je to dost podobné a ne vždy se všechny možnosti využívají. Nakonec skončíte u několika základních a basta. Proto se pokusíme ukázat některé nejběžnější, jak se nastaví a jak fungují. Začneme nejpřístupnější komunikační funkcí typu GET/PUT, tedy "vzít" a "položit".
Dvě PLC S7-1200, horní jako PLC_4 s firmwarem 4 a spodní PLC_2 s verzí firmware 2.2. Zapojeny v síti spolu s programovacím PG kde běží TIA Portal V13. Z jednoho PLC budeme potřebovat dostat nějaké proměnné do druhého, a třeba i naopak. |
Schematicky to vypadá asi takto. IP adresu 101 má PLC_4, 100 pak PLC_2. Ukážeme si, jak z jednoho PLC vezmeme proměnné a pošleme je do druhého právě přes funkci PUT, tedy položit. Opačná funkce GET je v podstatě stejná, jedno PLC si hrábne do druhého a přečte si proměnné. Upozornění, v případě Profinetu ve skutečné aplikaci používejte switch, který je pro Profinet určen, Ethernet totiž není Profinet! |
Komunikace můžeme rozdělit do několika variant, podle protokolu a spojení, tedy drátu, po kterém jsou PLC propojeny. Existují omezení co do počtu propojených PLC, viz tabulka. Stačí vědět, že něco takového existuje, pak už si detaily lehce dohledáte. |
Různé komunikační protokoly vyžadují jiné komunikační programové bloky v PLC programu. Mezi PLC Simatic můžeme použít S7-komunikaci s využitím instrukcí GET/PUT, viz tabulka. |
Další omezení, nebo spíš parametr komunikace, je velikost přenášených dat v závislosti na účastnících. Pro naše S7-1200 stačí 160 bytes, respektive 240. Pokud potřebujete více, je možné využít komunikační instrukce vícekrát, nebo přenášet data po částech. |
V první řadě je nezbytné dostat do projektu v TIA Portal obě PLC. Pro vložení dalšího PLC z jiného projektu, je vhodné použít referenční projekt. |
Samozřejmě si ověříme, že obě PLC jsou na síti dostupné. Můžeme si na každém zablikat stavovými LED. |
Pak už v síťovém nastavení v projektu spojíme obě PLC a vybereme S7 spojení. Ve Step7 se tohle dělalo přes NETpro. |
Navzdory tomu že již máme PLC graficky propojeny, zbývá ještě upřesnit nové spojení přes nabídku pravého tlačítka myši. |
A otevře se nám nabídka dostupných PLC, u nás jen to jedno PLC_2. Klikněte si na obrázek pro zvětšení. |
Jestliže pak zvýrazníme vytvořené spojení, máme k dispozici jeho kompletní parametry. Nemusíte se nijak děsit, stačí si to prohlédnout, to důležité bude dále. Klikněte si na obrázek pro zvětšení. |
Local ID je jediný parametr, který budeme potřebovat. Je to v hexa formátu, takže pokud dále v PLC programu napíšete jen 100, nebude to fungovat, komunikační blok vyžaduje formát s "kriminálem". |
Naprosto nezbytné je pak uložení a nahrání celé konfigurace do PLC. Ve Step7 v NETpro se na tohle dost zapomínalo. Klikněte si na obrázek pro zvětšení. |
Zbývá komunikaci rozchodit v PLC programu. Pro každý druh spojení slouží v TIA Portal stejně jako ve Step7 firemní Siemens komunikační bloky, nebo funkce. Jsou dostupné ve složce komunikace pro všechny komunikační možnosti. My si náš blok PUT přetáhneme myší do okna s PLC programem. Pro ukázku a pochopení jak to funguje, stačí zatím jen funkce PUT, druhá GET je v podstatě stejná. |
PUT blok si automaticky vytvoří vlastní instanční datový blok DB10, nebo jaký zvolíme. Zbývá doplnit na vstupy a výstupy správné proměnné. Jestliže si blok rozkliknete, dá se konfigurovat více proměnných pro komunikaci. |
Detailní význam jednotlivých parametrů bloku PUT najdete v helpu, ale je důležité si uvědomit, že se jedná o asynchronní komunikaci, tedy blok na požadavek na vstupu REQ provede co má, může mu to trvat a také trvá, několik cyklů programu, záleží na velikosti přenášených dat a počtu spojení. Jakmile je hotov, zahlásí to "H" na výstupu DONE. |
Důležité je ID z hardwarové konfigurace v hexa formátu na vstupu ID, dále vstupy ADDR_x udávají místo, kam a kolik se toho do druhého PLC_2 překopíruje. Tento datový blok ve druhém PLC musí existovat, zápis je klasicky s pointerem. Další vstup SD_x udává co se do dalšího PLC_2 překopíruje. My jsme zvolili nějaký MW, vstupní byte a clock memory byte z hardwarové konfigurace, abychom si mohli porovnat rychlost. Tento MB1 máme totiž stejný v obou PLC. Na videoukázce v závěru je přesně vidět, jak to funguje.
V online režimu nám to jede jako po másle. Merkr pro začátek komunikace M10.7 spouští PUT funkci náběžnou hranou, takže je samozřejmě nezbytné ošetřit ukončení komunikace, a její start při zapnutí PLC. To je řešeno jinde v PLC programu. Můžete komunikaci vyvolávat třeba ihned po skončení předchozí, nebo po nějaké době, záleží na každém, co potřebuje. Co nám říká v proměnné STATUS číslo 19 vidíme níže. |
19 hexa ve status wordu bloku PUT z předchozího obrázku je 25 decimálně a pohled do tabulky nám říká, že blok zrovna vykonává, co potřebujeme. |
Nakonec se podíváme VAT tabulkou ve druhém PLC_2, zda se nám proměnné z prvního PLC_4 funkcí PUT správně zapisují do datového bloku DB11. |
Naše GET/PUT komunikace mezi PLC S7-1200 na videoukázce: http://youtu.be/qfMZCWjN3OM?hd=1 |
Závěr:
A je to. Zkuste si to a uvidíte, že to není zas taková věda. Jestliže rozchodíte PUT funkci, tak GET bude hračka. Důležité je pak celou komunikaci synchronizovat tak, aby se Vám jednotlivé funkce nepřekrývaly. Ovšem vyplatí se, vždy si o tom něco přečíst, na webu Siemens a odkazech níže jsou k dispozici i řešené příklady.
Jaroslav Blažek
Doplňující odkazy k článku:
Příklad použití GET/PUT komunikační funkce: http://support.automation.siemens.com/WW/view/en/65975618
Systémová příručka pro S7-1200: http://support.automation.siemens.com/BR/view/en/36932465
Další články o PLC, Scada/HMI, pohonech, software a komponentech nejen pro průmyslové aplikace najdete na http://automatizace.hw.cz