.. _modbus-write: Modbus write -------------- Modbus write – Bloczek służy do wysłania wartości na porty RS485 Modbus RTC .. image:: _static/ikona_modbus-write.png :width: 146 :height: 57 :alt: Modbus_write Opis parametrów ikony ~~~~~~~~~~~~~~~~~~~~~~ .. image:: _static/ikona_modbus-write1.png :width: 185 :height: 68 :alt: modbus-write opis * **1** - Wejście sygnałowe. * **2** - Nazwa bloczka nadana przez użytkownika. * **3** - Wyjśćie sygnałowe. * **4** - Stan bloczka: zielony – działa, czerwony - błąd. * **5** - Komunikaty bloczka. Wejście(1) ~~~~~~~~~~~~~~~~~~~~~~ Wejście dla danych do wysyłania przez system. Do wejścia podłączamy dane które chcemy wysłać za pomocą komunikacji modbus. Wyjścia(3) ~~~~~~~~~~~~~~~~~~~~~~ Wartość wysłana za pomocą bloczka. Komunikaty bloczka (5). ~~~~~~~~~~~~~~~~~~~~~~~~ Opis pod bloczkiem zawiera informację o stanie bloczka lub możliwym błędzie: * **null** - System sprawny - wartość podczas uruchamiania systemu. * **Wartość numeryczna** - System sprawny - W przypadku prawidłowego wysłania danych przez modbus w opisie bloczka znajduje się ta wartość. * **Invalid device address configuration** - Błąd - Nieprawidłowy adres urządzenia. * **Invalid register address configuration** - Błąd - Nieprawidłowy adres rejestru. * **Invalid bit count configuration** - Błąd - Nieprawidłowa wartość bit count. * **Invalid response timeout configuration** - Błąd - Przekroczono czas odpowiedzi komunikacji. * **Invalid multiplier configuration** - Błąd - Nieprawidłowa wartość mnożnika. * **Invalid endianess configuration** - Błąd - Nieprawidłowa wartość endianess. * **Missing RS485 configuration** - Błąd - Nieprawidłowa wartość RS485. * **RS485 setup incomplete** - Błąd - Niekompletna konfiguracja RS485. * **RS485 port missing** - Błąd - Brak konfiguracji portu. * **Input disconnected** - Błąd - Brak podłączenia wejscia bloczka. * **Invalid function code configuration** - Błąd - Nieprawidłowa wartość function code. * **Invalid bit count configuration** - Błąd - Nieprawidłowa wartość bit count. * **Invalid value type configuration** - Błąd - Nieprawidłowa wartość value type. * **Input disconnected** - Błąd - Niepodłączone wejście. * **Baudrate configuration mismatch** - Błąd - Nieprawidłowa wartość baudrate . * **Parity configuration mismatch** - Błąd - Nieprawidłowa parzystość. * **Stop bits configuration mismatch** - Błąd - Nieprawidłowa wartość bitów stopu. * **Invalid baudrate configuration** - Błąd - Nieprawidłowa wartość baudrate. * **Invalid parity configuration** - Błąd - Nieprawidłowa parzystość. * **Invalid stop bits configuration** - Błąd - Nieprawidłowa wartość bitów stopu. * **Invalid parity or stop bits configuration** - Błąd - Nieprawidłowa parzystość lub wartość bitów stopu. * **Expected 0 or 1 on input** - Błąd - Oczekiwana wartość na wejściu 0 lub 1. * **Failed to parse value** - Błąd - Błąd podczas przetwarzania wartośći. * **Value exceeds 16-bits** - Błąd - Nieprawidłowa wartość przekracza 16- bitów. * **Value exceeds 32-bits** - Błąd - Nieprawidłowa wartość przekracza 32- bitów. * **Value exceeds 32-bit float** - Błąd - Nieprawidłowa wartość przekracza 32- bitów float. * **Failed to create request data** - Błąd - Nieprawidłowa wartość odczytu danych. * **Negative value** - Błąd - Wartość ujemna. * **Value too large for bit count** - Błąd - Wartość przekracza pojemność bufora. * **Failed to create request data** - Błąd - Bład tworzenia odpowiedzi. * **Function code not supported** - Błąd - Wartość nieobsługiwana. * **Invalid address** - Błąd - Błąd adresu. * **Invalid quantity** - Błąd - Błąd. * **IO error** - Błąd - Błąd wejść. * **Unknown modbus exception code** - Błąd - Nieprawidłowa wartość kodu. * **Master/RS485 timeout** - Błąd - Przekroczono czas oczekiwania dla master. * **Slave timeout** - Błąd - Przekroczono czas oczekiwania dla slave. * **Invalid request** - Błąd - Błąd odpowiedzi. * **Internal error** - Błąd - Błąd wewnętrzny. * **RS485 busy** - Bład - RS485 port zajęty. * **RS485 RX overrun** - Błąd - Port RS485 odczyt przekroczył wartość. * **RS485 frame error** - Błąd - Port RS485 błąd ramki danych. Konfiguracja - Properties ~~~~~~~~~~~~~~~~~~~~~~~~~~ Ustawienia dostępne po podwójnym kliknięciu prawym przyciskiem myszy. .. image:: _static/modbus-write_properties.png :width: 498 :height: 465 :alt: modbus-write_properties **Nazwa** - Nazwa bloczka nadana przez użytkownika. **Kod funkcji** - Typ komunikacji (należy odczytać z instrukcji urządzenia): * FC 5 Write Single Coil - Zapis pojedynczej komórki. * FC 6 Write Single Register - Zapis pojedynczego rejestru. * FC 15 Write Multiple Coils - Zapis wielu komórek. * FC 16 Write Multiple Register - Zapis wielu rejestrów. **Adres urządzenia** - Adres urządzenia. Należy odczytać z instrukcji urządzenia. **Adres rejestru** - Adres rejestru do odczytu. Należy odczytać z instrukcji urządzenia. **Ilość bitów** - Ilość bitów do odczytu. Należy odczytać z instrukcji urządzenia. **Opóźnienie odpowiedzi [ms]** - Czas jaki system czeka na odpowiedź. **Mnożnik** - Wartość przez jaką zostanie pomnożona wartość przekazana na wejście. **Endianess** - Określenie sposobu zakończenia komunikacji. Należy odczytać z instrukcji urządzenia: * NoSwap - LittleEndian. * SwapBytesAndWords - BigEndian. * Bajty w słowie BigEndian, słowa w LittleEndian. * Bajty w słowie LittleEndian, słowa BigEndian. Konfiguracja klienta ~~~~~~~~~~~~~~~~~~~~~~ Konfiguracja transmisji danych możliwa do zapisania i wykorzystania jako profil w innych bloczkach z komunikacją modbus. .. image:: _static/modbus_wezel.png :width: 510 :height: 374 :alt: modbus_wezel **Baudrate** - Prędkość transmisji danych. **Parzystość** - Ustawienia dotyczące bitu parzystego. **Bity stopu** - Ilość bitów rozdzielająca znaki. **Liczba prób wysłania rozkazu po których powiadomić o błędzie** - Dopiero przy przekroczeniu ustawionej wartości prób bloczek powiadomi o błędzie. W czasie trwania prób wystawi na wyjście wartość null. Przykładowe wykorzystanie bloku ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Przesyłanie wartości zliczonej do wyświetlacza .. image:: _static/modbus_write_przyklad.png :width: 678 :height: 178 :alt: modbus-write_przyklad1 Opis działania układu: Impulse-generator odgrywa rolę dowolnego układu generującego impulsy. Wartość zliczona przez impulse-counter przekazywana jest bezpośrednio na wejście bloczka modbus-write, bloczek ten przesyła za pomocą odpowiednio ustawionej komunikacji modbus wartość z licznika i wyświetlana jest ona na zewnętrznym urządzeniu. Licznik jest resetowany, gdy osiągnie "Wartość do" ustawioną w bloczku impulse-counter. .. toctree:: :maxdepth: 2 :hidden: :caption: Interfejs użytkownika oprogramowanie/foldery oprogramowanie/konfigurator oprogramowanie/devices oprogramowanie/gate oprogramowanie/przeglad oprogramowanie/zdalny_dostep .. toctree:: :maxdepth: 2 :hidden: :caption: Urządzenia oprogramowanie/input oprogramowanie/output .. toctree:: :maxdepth: 2 :hidden: :caption: Moduły oprogramowanie/dimmer oprogramowanie/command oprogramowanie/d-latch oprogramowanie/impulse-generator oprogramowanie/impulse-counter oprogramowanie/click-analyzer oprogramowanie/astro-timer oprogramowanie/clock-timer .. toctree:: :maxdepth: 2 :hidden: :caption: Bramki logiczne oprogramowanie/and oprogramowanie/or oprogramowanie/not .. toctree:: :maxdepth: 2 :hidden: :caption: Narzędzia oprogramowanie/math oprogramowanie/tag oprogramowanie/comparator oprogramowanie/const oprogramowanie/inject oprogramowanie/switch oprogramowanie/comment .. toctree:: :maxdepth: 2 :hidden: :caption: Modbus oprogramowanie/modbus-read copy oprogramowanie/modbus-write oprogramowanie/ac .. toctree:: :maxdepth: 2 :hidden: :caption: Mobile oprogramowanie/app_value oprogramowanie/app_button oprogramowanie/app_label .. toctree:: :maxdepth: 2 :hidden: :caption: Inne oprogramowanie/dane