Wago 750-841 + OpenHab - Writing Holding Register nie działa

  • 0 Odpowiedzi
  • 8218 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline kompak

  • * 2
  • 0
Wago 750-841 + OpenHab - Writing Holding Register nie działa
« dnia: Październik 07, 2018, 12:46:10 pm »
Witam,

od jakiegoś czasu dość intensywnie zmierzam do uruchomienia mojego mieszkania. W kwestii wizualizacji wybór padł na OpenHab, natomiast całym sterowaniem będzie zajmował się WAGO 750-841. Połączyłem obie rzeczywistości za pomocą Modbus TCP i o ile odczyt pojedynczych bitów jak i całych rejestrów działa nienagannie, tak nie mogę sobie poradzić z zapisem rejestru. Chciałbym w ten sposób przesłać odczyty temperatur z 1-wire do PLC.
Poniżej aktualna konfiguracja, która pozwala na odczyt stanu wyjść, oraz zapis pojedynczych bitów i rejestrów:
<runtime.cfg>
modbus:tcp.slave1.connection=192.168.1.100:502
modbus:tcp.slave1.type=coil
modbus:tcp.slave1.id=1
modbus:tcp.slave1.start=12288
modbus:tcp.slave1.length=10

modbus:tcp.slave2.connection=192.168.1.100:502
modbus:tcp.slave2.type=coil
modbus:tcp.slave2.id=1
modbus:tcp.slave2.start=512
modbus:tcp.slave2.length=8

modbus:tcp.slave3.connection=192.168.1.100:502
modbus:tcp.slave3.type=holding
modbus:tcp.slave3.valuetype=int16
modbus:tcp.slave3.id=1
modbus:tcp.slave3.length=5
modbus:tcp.slave3.start=12288

Manual do bindingu Modbus mówi, że należy dodać linię:
writemultipleregister=trueaby wykonywać funkcję FC16 czyli właśnie zapis rejestrów.

Oczywiście zmienne w OpenHab są typu Number, a podglądając w Codesys nic nie otrzymuję.
Natomiast działa ciągle odczyt owych rejstrów. Jeżeli zapiszę jakąś wartość do tych rejestrów w Codesys - natychmiast mam to w OpenHab.

Może jeszcze przykładowy wpis w items:
Number    Bathroom_Temperature     "Temperatura"                    <temperature>   (Bathroom, gTemperature)        {modbus="slave3:4"}
Ktoś pomoże gdzie robię błąd, czy może w ogóle idę w złym kierunku?

Pozdrawiam!
Krzysiek