Promotic

PmS7 - Driver do komunikacji poprzez protokół S7-TCP/IP

Protokół S7-TCP/IP jest znany także jako "RFC1006" lub "ISO on top of TCP". Sterowniki PLC z tym protokołem komunikują się zazwyczaj poprzez łącze PROFINET (konektor do podłączenia do sieci Ethernet).
Za pomocą tego protokołu można komunikować się na przykład z następującymi typami sterowników PLC:
- Siemens Simatic:
- S7-200 przy pomocy modułu CP243-Ethernet
- S7-300 przy pomocy modułu CP343-Ethernet, przy pomocy konwertera NETLink PRO ETH lub z procesorem z wbudowanym łączem Ethernet
- S7-400 przy pomocy modułu CP443-Ethernet, przy pomocy konwertera NETLink PRO ETH lub z procesorem z wbudowanym łączem Ethernet
- S7-1200 (posiada wbudowane łącze Ethernet)
- S7-1500 (posiada wbudowane łącze Ethernet)

Uwaga: Dla właściwego ustawienia Simatic patrz Ważne ustawienia komunikacji w sterowniku PLC Simatic przy pomocy oprogramowania TIA portal.
- ET-200S, ET-200SP (CPU1512) (posiada wbudowane łącze Ethernet)
- IPC + WinAC (programowy sterownik PLC)
- Falowniki (Sinamics, Micromaster).
- VIPA (system sterujący 300S, SLIO, ...)
- BERTHEL


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

Podstawowe właściwości drivera:
- Zastosowanie tego drivera wymaga zakup licencji PmS7. 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). Do komunikacji wystarcza standardowa karta Ethernet. Przy zastosowaniu konwertera NETLink PRO ETH można komunikować się także poprzez interfejsy MPI, PROFIBUS lub PPI.
- Driver komunikacyjny nie wymaga żadnych specjalnych bibliotek ani sprzętu.
- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji Master (to znaczy, że wywołuje transmisję danych).
- Driver komunikacyjny optymalizuje fizyczne transmisje wiadomości komunikacyjnych ze sterownikami PLC. W jednej wiadomości komunikacyjnej mogą być transmitowane wartości z różnych obszarów danych (wejścia, wyjścia, bloki danych, ...) i dlatego komunikacja jest wystarczająco szybka nawet przy większych ilościach danych. W standardowej sieci Ethernet można więc odświeżać dane na przykład z częstosliwością 15x za sekundę.
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmaComm.
Driver wspiera zastosowanie obiektu PmaCommGroup. Obiekt PmaCommMsg nie można zastosować.
Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "S7"


Wspierane są następujące obszary danych:
- I = Input: Wejścia binarne (z niemieckiego E = Eingang). Wartości bitowe (typ X), które można odczytywać, lecz nie można do nich zapisywać.
Z tymi wartościami można pracować również jak z danymi typu 1-bajt (8 bitów, typ B), 2-bajty (16 bitów, typ W) lub 4-bajty (32 bitów, typ DINT). Do poszczególnych bitów można wtedy przystępować przy pomocy metod PmVar.GetBit / PmVar.SetBit lub przy pomocy metod Pm.GetBit / SetBit.
- Q = Output: Wyjścia binarne (z niemieckiego A = Ausgang). Wartości bitowe (typ X), które można odczytywać i można do nich zapisywać.
Z tymi wartościami można pracować również jak z danymi typu 1-bajt (8 bitów, typ B), 2-bajty (16 bitów, typ W) lub 4-bajty (32 bitów, typ DINT). Do poszczególnych bitów można wtedy przystępować przy pomocy metod PmVar.GetBit / PmVar.SetBit lub przy pomocy metod Pm.GetBit / SetBit.
- M = Memory, Marker, Flag: Pamięć z której można odczytywać i do której można zapisywać. W odróżnieniu od bloków danych ta pamięć nie jest pamięcią trwałą, tzn. po wyłączeniu sterownika pamięć ta jest zresetowana.
Do wartości w tej pamięci można stosować wszystkie wspierane typy danych (X, W, INT, STRING ...).
- DB = Data Block: Pamięć trwała, którą można odczytywać i można do niej zapisywać.
Do wartości w tej pamięci można stosować wszystkie wspierane typy danych (X, W, INT, STRING ...).
- T = Timer: Czasomierzy (tylko do odczytu). Wartości można odczytywać jako typy danych S5T(=domyślnie), Wbcd oraz W.
- C = Counter: Czytniki (niemiecki Z = Zähler) (tylko do odczytu). Wartości można odczytywać jako typy danych Wbcd(=domyślnie) oraz W.


