Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmS7 - Ovladač pro komunikaci protokolem S7-TCP/IP

Protokol "S7-TCP/IP" je také známy jako "RFC1006" nebo "ISO on top of TCP". PLC automaty tímto protokolem většinou komunikují přes PROFINET konektor (konektor pro napojení na Ethernet síť).

Tímto protokolem lze komunikovat například s následujícími typy zařízení:

- Siemens Simatic:
- S7-200 přes modul CP243-Ethernet
- S7-300 přes modul CP343-Ethernet, přes převodník NETLink PRO ETH nebo s procesorem s integrovaným Ethernet rozhraním
- S7-400 přes modul CP443-Ethernet, přes převodník NETLink PRO ETH nebo s procesorem s integrovaným Ethernet rozhraním
- S7-1200 (má integrované Ethernet rozhraní)
- S7-1500 (má integrované Ethernet rozhraní)

Upozornění: Pro správné nastavení Simatic viz Důležitá nastavení komunikace v PLC Simatic pomocí software TIA portal.

- ET-200S, ET-200SP (CPU1512) (má integrované Ethernet rozhraní)
- IPC + WinAC (softwarové PLC)
- Frekvenční měniče (Sinamics, Micromaster).
- VIPA (řídicí systém 300S, SLIO, ...)
- Pilz PSS (www.pilz.com)
 
Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné přečíst kapitolu: Komunikace pomocí PROMOTIC ovladačů.
 
Základní vlastnosti ovladače:
- Použití tohoto ovladače je vázáno na zakoupení licence: PmS7. S freeeware verzí PmFree nebo při vývoji aplikace (s vývojovou licencí pro testovací účely) je tato komponenta funkční vždy.
- Komunikace je přes Ethernet. Pro komunikaci stačí běžná standardní Ethernet karta. Při použití převodníku NETLink PRO ETH lze komunikovat i přes rozhraní MPI, PROFIBUS nebo PPI.
- Ovladač nepotřebuje žádné speciální knihovny ani hardware.
- Aplikace PROMOTIC je z hlediska této komunikace vždy MASTER (tzn. že dává podnět k přenosu dat).
- Ovladač optimalizuje fyzické přenosy datových zpráv s PLC automatem. Jednou zprávou se mohou přenášet hodnoty z různých datových oblastí (datové bloky, vstupu, vystupy, ...) a díky tomu je komunikace i při větším množství dat dostatečně rychlá. Tak lze v běžné Ethernet síti obnovovat data například s rychlostí 15x za sekundu.
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmComm.

Ovladač podporuje použití objektu PmCommData. Objekt PmCommMsg nelze používat.

Pro snadné přidání tohoto ovladače do aplikace je vhodné použít: Předkonfigurace ve skupině "S7 protokol"

 
Jsou podporovány následující oblasti dat:
- I = Input: Digitální vstupy. Bitové hodnoty (typ X), které lze číst ale nelze do nich zapisovat.

Na tyto hodnoty lze přistupovat i jako na 1-byte (8 bitů, typ B), 2-byte (16 bitů, typ W) nebo 4-byte (32 bitů, typ DINT). Pak lze na jednotlivé bity přistupovat pomocí vlastnosti Var.Bit nebo pomocí metod Pm.GetBit / SetBit.

- Q = Output: Digitální výstupy. Bitové hodnoty (typ X), které lze číst i zapisovat.

Na tyto hodnoty lze přistupovat i jako na 1-byte (8 bitů, typ B), 2-byte (16 bitů, typ W) nebo 4-byte (32 bitů, typ DINT). Pak lze na jednotlivé bity přistupovat pomocí vlastnosti Var.Bit nebo pomocí metod Pm.GetBit / SetBit.

- M = Memory, Marker, Flag: Paměť kterou lze číst i zapisovat. Na rozdíl od datových bloků nebývá tato paměť perzistentní, tzn. po vypnutí PLC se paměť resetuje.

