Promotic

PmTeco - Ovladač pro komunikaci s PLC automaty od firmy TECO

Tento ovladač slouží pro komunikaci s PLC automaty od firmy TECO. Viz také Komunikace s PLC automaty od firmy TECO (Česko).

Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné shlédnout "PROMOTIC video kurz 4 - Komunikační ovladače".

Základní vlastnosti ovladače:
- Ovladač komunikuje s PLC automaty od firmy TECO řady TECOMAT (TC400, TC500, TC600, TC650, TC700, NS950, FOXTROT ...) a TECOREG (TR050, TR200, TR300 ...) protokolem EPSNET monomaster (protokol vychází z definice transportní vrstvy protokolu PROFIBUS). Komunikace v jiných režimech ("PLC", multimaster ..) zde není podporována.
- Použití tohoto ovladače vyžaduje zakoupení licence PmTeco. Při vývoji aplikace ve freeware módu PmFree nebo s vývojovou licencí a při jejím testování v runtime je tato komponenta vždy funkční.
- Komunikace je pro Ethernet (aplikace PROMOTIC je klient) nebo pro sériovou linku (COM1, COM2 ...).
- Aplikace PROMOTIC je z hlediska této komunikace vždy Master (to znamená, že dává podnět pro přenos dat).
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmaComm.
Ovladač podporuje použití objektů PmaCommMsg a PmaCommGroup. Pro běžné případy přenosu dat je lepší použít objekt PmaCommGroup.
Pro snadné přidání tohoto ovladače do aplikace je vhodné použít: Předkonfigurace ve skupině "TECO - PLC automat"


Poznámka: Při komunikaci RS232 s TECOREG je nutno na konektoru zapojeném do servisního komunikačního portu propojit pin 5 s pinem 9 ! V jiném případě je standardní křížové propojení (RX->TX, TX->RX, SG->SG).

Ovladač podporuje následující datové typy:
- BOOL: Bit daný adresou bajtu a číslem bitu.
V aplikaci PROMOTIC je reprezentován datovým typem Boolean.
- USINT: 1-bajt celé číslo (od 0 do 255).
V aplikaci PROMOTIC je reprezentován datovým typem Byte.
- INT: 2-bajt celé číslo (od -32 768 do +32 767).
V aplikaci PROMOTIC je reprezentován datovým typem Integer.
- UINT: 2-bajt celé číslo (od 0 do +65 535).
V aplikaci PROMOTIC je reprezentován datovým typem Long.
- DINT: 4-bajt celé číslo (od -2 147 483 648 do +2 147 483 647).
V aplikaci PROMOTIC je reprezentován datovým typem Long.
- REAL: 4-bajt reálné číslo.
V aplikaci PROMOTIC je reprezentován datovým typem Single.
- LREAL: 8-bajt reálné číslo.
V aplikaci PROMOTIC je reprezentován datovým typem Double.
- TIME / TIME_OF_DAY: V PLC automatu je tento typ ve skutečnosti stejný jako typ DINT (tzn. 4-bajt celé číslo) a představuje počet milisekund (pro TIME_OF_DAY je to počet milisekund od začátku dne). Pokud se však v systému PROMOTIC zadá místo DINT typ TIME (nebo TIME_OF_DAY), pak hodnota je v systému PROMOTIC reprezentována datovým typem Date a při přenosu se provádí odpovídající přepočet. Year/Month/Day/Hour/Minute/Second.
- DATE / DATE_AND_TIME: V PLC automatu je tento typ ve skutečnosti stejný jako typ LREAL (tzn. 8-bajt reálné číslo) a představuje počet sekund od 1.1.1970. Pokud se však v systému PROMOTIC zadá místo LREAL typ DATE (nebo DATE_AND_TIME), pak je v systému PROMOTIC hodnota reprezentována datovým typem Date a při přenosu se provádí odpovídající přepočet.


Poznámka: Pokud hodnota datumu a času je typu Date, pak hodnoty rok/měsíc/den/hodina/minuta/sekunda lze získat například:
- pomocí objektu PmDateObject a jeho metod GetYear/GetMonth/GetDay/GetHour/GetMinute/GetSecond atd.
- pomocí VBScript metod Year/Month/Day/Hour/Minute/Second.
Viz také Pm metody pro datum a čas a VBScript funkce s datumem a časem.

Doporučené hodnoty parametrů objektu PmaComm:

