LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to implement redundancy with RT cFP?

Hi all!
 
I have a setup with a cFP-2020 controling a pump and multiple switch valves. The controller runs a PID that regulates the flow.
It also communicates with a pc through TCP/IP. A user can drive all the setup manualy ( opening/closing valves, change flow
setpoint, reading pressure sensors values,etc) and also launch an automatic mode that folows a recipe created by the user.
 
I would like to implement a redundancy at various levels:
 
1) Power : It is solved by the cFP itself since you can feed 2 power supplies.
 
2) Controller : I would like to add a second controller that would monitor the primary controller and takes over the control if
                       primary controller crashes. I know there is a hardware watchdog that would help a lot in the task.
                       I would know when the primary controller crashes through that watchdog. But how to know the final state where
                       the controller crashed so that the secondary controller would start from there? If it is in manual mode, it would be
                       easy, I could initiate the secondary controller with the last state on the host (pc). But what about automatic mode?
                       I could store the variables at any time but isn't it a bit too much? Is there a way to retrieve those data, other than
                       sending it to the host computer?
                       Does anybody has a good idea / structure in mind for this application?
 
3) Fieldpoint I/O: I would like the same as for the controller: have a second set of DI, DO, AI and AO that would secure the system.
                           There is also a watchdog there that could be used.
 
The main goal is, in fact: Let's say you remove physicaly the controller or any Fieldpoint I/O and the system would seemlessly go
                                         on his task.
 
Anybody already did that before?
 
Thanks for any help!
 
Dai

LV 7.1 - WIN XP - RT - FP
0 Kudos
Message 1 of 3
(3,032 Views)

You should think of how much redunduncy you actually need in the system. The point of a PLC (or PAC, as NI calls the cFP) is to be rugged. It is supposed to run continuously, without failing, for a long time. In case something does happen, you can use the watchdog to reset the module and restart. Also, it should (?) keep running even if the connection to the PC fails.

As for connecting IOs to 2 different controllers, I see how you could do this for inputs, but would you do with the outputs? How would the system know which controller to believe? The one saying the output should be F or the one saying it should be T?

Periodically backing up the data on the PC is a good idea. Depending on your system, this can usually be done through TCP without too much hassle.
 
In short, no system is completely foolproof. Every system has some down time on occasion. If the cFP is reliable and your program is well written, it should run with no problems. You should have backups on all hardware, so anything can be replaced quickly if needed. If needed, you can have the cFP pull the data off the PC when it starts running.

___________________
Try to take over the world!
0 Kudos
Message 2 of 3
(3,028 Views)

Hi and thanks for the reply!

In fact, for the moment, when the connection to the pc is lost, the controller goes into "safe mode". It is a state where I am sure

there is no security issue for the person running the process ( avoid over-pressure in different tanks, etc).

I did not described the current process using the cFP because this one is less critical in terms of redundancy. If the process

is stopped because the connection is lost for example, it is not so important. The process can still be restarted from the very start.

It is because the process (chemical) allows it. It is like filtering. If half the filtering is done, you can still filter again to get the proper

result.

I am thinking about another process much more critical. If the process is stopped, it is lost. And it means a lot of money tens of 1000 euros at once.

For the moment, those processes are regulated and operated from a DeltaV DCS system (Emmerson). It is reliable but expensive and the programming environment is poor. I really like Labview. It is really powerfull !!!

In the future, if possible, I would like to replace the old systems of our plant with NI ones. I think it is much better when you have

a homogenuous system. Having a network with pc's, mac's and linux's is much more difficult to set up and maintain. The same

for the field, it is much more complicated when you use at the same time: labview, deltaV, profibus, foundation fieldbus, CAN, etc.

Of course sometimes, you cannot avoid it. The systems are different and have their pro's and con's... Of course, it is just my opinion!

If it would be possible, I'd buy only NI stuff... Now, I just replace if possible.

About the the Outputs being redundant, I was thinking about a polling system: use 3 outs and poll. The majority wins. It think it is used on space applications. 

So, I should have asked at the first time : Do you think it is possible to replace a DeltaV system with a NI one?

I think it is possible. But is the effort worth it? If I have to code all that? If there was something built in, it would be a dream Smiley Happy

Okay, thanks anyway. Maybe I need to think about it a bit more.

 

 

 

Dai

LV 7.1 - WIN XP - RT - FP
0 Kudos
Message 3 of 3
(3,021 Views)