Brad
May 19 2005, 03:40 AM
I have 2 x PLC5 processors setup in a redundant configuration using BCM modules. The redundancy works great.
They communicate via Ethernet (2 different addresses) to a DCS via an OPC Mirror and RSLinx. 2 x OPC Topics are configured in RSLinx for this purpose (Primary and Secondary PLCs).
To perform a switchover when the Primary PLC fails, I initially added these topics to an alias topic and used the "Switch when bit is" functionality to switch topics when the BCM primary processor status bit goes to zero. However, when the primary PLC fails, this bit holds its last value making it useless for switching.
I can't use switch on error, as the Ethernet comms can still be up when the processor faults/dies.
Does anyone know any other way to use RSLinx and/or PLC5s to let the DCS know what ethernet address to look at?
Thanks for any help.
Firetubes
May 19 2005, 03:34 PM
I don't know much about DCS, but maybe you can script something to detect the PLC heartbeat/watchdog bit and then swith the topic yourself with the RSLinx's set_alias() command (DDE) or @SwitchTopic item (OPC).
With OPC, you should be able to check the Quality of an item to see if it's good or not. Also check out some of RSLinx other predefined items such as @Status, @StatusNumber, @Mode, etc.
Brad
May 23 2005, 03:18 AM
From what i can tell, the pre-defined items such as @Status etc are only valid for ControlLogix processors - not PLC5s.
Firetubes
May 23 2005, 08:26 AM
No, not totally true. Here's the breakdown:
The following predefined items can be used with all PLC types:
@Mode returns the current mode of the processor as a string (Run, Program, Remote Run, or Remote Program).
@ProcessorName returns the name of the program running in the processor.
@Revision returns the firmware version of the processor as a string.
@PLCType returns the processor type as a string.
@Status returns the current status of the processor as a string (Ok or Faulted).
@StatusNumber returns the current status of the processor as a number.
@SwitchTopic is used to switch between alias topics in OPC clients.
The following predefined items are used with Logix5000 family processors:
@FreeMem returns total unused memory (I/O + data table + general).
@FreeMemDT returns unused data table memory (not applicable to 1756-L1).
@FreeMemGM returns unused general memory (applicable to 1756-L55M16 only).
@FreeMemIO returns unused I/O memory.
@TotalMem returns total available memory (I/O + data table + general).
@TotalMemDT returns total available data table memory (not applicable to 1756-L1).
@TotalMemGM returns total available general memory (applicable to 1756-L55M16 only).
@TotalMemIO returns total available I/O memory.
@CLTagUpdateAddressSpace forces RSLinx to update its' Logix5000 tag database.
@RedundancyMode monitors the processor state in a ControlLogix redundant system.
@IsPresent allows you to check if your ControlLogix processor is available prior to performing reads or writes. The time out value is consistent with the communications timeout value in the configured PLC-5 topic.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.