Doporučené hodnoty pro Parametry sériové linky:
Rychlost19200 Bd (a vyšší)
Počet datových bitů8 (povinné)
ParitaEVEN (sudá)
Počet stopbitů1 (povinné)
Řízení RTS signálu1
Řízení DTR signálu0
Prodleva mezi příjmem-vysláním0. V některých případech převodník TECOREG u rozhraní RS485 neumí dostatečně rychle automaticky přepínat signál RTS. Tehdy se musí zpoždění nastavit na 10 ms.
Doporučené hodnoty pro Parametry Ethernet-klient:
Číslo vzdáleného TCP/UDP portu61682 (pro typ dat "TECO Ethernet")
Typ Ethernet přenosuUDP (pro typ dat "TECO Ethernet")
Číslo lokálního TCP/UDP portuZde je vhodné zadat nějaký port, např. 61681 (nenechávat nastavení "Automaticky").
PLC TECO rozlišuje připojené klienty podle čísla jejich portu a nedovolí připojit nového klienta při překročení určitého počtu (nekomunikující klient může v PLC odpadnout např. až za 2 hodiny). Pokud by lokální port byl zadán automaticky, pak při restartu aplikace PROMOTIC by se přiřadilo komunikaci jiné číslo lokálního portu a PLC TECO by aplikaci považovalo za nového klienta a mohlo by odmítnout připojení.
Popis a doporučené hodnoty pro Parametry protokolu:
Typ dat protokoluJen pro Ethernet. Určuje tvar dat protokolu. Lze zvolit:
TECO Ethernet - Standardní Ethernet komunikace s TECO automaty. Proti datům určeným pro sériovou linku se liší speciální hlavičkou a přenáší se přes Ethernet UDP na portu 61682.
Stejná data jak pro sériovou linku - Tuto volbu lze vybrat například pokud zařízení má sériovou linku a převodníkem RS232/Ethernet je zapojeno do Ethernetu. Pokud převodník nemění přenášená data, pak lze takto jednoduše komunikovat přes Ethernet se zařízením, který nemá Ethernet výstup.
Timeout příjmu odpovědiJen pro sériovou linku. Vhodná hodnota je například 2000 ms. Čas (v milisekundách) po který bude ovladač čekat na odpověď při vyslání zprávy.
Pokud do této doby nepřijde vyžádaná odpověď, pak se přenos zprávy ukončí (je vyvolána událost onEndOfTransfer s chybou 24 nebo 66).
TECO adresa této aplikaceAdresa aplikace PROMOTIC pro komunikaci s PLC automaty. Adresování v protokolu TECOMAT umožňuje připojení více PLC k jedné aplikaci PROMOTIC přes jeden komunikační port. V tom případě je nutno zajistit, aby připojené PLC i aplikace PROMOTIC měly každý jinou adresu. Adresy nemusí tvořit spojitou řadu.

Popis komunikace pomocí objektu PmaCommGroup

Pro tento ovladač lze použít objekty PmaCommGroup. Pro běžné případy přenosu dat je to výhodnější než použít objekt PmaCommMsg.
Proměnné v objektu PmaCommGroup (nebo ještě lépe proměnné v objektu PmaData 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 konfigurátor "Obnovování dat povoleno" je zatržen). Při zápisu do proměnné se posílá do zařízení jen tato jedna proměnná (pokud konfigurátor "Automaticky zasílat při zápisu do položky" je zatržen).

Popis konfigurátoru "ItemId":
ItemId je textový identifikátor položky, který slouží k adresaci položky 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 v okně, které se otevře tlačítkem vpravo od konfigurátoru.
Pro zadání lze použít Makro výraz (vyhodnocuje se po spuštění aplikace).
Identifikátor ItemId může mít podobu například "dev2.R33.W", kde:
- 1. část určuje adresu PLC automatu (device), se kterým se má komunikovat (dev2 = adresa 2).
- 2. část určuje typ a adresu datové položky (R33 = registr "R" na adrese 33).
X register
Y register
S register
R register
- 3. část určuje datový typ.
b = BOOL = bit
B = USINT = Byte
I = INT = Integer signed
W = UINT = Integer unsigned
L = DINT = Long
R = REAL = Single
LR = LREAL = Double
TIME = TIME / TIME_OF_DAY
DT = DATE / DATE_AND_TIME


Popis konfigurátoru "PmaCommGroup > Parametry > Speciální parametry":
Tento konfigurátor se pro daný ovladač nevyužívá.

Popis komunikace pomocí objektu PmaCommMsg

Tabulka 1: Hodnoty oblasti zápisníku pro některé následující zprávy:

0 - registr X (vstupy)
1 - registr Y (výstupy)
2 - registr S (systémové proměnné)
3 - registr R (registry)
128(=80hexa) - DataBox, prvních 64 kB (adresy 00000-0FFFF hex)
129(=81hexa) - DataBox, druhých 64 kB (adresy 10000-1FFFF hex)
130.. - DataBox, atd.

