Jump to content

Elapsed Time but with Date and Time


Recommended Posts

Dear all

 

In my application I have to measure the elapsed time between 2 events that can happen on 2 different timestamps on the calender.

 

Example:

 

What is the time elapsed between 20-01-2016 16:35:55 and 19-04-2015 14:41:22?

If I can have the elapsed time value as a number that can be converted afterwards in Years, Months, Days, Hours, Minutes and Seconds, that's ok.

If it can be directly displayed as a result from a End Time and Start Time Substraction, is also ok.

 

I'm using the V350 and can display the actual time using the link to SI30 to the Variable UTC, this works.

The problem is that when I store SI30 to a DW variable it only saves the seconds and not the complete time stamp (= Year, Month, Day, Hours, Minutes, Seconds) in seconds, so every 60s it goes back to 0s.

As a consequence the elapsed time is corrupt: sometimes values are also negative and only in seconds,  45s-59s= negative value of course

 

I would like to store the Start Time Stamp in DW0 as a number and the End Time Stamp in DW1 as a number and substract DW1-DW0 and save it in DW3.

DW3 should then give me the elapsed time in Years, Months, Days, Hours, Minutes, Seconds.  Here it gives me only seconds and wrong values.

It seems SI30 is giving me the complete Time Stamp on the Display if using a Variable UTC but if you work with the SI30 and store it in DW variables it only stores seconds and not the complete Time Stamp.

 

I would like some help to calculate the elapsed time between 2 calender events.

 

Any help is welcome!

 

Link to comment
Share on other sites

Hello,

 

What is the end result you are looking for?  The elapsed time between two calendar events in total seconds?  Or in a Years, Months, Days, Hours, Minutes, Seconds difference?

 

If you are trying to get the RTC into a DW, you can use the RTC to UTC function block in the ladder (Utils > Clock > UTC > RTC to UTC).  This will take SI30 through SI34 and put the RTC into a UTC format.  With this, you can perform calculations for a time event difference.  If you use the UTC to RTC function block, you can take the time difference and get the RTC value into 5 integers; the format for the integers is as follows:

 

First MI = seconds (SS)

Second MI = time (HHMM)

Third MI = date (DDMM)

Fourth MI = year (YYYY)

Fifth MI = day (1-7)

 

Hope this helps.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.