You are on page 1of 3

Automatyka

Komunikacja i mechatronika
PtP w sterownikach S7-1200

Dodatkowe materiały
na CD i FTP

Komunikacja PtP
w sterownikach S7-1200
Miesiąc temu przedstawiliśmy możliwości interfejsu Ethernet, który jest należy zawsze instalować z lewej strony CPU
standardowym wyposażeniem wszystkich sterowników z  serii S7-1200. lub innego CM. Moduły komunikacyjne mają
Teraz zajmiemy się komunikacją PtP (point-to-point) przeznaczoną do separowane galwanicznie porty, są zasilane
z  CPU, do ich konfiguracji służy specjalny
prowadzenia znakowej transmisji szeregowej, podczas której aplikacja
zestaw instrukcji oraz wcześniej wspomnia-
użytkownika całkowicie definiuje i  implementuje wybrany protokół. ne funkcje biblioteczne.
PtP zapewnia maksymalną swobodę i  elastyczność, ale wymaga Przed rozpoczęciem pracy z  modułami
implementacji w  programie użytkownika. CM należy je skonfigurować, tzn. ustalić
prędkość transmisji, włączyć/wyłączyć bit
Zaimplementowane w  CPU procedury RS485 spełniają rolę warstwy fizycznej parzystości, ustalić liczbę bitów stopu, okre-
obsługi protokołu PtP zapewniają programi- interfejsu. ślić sposób kontroli transmsji (RS232) oraz
stom duże możliwości, na przykład: przesy- Pakiet narzędziowy służący do projekto- czas timeoutu. Modyfikację parametrów moż-
łanie informacji bezpośrednio do standardo- wania aplikacji dla sterowników PLC firmy na przeprowadzić programu projektowego
wych urządzeń zewnętrznych (jak drukarka Siemens (portal TIA – Totally Integrated Au- lub za pomocą instrukcji PORT_CFG (z  po-
lub terminal alfanumeryczny) oraz odbiernie tomation) zawiera biblioteki z  instrukcjami, ziomu programu użytkownika). Wartości
danych z innych urządzeń, jak czytniki kodu które użytkownik może wykorzystywać pod- parametrów ustalone instrukcją PORT_CFG
paskowego, odbiorniki GPS, modemy GSM/ czas tworzenia własnych aplikacji komuni- nadpisują war-
GPRS lub Bluetooth. kacyjnych. Oferują one funkcje komunikacji tości konfigu-
Do komunikacji PtP jest wykorzystywa- PtP dla następujących protokołów: racyjne usta-
ny interfejs szeregowy UART, umożliwiają- – USS do sterowania napędami, lone z portalu
cy obsługę wielu prędkości transmisji oraz – modbus RTU master, TIA. W  przy-
kontroli parzystości, chroniącej w  pew- – modbus RTU slave. padku wyłącze-
nym stopniu przesyłane dane. Dostępne Do jednego CPU w  systemie S7-1200 nia zasilania lub
w systemie S7-1200 moduły komunikacyj- można podłączyć do trzech modułów komu- innej jego utraty,
ne (CM1221/1241) z  interfejsami RS232/ nikacyjnych (dowolnego typu). Moduły CM sterownik S7-1200 nie

ELEKTRONIKA PRAKTYCZNA 3/2010 117


Automatyka i mechatronika
Programowe sterowanie przepływem
W  programowym sterowaniu przepływem są
stosowane specjalne znaki sterujące. Są to
znaki ASCII reprezentujące XON i  XOFF.
XOFF sygnalizuje, że transmisja musi być
zatrzymana. XON oznacza, że transmisja może
zostać wznowiona.
Kiedy urządzenia nadawcze otrzyma znak
XOFF z  urządzenia odbiorczego, wtedy
zatrzymuje nadawanie. Nadawanie zostaje
wznowione po otrzymaniu przez urządzenie
nadawcze znaku XON. Jeżeli znak XON nie
nadejdzie w  ciągu zdefiniowanego podczas
konfiguracji portu czasu oczekiwania, to CM
przerywa nadawanie i  zwraca do programu
użytkownika błąd.
Programowe sterowanie przepływem wymaga
dupleksowej komunikacji, ponieważ odbiornik
musi mieć możliwość wysłania do nadajnika
znaku XOFF w  trakcie trwania transmisji.

zachowuje w  pamięci parametrów ustawio-


nych za pomocą instrukcji PORT_CFG.
Kontrola transmisji zastosowana w  mo-
dułach CM jest mechanizmem zapobiegają-
cym utracie przesyłanych danych. Zapobie-
Skrócony opis instrukcji do obsługi PtP ga ona wysyłaniu przez nadajnik większej
liczby danych niż współpracujący odbiornik
Instrukcja PORT_CFG
Instrukcja PORT_CFG (Port Configuration) umożliwia zmianę parametrów portu, takich jak szyb- będzie w stanie odebrać. Kontrola transmisji
kość transmisji, z programu użytkownika. Początkowa, statyczna konfiguracja portu jest ustalana (sterowanie przepływem) może być realizo-
w  trakcie konfiguracji własności sprzętu. Tę konfigurację można zmienić za pomocą instrukcji wana sprzętowo lub programowo. Moduł
PORT_CFG uruchomionej z programu użytkownika. Dynamiczne zmiany konfiguracji poczynione
za pomocą PORT_CFG nie są trwale pamiętane w PLC. komunikacyjny CM1221 (RS232) obsługuje