Níže uvedený název služby s označením * (hvězdička) je dostupný v centrálních jednotkách následujících verzí: CPM-1E verze 3.4 a vyšší, CPM-1M verze 4.3 a vyšší, CPM-1S verze 4.1 a vyšší, CPM-2S všechny verze, CPM-1D všechny verze, CPM-1B všechny verze.

Seznam a popis komunikačních zpráv:
1) CONNECT: Zahájení komunikace spojené s inicializací komunikačních struktur.
2) IDENT: Zjistí informace o typu připojeného PLC automatu.
3) SETTID: Zápis časového údaje do časového obvodu RTC. Od tohoto okamžiku PLC automat pracuje s novým časem.
4) SETCW: Zápis do řídicího slova PLC automatu. Tato služba je přístupná jen po sériovém kanálu CH1 !
V kartě "Data-zaslání" jsou proměnné:
CLE - požadavek nulování chyby (aktivní v 1)
RES - požadavek na restart PLC automatu (aktivní v 1)
TPR - typ restartu (0-teplý, 1-studený)
CLO - požadavek nulování výstupů (aktivní v 1)
BLO - požadavek blokování výstupů (aktivní v 1)
MOD - požadovaný režim PLC automatu (0=HALT, 1=RUN)
5) GETSW: Čtení stavového slova PLC automatu.
V kartě "Data-příjem" jsou proměnné:
ERH - indikace závažné chyby (aktivní v 1)
ERS - indikace ostatních chyb (aktivní v 1)
IMS - indikace externího blokování výstupů (aktivní v 1)
ISP - indikace externího povolení režimu RUN (aktivní v 1)
BLO - indikace blokování výstupů (aktivní v 1)
MOD - indikace režimu PLC automatu (0=HALT, 1=RUN)
6) GETERR*: Čtení hlavního chybového zásobníku centrální jednotky. Chybový zásobník obsahuje celkem 8 chybových hlášení v pořadí od nejstaršího k nejnovějšímu, každé o délce 4 bajty. Celková délka je 32 bajtů.
7) MASKCW: Nastavení jednotlivých bitů řídicího slova PLC automatu. Tato služba je přístupná jen po sériovém kanálu CH1 ! Služba je dostupná v centrálních jednotkách verzí 5.0 a vyšších.
V kartě "Data-zaslání" jsou proměnné:
CLE - požadavek nulování chyby (aktivní v 1)
RES - požadavek na restart PLC automatu (aktivní v 1)
TPR - typ restartu (0-teplý, 1-studený)
CLO - požadavek nulování výstupů (aktivní v 1)
BLO - požadavek blokování výstupů (aktivní v 1)
MOD - požadovaný režim PLC automatu (0=HALT, 1=RUN)
CLEP - platnost nastavení CLE
RESP - platnost nastavení RES
TPRP - platnost nastavení TPR
CLOP - platnost nastavení CLO
BLOP - platnost nastavení BLO
MODP - platnost nastavení MOD

Pro nastavení daného bitu je nutno nastavit na log.1 příslušnou platnost daného bitu.
8) READN*: Čtení obsahu registrů zápisníkové paměti PLC automatu.
V kartě "Data-zaslání" jsou proměnné:
TR - oblast zápisníku, ze kterého se čte (viz tabulka 1).
IR - index prvního čteného registru (bajtové adresování).
V kartě "Data-příjem" jsou proměnné: Počet a typ čtených dat (viz dále Rozšířené možnosti nastavení dat v objektu PmaCommMsg).
9) WRITEN*: Zápis do registrů zápisníkové paměti PLC automatu.
V kartě "Data-zaslání" jsou proměnné:
TW - oblast zápisníku, do kterého se zapisuje (viz tabulka 1).
IW - index prvního zapisovaného registru (bajtové adresování).
data - zadaný počet a typ zapisovaných dat (viz dále Rozšířené možnosti nastavení dat v objektu PmaCommMsg).
10) WANDRN: Zápis do registrů a čtení obsahu registrů zápisníkové paměti PLC automatu.
V kartě "Data-zaslání" jsou proměnné:
TR - oblast zápisníku, ze které se čte (viz tabulka 1).
IR - index prvního čteného registru (bajtové adresování).
TW - oblast zápisníku, do kterého se zapisuje (viz tabulka 1).
IW - index prvního zapisovaného registru (bajtové adresování).
data - zadaný počet a typ zapisovaných dat (viz dále Rozšířené možnosti nastavení dat v objektu PmaCommMsg).
V kartě "Data-příjem" jsou proměnné: Počet a typ čtených dat (viz dále Rozšířené možnosti nastavení dat v objektu PmaCommMsg).
11) READB*: Čtení obsahu bitů ze zápisníkové paměti PLC automatu.
V kartě "Data-zaslání" jsou proměnné:
TR - oblast zápisníku, ze které se čte (viz tabulka 1).
IR - index čteného registru (bajtové adresování).
BR - index čteného bitu (0-7).