Driver wspiera następujące typy danych S7:
- X: Bit, Boolean - Bit określony adresem bajtu i numerem bitu.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Boolean.
- B: Unsigned Byte - 1-bajtowa liczba całkowita (od 0 do 255).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Byte.
- W: Unsigned Word - 2-bajtowa liczba całkowita (od 0 do +65 535).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long.
- INT: Signed Word - 2-bajtowa liczba całkowita (od -32 768 do +32 767).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Integer.
- D: Unsigned Double Word - 4-bajtowa liczba całkowita (od 0 do +4 294 967 295). Ponieważ język VBScript nie posiada całoliczbowego typu danych dla dla 4-bajtowej unsigned wartości, to w systemie PROMOTIC jest wartość typu Double.
- DINT: Signed Double Word - 4-bajtowa liczba całkowita (od -2 147 483 648 do +2 147 483 647).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long.
- Bbcd: Unsigned Byte in BCD code - 1-bajtowa liczba całkowita. W sterowniku PLC zapisana w kodowaniu BCD (od 0 do 99).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Byte.
- Wbcd: Unsigned Word in BCD code - 2-bajtowa liczba całkowita. W sterowniku PLC zapisana w kodowaniu BCD (od 0 do 9999).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Integer.
- Dbcd: Unsigned Word in BCD code - 4-bajtowa liczba całkowita. W sterowniku PLC zapisana w kodowaniu BCD (od 0 do 99999999).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long.
- REAL: Real number, 4B IEEE - 4-bajtowa liczba rzeczywista w formacie IEEE-754 (32-bit).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Single.
- LREAL: Long Real number, 8B IEEE - 8-bajtowa liczba rzeczywista w formacie IEEE-754 (64-bit). Ten typ wspiera na przykład Simatic S7-1200. Nie jest wspierany przez starsze typy sterowników PLC.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Double.
- CHAR: Signed Byte, Raw string - Ciąg znaków o określonej liczbie znaków (1 znak = 1 bajt). W sterowniku PLC ten typ jest zapisany bez informacji o długości tekstu. Jeżeli przy zapisie do sterownika PLC zapisywany tekst jest krótszy niż określona ilość znaków, wtedy reszta jest uzupełniona wartością 0.
W aplikacji PROMOTIC jest reprezentowany przez typ danych String.
- STRING: S7 string - Tekst o określonej ilości znaków (1 znak = 1 bajt). W sterowniku PLC ten typ jest dodatkowo z nagłówkiemm w którym znajdują się informacja o bieżącej długości tekstu. Jeżeli przy zapisie do sterownika PLC zapisywany tekst jest krótszy niż określona ilość znaków, wtedy reszta jest uzupełniona wartością 0.
W aplikacji PROMOTIC jest reprezentowany przez typ danych String.
- DTL: Date and Time, 12B Bin format - Data oraz czas. W sterowniku PLC jest zapisany w formie binarnej w 12B. Ten typ jest wspierany na przykład przez Simatic S7-1200. Nie jest wspierany przez starsze typy sterowników PLC.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Date.
- DT: Date and Time, 8B BCD format - Data oraz czas. W sterowniku PLC jest zapisany w kodzie BCD w 8B. Ten typ jest wspierany przez starsze typy sterowników PLC. Zakres lat jest 1990-2089.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Date.
- S5T: S5TIME, Time Duration - Czas lub okres trwania. W sterowniku PLC jest zapisany f kodzie BCD w 4B. Ten typ danych jest wspierany przez starsze typy sterowników PLC. Zazwyczaj jest używany w pamięci typu Timer.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long = ilość milisekund.
- Array: Driver bezpośrednio nie wspiera odczyt/zapis tablicy poprzez jedną zmienną (np. typu Array). Natomiast ze względu na to, że w sterowniku PLC musi być wyłączone ustawienie "Optimized block access" (patrz DB optimized), z punktu widzenia drivera PmS7 zmienne typu tablica zachowują się w sterowniku PLC jako obszar pojedyńczych zmiennych. To znaczy, że takie zmienne można odczytywać/zapisywać joko samodzielne zmienne, gdzie każda posiada swój adres w databloku.


