I am having some problems with a redundant PLC setup using A/B 1765-L62 & SRM/B modules. Due to operational requirement our service engineer can get the PLC quite easily to a state where the PLC will fault and report -
==================
02/01/1998 00:32:17
(Type 12) Redundancy Fault
(Code 32) Disqualified secondary became primary.
===================
To recover from this we basically have to clear the fault log table in the effect PLC. To do this we need to use RSLogxic. -MANUALLY !
If we then power off this unit and power on the other PLC the other PLC will start however the Slave (that was wrongly powered up will stay as DISQ and have a major fault)
Usually this happen we they power down after a network switch failure on Chassis 1 while chassis 1 is a sync. Then both racks are powered off and then powered on and SRM weighting forces SRM in chassis 1 to assume PRIM.
What I want to do is use the Master PLC, when it is rebooted to generate a SSV or a MSG to clear the fault log in the remote (slave) plc, so both can restart correctly (unfaulted). Ideally I would only like to clear faults type 12 code 32 from the remote but will settle for "blank" fault table"
So far
Looking at the network with Wire shark as I reset using RSlogic5000 I see a CIP Packet that generates the fault log clear.
which gives
All suggestion on how to recover from (using the PLC) a type 12 code 32 error welcome
==================
02/01/1998 00:32:17
(Type 12) Redundancy Fault
(Code 32) Disqualified secondary became primary.
===================
To recover from this we basically have to clear the fault log table in the effect PLC. To do this we need to use RSLogxic. -MANUALLY !
If we then power off this unit and power on the other PLC the other PLC will start however the Slave (that was wrongly powered up will stay as DISQ and have a major fault)
Usually this happen we they power down after a network switch failure on Chassis 1 while chassis 1 is a sync. Then both racks are powered off and then powered on and SRM weighting forces SRM in chassis 1 to assume PRIM.
What I want to do is use the Master PLC, when it is rebooted to generate a SSV or a MSG to clear the fault log in the remote (slave) plc, so both can restart correctly (unfaulted). Ideally I would only like to clear faults type 12 code 32 from the remote but will settle for "blank" fault table"
So far
Looking at the network with Wire shark as I reset using RSlogic5000 I see a CIP Packet that generates the fault log clear.
Common Industrial Protocol
- Service: Reset (Request)
0... .... = Request/Response: Request (0x00)
.000 0101 = Service: Reset (0x05)
Request Path Size: 2 (words)
- Request Path: CIass: 0x73, Instance: 0x01
- 8-Bit LogicaI CIass Segment (0x20)
CIass: Unknown (0x73)
- 8-Bit Logical lnstance Segment (0x24)
Instance: 0x01
- Command Specific Data
Data: 01
I can even get the Master PLC to create the same packet by generating a MSG.- Service: Reset (Request)
0... .... = Request/Response: Request (0x00)
.000 0101 = Service: Reset (0x05)
Request Path Size: 2 (words)
- Request Path: CIass: 0x73, Instance: 0x01
- 8-Bit LogicaI CIass Segment (0x20)
CIass: Unknown (0x73)
- 8-Bit Logical lnstance Segment (0x24)
Instance: 0x01
- Command Specific Data
Data: 01
which gives
Common industrial Protocol
- Service: Reset (Request)
0... .... = Request/Response: Request (0x00)
.000 0101 = Service: Reset (0x05)
Request Path Size: 2 (words)
- Request Path: CIass: 0x73, Instance: 0x01
- 8-Bit LogicaI CIass Segment (0x20)
CIass: Unknown (0x73)
- 8-Bit Logical lnstance Segment (0x24)
Instance: 0x01
- Command Specific Data
Data: 01
By creating a message of - Service: Reset (Request)
0... .... = Request/Response: Request (0x00)
.000 0101 = Service: Reset (0x05)
Request Path Size: 2 (words)
- Request Path: CIass: 0x73, Instance: 0x01
- 8-Bit LogicaI CIass Segment (0x20)
CIass: Unknown (0x73)
- 8-Bit Logical lnstance Segment (0x24)
Instance: 0x01
- Command Specific Data
Data: 01
Message Type: CIP Generic / Custom
Service :05
Class :73
Instance :1
Attribute :0
Source Element : test (where test is DINT containing 1)
Source Length :1
Path : ENET_A,2,192.168.100.2 (slave ip address)
However when I manually execute this message the fault remains with a error message code of 0005 (unsupported class or instance) with no extended code on the slave plc. The master PLC does broadcast the CIP as I was able to capture it with wire shark.Service :05
Class :73
Instance :1
Attribute :0
Source Element : test (where test is DINT containing 1)
Source Length :1
Path : ENET_A,2,192.168.100.2 (slave ip address)
All suggestion on how to recover from (using the PLC) a type 12 code 32 error welcome