Přistupovat k hodnotám v této paměti lze pomocí všech podporovaných datových typů (X, W, INT, STRING ...).

- DB = Data Block: Perzistentní paměť kterou lze číst i zapisovat.

Přistupovat k hodnotám v této paměti lze pomocí všech podporovaných datových typů (X, W, INT, STRING ...).

- T = Timer: Časovače (jen pro čtení). Hodnoty lze číst jako datové typy S5T(=přednastaveno), Wbcd a W.
- C = Counter: Čítače (jen pro čtení). Hodnoty lze číst jako datové typy Wbcd(=přednastaveno) a W.
 
Jsou podporovány následující S7 datové typy:
- X: Bit, Boolean - Bit daný adresou bytu a číslem bitu. V aplikaci PROMOTIC je reprezentován datovým typem: Boolean.
- B: Unsigned Byte - 1-bajt celé číslo (od 0 do 255). V aplikaci PROMOTIC je reprezentován datovým typem: Byte.
- W: Unsigned Word - 2-bajt celé číslo (od 0 do +65 535). V aplikaci PROMOTIC je reprezentován datovým typem: Long.
- INT: Signed Word - 2-bajt celé číslo (od -32 768 do +32 767). V aplikaci PROMOTIC je reprezentován datovým typem: Integer.
- D: Unsigned Double Word - 4-bajt celé číslo (od 0 do +4 294 967 295). Protože jazyk VBScript nemá celočíselný datový typ pro unsigned 4-bajt hodnotu, je v systému PROMOTIC hodnota uložena v datové typu Double.
- DINT: Signed Double Word - 4-bajt celé číslo (od -2 147 483 648 do +2 147 483 647). V aplikaci PROMOTIC je reprezentován datovým typem: Long.
- Bbcd: Unsigned Byte in BCD code - 1-bajt celé číslo. V PLC uloženo v BCD kódování (od 0 do 99). V aplikaci PROMOTIC je reprezentován datovým typem: Byte.
- Wbcd: Unsigned Word in BCD code - 2-bajt celé číslo. V PLC uloženo v BCD kódování (od 0 do 9999). V aplikaci PROMOTIC je reprezentován datovým typem: Integer.
- Dbcd: Unsigned Word in BCD code - 4-bajt celé číslo. V PLC uloženo v BCD kódování (od 0 do 99999999). V aplikaci PROMOTIC je reprezentován datovým typem: Long.
- REAL: Real number, 4B IEEE - 4-bajt reálné číslo ve formátu IEEE-754 (32-bit). V aplikaci PROMOTIC je reprezentován datovým typem: Single.
- LREAL: Long Real number, 8B IEEE - 8-bajt reálné číslo ve formátu IEEE-754 (64-bit). Tento typ podporuje například Simatic S7-1200. Není podporován staršími typy PLC. V aplikaci PROMOTIC je reprezentován datovým typem: Double.
- CHAR: Signed Byte, Raw string - Posloupnost znaků se zadaným počtem znaků (1 znak = 1 Byte). V PLC je tento typ uložen bez informace o délce textu. Pokud je při zápisu do PLC posílaný text kratší než zadaný počet znaků, doplní se zbývající znaky hodnotou 0. V aplikaci PROMOTIC je reprezentován datovým typem: String.
- STRING: S7 string - Text se zadaným počtem znaků (1 znak = 1 Byte). V PLC je tento typ uložen navíc s hlavičkou, ve které je informace o aktuální délce textu. Pokud je při zápisu do PLC posílaný text kratší než zadaný počet znaků, doplní se zbývající znaky hodnotou 0. V aplikaci PROMOTIC je reprezentován datovým typem: String.
- DTL: Date and Time, 12B Bin format - Datum a čas. V PLC je uložen binárně na 12B. Tento typ podporuje například Simatic S7-1200. Není podporován staršími typy PLC. V aplikaci PROMOTIC je reprezentován datovým typem: Date.
- DT: Date and Time, 8B BCD format - Datum a čas. V PLC je uložen v BCD kódu na 8B. Tento typ podporují starší typy PLC. V aplikaci PROMOTIC je reprezentován datovým typem: Date.
- S5T: S5TIME, Time Duration - Čas nebo doba trvání. V PLC je uložen v BCD kódu na 4B. Tento typ podporují starší typy PLC. Obvykle se využívá v paměti typu "Timer". V aplikaci PROMOTIC je reprezentován datovým typem: Long = počet milisekund.
 
