Promotic

PmTeco - Driver do komunikacji ze sterownikami PLC od firmy TECO

Driver ten służy do komunikacji ze sterownikami PLC od firmy TECO. Patrz również Komunikacja ze sterownikami PLC od firmy TECO (Czechy).

Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy obejżeć "PROMOTIC wideo kurs 4 - Drivery komunikacyjne".

Podstawowe właściwości drivera:
- Driver komunikuje ze sterownikami PLC od firmy TECO serii TECOMAT (TC400, TC500, TC600, TC650, TC700, NS950, FOXTROT ...) oraz TECOREG (TR050, TR200, TR300 ...) poprzez protokół EPSNET monomaster (protokół jest założony na definicji warstwy transportowej protokołu PROFIBUS). Komunikacja w innych trybach ("PLC", multimaster ..) nie jest tutaj wspierana.
- Zastosowanie tego drivera wymaga zakup licencji PmTeco. Podczas wytwarzania aplikacji w trybie freeware PmFree lub z licencją deweloperską oraz podczas jej testowania w runtime element ten jest zawsze funkcjonalny.
- Komunikacja jest dla Ethernetu (aplikacja PROMOTIC jest klientem) lub dla łącza szeregowego (COM1, COM2 ...).
- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji Master (to znaczy, że wywołuje transmisję danych).
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmaComm.
Driver wspiera zastosowanie obiektów PmaCommMsg oraz PmaCommGroup. Dla zwykłych przypadków transmisji danych dogodniejszym jest zastosowanie obiektu PmaCommGroup.
Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "TECO - sterownik PLC"


Notatka: Podczas komunikacji RS232 z automatem TECOREG na konektorze podłączonym do serwisowego łącza szeregowego jest konieczne połączenie pinu 5 z pinem 9 ! W innym przypadku standardowe połączenie krzyżowe (RX->TX, TX->RX, SG->SG).

Driver wspiera następujące typy danych:
- BOOL: Bit dany adresem bajtu i numerem bitu.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Boolean.
- USINT: 1-bajtowa liczba całkowita (od 0 do 255).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Byte.
- INT: 2-bajtowa liczba całkowita (od -32 768 do +32 767).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Integer.
- UINT: 2-bajtowa liczba całkowita (od 0 do +65 535).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long.
- DINT: 4-bajtowa liczba całkowita (od -2 147 483 648 do +2 147 483 647).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long.
- REAL: 4-bajtowa liczba rzeczywista.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Single.
- LREAL: 8-bajtowa liczba rzeczywista.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Double.
- TIME / TIME_OF_DAY: W sterowniku PLC ten typ jest w rzeczywistości taki sam jak typ DINT (tzn. 4-bajtowa liczba całkowita) i przedstawia ilość milisekund (dla TIME_OF_DAY jest to ilość milisekund od początku dnia). Jeżeli jednak w systemie PROMOTIC zostanie wprowadzony typ TIME (lub TIME_OF_DAY) zamiast DINT, wtedy w systemie PROMOTIC jest wartość prezentowana za pomocą typu danych Date i przy transmisji jest wykonywane odpowiednie przeliczenie. Year/Month/Day/Hour/Minute/Second.
- DATE / DATE_AND_TIME: W sterowniku PLC ten typ jest w rzeczywistości taki sam jak typ LREAL (tzn. 8-bajtowa liczba rzeczywista) i przedstawia ilość sekund od 1.1.1970. Jeżeli jednak w systemie PROMOTIC zostanie wprowadzony typ DATE (lub DATE_AND_TIME) zamiast LREAL, wtedy w systemie PROMOTIC jest wartość prezentowana za pomocą typu danych Date i przy transmisji jest wykonywane odpowiednie przeliczenie.


Notatka: Jeżeli wartość daty i czasu jest typu Date, wtedy wartości rok/miesiąc/dzień/godzina/minuta/sekunda można uzyskać na przykład:
- przy pomocy obiektu PmDateObject oraz jego metod GetYear/GetMonth/GetDay/GetHour/GetMinute/GetSecond itd.
- przy pomocy metod VBScript Year/Month/Day/Hour/Minute/Second.
Patrz również Pm Metody do pracy z datą i czasem oraz Funkcje VBScript do pracy z datą i czasem.