Notatka1: Typ danych TIME jest w zasadzie ilością milisekund i wartość można zatem odczytywać jako typ danych DINT. Dlatego właściwy typ danych TIME nie jest wspierany przez driver.
Notatka2: 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 Ethernet-klient:
Numer zdalnego portu TCP/UDPNumer portu Ethernet. Liczba ta jest określona przez wybór typu komunikacji S7:
102 - Komunikacja przebiega bezpośrednio ze sterownikami PLC wspierającym protokół S7 (wspierającym łącze Ethernet).
7777 - Komunikacja z konwerterem NETLink PRO ETH.
Typ transmisji EthernetTCP
Ilość powtórzeń przy nieudanej Master transmisjiJeżeli druga strona nie odpowie, wtedy driver dokona zamknięcia łącza i ponownie rozpocznie nawiązywanie połączenia. Dlatego jest zalecane ustawienie tego konfiguratora "bez powtórzeń", tzn. wartość 0.
Timeout transmisji jednego pakietu [ms]Jeżeli "Typ komunikacji = Ethernet ISOonTCP Standard" wtedy jest konieczne ustawienie 4000 ms. W innym przypadku wystarcza 2000 ms.
Podłączyć dopiero przy pierwszej transmisjiNIE zaznaczać (obowiązkowe)
Zamknij połączenie po każdej transmisjiNIE zaznaczać (obowiązkowe). Po każdym nawiązaniu połączenia jest konieczne przenieść kilka wiadomości inicjalizacyjnych i gdyby połączenie było często zamykane to szybkość transmisji została by znacząco obniżona.
Opis i zalecane wartości dla pozycji Parametry protokołu:
Typ komunikacjiOkreśla typ komunikacji z urządzeniem.
Ethernet ISOonTCP Standard - (for S7-300/400/1200/1500..)
Komunikacja będzie prowadzona z urządzeniem, które wspiera Ethernet komunikację poprzez protokół S7 (wspiera PROFINET).
Ethernet ISOonTCP for CP243 - (for S7-200)
Komunikacja będzie prowadzona z Simatic S7-200 za pośrednictwem modułu CP243-Ethernet.
Dla Simatic S7-200 oraz dla danego modułu w tym przypadku dochodzi do przekierowania obszarów danych. Na przykład obszar V nie jest wspierany protokołem S7 i dlatego jest przekierowany do obszaru DB1. Przykłady:
- adres "V103.4" jest przekierowany do "DB1,X103.4"
- adres "VD62:REAL" jest przekierowany do "DB1,REAL62"
- adres "VW78:INT" jest przekierowany do "DB1,INT78"
Ethernet NETLink PRO ETH - (Helmholz, Softing, Accon)
Komunikacja będzie przebiegać poprzez konwerter NETLink PRO ETH.
Maks. długość PDUTu można wprowadzić maksymalną długość danych przenoszonych w jednej wiadomości. Standardowe długości to: 240, 480 lub 960. Zazwyczaj można wprowadzić maksymum, tzn. 960. Podczas inicjalizacji komunikacji z PLC driver stwierdzi jaką długość wspiera sterownik PLC i jeżeli wspiera mniejszą, wtedy wartość automatycznie zmniejszy.
W praktyce stwierdzono, że niekiedy PLC w jednej wiadomości wysyła mniejszą ilość danych (np. przesyła tylko 240) nawet jeżeli podczas inicjalizacji powiadomił o możliwości przesyłania większych ilości zmiennych (np. 480). Przekłada się to tak, że po otrzymaniu danych w obiekcie PmaCommGroup napełni tylko część zmiennych, reszta zmiennych nie zostanie przekazywana. Wtedy jest konieczne zmeinić wartość z długości 960 na długość 240.
Rack(0-7) Określa numer rack-u w którym jest ulokowany procesor, z którym ma przebiegać komunikacja. Zazwyczaj wartość jest równa 0.
Wprowadzane tylko jeżeli Typ komunikacji = "Ethernet ISOonTCP Standard"
CPU Slot(0-31) Określa numer slot-u w którym jest ulokowany CPU procesor, z którym ma przebiegać komunikacja. (Uwaga: NIE CHODZI o gniazdo karty komunikacyjnej!)
- Często stosowaną wartością jest 2.
- Dla zabudowanych interfejsów Ethernet (np. S7-1200, S7-1500, CPU1512SP ...) wartość jest równa 1.

