Freelance Modbus TCP watchdog
I would like to know if Freelance Modbus TCP has any watchdog function that can generate alarm on SCADA when a modbus tcp connection fails. As currently i have several modbus TCP connections and when 1 of it is not working, we cannot detect as we thought the system that is connecting to us is still running but in actual fact it is just holding last value.
Is there any function block that i can use to generate the modbus TCP watchdog as i cannot find any of it, only available one is for Modbus RTU.
There are diagnosis information available at interface object that you can use to generate a alarm for lost connections. I am not you are using master or slave object. But in HW tree Right click on that object and goto IOEditor under diagnosis tab you can find few diagnosis. You can use timeout or may be active connections. So compare values with healthy status and if that violates trigger an alarm. to get more information click on MODTCP_M/S HW object > Help > select first option and you will get info about diagnosis channels/Variables< press next button to get more details... This is at interface level.
Incase of ModbusTCP if you are using master object then straight away you can use ERR pin of read/write register to generate an alarm if connection lost....
Hope that helps...
As you probably already know You can set a timeout on both Modbus TCP Slave and Master interfaces. The problem in this case is that the Statistic View block (which You are probably referring to) is only working for Modbus RTU, right? Well, almost right. You see, all info from Statistic View can be accessed directly from Modbus TCP Interface (there was a bit of a problem with it in version 2013, but now it should work just fine).
Who to do it? Either go to hardware manager, right-click Your MODTCP object in the tree and choose I/O editor. In the diagnostic tab You can assign a variable to any diagnostic info You need. Or You can simply call the Hardware element right in You program by adding a read variable, pushing F2 and choosing proper variable from Select I/O Component tab.
Also remember that every Read and Write block has ERR and STA outputs for Error state and code respectively. You can Use this, especially for the Master (as it connects with single Slave).
Hopr this helps,
Edit: Ups, didn't see Summits answer before posting mine. Well, hope this maeks for a bit of follow-up.