Zalecone wartości parametrów obiektu PmaComm:

Zalecane wartości dla pozycji Parametry łącza szeregowego:
Prędkość transmisji19200 Bd (i wyższy)
Ilość bitów informacji8 (obowiązkowe)
ParzystośćEVEN (parzysty)
Ilość bitów stopu1 (obowiązkowe)
Zarządzanie działaniem RTS1
Zarządzanie działaniem DTR0
Opóźnienie pomiędzy odbiorem-wysyłaniem0. W niektórych przypadkach konwerter TECOREG na interfejsie RS485 nie potrafi z wystarczającą szybkością automatycznie przełączać sygnał RTS. W takim przypadku jest konieczne ustawienie opóźnienia na 10 ms.
Zalecane wartości dla pozycji Parametry Ethernet-klient:
Numer zdalnego portu TCP/UDP61682 (dla typu danych "TECO Ethernet")
Typ transmisji EthernetUDP (dla typu danych "TECO Ethernet")
Numer lokalnego portu TCP/UDPW tym miejscu wskazane jest podać jakiś port, np. 61681. (nie zostawiaj ustawienia "Automatycznie").
PLC TECO rozróżnia podłączonych klientów na podstawie numeru portu. i nie pozwoli nowemu klientowi na połączenie, jeśli przekroczy on określoną liczbę (niekomunikujący się klient może zostać odłączony od PLC np. po 2 godzinach). Jeżeli port lokalny zostanie wprowadzony automatycznie, wtedy przy ponownym uruchomieniu aplikacji PROMOTIC zostanie przydzielony inny lokalny numer portu do komunikacji a TECO PLC potraktuje wniosek jako nowego klienta i może odmówić połączenia.
Opis i zalecane wartości dla pozycji Parametry protokołu:
Typ danych protokołuWyłącznie dla Ethernetu. Określa wygląd danych protokołu. Można wybrać:
TECO Ethernet - Standardowa komunikacja Ethernet z automatami TECO. W porównaniu z danymi dla łącza szeregowego odróżnia się specjalnym nagłówkiem i jest transmitowany poprzez Ethernet UDP na porcie 61682.
Dane takie same jak dla łącza szeregowego - Opcję tą można wybrać na przykład jeżeli urządzenie jest wyposażone w łącze szeregowe i przy pomocy konwertera RS232/Ethernet jest podłączone do Ethernetu. Jeżeli konwerter nie zmienia transmitowanych danych, wtedy można w ten prosty sposób komunikować się poprzez Ethernet z urządzeniem, które nie posiada wyjścia Ethernet.
Timeout odbioru odpowiedziWyłącznie dla łącza szeregowego. Odpowiednią wartością jest na przykład 2000 ms. Okres czasu (w milisekundach) w którym driver będzie oczekiwać na odpowiedź po odesłaniu wiadomości.
Jeżeli do tego czasu nie zostanie odebrana żadna odpowiedź, wtedy transmisja wiadomości zostanie zakończona (zostanie wywołane zdarzenie onEndOfTransfer z błędem 24 lub 66).
TECO adres tej aplikacjiAdres aplikacji PROMOTIC do komunikacji ze sterownikami PLC. Adresacja w protokole TECOMAT umożliwia podłączenie większej ilości automatów PLC do jednej aplikacji PROMOTIC poprzez jeden port komunikacyjny. W tym przypadku jest konieczne zapewnienie żeby aplikacja i podłączone automaty posiadały każdy inny adres. Adresy nie muszą tworzyć spójnego szeregu.

Opis komunikacji przy pomocy obiektu PmaCommGroup

