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).
Notatka: Podczas komunikacji
RS232 ze sterownikiem PLC
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.
-
STRING:
Łańcuch tekstowy o maksymalnej ilości 255 zanaków.
W aplikacji PROMOTIC jest reprezentowany przez typ danych
String.
TECO string zawsze na końcy zawiera znak "cyfrowe 0" i to 0 nie jest wliczane do jego długości. Dlatego łańcuch o długości 81 może zawierać tylko 80 znaków.
-
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:
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:
Prędkość transmisji | 19200 Bd (i wyższy) |
Ilość bitów informacji | 8 (obowiązkowe) |
Parzystość | EVEN (parzysty) |
Ilość bitów stopu | 1 (obowiązkowe) |
Zarządzanie działaniem RTS | 1 |
Zarządzanie działaniem DTR | 0 |
Zwłoka pomiędzy odbiorem-wysyłaniem | 0. 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. |
---|
Numer zdalnego portu TCP/UDP | 61682 (dla typu danych "TECO Ethernet") |
Typ transmisji Ethernet | UDP (dla typu danych "TECO Ethernet") |
Numer lokalnego portu TCP/UDP | W 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. |
---|
Typ danych protokołu | Tylko 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 odpowiedzi | Tylko 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 aplikacji | Adres 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 albo 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.
bn =
BOOL = bit o indeksie
n (
n = 0 do 7)
W =
UINT = Integer unsigned
STR.n =
STRING = Łańcuch tekstowy o długości
n znaków (
n = 2 do 255).
TECO ma wstępnie ustawione
n=81.
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 wyjść (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 tylko 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 (adresacja bajtowa).
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 (adresacja bajtowa).
10) WANDRN: Zapis do rejestrów i 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 (adresacja bajtowa).
TW - obszar zapisywanej pamięci podręcznej (patrz tabela 1).
IW - indeks pierwszego zapisywanego rejestru (adresacja bajtowa).
11) READB*: Odczyt zawartości bitó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 odczytywanego rejestru (adresacja bajtowa).
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 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 (adresacja bajtowa).
BW - indeks zapisywanego bitu (0-7).
Bit - wartość logiczna zapisywanego bitu.
13) READBD*: Odczyt zawartości bitów pamięci podręcznej sterownika 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 (adresacja bajtowa).
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 (adresacja bajtowa).
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 (adresacja bajtowa).
TW - obszar zapisywanej pamięci podręcznej (patrz tabela 1).
IW - indeks pierwszego zapisywanego rejestru (adresacja bajtowa).
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.