Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmTeco - Driver do komunikacji z automatami PLC od firmy TECO

Niniejszy driver służy do komunikacji z automatami PLC od firmy TECO. Patrz również Komunikacja ze sterownikami PLC od firmy TECO (Czechy).
 
Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy zaznajomić się z rozdziałem: Komunikacja przy pomocy driverów PROMOTIC.
 
Podstawowe właściwości drivera:
- Driver komunikuje się z automatami od firmy TECO serii TECOMAT (TC400, TC500, TC600, TC650, TC700, NS950, FOXTROT ...) oraz TECOREG (TR050, TR200, TR300 ...) protokołem 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. Z wersją freeeware PmFree lub przy opracowywaniu aplikacji (z licencją deweloperską w celach testowania) element ten zawsze funkcjonuje.
- Komunikacja przebiega dla Ethernetu (aplikacja PROMOTIC jest klientem) lub dla łącza szeregowego (COM1, COM2 ...).
- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji MASTER (tzn. wywołuje transmisję danych).
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmaComm.

Driver wspiera stosowanie 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 pozostałych przypadkach 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 danych 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 danych 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 danych 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 danych 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 metod VBScript Year/Month/Day/Hour/Minute/Second. Patrz również Funkcje VBScript do pracy z datą i czasem oraz Pm Metody do pracy z datą i czasem.
 

Zalecone wartości parametrów:

Zalecane wartości dla pozycji Parametry łącza szeregowego:
Prędkość transmisji19200 Bd (i wyższa)
Ilość bitów informacji8 (obowiązkowe)
ParzystośćEVEN (parzysty), wyjątkowo można wyłączyć przystość w przypadku transmisji danych przy pomocy modemów, które nie umożliwiają kontrolę parzystości.
Ilość bitów stopu1 (obowiązkowe)
Sterowanie działaniem RTS1
Sterowanie działaniem DTR0
Zwłoka 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 portu TCP/UDP61682 (dla typu danych "TECO Ethernet")
Typ transmisji EthernetUDP (dla typu danych "TECO Ethernet")
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żliwe opcje:
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 poprzez port 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 niniejszej 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 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 (albo 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 identyfikatorem tekstowym pozycji, który służy do adresacji parametru 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ć przy pomocy okna, 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 przebiegać transmisja (dev2 = adres 2).
- 2. część określa rodzaj 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":
Niniejszy 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 do automatu PLC. Usługa ta jest dostępna tylko na kanale szeregowym CH1 !
W karcie "Dane-wysłanie" znajdują się zmienne:
CLE - wymóg kasowania błędu (aktywne przy wartości 1)
RES - wymóg restartu automatu PLC (aktywne przy 1)
TPR - typ restartu (0-ciepły, 1-zimny)
CLO - wymóg wyzerowania wyjść (aktywne przy 1)
BLO - wymóg blokowania wejść (aktywne przy 1)
MOD - wymagany tryb automatu PLC (0=HALT, 1=RUN)
5) GETSW: Odczyt słowa stanu automatu 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 automatu 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 automatu 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 - wymóg kasowania błędu (aktywne przy 1)
RES - wymóg restartu automatu PLC (aktywne przy 1)
TPR - typ restartu (0-ciepły, 1-zimny)
CLO - wymóg wyzerowania wyjść (aktywne przy 1)
BLO - wymóg blokowania wyjść (aktywne przy 1)
MOD - wymagany tryb automatu 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 automatu 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 automatu 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 automatu 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 automatu 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 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 automatu 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 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 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 automatu 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 jednym komunikacie: 246.
- INT / UINT: Maksymalna ilość wartości tego typu danych w jednym komunikacie: 109.
- DINT / REAL: Maksymalna ilość wartości tego typu danych w jednym komunikacie: 55.
- LREAL: Maksymalna ilość wartości tego typu danych w jednym komunikacie: 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.Tavičská 845/21 703 00 Ostrava-Vítkovice