Promotic
RSSFacebook

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ř. s následujícími typy zařízení:

Siemens SIMATIC S7-1200
- 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í)
- ET-200S (má integrované Ethernet rozhraní)
- IPC + WinAC (softwarové PLC)
- Frekvenční měniče (Sinamics, Micromaster).
- Pilz PSS (www.pilz.com)
 
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ř. s rychlostí 15x za sekundu.
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmComm. Do aplikace lze přidat objekt PmComm a správně je nakonfigurovat ale lepší je použít:
- Tento ovladač podporuje použití objektu PmCommData. Objekt PmCommMsg nelze používat.
 
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. Jsou určeny jen pro čtení. Hodnoty lze číst jako datové typy S5T(=přednastaveno), Wbcd a W.
- C = Counter: Čítače. Jsou určeny 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-byte 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-byte reálné číslo ve formátu IEEE-754 (64-bit). Tento typ podporuje např. 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ř. 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: Date.
 
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ř. pomocí VBScript metod Year/Month/Day/Hour/Minute/Second. Viz také VBScript funkce s datumem 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řenosu Když 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.
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 S7-1200 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ř. 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 type Typ připojení. V konfiguraci MPI sítě lze nastavit max. počet připojení pro daný typ.

Zadává se jen když "Typ komunikace = 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

S7-300  a  NetLink PRO Softing Pro tento ovladač lze používat objekty PmCommData. Pro běžné případy přenosů dat je to výhodnější než použít objekt PmCommMsg.

Proměnné v objektu PmCommData 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:

Ovladač umí přenášet datové položky, které mají konfigurátor ItemId nastaven na text, ze kterého ovladač pozná, jak má hodnotu položky přijímat nebo vysílat. Text se nemusí psát, sestaví se pomocí tlačítka vpravo od konfigurátoru ItemId. 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

NetLink PRO ACCON

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ř:
- 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ř. převodníky IBH NETLink, NETLink Kepware ...). Není vyzkoušeno, že s těmito jinými převodníky lze pomocí ovladače PmS7 komunikovat.

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