dalporto
Lifetime Supporting Member
Hi all.
I have a Modbus ProSoft module in my setup with a capability of 30 clients (0-29), which I'm trying to monitor the Ethernet Connection from a 1756-L82. I need to know if the link is up or down on 5-6 Modbus Ethernet devices. Each device will be located on a different "client".
So far I found that I need to set / pick the client I want to update using MNETC.STATUS.ClientID (0-29) then trigger the MNETC.STATUS.ClientStatsTrigger bit each time:
This will give me something like that:
So if I kill the comm on one client and I ask that said client while the comm is down, I will get something different than "0" on MNETC.STATUS.ClientStatus[0].CurErr. In that case when I force a full download in the Schneider PLC I'm polling on client 0, that would give me a 1 like you can see on MNETC.STATUS.ClientStatus[0].LastErr, which is kind of weird if I compare it with the doc that I'm not sure if I understand correctly since it doesn't make much sense with those tables:
First, is that the proper way to monitor the communication? Since it's not "live data" I'll need to write something to have it scan each client I'm using and trigger the stupid bit periodically, which seem counter-productive.
I can setup an heartbeat on some of the devices I'll be polling, but not all, so I'll need to find a way to monitor those anyway.
I'll probably ask ProSoft at some point, but so far I got answers from them that aren't any clearer or helpful that what's in their manuals, it's often cryptic.
Thanks.
I have a Modbus ProSoft module in my setup with a capability of 30 clients (0-29), which I'm trying to monitor the Ethernet Connection from a 1756-L82. I need to know if the link is up or down on 5-6 Modbus Ethernet devices. Each device will be located on a different "client".
So far I found that I need to set / pick the client I want to update using MNETC.STATUS.ClientID (0-29) then trigger the MNETC.STATUS.ClientStatsTrigger bit each time:
This will give me something like that:
So if I kill the comm on one client and I ask that said client while the comm is down, I will get something different than "0" on MNETC.STATUS.ClientStatus[0].CurErr. In that case when I force a full download in the Schneider PLC I'm polling on client 0, that would give me a 1 like you can see on MNETC.STATUS.ClientStatus[0].LastErr, which is kind of weird if I compare it with the doc that I'm not sure if I understand correctly since it doesn't make much sense with those tables:
First, is that the proper way to monitor the communication? Since it's not "live data" I'll need to write something to have it scan each client I'm using and trigger the stupid bit periodically, which seem counter-productive.
I can setup an heartbeat on some of the devices I'll be polling, but not all, so I'll need to find a way to monitor those anyway.
I'll probably ask ProSoft at some point, but so far I got answers from them that aren't any clearer or helpful that what's in their manuals, it's often cryptic.
Thanks.