Poznámka1: Datový typ TIME je v podstatě počet milisekund a hodnotu lze proto vyčítat jako datový typ DINT. Proto samotný typ TIME není ovladačem podporován.
Poznámka2: Pokud je hodnota datumu a/nebo času uložena v datovém typu Date, pak lze hodnoty rok/měsíc/den/hodina/minuta/sekunda získat například pomocí VBScript metod Year/Month/Day/Hour/Minute/Second. Viz také VBScript funkce s datem a časem a Pm metody s datumem a časem.
 

Doporučené hodnoty parametrů:

Doporučené hodnoty pro Parametry Ethernet:
Číslo TCP/UDP portu Číslo Ethernet portu. Toto číslo je určeno volbou typu S7 komunikace:
102 - Komunikuje se přímo s PLC podporující S7 protokol (podporující Ethernet rozhraní).
7777 - Komunikuje se s převodníkem NETLink PRO ETH.
Typ Ethernet přenosuTCP
Počet opakování při neúspěšném přenosuKdyž druhá strana neodpoví, tak ovladač provede uzavření portu a znovu začne navazovat spojení. Proto je pro tento konfigurátor doporučeno nastavit "bez opakování", tj. hodnotu 0.
Timeout přenosu jednoho paketu [ms]V případě "Typ komunikace = Ethernet ISOonTCP Standard" je nutno nastavit 4000 ms. Jinak stačí 2000 ms.
Uzavřít spojení po každém přenosuNEzatrhnout (povinné). Po každém navázání spojení s PLC je nutno přenést několik inicializačních zpráv a kdyby se spojení často uzavíralo tak by se velmi snížila rychlost komunikace.
Popis a doporučené hodnoty pro Parametry protokolu:
Typ komunikaceBlíže určuje typ komunikace se zařízením.
Ethernet ISOonTCP Standard - (for S7-300/400/1200..) - Bude se komunikovat se zařízením, které podporuje Ethernet komunikaci protokolem S7 (podporuje PROFINET).
Ethernet ISOonTCP for CP243 - (for S7-200) - Bude se komunikovat se Simatic S7-200 přes modul CP243-Ethernet.
Ethernet NETLink PRO ETH - (Helmholz, Softing, Accon) - Bude se komunikovat s převodníkem NETLink PRO ETH.
Max. délka PDUZde lze zadat maximální možnou délku dat přenášených v jedné komunikační zprávě. Standardní délky jsou 240, 480 nebo 960. Běžně lze zadat maximum, tzn. 960. Při inicializaci komunikace s PLC ovladač zjistí jakou délku podporuje PLC a pokud podporuje menší, tak tuto hodnotu automaticky zmenší.

V praxi se však zjistilo, že někdy PLC v jedné zprávě posílá menší počet dat (např. posílá jen 240) i když při inicializaci sdělilo že může posílat větší počet dat (např. 480). Projeví se to tak, že po příjmu dat se v objektu PmCommData naplní jen část proměnných, zbytek proměnných nebude komunikován. Tehdy je nutno změnit hodnotu z délky 960 na délku 240.

Rack(0-7) Určuje číslo rack-u na kterém je umístěn procesor, se kterým se požaduje komunikovat. Většinou je hodnota 0.

Zadává se jen když Typ komunikace = "Ethernet ISOonTCP Standard"