Przykład: W gnieździe 1 zazwyczaj bywa umieszczony zasilacz i jeżeli zasilacz jest większy (np. dla S7-400), wtedy może obsadzić i dalsze gniazda. Jeżeli więc zasilacz obsadził gniazdo 1 i 2 a w gnieździe 3 jest na przykład wentylator (lub gniazdo nie jest obsadzone), wtedy procesor może być umieszczony w gnieździe 4. W tym konfiguratorze powinna się wtedy znaleźć wartość 4.
Wprowadzane tylko jeżeli Typ komunikacji = "Ethernet ISOonTCP Standard"
Local TSAP(hex) Określa adres LocalTSAP (w układzie szesnastkowym). Zazwyczaj wartością jest 4d57 ('MW').
Wprowadzane tylko jeżeli Typ komunikacji = "Ethernet ISOonTCP for CP243"
Remote TSAP(hex) Określa adres RemoteTSAP (w układzie szesnastkowym). Zazwyczaj wartością jest 4d57.
Wprowadzane tylko jeżeli Typ komunikacji = "Ethernet ISOonTCP for CP243"
MPI/DP address(0-31) Określa adres MPI lub DP-PROFIBUS procesora, z którym będzie przebiegać komunikacja. Dla MPI jest często stosowaną wartością 2.
Wprowadzane tylko jeżeli Typ komunikacji = "Ethernet NETLink PRO ETH".
Connection typeTyp połączenia. W konfiguracji sieci można ustawić maksymalna ilość połączeń dla danego typu.
Wprowadzane tylko jeżeli Typ komunikacji = "Ethernet ISOonTCP Standard" lub "Ethernet NETLink PRO ETH".
1 = PG-connection - Urządzenie do programowania
2 = OP-connection - Panel operatorski
3 = OTHER-connection - Inny typ

Opis komunikacji przy pomocy obiektu PmaCommGroup

Dla niniejszego drivera komunikacyjnego można zastosować obiekty PmaCommGroup.
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).
Przykłady formy identyfikatora:
- "I0.2" = Wartość I=Input zapisana pod adresem 0 w drugim bicie jako typ danych X=bit=domyślnie.
- "Q0.2" = Wartość Q=Output zapisana pod adresem 0 w drugim bicie jako typ danych X=bit=domyślnie.
- "QB0" = Wartość Q=Output zapisana pod adresem 0 jako typ danych B=Byte=8 bitów.
- "MREAL30" = Wartość M=Memory zapisana pod adresem 30 jako typ danych REAL=4-bajtowa liczba rzeczywista.
- "DB10,W83" = Wartość DB=DataBlock nr. 10 zapisana pod adresem 83 jako typ danych W=Unsigned Word.
- "DB3,Wbcd83" = Wartość DB=DataBlock nr. 3 zapisana pod adresem 83 jako typ danych Wbcd=Unsigned Word in BCD code.
- "DB24,CHAR0.12" = Wartość DB=DataBlock nr. 24 zapisana od adresu 0 (pod adresem 0,1,..11) jako 12 pozycji typu CHAR które w systemie PROMOTIC zostaną zapisane do jednej wartości typu String.
- "DB25,STRING0.12" = Wartość DB=DataBlock nr. 25 zapisana od adresu 0 jako typ danych S7 STRING, która w systemie PROMOTIC zostanie zapisana do wartości typu String.
- "T15" = Wartość T=Timer zapisana pod adresem 15 jako typ danych S5T, który w systemie PROMOTIC będzie zapisany do wartości typu Date.
- "TWbcd15" = Wartość T=Timer zapisana pod adresem 15 jako typ danych Wbcd=Unsigned Word in BCD code.
- "C20" = Wartość C=Counter zapisana pod adresem 20 jako typ danych Wbcd=Unsigned Word in BCD code.
- "CW20" = Wartość C=Counter zapisana pod adresem 20 jako typ danych W=Unsigned Word.


