An Ethernet module can detect that there is a fault with a connected device but still continue to function. Lets say that the problem we have is with a digital input module in one of my remote chassis. Yes, my CPU, local Ethernet, and remote Ethernet modules will all show that we have a problem. However, the fault that remote I/O module is experiencing doesn't render my local and remote Ethernet modules useless. They are still functioning. We are still communicating successfully with all the other modules in the system.
In the end, we have a GSV for every module I wish to monitor. I am simply adding logic to only execute the specific GSVs we need ay a given time. Having these instructions executing all the time is a waste of CPU cycles. You could certainly have every GSV executing every scan, or use timers to trigger them.
Explaining a little more, if the CPU I/O light is solid green, then all connected modules (local and remote) are running. No need to run GSVs (MODULE) for anything other than the CPU (LEDStatus). If the I/O light is flashing green then at least one module has failed. We need to identify which module(s) and where those modules are located. So first, we run a GSV for each module in the local chassis, including the local Ethernet module. We want to see a result that tells us the modules are running. That will be represented by a value of 16#4000. If we detect that our local Ethernet module is returning a value that is not equal to 16#4000, then we need to drill into that network to locate the problem. That problem doesn't necessarily mean the Ethernet module is non-functional. The problem might be with a digital input module in a remote chassis. That doesn't mean that the local and remote Ethernet modules stop functioning.
Once I have identified that the problem is connected to my local Ethernet module, then I enable a GSV to check the remote Ethernet modules. Assuming I have more than one remote Ethernet device. Let's say I have three remote chassis. I will enable a GSV for each of those three devices so we can locate which of those three chassis have the problem. Once I determine which remote Ethernet module has the problem, then I enable a GSV for each module in that remote chassis. Now we should be able to identify which specific module has the issue.
If I run a GSV on my local module and it determines a problem on my local Ethernet module and I then enable the GSVs for my three remote Ethernet devices and they all fail. that tells me the problem is likely somewhere from my local Ethernet module possibly to the switch it connects to. If however only one remote module reports an error, and then I enable a GSV for each remote module in that chassis and they all error, then the problem is probably somewhere from the switch to the remote Ethernet module.
OG