CPU Slot(0-31) Určuje číslo slot-u na kterém je umístěn CPU procesor, se kterým se požaduje komunikovat. (Upozornění: NENÍ to slot komunikační karty!)
- Často je hodnota 2.
- Pro zabudovaná Ethernet rozhraní (např. S7-1200, CPU1512SP ..) je hodnota 1.

Příklad: Na slotu 1 bývá zdroj napětí a pokud je zdroj větší (např. pro S7-400), pak může zabírat i další sloty. Pokud tedy zdroj zabírá slot číslo 1 a 2 a na slotu 3 je například ventilátor (nebo je slot neobsazen), pak dáme procesor na slot 4. V tomto konfigurátoru tedy bude hodnota 4.

Zadává se jen když Typ komunikace = "Ethernet ISOonTCP Standard"

Local TSAP(hex) Určuje hexadecimální adresu LocalTSAP. Většinou je hodnota 4d57 ('MW').

Zadává se jen když Typ komunikace = "Ethernet ISOonTCP for CP243"

Remote TSAP(hex) Určuje hexadecimální adresu RemoteTSAP. Většinou je hodnota 4d57.

Zadává se jen když Typ komunikace = "Ethernet ISOonTCP for CP243"

MPI/DP address(0-31) Určuje MPI nebo DP-PROFIBUS adresu procesoru, se kterým se požaduje komunikovat. Pro MPI je často hodnota 2.

Zadává se jen když Typ komunikace = "Ethernet NETLink PRO ETH".

Connection typeTyp připojení. V konfiguraci sítě lze nastavit max. počet připojení pro daný typ.

Zadává se jen když Typ komunikace = "Ethernet ISOonTCP Standard" nebo "Ethernet NETLink PRO ETH".

1 = PG-connection - Programovací zařízení
2 = OP-connection - Operátorský panel
3 = OTHER-connection - Jiný typ

Popis komunikace pomocí objektů PmCommData

Pro tento ovladač lze používat objekty PmCommData.

Proměnné v objektu PmCommData (nebo ještě lépe proměnné v objektu PmData s datovým rozšířením ExtComm) mohou být v libovolném množství, libovolného typu v libovolném pořadí. Ovladač sám optimálním způsobem vnitřně vytvořenými komunikačními zprávami vyčítá data ze zařízení.

Proměnné se vyčítají všechny (pokud je povolen konfigurátor Obnovování dat povoleno). Při zápisu do proměnné se posílá do zařízení jen tato jedna proměnná (pokud je povolen konfigurátor Automaticky zasílat při zápisu do položky).

 
Popis konfigurátoru ItemID:

ItemId je textový identifikátor položky, který slouží k adresaci veličiny v zařízení. Z konfigurátoru ItemID ovladač pozná, jak se má hodnota položky přijímat nebo vysílat. Text lze buď napsat ručně, nebo sestavit pomocí okna, které se otevře tlačítkem vpravo od konfigurátoru. Pro zadání lze použít Makro výraz (vyhodnocuje se při spouštění aplikace).

Příklady tvaru identifikátoru:

- "I0.2" = Hodnota uložená v I=Input na adrese 0 ve druhém bitu jako datový typ X=bit=přednastaveno.
- "Q0.2" = Hodnota uložená v Q=Output na adrese 0 ve druhém bitu jako datový typ X=bit=přednastaveno.
- "QB0" = Hodnota uložená v Q=Output na adrese 0 jako datový typ B=Byte=8 bitů.
- "MREAL30" = Hodnota uložená v M=Memory na adrese 30 jako datový typ REAL=4-bajt reálné číslo.
- "DB10.W83" = Hodnota uložená v DB=DataBlock č.10 na adrese 83 jako datový typ W=Unsigned Word.
- "DB3.Wbcd83" = Hodnota uložená v DB=DataBlock č.3 na adrese 83 jako datový typ Wbcd=Unsigned Word in BCD code.
- "DB24.CHAR0.12" = Hodnota uložená v DB=DataBlock č.24 od adresy 0 (na adrese 0,1,..11) jako 12 položek typ CHAR které se v PROMOTIC uloží do jedné hodnoty typu String.
- "DB25.STRING0.12" = Hodnota uložená v DB=DataBlock č.25 od adresy 0 jako datový typ S7 STRING která se v PROMOTIC uloží do hodnoty typu String.
- "T15" = Hodnota uložená v T=Timer na adrese 15 jako datový typ S5T která se v PROMOTIC uloží do hodnoty typu Date.
- "TWbcd15" = Hodnota uložená v T=Timer na adrese 15 jako datový typ Wbcd=Unsigned Word in BCD code.
- "C20" = Hodnota uložená v C=Counter na adrese 20 jako datový typ Wbcd=Unsigned Word in BCD code.
- "CW20" = Hodnota uložená v C=Counter na adrese 20 jako datový typ W=Unsigned Word.
 