Notatka: Driver na razie nie wspiera przenoszenia w jednej zmiennej o jednym ItemId wektora wartości (oprócz wektora znaków w typie danych CHAR).

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

Kody błędów PduErrCodes

Jeżeli niektóre zmienne nie mogą być przekazywane, wtedy sterownik PLC zwraca kod błędu PduErrCode.
Wartość tego kodu można stwierdzić na przykład w INFO systemie w karcie "/COMM/Log".
Znaczenie wartości kodów błędów (wartości są w układzie szesnastkowym):
0000 - NoError.
0001 - There is no peripheral at given address.
0003 - A piece of data is not available, e.g. when trying to read a bit block (with a length other than 1) or a non existing DB (200 family).
0005 - The data address exceeds the address range.
0006 - Can not read a bit block with a length other than 1.
0007 - Write data size does not fit item size.
000A - A piece of data is not available, e.g. when trying to read a non existing DB.
8000 - Function already occupied.
8001 - Not allowed in current operating status.
8101 - Hardware fault.
8103 - Object access not allowed.
8104 - Context is not supported. Step7 says:Function not implemented or error in telgram.
Powstaje jeżeli komunikacja w TIA portalu nie została odpowiednio ustawiona - patrz Ważne ustawienia komunikacji w sterowniku PLC Simatic przy pomocy oprogramowania TIA portal.
8105 - Invalid address.
8106 - Data type not supported.
8107 - Data type not consistent.
810A - Object does not exist.
8301 - Insufficient CPU memory.
8402 - CPU already in RUN or already in STOP.
8404 - Severe error.
8500 - Incorrect PDU size.
Prawdopodobnie jest konieczne zmniejszyć wartość w konfiguratorze "Maks. długość PDU".
8702 - Address invalid.
D002 - Step7:variant of command is illegal.
D004 - Step7:status for this command is illegal.
D0A1 - Step7:function is not allowed in the current protection level.
D201 - Block name syntax error.
D202 - Syntax error function parameter.
D203 - Syntax error block type.
D204 - No linked block in storage medium.
D205 - Object already exists.
D206 - Object already exists.
D207 - Block exists in EPROM.
D209 - Block does not exist/could not be found.
D20E - No block present.
D210 - Block number too big.
D240 - Unfinished block transfer in progress?
D240 - Coordination rules were violated. Multiple functions tried to manipulate the same object. Example: a block could not be copied, because it is already present in the target system.
D241 - Operation not permitted in current protection level.
D242 - Protection violation while processing F-blocks. F-blocks can only be processed after password input.
D401 - Invalid SZL ID.
D402 - Invalid SZL index.
D406 - Diagnosis: info not available.
D409 - Diagnosis: DP error.
DC01 - Invalid BCD code or Invalid time format?

Komunikacja za pośrednictwem konwertera NETLink PRO ETH


Konwerter NETLink PRO ETH konwertuje Ethernet protokół S7 na fizyczny interfejs MPI, PROFIBUS lub PPI. Jeżeli konwerter jest podłączony do sieci MPI/PROFIBUS, wtedy w takiej sieci może być podłączonych kilka procesorów, z którymi ma przebiegać komunikacja (każdy będzie mieć inny adres MPI/DP). Jeden obiekt PmaComm komunikuje tylko z jednym procesorem. Można mieć jednocześnie kilka obiektów PmaComm z takim samym adresem IP konwertera, lecz z inną wartością "MPI/DP address".

