Wago <> IPS kommunikation: alternative für modbus polling


I am using IP-Symcon in combination with a Wago 750-881 and 750-842 PLCs and some other systems such as Z-wave and DMX. The Wago controllers are used as a simple interface to relays, push buttons and motion sensors. I am using Modbus/TCP to communicate between IP-Symcon and the PLCs.

I have created a PHP framework to control and configure the lighting in my home. All logic resides in IP-Symcon. There is no logic on the PLCs and I would like to keep it this way. I don’t have time available to become a skilled IEC 61131-3 programmer. I also need IP-Symcon’s ability to communicate with many different automation systems.

Modbus/TCP is an easy way to hook up a Wago PLC to IP-S but it does not provide a solution to catch very short changes in the state of an input, e.g. when a push button is pressed shortly. I have tried to lower the polling interval from 200ms to 25ms but there is no difference in traffic generated between the IP-S server and the PLC and no improvement in response.

I am looking for a solution to increase the polling rate or to let the PLC ‚report by exception‘, in other words to have PLC-initiated communication when the state of an input has changed.

One possible solution would be to use the WagoLibHttp02 library to communicate with IP-Symcon’s JSON API. This feels like a heavyweight solution in terms of the protocols used. I have also learned that HTTP calls are handled synchronously, they block the main thread of the PLC. If another input changes during the process this might be an issue?

I also would have to program the PLC. Unfortunately it is very hard to find step by step guides to learn the basics of PLC programming. Somehow people on this planet either know how to program PLCs (and do not share this knowledge on the internet) or they are unknowledgeable about the topic. I am considering to sign up for a WAGO-I/O-PRO CAA Ethernet seminar out of frustration.

IP-Symcon also support Modbus/UDP. Could this be a solution for improved polling rates with the PLC acting as Modbus master and IP-S as slave? UDP has a lower overhead than TCP. If the PLC acts as Modbus master would this mean that changes of input states are immediately send to the modbus slaves?

Lieber IP-S Freunde aus Deutschland: Ich kann Deutsch lesen aber nicht so gut Deutsch schreiben :slight_smile: .

The easy way is to extend the signal time with help of the plc.
Therefore you don’t need much plc-experience.


   S1_TOF : TOF;
   S2_TOF : TOF;

S1_TOF(IN:= %IX0.1,PT:= t#500ms);
%MX0.1 := S1_TOF.Q;

S2_TOF(IN:= %IX0.2,PT:= t#500ms);
%MX0.2 := S2_TOF.Q;

This simple Code extends the time of Input %IX0.1 and %IX0.2 up to 500ms
With modbus you have read %MX0.1 instead of %IX0.1.
Adress: 12289

Vielen dank für diese Lösung. Ich habe das gemacht und es funktioniert wie ein Traum :slight_smile: .

Du siehst, PLC ist nicht so schwer


I coupled a Wago controller with a Loxone miniserver. Please see my documentation here:
It is event driven. If the input on the wago controller changes a udp meassage is send to the miniserver. The wago controller listens to UD commands and changes the output in case a command is received.
Maybe that helps and gives you another approach.