Poznámka: Ovladač zatím nepodporuje v jedné proměnné s jedním ItemId přenášet vektor hodnot (kromě vektoru znaků v typu CHAR).
 
Popis konfigurátoru PmCommData > Parametry > Speciální parametry:
Tento konfigurátor se pro daný ovladač nevyužívá.

Komunikace s převodníkem NETLink PRO ETH

Převodník NETLink PRO ETH převádí Ethernet protokol S7 na fyzické rozhraní MPI, PROFIBUS nebo PPI. Když je převodník připojen do MPI/PROFIBUS sítě, pak v této síti může být napojeno i více procesorů se kterými se požaduje komunikovat (každý bude mít jinou MPI/DP adresu). Jeden objekt PmComm komunikuje jen s jedním procesorem. Lze mít současně více PmComm objektů se stejnou IP adresou převodníku ale s jinou hodnotou "MPI/DP address".

 
Převodník NETLink PRO ETH dodává například:
- Firma Helmholz (www.helmholz.cz, www.helmholz.com). Jádro hardware této firmy používají i jiné firmy pro své převodníky (viz dále).

V česku firmu zastupuje firma Intersoft (www.intersoft-automation.cz).

Pokud se u převodníku přes WEB rozhraní nastaví konfigurátor "Go online after boot", pak je převodník transparentní a v PmS7 ovladači lze nastavit "Typ komunikace = Ethernet ISOonTCP Standard".

- Firma Softing (www.softing.com). Tyto převodníky používaji hardware firmy Helmholz.
- Firma Deltalogic (www.deltalogic.de, typ ACCON). Tyto převodníky používaji hardware firmy Helmholz.

V česku firmu zastupuje firma Foxon (www.foxon.cz).

- Převodníky jiných firem (např. IBH NETLink, NETLink Kepware ...). Není vyzkoušeno, že s těmito jinými převodníky lze pomocí ovladače PmS7 komunikovat.

Důležitá nastavení komunikace v PLC Simatic pomocí software TIA portal

Verze Simatic-1200 a -1500 od roku 2014 vyžadují programování v software TIA portal 13 nebo vyšší.

Upozornění: V roce 2015 pro nové verze PLC (např. Simatic S7/1200 V.4.1.1 - 4.1.3) je nutno provést aktualizaci TIA portal 13 SP1 na Update 5 (9/2015).

 
V těchto software jsou implicitně nastaveny některé konfigurátory tak, že externí SCADA systémy (a tedy i systém PROMOTIC) s takto nastaveným PLC nemohou komunikovat.

V TIA portal je proto nutno změnit následující nastavení:

 
1) Protection:

Vyberte "CPU project" v levém panelu a stiskněte Alt+Enter nebo v lokálním menu vyberte "Properties". V položce "Protection" vyberte konfigurátor "Full access" a zatrhněte konfigurátor "Permit access with PUT/GET communication from remote partner".

 
2) DB optimized:

Vyberte "DB" v levem panelu pod "Program blocks" a stiskněte Alt+Enter nebo v lokálním menu vyberte "Properties". Zrušte nastavení konfigurátoru "Optimized block access" (implicitně je zatrženo).


© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice