IEC-104 automatic controller switch with redundant AC900F
I have a redundant AC900 setup with both controllers connected to the IEC-104 network on ETH3. When I disconnect the IEC-104 connection of the primary controller the primary controller doesn't switch to the secondary controller with an active connection to the IEC-104 network like it would do with the control network. Is there an option to do so that I didn't find or do I have to program this? If I have to program this can somebody point out to me how this can be done?
Voted best answer
You have to program this as an application. Freelance itself switches only due to Control Network issues.
There are two ways to do it, either using physical diagnostics (from the Controler FB) or logical diagnostics (from the device FB).
The Controler FB can be found in the Hardware Structure. Right click on the AC 900F in the tree and in the context menu select "I/O Editor". In the I/O Editor select the diagnostic tab. There you will find PNE_IPx_c components. The x stands for the line and can be either 1 or 2. The "c" stands for the physical ethernet connector and can be 1..4. If you do not use the Ethernet line redundancy of Freelance and your IEC 104 network uses E3, then the relevant diagnostic omponent would be PNE_IP1_3. This diagnostic shows whether the physical connection (between the controler and the next switch) is there or not. So if you remove the plug of E3 from the controller you should see the diagnostic component change the value from FALSE to TRUE. But if you diconnect the cable between swicth and your IEC 104 device this value will not change, because it is a different physical connection.
The logical diagnostic can be seen at the Telecontrol TCP Device function block FWK_DEV_TCP. The I/O Editor shows the available diagnostics. CN_NT shows the available connections and has values from 0 to 2. A value of 0 indicates there is no logical connection. This also works if you disconnect the cable between switch and 104 device. You could also use the STA disgnostic and look for values 10 = No link to Telecontrol Head or 11 = No link to Telecontrol device.
However, once you detect a connection gone, you can use the System function block (Blocks/System Functions) Force_Redundancy_Toggle (PRIM_SEC) to execute a failover. There should also be some logic provided by you that prevents a cyclic fail over, in case the backup controller also doesn't have a connection to the device.
Hope that helps