Sprzętowe sterowanie przepływem


Instrukcja SEND_CFG Sprzętowe sterowanie przepływem odbywa się
Instrukcja SEND_CFG (Send Configuration) pozwala dynamicznie konfigurować parametry trans- za pomocą sygnałów RTS (Request-
misji szeregowej portu komunikacyjnego Point-to-Point. Wszystkie wiadomości oczekujące na -to-send) i  CTS (Clear-to-send). W  module
transmisję poprzez moduł komunikacyjny (CM) będą po wykonaniu instrukcji SEND_CFG odrzu- komunikacyjnym CM1221 RTS jest sygnałem
cone. wyjściowym występującym na styku 7 złącza
DB9, a  CTS sygnałem odbieranym na styku 8
tego złącza.
Instrukcja RCV_CFG Jeżeli w  module komunikacyjnym zostanie
Instrukcja RCV_CFG (Receive Configuration) wykonuje dynamiczną konfigurację parametrów sze- uaktywnione sterowanie przepływem
regowego odbiornika portu komunikacyjnego Point-to-Point. Instrukcja konfiguruje warunki, któ- z  przełączanym sygnałem RTS, to w  celu
re sygnalizują początek i koniec odbieranej wiadomości. Wiadomości, które spełniają te warunki, wysłania danych moduł ustawia aktywny
poziom sygnału RTS. Następnie monitoruje
będą odbierane za pomocą instrukcji RCV_PTP. sygnał CTS w  celu określenia, czy odbiornik
Wszystkie wiadomości oczekujące na transmisję poprzez moduł komunikacyjny (CM) będą po jest gotowy zaakceptować dane. Kiedy poziom
wykonaniu instrukcji RCV_CFG odrzucone. sygnału CTS jest aktywny, moduł może
Początkowa, statyczna konfiguracja portu jest ustalana w trakcie konfiguracji urządzenia. Tę kon- nadawać dane tak długo, jak długo CTS
figurację można zmienić za pomocą instrukcji RCV_CFG uruchomionej z programu użytkownika. pozostaje aktywny. Kiedy poziom CTS zmieni
się na nieaktywny, wtedy nadawanie musi
Dynamiczne zmiany konfiguracji poczynione za pomocą RCV_CFG nie są trwale pamiętane w PLC; zostać wstrzymane.
tak więc po wykonaniu cyklu wyłączenia/włączenia zasilania będzie wykorzystana początkowa, Nadawanie jest wznawiane po tym, jak
statyczna konfiguracja pochodząca z konfiguracji urządzenia. CTS przyjmie poziom aktywny. Jeżeli CTS
nie przyjmie poziomu aktywnego w  ciągu
Instrukcja SEND_PTP zdefiniowanego czasu oczekiwania, to moduł
przerywa nadawanie i  zwraca do programu
Instrukcja SEND_PTP (Send Point-to-Point data) inicjalizuje transmisję danych. SEND_PTP przesyła użytkownika błąd. Czas oczekiwania jest
określony bufor do modułu RS232 lub RS485. Wykonanie programu jest kontynuowane przez definiowany podczas konfiguracji portu.
CPU, podczas gdy moduł wysyła dane z określoną szybkością. Inną metodą jest domyślne ustawienie
aktywnego poziomu sygnału RTS. Urządzenie
Instrukcja RCV_PTP takie jak modem monitoruje stan linii RTS
w  CM1221 i  wykorzystuje go jako sygnalizację
Instrukcja RCV_PTP (Receive Point-to-Point) sprawdza, czy moduł komunikacyjny (CM) Point-to- gotowości do nadawania. W  tej realizacji
Point odebrał jakieś wiadomości. Jeżeli wiadomość jest dostępna, to zostanie przesłana z modułu sterowania przepływem modem nadaje dane
do CPU. Jeżeli wystąpił błąd, to zostanie zwrócona odpowiednia wartość STATUS. Zawiera on do CM tylko wtedy, kiedy RTS jest aktywny.
ważną wartość wtedy, kiedy albo NDR, albo ERROR ma wartość TRUE. Wartość STATUS określa Jeśli RTS nie jest aktywny, to moduł nie nadaje
przyczynę zakończenia operacji odbierania przez CM. Zwykle jest to wartość dodatnia sygna- danych do CM.
W  celu umożliwienia modemowi przesłania
lizująca, że operacja odbierania odbyła się pomyślnie i  proces odbierania danych zakończył się danych do CM w  dowolnej chwili, należy
normalnie. Jeżeli wartość STATUS jest ujemna (ustawiony jest najbardziej znaczący bit wartości ustawić sprzętowe sterowanie przepływem
heksadecymalnej), to oznacza, że operacja odbierania zakończyła się z  błędem, takim jak błąd z  opcją RTS zawsze aktywny. W  tym przypadku
parzystości, ramkowania lub przepełnienia. Każdy moduł CM obsługujący komunikację Point-to- CM utrzymuje przez cały czas aktywny
Point może buforować maksymalnie 1 kB danych. Ten bufor może być zorganizowany tak, by poziom RTS. CM nie zmieni poziomu RTS
na nieaktywny, nawet jeśli nie jest w  stanie
przechowywać wiele odebranych wiadomości. odebrać znaków. Urządzenie nadawcze musi
się upewnić, że nie spowoduje przepełnienia
Instrukcja RCV_RST bufora odbiorczego CM. Modem może w  takiej
Instrukcja RCV_RST (Receiver Reset) kasuje zawartość bufora odbiorczego. sytuacji nadawać dane w  dowolnej chwili i  nie
musi monitorować sygnału CTS z  odbiornika.
Urządzenie nadawcze musi monitorować
Instrukcja SGN_GET własne transmisje, ograniczając liczbę ramek
Instrukcja SGN_GET (Get RS232 Signals) odczytuje stan sygnałów komunikacyjnych na złączu wiadomości lub znaków, które wysyła, by
RS232. Ta funkcja dotyczy tylko modułu komunikacyjnego (CM) RS232. uniknąć przepełnienia bufora odbiorczego
odbiornika. Jeżeli bufor odbiorczy zostanie
Instrukcja SGN_SET jednak przepełniony, to nadajnik musi odrzucić
odebraną wiadomość i  zwrócić do programu
Instrukcja SGN_SET (Set RS232 Signals) ustawia stan sygnałów komunikacyjnych RS232. Ta funk- użytkownika błąd.
cja dotyczy tylko modułu komunikacyjnego (CM) RS232.