Dla niniejszego drivera komunikacyjnego można zastosować obiekty PmaCommGroup. Dla zwykłych transmisji danych jest to bardziej dogodne niż zastosowanie obiektu PmaCommMsg.
Zmiennych w obiekcie PmaCommGroup (lub jeszcze lepiej zmiennych w obiekcie PmaData z rozszerzeniem danych ExtComm) może być dowolna ilości, mogą być dowolnego typu danych i w dowolnej kolejności. Driver sam w zoptymalizowany sposób odczyta dane z urządzenia przy pomocy wewnętrznie wytworzonych wiadomości komunikacyjnych.
Odczytywane są wszystkie zmienne (jeżeli konfigurator "Odświeżanie danych zezwolone" jest zaznaczony). Przy zapisie do zmiennej do urządzenia jest odesłana tylko zapisywana zmienna (jeżeli konfigurator "Automatycznie przesyłaj przy zapisie do pozycji" jest zaznaczony).

Opis konfiguratora "ItemId":
ItemId jest identyfikator tekstowy pozycji, który służy do adresacji pozycji w urządzeniu. Z konfiguratora ItemId driver stwierdzi, w jaki sposób ma zostać wartość pozycji wczytana lub wysłana.
Tekst można wpisać ręcznie, lub ułożyć w oknie, które zostanie otwarte przy pomocy przycisku wprawo od konfiguratora.
Do wprowadzenia można zastosować Makro wyrażenie (wartość jest obliczana po uruchomieniu aplikacji).
Identyfikator ItemId może mieć wygląd na przykład "dev2.R33.W", gdzie:
- 1. część określa adres sterownika PLC (device), z którym ma być prowadzona komunikacja (dev2 = adres 2).
- 2. część określa typ i adres pozycji danych (R33 = rejestr "R" pod adresem 33).
X register
Y register
S register
R register
- 3. część określa typ danych.
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


Opis konfiguratora "PmaCommGroup > Parametry > Parametry specjalne":
Ten konfigurator nie jest stosowany przez dany driver.

Opis komunikacji przy pomocy obiektu PmaCommMsg

Tabela 1: Wartości obszaru pamięci podręcznej dla niektórych następujących wiadomości:

0 - rejestr X (wejścia)
1 - rejestr Y (wyjścia)
2 - rejestr S (zmienne systemowe)
3 - rejestr R (rejestry)
128(=80hexa) - DataBox, pierwsze 64 kB (adresy 00000-0FFFF hex)
129(=81hexa) - DataBox, następne 64 kB (adresy 10000-1FFFF hex)
130.. - DataBox, itd.

Poniżej przedstawiona usługa o nazwie z oznaczeniem * (gwiazdka) jest dostępna w jednostkach centralnych następujących wersji: CPM-1E wersja 3.4 i wyższy, CPM-1M wersja 4.3 i wyższy, CPM-1S wersja 4.1 i wyższy, CPM-2S wszystkie wersje, CPM-1D wszystkie wersje, CPM-1B wszystkie wersje.

Lista oraz opis wiadomości komunikacyjnych:
1) CONNECT: Rozpoczęcie komunikacji połączone z inicjalizacją struktur komunikacyjnych.
2) IDENT: Stwierdzi informacje o typie podłączonego sterownika PLC.
3) SETTID: Zapis wartości czasowej do obwodu czasu RTC. Od tej chwili sterownik PLC pracuje już z nowym czasem.
4) SETCW: Zapis słowa sterującego sterownika PLC. Usługa ta jest dostępna tylko na kanale szeregowym CH1 !
W karcie "Dane-wysłanie" znajdują się zmienne:
CLE - żądanie kasowania błędu (aktywne przy wartości 1)
RES - żądanie restartu sterownika PLC (aktywne przy 1)
TPR - typ restartu (0-ciepły, 1-zimny)
CLO - żądanie wyzerowania wyjść (aktywne przy 1)
BLO - żądanie blokowania wejść (aktywne przy 1)
MOD - wymagany tryb sterownika PLC (0=HALT, 1=RUN)
5) GETSW: Odczyt słowa stanu sterownika PLC.
W karcie "Dane-odbiór" znajdujuą się zmienne:
ERH - indykacja ważnego błędu (aktywne przy 1)
ERS - indykacja pozostałych błędów (aktywne przy 1)
IMS - indykacja zewnętrznego blokowania wyjść (aktywne przy 1)
ISP - indykacja zewnętrznego zezwolenia trybu RUN (aktywne przy 1)
BLO - indykacja blokowania wyjść (aktywne przy 1)
MOD - indykacja trybu sterownika PLC (0=HALT, 1=RUN)
6) GETERR*: Odczyt głównego stosu błędów jednostki centralnej. Stos błędów zawiera ogółem 8 raportów błędów w kolejności od nastarszego do najnowszego, każdy o długości 4 bajty. Ogólna długość wynosi 32 bajtów.
7) MASKCW: Ustawienie poszczególnych bitów słowa sterującego sterownika PLC. Usługa jest dostępna wyłącznie na kanale szeregowym CH1 ! Usługa jest dostępna w jednostkach centralnych wersji 5.0 i wyższych.
W karcie "Dane-wysłanie" znajdują się zmienne:
CLE - żądanie kasowania błędu (aktywne przy 1)
RES - żądanie restartu sterownika PLC (aktywne przy 1)
TPR - typ restartu (0-ciepły, 1-zimny)
CLO - żądanie wyzerowania wyjść (aktywne przy 1)
BLO - żądanie blokowania wyjść (aktywne przy 1)
MOD - wymagany tryb sterownika PLC (0=HALT, 1=RUN)
CLEP - ważność ustawienia CLE
RESP - ważność ustawienia RES
TPRP - ważność ustawienia TPR
CLOP - ważność ustawienia CLO
BLOP - ważność ustawienia BLO
MODP - ważność ustawienia MOD

W celu ustawienia danego bitu jest konieczne ustawienie wartości log.1 w odpowiednim bicie.
8) READN*: Odczyt zawartości rejestrów pamięci podręcznej sterownika PLC.
W karcie "Dane-wysłanie" znajdują się zmienne:
TR - obszar odczytywanej pamięci podręcznej (patrz tabela 1).
IR - indeks pierwszego odczytywanego rejestru (adresowanie bajtowe).
W karcie "Dane-odbiór" znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg).
9) WRITEN*: Zapis do rejestrów pamięci podręcznej sterownika PLC.
W karcie "Dane-wysłanie" znajdują się zmienne:
TW - obszar zapisywanej pamięci podręcznej (patrz tabela 1).
IW - indeks pierwszego zapisywanego rejestru (adresowanie bajtowe).
data - ilość i typ zapisywanych danych (patrz dalej Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg).
10) WANDRN: Zapis do rejestrów i odczyt zawartości rejestróe pamięci podręcznej sterownika PLC.
W karcie "Dane-wysłanie" znajdują się zmienne:
TR - obszar odczytywanej pamięci podręcznej (patrz tabela 1).
IR - indeks pierwszego odczytywanego rejestru (adresowanie bajtowe).
TW - obszar zapisywanej pamięci podręcznej (patrz tabela 1).
IW - indeks pierwszego zapisywanego rejestru (adresowanie bajtowe).
data - ilość i typ zapisywanych danych (patrz dalej Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg).
W karcie "Dane-odbiór" znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg).
11) READB*: Odczyt zawartości bitów z pamięci podręcznej sterownika PLC.
W karcie "Dane-wysłanie" znajdują się zmienne:
TR - obszar odczytywanej pamięci podręcznej (patrz tabela 1).
IR - indeks odczytywanego rejestru (adresowanie bajtowe).
BR - indeks odczytywanego bitu (0-7).