Konwerter NETLink PRO ETH dostarcza na przykład:
- Firma Helmholz (http://www.helmholz.com). Rdzeń sprzętu tej firmy jest stosowany także przez inne firmy w ich konwerterach (patrz dalej).
Jeżeli w konwerterze poprzez Web interfejs zostanie ustawiony konfigurator "Go online after boot", wtedy konwerter jest wtedy niewidocznym i w driverze PmS7 można ustawić "Typ komunikacji = Ethernet ISOonTCP Standard".
- Firma Softing (http://www.softing.com). Te konwertery korzystają ze sprzętu od firmy Helmholz.
- Firma Deltalogic (http://www.deltalogic.de, typ ACCON). Te konwertery korzystają ze sprzętu od firmy Helmholz.
- Konwertery innych firm (np. IBH NETLink, NETLink Kepware ...). Nie jest przetestowane, czy z tymi innymi konwerterami można komunikować się przy pomocy drivera PmS7.

Ważne ustawienia komunikacji w sterowniku PLC Simatic przy pomocy oprogramowania TIA portal

Wersja Simatic-1200 oraz -1500 od 2014 roku wymagają zaprogramowanie przy pomocy oprogramowania TIA portal 13 lub wyższych.
Uwaga: W roku 2015 dla nowej wersji PLC (np. Simatic S7/1200 V.4.1.1 - 4.1.3) jest konieczne wykonać aktualizację TIA portal 13 SP1 na Update 5 (9/2015).
 
W tych softach są domyślnie ustawione niektóre konfiguratory w taki sposób, że zewnętrzny SCADA system (czyli również system PROMOTIC) z tak ustawionym PLC nie potrafi komunikować.
W TIA portal należy zmienić następujące ustawienia:

1) Protection:
Wybierz "CPU projekt" w lewym panelu oraz naciśnij Alt+Enter lub w menu lokalnym wybierz "Properties".
W pozycji "Protection":
1) Wybierz konfigurator "Full access".
2) Zaznacz konfigurator "Permit access with PUT/GET communication from remote partner".


2) DB optimized:
Wybierz "DB" w lewym panelu pod "Program blocks" i naciśnij Alt+Enter lub w menu lokalnym wybierz "Properties".
Usuń ustawienie "Optimized block access" (domyślnie jest zaznaczony).
Dodatkowe ciekawe ustawienia, które zazwyczaj nie trzeba zmieniać:
 
General > Communication load:
System operacyjny procesora zapewnia maksymalny określony procent całkowitej mocy obliczeniowej procesora dla zadań komunikacyjnych. Obciążenie komunikacji można ustawić w STEP 7 dla procesorów serii PLC S7. Wartość domyślna zależy od typu i wersji używanego procesora. Jeżeli moc obliczeniowa nie jest potrzebna do komunikacji, wtedy moc przetwarzania jest dostępna dla systemu operacyjnego i programu użytkownika.
 
Komunikacji przydzielany jest wymagany czas obliczeniowy w odstępach 1 ms, z priorytetem 15. Przy 50% obciążeniu komunikacji do komunikacji używane jest 500 μs każdej 1 milisekundy.


Historia:
Pm9.00.22: Usunięty błąd: Jeżeli sterownik PLC podzielił otrzymane dane jednego żądania na kilka podwiadomości, wtedy ocenił go za zły odbiór.
Pm8.03.09: Usunięty błąd: Zmienne z jednego PmaCommGroup czasami niepoprawnie zostały podzielone do wiadomości komunikacyjnych w wyniku czego niektóre zmienne nie zostały przeniesione. (błąd pojawił się w wersji Pm8.3.2)
Pm8.03.06: Usunięty błąd: Podczas utraty łączności we wszystkich zmiennych zostanie przepisana właściwość Quality.
Pm8.03.02:
- Do parametrów protokołu dodano konfiguratory
- Maks. długość PDU: możliwość ograniczenia maksymalnej długości wiadomości
- Connection type: Określenie typu połączenia (określa, czy aplikacja ma się połączyć z PLC jako PG=Urządzenie programowania lub OP=Panel operatorski).
- Przetestowano komunikację z modułami LOGO! wersji 8. Od tej wersji moduły wspierają protokół S7 i wtedy można komunikować z nimi przy pomocy tego drivera.
Pm8.02.17: Usunięty błąd: Podczas odczytu oraz zapisu wartości typu S5Time.
Pm8.01.05: Usunięty błąd: Jeżeli w obiekcie PmaCommGroup występowała duża ilość zmiennych bitowych (Boolean), wtedy w niektórych przypadkach dochodziło do błędnego wytworzenia wiadomości komunikacyjnych i niektóre zmienne nie były wtedy odczytywane.
Pm8.01.00: Wytworzono
© MICROSYS, spol. s r.o.