• Blaja
  • Archiv
  • Komunikace mezi dvěma S7-1200 pomocí funkce GET/PUT

Komunikace mezi dvěma S7-1200 pomocí funkce GET/PUT

  • úterý, 02 prosinec 2014 03:00

Logo automaty Komunikace mezi dvěma S7-1200 pomocí funkce GET/PUT.

PLC Simatic S7-1200 disponují velkými komunikačními možnostmi i bez použití komunikačního procesoru, my si vyzkoušíme a ukážeme některé z nich.

IO-Link and S7-1200

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.

IO-Link and S7-1200


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! 

IO-Link and S7-1200


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.

IO-Link and S7-1200


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.

IO-Link and S7-1200


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.

IO-Link and S7-1200


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.

IO-Link and S7-1200


Samozřejmě si ověříme, že obě PLC jsou na síti dostupné. 

Můžeme si na každém zablikat stavovými LED. 

IO-Link and S7-1200


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. 

IO-Link and S7-1200


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. 

IO-Link and S7-1200


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í. 

IO-Link and S7-1200


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í.     

IO-Link and S7-1200


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".

IO-Link and S7-1200


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í.  

IO-Link and S7-1200


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á. 

IO-Link and S7-1200


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.

IO-Link and S7-1200


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. 

IO-Link and S7-1200

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.  

IO-Link and S7-1200


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. 

IO-Link and S7-1200


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.

IO-Link and S7-1200



Naše GET/PUT komunikace mezi PLC S7-1200 na videoukázce.

Klikněte si zde pro otevření videa samostatném okně 



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             

Blaja automation portal
Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209