Na początku chciałbym przywitać wszystkich domorosłych i zawodowych automatyków
Zainspirowany stroną autora edom-plc postanowiłem przy okazji budowy domu uwzględnić automatykę budynkową. Moja instalacja na chwilę obecną opiera się o wago 750-880, 5x DI 750-1405, 9x DO 750-1504 + masa pierdół oparta o raspberry pi.
Chciałem już rozpocząć pisanie aplikacji do wizualizacji i sterowania domem i napotkałem problem z którym nie mogę sobie poradzić. Aplikację piszę w RubyOnRails pod kątem obsługi na desktopie/tablecie/komórce. Do komunikacji z PLC chciałem wykorzystać ModBus TCP lub http (READPI/WRITEPI). O ile odczytanie stanu poszczególnych portów na modułach DI/DO nie było problem to zmiana stanu na jakimkolwiek module DO już tak...
Nie mogę zmienić stanu na żadnym porcie DO ani przez ModBus TCP ani przez WRITEPI. W przypadku zmiany stanu przez modbusa kompletnie nic się nie dzieje. W przypadku WRITEPI dostaję odpowiedź "Address is not allowed or fieldbus is not active" (komenda
http://ADRES_IP/WRITEPI?ADR1=QX0.4&VALUE1=0&FORMAT1=%d)
READPI (
http://ADRES_IP/READPI?ADR=QX0.4&FORMAT=%d) dla tego adresu działa i zwraca poprawną wartość "1".
Mało tego... po zalogowaniu się CodeSys'em na PLC, mogę zmieniać stan adresów przez "Konfigurację sterownika" i tam zmiana stanów działa...
Sam kod programu PLC jest właściwie pusty, mam tam tylko testowe kawałki kodu do zabawy.
Napisałem już w tej sprawie do serwisu WAGO z prośbą o pomoc ale jeszcze się nie odezwali...
Może ktoś z Was spotkał się z takim problemem ? Skończyły mi się już pomysły
2-e doby męczę ten temat i już padam na p****.