W karcie "Dane-odbiór" znajduje się następnie odczytany bit.
W karcie "Dane-odbiór" znajdujuą się zmienne: Wymagany bit.
12) WRITEB*: Zapis bitów do pamięci podręcznej sterownika PLC.
W karcie "Dane-wysłanie" znajdują się zmienne:
TW - obszar zapisywanej pamięci podręcznej (patrz tabela 1).
IW - indeks zapisywanego rejestru (adresowanie bajtowe).
BW - indeks zapisywanego bitu (0-7).
Bit - wartość logiczna zapisywanego bitu.
13) READBD*: Odczyt zawartości bitów pamięci podręcznej auomatu PLC oraz ich następujące wyzerowanie.
W karcie "Dane-wysłanie" znajdują się zmienne:
TR - obszar odczytywanej pemięci podręcznej (patrz tabela 1).
IR - indeks odczytywanego rejestru (adresowanie bajtowe).
BR - indeks odczytywanego bitu (0-7).

W karcie "Dane-odbiór" znajduje się wymagany bit.
W karcie "Dane-odbiór" znajdujuą się zmienne: Wymagany bit.
14) READND*: Odczyt rejestrów pamięci podręcznej sterownika PLC oraz ich następne wyzerowanie.
W karcie "Dane-wysłanie" znajdują się zmienne:
TR - obszar odczytywane pamięci podręcznej (patrz tabela 1).
IR - indeks pierwszego odczytywanego rejestru (adresowanie bajtowe).
W karcie "Dane-odbiór" znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg).
15) WANDRND: Zapis do rejestrów i odczyt zawartości rejestrów pamięci podręcznej sterownika PLC oraz ich następujące wyzerowanie.
W karcie "Dane-wysłanie" znajdują się zmienne:
TR - obszar odczytywanej pamięci podręcznej (patrz tabela 1).
IR - indeks pierwszego odczytywanego rejestru (adresowanie bajtowe).
TW - obszar zapisywanej pamięci podręcznej (patrz tabela 1).
IW - indeks pierwszego zapisywanego rejestru (adresowanie bajtowe).
data - ilość i zapisywanych typ danych (patrz dalej Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg).
W karcie "Dane-odbiór" znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg).


Ograniczenia typów danych w obiekcie PmaCommMsg:
- BOOL: Usługi READN, WRITEN, WANDRN, READND, WANDRND nie przenoszą wartości bitowych. Można jednak przenosić całe bajty a w systemie PROMOTIC następnie bity oddzielić, na przykład przy pomocy metod PmVar.GetBit / PmVar.SetBit / Pm.GetBit / Pm.SetBit.
- USINT: Maksymalna ilość wartości tego typu danych w jednej wiadomości: 246.
- INT / UINT: Maksymalna ilość wartości tego typu danych w jednej wiadomości: 109.
- DINT / REAL: Maksymalna ilość wartości tego typu danych w jednej wiadomości: 55.
- LREAL: Maksymalna ilość wartości tego typu danych w jednej wiadomości: 27.


Poszerzone możliwości ustawienia danych w obiekcie PmaCommMsg:
W wiadomościach typu READN, WRITEN, WANDRN, READND oraz WANDRND (które mogą transmitować dane typu Byte, Integer sign/unsign, Long lub Single) można podczas konfiguracji PmaCommMsg ustawić taki sam typ danych dla wszystkich danych. W niektórych przypadkach istnieje jest konieczne transmisji różnych typów danych. Można to osiągnąć dodatkową zmianą tych danych (w karcie "Dane-odbiór" lub Dane-wysłanie). Można dodawać lub odejmować dane i przede wszystkim zmieniać typy danych poszczególnych pozycji, jeżeli zostaną dotrzymane następujące warunki:
- całkowita wielkość danych (w bajtach) nie zmieni się.
- nie można zastosować równocześnie danych typu Integer unsign oraz Single.

Przykład: Na przykład można zmienić 2 pozycje typu Long (ogółem 8 bajtów) na 6 pozycji typu: Byte, Byte, Integer, Integer, Byte, Byte.

Historia:
Pm8.03.09: Usunięty błąd: Podczas transferu wartości 8-bajt (typ danych LREAL oraz DATE / DATE_AND_TIME) pojawiały się błędy.
Pm8.01.00: Uogólnienie o typy danych DINT, LREAL, TIME / TIME_OF_DAY oraz DATE / DATE_AND_TIME.
© MICROSYS, spol. s r.o.