Zeroing data on Redlion or in Citect on comms loss

cmothebean

Member
Join Date
Nov 2011
Location
Brisbane
Posts
14
Hi,

Is there an easy way to zero all the data from a device when the comms fail? We pull data from some BACNet devices into the Redlion and then into Citect. When a BACNet-Redlion comms failure occurs the data holds its last value. It is desired to have the data zeroed in Citect.

I can see it working by making all the tags complex tags based on IF commsIsBad THEN 0 ELSE tagName, but this seems rather cumbersome.

Maybe Citect has way of doing it easier...
 
I would have a CommsOkay tag tied to IsDeviceOnline(x) function where x is the device name or number.

Then use a trigger on that tag when its Data Matches 0 which calls a program that selectively clears the tags you want cleared.

This is a little bit cleaner than making all the tags complex and you can delay the trigger by a specific amount of time in milliseconds.

The delay can allow you to tolerate an occasional blip in communications without blowing away a bunch of values.

Be sure to carefully scrutinize the impact of all those zeros on the final control elements.
 
Good idea. Unfortunately this model is the DSPLE and doesn't have Programs.

It is purely monitoring so no risk in breaking anything here.
 
Good idea. Unfortunately this model is the DSPLE and doesn't have Programs.

It is purely monitoring so no risk in breaking anything here.

In that case, I suppose you have to run with your original plan. If there is a shedload of tags, you might be able to change one of them to complex code, then export the tags and edit them faster as a csv file and then import them back in. I was trying to think of a way to copy and paste just the conditional part you need to add...can't come up with one...

For your complex code, it might be more efficient to multiply the device data by CommsOkay than to use IF/THEN. If IsDeviceOnline(x) as a flag tag returns true, you will get a "one" and if comms are lost you will get "zero".
 
Last edited:
For your complex code, it might be more efficient to multiply the device data by CommsOkay than to use IF/THEN. If IsDeviceOnline(x) as a flag tag returns true, you will get a "one" and if comms are lost you will get "zero".

That's a brilliant idea. I'm stealing that.
 

Similar Topics

I have a murr IMPACT67 Pro E DIO8 IOL8 M12L 5P and a Magnetic sensor MSA213K. connected to a L18. encoder is connected to port 0 and I am...
Replies
5
Views
614
Hi y'all. I'm kind of used to program in TIA portal but not in simatic manager. So now I have a little problem at a client of mine. sometimes...
Replies
4
Views
526
I need to zero all the values in this array using rs logic 5000 camera_2_[data]1000 thanks jim cav
Replies
2
Views
1,596
hi friends , i am working on a new project where the strain guage (4wire) is connected to plc module.the application is to calib the tank which...
Replies
2
Views
1,850
How would i go about resetting any bit that is set in a Db. I am in need of resetting bits that were set after a system failure. All of the bits...
Replies
11
Views
4,211
Back
Top Bottom