118 ELEKTRONIKA PRAKTYCZNA 3/2010


Komunikacja PtP w sterownikach S7-1200

zarówno sprzętowe, jak i programowe stero- – liczba bajtów niosąca informację o  dłu- zwykle wykonywane jako wątek programu
wanie przepływem. Moduł komunikacyjny gości, głównego.
CM1241 (RS485) nie obsługuje sterowania – liczba znaków następujących po infor- Instrukcje SEND_PTP i RCV_PTP można
przepływem. macji o  długości, które nie są wliczone wykonywać jednocześnie. Moduły komu-
Programista może określić, w  jaki spo- do długości. nikacyjne buforują wiadomości nadawane
sób interfejs komunikacyjny będzie rozpo- Portal TIA udostępnia rozszerzone in- i  odbierane zgodnie z  potrzebami, aż do
znawał początek wiadomości. Znak począt- strukcje, które pozwalają w programie użyt- maksymalnej pojemności bufora wynoszącej
ku wiadomości i  kolejne znaki tworzące kownika obsługiwać komunikację Point-to- 1024 bajty.
wiadomość trafiają do bufora odbiorczego, -Point za pomocą protokółów dostarczonych Dodatkowe instrukcje pozwalają kaso-
do chwili aż zostanie spełniony warunek przez firmę Siemens oraz protokołu Freeport. wać bufor odbiorczy oraz pobierać i  usta-
określający koniec wiadomości. Można Są one podzielone na dwie kategorie: wiać określone sygnały na złączu RS232:
zdefiniować wiele warunków określających – instrukcje konfiguracyjne (PORT_CFG, RCV_RST, SGN_GET oraz SGN_SET.
start wiadomości. Jeżeli dowolny z tych wa- SEND_CFG, RCV_CFG), Wiele instrukcji Point-to-Point (PtP) wy-
runków jest spełniony, to wiadomość jest – instrukcje komunikacyjne (SEND_PTP, korzystuje wejście REQ, które inicjalizuje
wysyłana. RCV_PTP). operację w  chwili zmiany stanu z  niskiego
Jeśli zostanie wybrany specjalny waru- Wszystkie funkcje obsługujące PtP na wysoki. Wejście REQ musi być w  stanie
nek wymagający włączenia do wiadomości działają asynchronicznie. W  celu okre- wysokim (TRUE) przez jedno wykonanie in-
informacji o długości wiadomości, to należy ślenia stanu nadawania i  odbioru w  pro- strukcji i może trwać w stanie TRUE tak dłu-
określić trzy parametry określające długość gramie użytkownika można zastosować go, jak jest to potrzebne. Ta instrukcja nie za-
wiadomości. Faktyczna struktura wiadomo- architekturę z  odpytywaniem (polling). inicjuje żadnej innej operacji dopóty, dopóki
ści zmienia się w zależności od zastosowane- W  celu zaimplementowania architektury nie zostanie wywołana podczas gdy wejście
go protokołu. Wymienione trzy parametry to: odpytywania, w  programie użytkownika REQ jest w  stanie FALSE, tak że instrukcja
– pozycja znaku w wiadomości zawierają- należy sprawdzać stan każdej wysyłanej może skasować stan historii wejścia REQ.
cego informację o długości, i odbieranej wiadomości. Odpytywanie jest Tomasz Starak

R E K L A M A

ELEKTRONIKA PRAKTYCZNA 3/2010 119

You might also like