Optymalnie byłoby budować systemy automatyki oparte o komponenty jednego producenta. Jednak ostatnie zawirowania na świecie wymusiły również na automatykach mieszanie systemów. Na szczęście, zamiast skupiać się na problemach, warto koncentrować się na rozwiązaniach, co pozwala nam realizować projekty pomimo napotkanych trudności. Jeśli brakuje Ci modułów wagowych, warto przyjrzeć się propozycji firmy Fatek – FBs-1HLC5. W tym artykule opiszemy, jak zintegrować ten moduł z sterownikiem S7-1200, będącym produktem firmy SIEMENS. Jednak warto wspomnieć, że moduł ten wyposażony w protokół komunikacyjny Modbus RTU, można połączyć ze sterownikami PLC właściwie każdego producenta.
1. Założenia
Do modułu CPU Sterownika PLC Siemens S7-1200 dołączona jest płytka komunikacyjna CB 1241 RS485. Moduł wagowy FATEK FBs-1HLC5 podłączony jest do płytki komunikacyjnej w standardzie RS-485. Również do modułu wagowego podłączony jest tensometr.
Wymagana jest również podstawowa znajomość środowiska TIA Portal v14.
2. Przygotowanie modułu wagowego FATEK FBs-1HLC5
2.1 Dokumentacja
Aby móc rozpocząć pracę najpierw należałoby pobrać dokumentację modułu wagowego FATEK FBs-1HLC5 z poniższego linku: https://file.fatek.com/en/PLC/FBs/FBs_1HLC5/FBs-1HLC5_Datasheet_en.pdf.
Przydatna okaże się również instrukcja konfiguracji do podobnego modułu dostępna pod linkiem: https://file.fatek.com/en/PLC/FBs/FBs_1HLC/FBs-1HLC_Manual_en.pdf.
3. Przygotowanie TIA Portal
3.1 Utworzenie projektu
Następnym etapem jest przejście do TIA Portal. Należy utworzyć nowy projekt, w tym celu należy kliknąć Create new project (1), w Project name (2) wpisać nazwę projektu, w Path (3) wybrać ścieżkę, w której ma być zapisany projekt. Na zakończenie kliknąć Create (4) (Rys. 3.1).
Rys. 3.1
Następnie należy dodać urządzenie poprzez kliknięcie w Add new device (1) i wybierając Controllers (2), z rozwijanej listy należy wybrać Controllers (3) -> SIMATIC S7-1200 (4) -> CPU (5) -> Unspecified CPU 1200 (6) ‑> 6ES7 2XX-XXXXX-XXXX (7). Na koniec należy kliknąć OK (8) (Rys. 3.2).
Rys. 3.2
Dalej trzeba wybrać PLC_1 [Unspecific CPU 1200] (1), a potem Detect (2) (Rys. 3.3).
Rys. 3.3
Pojawi się okno wyszukiwania sterownika, wtedy należy kliknąć Start search (1), po chwili powinien ukazać się znaleziony sterownik, należy go wybrać (2) i kliknąć Detect (3) (Rys. 3.4).
Rys. 3.4
W związku z tym, że adres na karcie sieciowej komputera ma przypisany adres 192.168.100.241, a domyślny adres IP sterownika jest w innej podsieci, pojawia się komunikat z prośbą o przypisanie dodatkowego adresu IP do karty sieciowej, ze względu na to, że trzeba połączyć się ze sterownikiem należy wybrać Yes (1) (Rys. 3.5).
Rys. 3.5
3.2 Konfiguracja CPU sterownika PLC
Po wykryciu sterownika należy przypisać mu docelowy adres IP, w tym przykładzie jest to 192.168.100.10. W takim razie w lewej zakładce projektu należy rozwinąć PLC_1 [CPU 1214C DC/DC/DC] (1), następnie wybrać Device configuration (2) (podwójne kliknięcie lewym przyciskiem myszy), wówczas ukaże się widok urządzenia. Następnie należy wybrać jednostkę CPU (3) i dalej w dolnej zakładce wybrać kolejno Properties (4) -> General (5) -> PROFINET interface [X1] (6) -> Ethernet addresses (7) i wpisać adres IP, czyli 192.168.100.10 (8) (Rys. 3.6).
Rys. 3.6
Dodatkowo warto jeszcze ustawić wymuszenie rozpoczęcia cyklu pracy sterownika po jego ponownym uruchomieniu. W tym celu należy wejść w Properties (1) -> General (2) -> Startup (3) -> Startup after POWER ON: zmienić na Warm restart – RUN (4) (Rys. 3.7).
Rys. 3.7
3.3 Konfiguracja płytki komunikacyjnej CB 1241
Przed przejściem do konfiguracji płytki komunikacyjnej należy znać parametry komunikacji z modułem wagowym. Z dokumentacji [2] można się dowiedzieć, że moduł wagowy może być obsługiwany za pomocą protokołu Modbus RTU. Domyślne parametry są następujące: prędkość – 19,2 kb/s, brak kontroli parzystości, 8 bitów na znak, 1 bit stopu (Rys. 3.8).
Rys. 3.8
Następnie można przejść do konfiguracji płytki. W lewej zakładce projektu należy rozwinąć PLC_1 [CPU 1214C DC/DC/DC] (1), następnie wybrać Device configuration (2) (podwójne kliknięcie lewym przyciskiem myszy) i w widoku urządzenia kliknąć na grafikę płytki (3). Potem w dolnej zakładce wybrać Properties (4) -> General (5) -> IO-Link (6). Należy wpisać wcześniej zdefiniowane parametry komunikacji (Rys. 3.9). Parametr Baud rate ustawić na 19,2 kbps (7), w Parity wybrać No parity (8), Data bits ustawić na 8 bits per character (9), a w Stop bits wybrać 1 (10) (Rys. 3.9).
Rys. 3.9
3.4 Utworzenie programu do obsługi modułu wagowego
Ostatnim etapem jest utworzenie programu do obsługi modułu wagowego. Zasada działania polega na odczycie i zapisie danych z wykorzystaniem protokołu Modbus RTU. Zatem w programie należy umieścić bloki funkcyjne od obsługi wspomnianego protokołu. Należy zacząć od wstawienia bloku Modbus_Comm_Load definiującego połączenie. W tym celu z Program blocks (1) wybrać Main (podwójne kliknięcie lewym przyciskiem myszy) (2), z prawej strony menu wybrać Instructions (3), następnie Communication (4). Z listy rozwinąć Communication procesor (5) -> MODBUS (RTU) (6) wybrać Modbus_Comm_Load (7) i przeciągnąć do Network 1 (8). Na koniec można zmienić nazwę bloku (9) i kliknąć OK (10) (Rys. 3.10).
Rys. 3.10
Kolejnym blokiem, który należy dodać jest Modbus_Master. Ponownie, z Program blocks (1) wybrać Main (podwójne kliknięcie lewym przyciskiem myszy) (2), z prawej strony menu wybrać Instructions (3), następnie Communication (4). Z listy rozwinąć Communication procesor (5) -> MODBUS (RTU) (6) wybrać Modbus_Master (7) i przeciągnąć do Network 2 (8). Na koniec można zmienić nazwę bloku (9) i kliknąć OK (10) (Rys. 3.11).
Rys. 3.11
Należy jeszcze dodać blok danych przechowujący odczytane i zapisane dane. W związku z tym z Program blocks (1) trzeba wybrać Add new block (2) (podwójne kliknięcie lewym przyciskiem myszy), następnie wybrać rodzaj bloku Data block (3), nadać nazwę w polu Name (4) i zatwierdzić przyciskiem OK (Rys. 3.12).
Rys. 3.12
Przed utworzeniem zmiennych w poprzednio utworzonym bloku danych należy wyłączyć funkcję optymalizacji przechowywania danych. Aby to wykonać należy z Program blocks (1) prawym przyciskiem myszy kliknąć na blok danych Modbus_Data (2) i wybrać Properties (3). Następnie w oknie właściwości wybrać Attributes (4) i odznaczyć Optimized block access (5). Po odznaczeniu pojawi się okno z informacją o zaleceniu ponownej kompilacji projektu, należy wybrać OK (6) i następnie OK (7) w oknie właściwości (Rys. 3.13).
Rys. 3.13
W bloku danych należy utworzyć zmienne, dla tego przykładu będzie to tablica 16-elementowa typu Word. W tym celu należy otworzyć blok danych (podwójne kliknięcie lewym przyciskiem myszy) (1) i dodać zmienną wpisując w kolumnie Name nazwę (2) oraz typ Array[0..15] of Word w kolumnie Data type (3) (Rys. 3.14).
Rys. 3.14
W dalszej kolejności należy przypisać odpowiednie parametry blokom funkcyjnym, stąd z Program blocks (1) należy wejść do programu wybierając Main (podwójne kliknięcie lewym przyciskiem myszy) (2). W bloku Modbus_Comm_Load kliknąć na wejście PORT (3), a potem jednocześnie nacisnąć na klawiaturze przyciski Ctrl i spację i z listy wybrać „Local~CB_1241_(RS485)” tj. ID urządzenia komunikacyjnego (4). Należy jeszcze uzupełnić wejście MB_DB tj. odniesienie do instancji bloku Modbus_Master wpisując „Modbus_Master_DB”.MB_DB (5) (Rys. 3.15). Pozostałe parametry będą uzupełnione podczas połączenia online.
Rys. 3.15
W bloku Modbus_Master należy uzupełnić wejście DATA_PTR wpisując adres pamięci, do którego są odczytywane i zapisywane dane. Obszarem tym jest zmienna tablicowa „Modbus_Data”’.Data (1) Pozostałe parametry będą uzupełnione podczas połączenia online (Rys. 3.16).
Rys. 3.16
3.5 Wgrywanie projektu do sterownika
Po przygotowaniu projektu należy przystąpić do jego wgrania. Dlatego należy wybrać PLC_1 [CPU 1214C DC/DC/DC] (1) ->(2) -> z listy wybrać CPU Common (3) -> Load (4) (Rys. 3.17).
Rys. 3.17
Dalej wybrać Load (1) (Rys. 3.18).
Rys. 3.18
Po zakończonym wgrywaniu należy zaznaczyć Start all w kolumnie Action (1), a następnie wybrać Finish (2) (Rys. 3.19).
Rys. 3.19
4. Uruchomienie
4.1 Weryfikacja komunikacji
Po wgraniu projektu można przejść do weryfikacji działania modułu. W takim razie należy wybrać z Program blocks (1) -> System blocks (2) -> Program resources (3) -> Modbus_Comm_Load_DB (4) (podwójne kliknięcie lewym przyciskiem myszy). Następnie aktywować funkcję monitorowania (5). Należy jeszcze uzupełnić pozostałe parametry, w BAUD wpisać prędkość komunikacji 19200,
ustawić MODE na 4 (7), co oznacza komunikację w trybie half duplex (RS-485), a na koniec REQ
ustawić na TRUE (8) w celu aktywacji komunikacji (Rys. 4.1).
Rys. 4.1
Przed przejściem do konfiguracji następnego bloku należy jeszcze ustalić jaki parametr ma być odczytany z modułu wagowego FBs. W tym przykładzie będzie to AD Internal Value pod adresem 42305 [1]. Parametr ten przedstawia wartość proporcjonalną do wartości napięcia sygnału analogowego z tensometru (Rys. 4.2).
Rys. 4.2
Wiedząc jaki parametr ma być odczytany oraz znając jego adres można przejść do konfiguracji bloku Modbus_Master_DB. Zatem należy wybrać z Program blocks (1) -> System blocks (2) -> Program resources (3) -> Modbus_Master_DB (4). Następnie aktywować funkcję monitorowania (5). W MB_ADDR ustawić adres urządzenia na 1, w DATA_ADDR ustawić adres odczytanego rejestru 42305 (7), w DATA_LEN ustawić długość rejestru, z Rys. 4.2. wynika, że rejestr składa się z 2 słów, czyli należy wpisać 2. Po zapisaniu niezbędnych parametrów można przejść do odczytu ustawiając REQ na TRUE (9). W przypadku poprawnej komunikacji wyjścia DONE, BUSY powinny naprzemiennie zmieniać stan, a stan na wyjściu ERROR powinien być FALSE (10) (Rys. 4.3).
Rys. 4.3
Aby sprawdzić czy odczytano jakąś wartość należy z Program block (1) otworzyć Modbus_Data (2). Następnie aktywować funkcję monitorowania (3). Rozwinąć zmienną pod nazwą Data (4). Z kolumny Monitor value można zauważyć, że odczytano jakąś wartość, w tym przypadku jest to 9AB1 w formacie hex. Wartość ta zmienia się wyniku obciążenia tensometru. Z modułu wagowego można odczytać i zapisać wiele innych parametrów, jednak nie jest to tematem tej instrukcji (Rys. 4.4)
Rys. 4.4
5. Bibliografia
1. https://file.fatek.com/en/PLC/FBs/FBs_1HLC5/FBs-1HLC5_Datasheet_en.pdf (data dostępu: 03.04.2023).
2. https://file.fatek.com/en/PLC/FBs/FBs_1HLC/FBs-1HLC_Manual_en.pdf (data dostępu: 03.04.2023).