Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmTeco - Driver do komunikacji z automatami PLC firmy TECO

Niniejszy driver służy do komunikacji z automatami PLC firmy TECO. Patrz również Komunikacja ze sterownikami PLC 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 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.
- Komunikacja przebiega poprzez Ethernet lub po łączu szeregowym komputera (COM1, COM2 ...).
- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji MASTER (tzn. wywołuje transmisję danych).
- 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.
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmComm.

Driver umożliwia stosowanie obiektów PmCommMsg oraz PmCommData. Dla zwykłych przypadków transmisji danych jest bardziej dogodne zastosowanie obiektu PmCommData.

Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "TECO 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 oraz/lub czasu jest zapisana w typie danych 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ą przełączać sygnał RTS. W takim przypadku jest konieczne ustawienie opóźnienia na 10 ms.
Zalecane wartości dla pozycji Parametry Ethernet:
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 w przypadku, kiedy 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.
Limit czasu 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 komunikowanie się 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 obiektów PmCommData

Dla niniejszego drivera komunikacyjnego można zastosować obiekty PmCommData. Dla zwykłych transmisji danych jest to bardziej dogodne niż zastosowanie obiektu PmCommMsg.

Zmiennych w obiekcie PmCommData (albo jeszcze lepiej zmiennych w obiekcie PmData 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 przy uruchomieniu aplikacji).

Tekst może mieć wygląd na przykład "dev2.R33.W".

- 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 PmCommData > Parametry > Parametry specjalne:
Niniejszy konfigurator nie jest stosowany przez dany driver.

Opis komunikacji przy pomocy obiektów PmCommMsg

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 automat 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 zakładce 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 zakładce 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 bajty.
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 zakładce 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 zakładce Dane-wysłanie znajdują się zmienne:
TR - obszar odczytywanej pamięci podręcznej (patrz tabela 1).
IR - indeks pierwszego odczytywanego rejestru (adresowanie bajtowe).
W zakładce Dane-odbiór znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia PmCommMsg danych).
9) WRITEN*: Zapis do rejestrów pamięci podręcznej automatu PLC.
W zakładce 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 PmCommMsg danych).
10) WANDRN: Zapis do rejestrów i odczyt zawartości rejestróe pamięci podręcznej automatu PLC.
W zakładce 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 PmCommMsg danych).
W zakładce Dane-odbiór znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia PmCommMsg danych).
11) READB*: Odczyt zawartości bitów z pamięci podręcznej automatu PLC.
W zakładce 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 zakładce Dane-odbiór znajdujuą się zmienne: Wymagany bit.
12) WRITEB*: Zapis bitów do pamięci podręcznej automatu PLC.
W zakładce 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 zakładce 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 zakładce Dane-odbiór znajdujuą się zmienne: Wymagany bit.
14) READND*: Odczyt rejestrów pamięci podręcznej oraz ich następne wyzerowanie.
W zakładce Dane-wysłanie znajdują się zmienne:
TR - obszar odczytywane pamięci podręcznej (patrz tabela 1).
IR - indeks pierwszego odczytywanego rejestru (adresowanie bajtowe).
W zakładce Dane-odbiór znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia PmCommMsg danych).
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 zakładce 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 PmCommMsg danych).
W zakładce Dane-odbiór znajdujuą się zmienne: Ilość i typ odczytywanych danych (patrz dalej Poszerzone możliwości ustawienia PmCommMsg danych).
 
Ograniczenia typów danych w PmCommMsg:
- 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 Var.Bit / 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 PmCommMsg danych:

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 PmCommMsg ustawić taki sam typ danych dla wszystkich danych. W niektórych przypadkach istnieje konieczność transmisji różnych typów danych. Można to osiągnąć dodatkową zmianą tych danych (w zakładce 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.

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