Współpraca sterownika PLC Siemens S7-1200 z przetwornikiem SiOne
W tym wpisie przedstawiono jak skonfigurować sterownik PLC Siemens S7-1200 w programie TIA Portal do współpracy z przetwornikiem parametrów powietrza z rodziny SiOne.
Na potrzeby tego poradnika wykorzystano przetwornik temperatury i wilgotności Si-S00R0A0 oraz sterownik PLC Siemens S7-1200 1211C DC/DC/DC. W celu podłączenia urządzenia z interfejsem RS-485 Modbus RTU (np. enkoder, inklinometr, …) do sterownika PLC, niezbędny jest moduł komunikacyjny. W tym poradniku wykorzystano moduł CM 1241 RS422/485. Należy zwrócić szczególną podczas łączenia układu, gdyż schemat połączenia może różnić się dla innych modeli sterownika i/lub przetwornika.
KROK 1 – Połączenie sterownika PLC z przetwornikiem SiOne
Na rysunku poniżej przedstawiono schemat połączenia przetwornika SiOne do sterownika PLC poprzez moduł komunikacyjny CM 1241. Przetwornik może być zasilony bezpośrednio z wyjścia zasilacza czujników 24 VDC, w które wyposażony jest sterownik S7-1200.
Moduł CM 1241 posiada 9-pinowe złącze żeńskie D-Sub. Poniżej przedstawiono fragment dokumentacji modułu zawierający opis poszczególnych pinów złącza.
Domyślne parametry komunikacyjne przetwornika SiOne
Domyślne parametry komunikacyjne przetwornika SiOne dostępne są również w dokumentacji technicznej – https://manual.apone.eu/topics/idh-topic170.htm
- Prędkość transmisji: 9600
- Adres urządzenia: 1
- Parzystość: brak
- Bity stopu: 1
- Bity danych: 8
Użytkownik może zmienić domyślne parametry komunikacji Modbus zworkami konfiguracyjnymi lub przy pomocy programu konfiguracyjnego. Szczegółowy poradnik dostępny jest na stronie – https://manual.apone.eu/topics/idh-topic140.htm
KROK 2 – Konfiguracja projektu w programie TIA Portal
W tym przykładzie wykorzystano TIA Portal w wersji V19. Interfejs programu oraz niektóre opcje mogą się różnić w zależności od zainstalowanej wersji.
Tworzenie nowego projektu
Z drzewka opcji należy wybrać opcję Create new project, a następnie nadać nową nazwę oraz lokalizację tworzonego projektu. Zatwierdzić przyciskiem Create.
Po chwili wyświetlone zostanie nowe okno, z którego należy wybrać opcję Open the project view – otwarcie widoku projektu.
Dodawanie sterownika PLC i modułu komunikacyjnego
Po utworzeniu nowego projektu, Użytkownik może dodać swój sterownik PLC do projektu. W tym celu należy wybrać opcję Add new device, a następnie na liście dostępnych sterowników odnaleźć dokładny model posiadanego sterownika. Dokładna nazwa modelu sterownika znajduje się na wygrawerowanej tabliczce znamionowej, na bocznej ściance sterownika.
Na tym etapie, Użytkownik powinien również dodać moduł komunikacyjny CM 1411. W tym celu, z katalogu znajdującego się po prawej stronie ekranu należy wybrać odpowiedni moduł, a następnie przeciągnąć go w odpowiednie miejsce (101) w widoku Device view.
Obsługa protokołu Modbus RTU
Środowisko TIA Portal posiada wbudowane moduły, które ułatwiają skonfigurowanie transmisji w protokole Modbus RTU pomiędzy sterownikiem PLC, a urządzeniem podrzędnym (np. enkoder, inklinometr, przetwornik parametrów powietrza). Pomocne przy tworzeniu programu do odczytywania pomiarów z przetowrnika mogą okazać się bajty pamięci systemu i pamięci zegara. Należy je włączyć klikając prawym przyciskiem myszy na nazwę sterownika PLC, następnie wybrać Properties, przejść do zakładki System and clock memory, zaznaczyć obie opcje i zatwierdzić przyciskiem Ok.
W trakcie tworzenia programu zostaną wykorzystane bity First scan (przyjmujący stan wysoki wyłącznie na czas trwania pierwszego cyklu programu głównego) oraz Always high (bit zawsze ustawiony w stan wysoki).
Następnym krokiem jest przygotowanie programu głównego do obsługi komunikacji między sterownikiem, a przetwornikiem. Wykorzystany zostanie do tego domyślnie utworzony blok Main [OB1].
Do obsługi komunikacji Modbus RTU wykorzystane zostaną bloki instrukcji MB_COMM_LOAD (konfiguracja portu pod transmisję Modbus RTU) oraz MB_MASTER (komunikacja z urządzeniami jako urządzenie Master). Aby dodać wspomniane bloki do programu należy przeciągnąć je z katalogu Communication po prawej stronie ekranu.
Parametry bloku MB_COMM_LOAD:
- REQ – wywołanie instrukcji na zbocze narastająco
- PORT – adres portu modułu CM 1241
- BAUD – prędkość transmisji (300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, 115200)
- PARITY – parzystość (0 – brak, 1 – odd, 2 – even)
- MB_DB – odniesienie do instancji MB_MASTER
- DONE – sygnalizacja poprawnego wykonania instrukcji
- ERROR – sygnalizacja błędu wykonania instrukcji (0 – brak, 1 -błąd, opis w zmiennej STATUS)
- STATUS – kod błędu wykonania instrukcji
Parametry bloku MB_MASTER:
- REQ – wejście zapytania (0 – brak, 1 – zapytanie o transmisje danych Modbus)
- MB_ADDR – adres urządzenia Modbus
- MODE – tryb pracy (0 – odczyt rejestrów, 1- zapis do rejestrów)
- DATA_ADDR – początkowy adres do odpytania
- DATA_LEN – liczba bitów do odpytania
- DATA_PTR – wskaźnik do bloku danych, w którym mają być odczytywane/zapisywane dane
- DONE – sygnalizacja poprawnego wykonania transmisji
- BUSY – sygnalizacja wykonywania transmisji (0 – brak transmisji, 1 – transmisja w trakcie)
- ERROR – sygnalizacja błędu wykonania transmisji (0 – brak, 1 -błąd, opis w zmiennej STATUS)
- STATUS – kod błędu wykonania transmisji
Szczegółowe informacje na temat znaczenia wybranych parametrów i działania bloków można znaleźć w pomocy programu TIA Portal. Aby przejść do pomocy wybranego bloku, wystarczy zaznaczyć blok i wcisnąć przycisk F1.
Ze względu na optymalizację działania kodu, Siemens zaleca umieszczenie wszystkich zmiennych pomocniczych w blokach danych (Data block). Zatem zgodnie z wytycznymi, poniżej zostanie zaprezentowane jak przygotować blok danych zawierających zmienne pomocnicze dla bloków MB_COMM_LOAD oraz MB_MASTER.
Aby utworzyć nowy blok danych należy wybrać opcję Add new block, a następnie Data Block i zatwierdzić przyciskiem OK.
W następnym kroku zadeklarowane zostaną wykorzystywane zmienne pomocnicze w utworzonym bloku danych. Należy zwrócić szczególną uwagę na to, by typ deklarowanej zmiennej pokrywał się z typem wybranych zmiennych bloków MB_COMM_LOAD oraz MB_MASTER.
Następnym krokiem jest przygotowanie programu do komunikacji z urządzeniem podrzędnym (enkoder, inklinometr, przetwornik parametrów powietrza). W tym celu utworzone zmienne pomocnicze zostaną przypisane do odpowiednich miejsc w blokach MB_COMM_LOAD_DB oraz MB_MASTER_DB.
Dodatkowo, w bloku MB_COMM_LOAD_DB należy przypisać adres portu modułu CM 1241, w tym przypadku „Local~CM_1241_(RS485)_1” oraz powiązać blok MB_COMM_LOAD_DB z blokiem MB_MASTER_DB poprzez wpisanie nazwy MB_MASTER_DB do parametru MB_DB bloku MB_COMM_LOAD_DB.
Konfiguracja portu Modbus, która jest realizowana przez blok MB_COMM_LOAD_DB powinna być wykonywana wyłącznie raz, dlatego będzie ona wywoływana prze bit FirstScan – czyli tylko w pierwszym cyklu programu. Poprawnie skonfigurowany blok MB_COMM_LOAD_DB powinien wyglądać jak na zrzucie poniżej. Konfiguracja bloku MB_MASTER_DB została opisana w następnym kroku.
KROK 3 – Odczyt pomiarów
Konfiguracja projektu
Na poniższym zrzucie zamieszczono fragment dokumentacji technicznej przetwornika SiOne. Z tabeli rejestrów protokołu Modbus RTU udostępnionej przez producenta wynika, że w przypadku przetworników Si-S00…, wilgotność należy odczytywać funkcją Read Input Registers z rejestrów 16 i 17 (co w notacji używanej w sterownikach PLC Siemens oznacza 30018 i 30019), natomiast temperaturę z rejestrów 18 i 19 (co w notacji używanej w sterownikach PLC Siemens oznacza 30020 i 30021).
Dodatkowo należy przygotować kolejny blok danych, w którym przechowywane będą aktualne wartości wilgotności i temperatury. Blok danych powinien składać się z tablicy 2 elementów typu Real (32-bity).
Można teraz przejść do wcześniej stworzonego bloku danych, zawierającego zmienne pomocnicze bloków MB_COMM_LOAD_DB i MB_MASTER_DB i uzupełnić go o parametry komunikacyjne przetwornika SiOne, adres z którego mają zostać pobrane dane oraz długość danych.
Przed kompilacją i pobraniem programu na sterownik należy jeszcze zaktualizować blok MB_MASTER_DB. W tym przykładzie, przetwornik będzie odpytywany cyklicznie co 2 sekundy, stąd parametr REQ jest taktowany zmienną systemową „Clock_0.5Hz”. Parametr DATA_PTR bloku MB_MASTER_DB powinien być wskaźnikiem do bloku danych, w którym mają być odczytywane/zapisywane dane, dlatego zostaje on powiązany z blokiem danych utworzonym na początku tego podrozdziału (Rys. 6b). Należy jednak we właściwościach tego bloku danych wyłączyć opcję Optimized block access.
Po uwzględnieniu tych informacji, blok MB_MASTER_DB powinien wyglądać tak jak na zrzucie poniżej.
Kompilacja i wgrywanie projektu
Po przygotowaniu projektu można go zapisać, skompilować a następnie pobrać do sterownika PLC. W tym celu należy wybrać ikonę kompilacji. Jeśli kompilacja przebiegnie pomyślnie, można pobrać program do sterownika.
Przed pobraniem projektu wystarczy wybrać interfejs (kartę sieciową) do której podłączony jest sterownik oraz interfejs sterownika wykorzystywany do programowania (domyślnie PN/IE_1). Z listy dostępnych urządzeń należy wybrać odpowiedni sterownik i załadować program przyciskiem Load.
Podgląd mierzonych wartości
Podgląd aktualnych pomiarów z przetwornika jest możliwy w oknie bloku danych do przechowywania mierzonej wilgotności i temperatury. Po skompilowaniu i wgraniu projektu wystarczy włączyć opcje monitorowania.