Heartbeat timer


#1

Hi All,
There’s been some discussion on timers, but I need more specific info. All of our controllers (LCM4’s and PAC S1’s) have heartbeat_timer tags. I am assuming that these are not designed in our strategy but built in. I am using them as heartbeats to check communication to our controllers and not flat-lining. My question is, does anyone know what the max value of these heartbeat_timers are before they roll over.
Thanks


#2

Hello,
We don’t actually have any built-in timer tags like this. In PAC Control config mode, if you go to Edit > Find you can search for a tag by name. In new PAC Control versions, there’s also a handy textbox at the bottom of your strategy tree which will let you search that tree for a tag, then you can right-click from the tag in the tree to see where it appears in your strategy.
Once we know the data type of your tag, and where/how it’s being used in the strategy, we can go from there…
-OptoMary


#3

It seems like this is my opto programming inexperience rearing it’s ugly head.
In one strategy, we have:
Target Value 5.0
Up Timer Heartbeat_Timer

Start Timer
Timer Heartbeat_Timer

The timer in question has a target value of 10 but it goes well over 5,370,000.

So, I assume the reset value is 5


#4

I’m not sure what you mean by “reset value” but here’s a relevant piece of the help text that might shed some light:

Up timers do not stop timing when they reach their target value. Use the [B]Up Timer Target Time Reached?[/B] command to determine if the target time has been reached.
What are you trying to do there? Can you give us a 10,000 foot view?


#5

So, if I understand you correctly, that target value is just a variable.
I’m trying to poll a constantly changing tag from each of our controllers from our historian to make sure we’re not flatlining.
We encounter some instances where the connectionis good, but the data is in fact not changing. Almost all of our controllers have this heartbeat_timer tag. Not all though.
Thanks


#6

The target value gets stored with the up timer when you use that command, and when you use the [B]Up timer Target Reached?[/B] command that stored value is compaired wiht the current value of the timer (how long it’s been since you used the [B]Start Timer[/B] command, in seconds).

Since this value in seconds is a 32-bit floating-point number (more on those in form 1755 “Using Floats Technical Note”), it could get as high as 3.4e+38 seconds, or 5.666e+36 minutes or 9.444e+34 hours or 3.935e+33 days or 10773949856769843080589144928638 years, assuming I’ve done my math right.

In any case, getting back to your original question and intent, you don’t have to worry about that value rolling over anytime soon!


#7

But then I can count on it eventually saturating the tag upper value.
Oh for sloppy programming. I’ll need to figure out something else.
Thank you for your help.


#8

BTW, I think this is the reverse direction you’re concerned about, but thought it might be of interest anyway (a method of checking if PAC Display is still there from inside your PAC strategy): [U][B]click here[/B][/U]. I’m thinking something similar could be used for your situation too…