V kartě "Data-příjem" je požadovaný bit.
V kartě "Data-příjem" jsou proměnné: Požadovaný bit.
12) WRITEB*: Zápis do bitů v zápisníkové paměti PLC automatu.
V kartě "Data-zaslání" jsou proměnné:
TW - oblast zápisníku, do kterého se zapisuje (viz tabulka 1).
IW - index zapisovaného registru (bajtové adresování).
BW - index zapisovaného bitu (0-7).
Bit - logická hodnota zapisovaného bitu.
13) READBD*: Čtení obsahu bitů zápisníkové paměti PLC a jejich následné vynulování.
V kartě "Data-zaslání" jsou proměnné:
TR - oblast zápisníku, ze které se čte (viz tabulka 1).
IR - index čteného registru (bajtové adresování).
BR - index čteného bitu (0-7).

V kartě "Data-příjem" je požadovaný bit.
V kartě "Data-příjem" jsou proměnné: Požadovaný bit.
14) READND*: Čtení obsahu registrů zápisníkové paměti PLC automatu a jejich vynulování.
V kartě "Data-zaslání" jsou proměnné:
TR - oblast zápisníku, ze které se čte (viz tabulka 1).
IR - index prvního čteného registru (bajtové adresování).
V kartě "Data-příjem" jsou proměnné: Počet a typ čtených dat (viz dále Rozšířené možnosti nastavení dat v objektu PmaCommMsg).
15) WANDRND: Zápis do registrů a čtení obsahu registrů zápisníkové paměti PLC automatu s jejich následným vynulováním.
V kartě "Data-zaslání" jsou proměnné:
TR - oblast zápisníku, ze které se čte (viz tabulka 1).
IR - index prvního čteného registru (bajtové adresování).
TW - oblast zápisníku, do kterého se zapisuje (viz tabulka 1).
IW - index prvního zapisovaného registru (bajtové adresování).
data - zadaný počet a typ zapisovaných dat (viz dále Rozšířené možnosti nastavení dat v objektu PmaCommMsg).
V kartě "Data-příjem" jsou proměnné: Počet a typ čtených dat (viz dále Rozšířené možnosti nastavení dat v objektu PmaCommMsg).


Omezení datových typů v objektu PmaCommMsg:
- BOOL: Služby READN, WRITEN, WANDRN, READND, WANDRND nepřenášejí bitové hodnoty. Lze však přenášet celé bajty a v systému PROMOTIC pak bity separovat, například pomocí metod PmVar.GetBit / PmVar.SetBit / Pm.GetBit / Pm.SetBit.
- USINT: Maximální počet hodnot tohoto typu v jedné zprávě: 246.
- INT / UINT: Maximální počet hodnot tohoto typu v jedné zprávě: 109.
- DINT / REAL: Maximální počet hodnot tohoto typu v jedné zprávě: 55.
- LREAL: Maximální počet hodnot tohoto typu v jedné zprávě: 27.


Rozšířené možnosti nastavení dat v objektu PmaCommMsg:
Ve zprávách typu READN, WRITEN, WANDRN, READND a WANDRND (které mohou přenášet data typu Byte, Integer sign/unsign, Long nebo Single) se při konfiguraci PmaCommMsg nastaví pro všechna data stejný datový typ. Někdy však je nutno přenášet smíšené datové typy. Lze toho docílit dodatečnou změnou těchto dat (v kartě "Data-příjem" nebo Data-zaslání). Lze ubírat nebo přidávat data a hlavně měnit datové typy těchto dat, pokud se dodrží následující podmínky:
- celková velikost dat (v bajtech) se nezmění.
- nelze použít datový typ Integer unsign a Single.

Příklad: Například lze změnit 2 položky typu Long (celkem 8 bajtů) na 6 položek typu: Byte, Byte, Integer, Integer, Byte, Byte.

Historie:
Pm8.03.09: Opravená chyba: Při přenášení 8-bajt hodnot (datový typ LREAL a DATE / DATE_AND_TIME) docházelo k chybám.
Pm8.01.00: Zobecnění o datové typy DINT, LREAL, TIME / TIME_OF_DAY a DATE / DATE_AND_TIME.
© MICROSYS, spol. s r.o.