Legacy Hardware and Apps
Alarms and time calculations

Hello,

I'm trying to figure out how to do the following with the DT800. Basically I need to log the time since an alarm has occurred. I need at least a resolution of 0.01 seconds.

I thought maybe I could assign the time since midnight in a CV when the alarm happens, and then when scheduled, report the current time minus the CV. Thanks for any help! Mark

Hello, I'm trying to figure out how to do the following with the DT800. Basically I need to log the time since an alarm has occurred. I need at least a resolution of 0.01 seconds. I thought maybe I could assign the time since midnight in a CV when the alarm happens, and then when scheduled, report the current time minus the CV. Thanks for any help! Mark

Good afternoon Mark,

You can assign times to CV's. In the alarm action put T(=1CV) to assign the time to a CV

Your alarm will look something like
ALARM1(1V>500)"Voltage alarm{[T(=1CV)]}

Then in your schedule to find the time difference
T(=2CV,W) 2CV=1CV-2CV

The DT800 also keeps an alarm log, page 104 of the DT800 manual.
The alarm log keeps the last 500 alarms and can be unloaded with the UALMLOG and can be cleared by CALMLOG.

Regards,
Roger

Good afternoon Mark, You can assign times to CV's. In the alarm action put T(=1CV) to assign the time to a CV Your alarm will look something like ALARM1(1V>500)"Voltage alarm{[T(=1CV)]} Then in your schedule to find the time difference T(=2CV,W) 2CV=1CV-2CV The DT800 also keeps an alarm log, page 104 of the DT800 manual. The alarm log keeps the last 500 alarms and can be unloaded with the UALMLOG and can be cleared by CALMLOG. Regards, Roger

Roger,

Thanks, that helps quite a bit. Also, do you have an example on how to use the RS and DT data manipulation options with Counters?

Thanks again!
Mark

Roger, Thanks, that helps quite a bit. Also, do you have an example on how to use the RS and DT data manipulation options with Counters? Thanks again! Mark

Good morning Mark,

RS = Reading / Time difference between readings
DT = Time differance between readings.

If you have access to a function generator set it to a known frequency and connect the input to counter 7 and set the frequency at say 300 Hz and try this bit of code.

BEGIN
RA1S T 7C(R)
END

As we are asking for the number of counts per second we would expect to see a value of 300 Hz and over all it will be very close. But if you look closely every so often you will see one count is high and the next is low, overall there is the correct amount but it does vary.
What happens is that the DT800 has been doing its house keeping routine and so one reading was taken slightly late and the next at the correct time.

Now try

BEGIN
RA1S T 7C(RS,R)
END

Now the readings will be quite steady because the time base has been corrected for any slight variations in time that may occur.

You can use the DT function to show any time variation between sequential readings. This type f function is often used for things like control loops (PID) or where the process is time sensitive.

BEGIN
RA1S T 7C(RS,R) 7C(DT)
END

Regards,
Roger

Good morning Mark, RS = Reading / Time difference between readings DT = Time differance between readings. If you have access to a function generator set it to a known frequency and connect the input to counter 7 and set the frequency at say 300 Hz and try this bit of code. BEGIN RA1S T 7C(R) END As we are asking for the number of counts per second we would expect to see a value of 300 Hz and over all it will be very close. But if you look closely every so often you will see one count is high and the next is low, overall there is the correct amount but it does vary. What happens is that the DT800 has been doing its house keeping routine and so one reading was taken slightly late and the next at the correct time. Now try BEGIN RA1S T 7C(RS,R) END Now the readings will be quite steady because the time base has been corrected for any slight variations in time that may occur. You can use the DT function to show any time variation between sequential readings. This type f function is often used for things like control loops (PID) or where the process is time sensitive. BEGIN RA1S T 7C(RS,R) 7C(DT) END Regards, Roger

Roger,

That's the exact situation that I was seeing. Thanks again for all of your help!

Mark

Roger, That's the exact situation that I was seeing. Thanks again for all of your help! Mark
19
4
2
live preview
enter atleast 10 characters
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
With selected deselect posts show selected posts
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft