ControlLogix Clock

dave b

Member
Join Date
Sep 2003
Posts
10
Does anyone know how a ControlLogix clock could be remotely set, from say a SCADA system ?

Only GSV is available for the .DateTime attributes YY/MM/DD hh:mm:ss, as they are decoded internally from the .CurrentValue

It may involve setting the WALLTIMECLOCK.CurrentValue DINT[2] array with suitable numbers, but does anyone understand how these are coded ?

I read it is an offset from 01/01/1981 0000 hrs, but can't seem to determine how the numbers work.

Please feel free to go into detail !! :p
 
The ControlLogix manual appears to be wrong.

I think that the WALLTIMECLOCK.CurrentValue DINT[2] is a 64 bit integer containing the number of microseconds since 00:00 hours 1 Jan 1972.

Your SCADA could calculate the number of microseconds since then for the time to be set, comm it down to the PLC along with a flag telling the PLC to execute an SSV command to set the WALLCLOCK.CurrentValue DINT[2]

:D
 
Hi Dave.

Did you get the Control Logix to sucessfully accept the time update from the SCADA system? I ask because I'm running into the same problem with a current programming project. Any advice you can pass along is *greatly * appreciated! ;)
 
From the SilverPlatter Department

Setting the clock...

copy the two rungs...

XIO(CLOCK_system_set)GSV(WALLCLOCKTIME,,DateTime,CLOCKreadvalues[0]);
XIC(CLOCK_system_set)SSV(WALLCLOCKTIME,,DateTime,CLOCKsetvalues[0]);

and your controller tags contain....

CLOCK_system_set BOOL
CLOCKreadvalues DINT[7]
CLOCKsetvalues DINT[7]

fill the CLOCKsetvalues array with the date and time then toggle the set bit.

Have at it.
Bitmore
 
Hi Dave.

Did you get the Control Logix to sucessfully accept the time update from the SCADA system? I ask because I'm running into the same problem with a current programming project. Any advice you can pass along is *greatly * appreciated! ;)
 
Hi'ya Bitmore!

First off, Thanks! :) Silver platters are the best!

Another question: In the SSV does the CLOCKsetvalues[0] cause the whole array of CLOCKsetvalues to be copied to the processor, or only the value in the array space [0]? In other words, will I need a SSV for CLOCKsetvalues[1], CLOCKsetvalues[2], etc?

Again, much thanks!
Around The Block
 
More from the SilverPlatter Department

YES the whole array is written to because of the command

CLOCKreadvalues DINT[7] Decimal Get system clock values
CLOCKreadvalues[0] DINT Decimal Year
CLOCKreadvalues[1] DINT Decimal Month
CLOCKreadvalues[2] DINT Decimal Day
CLOCKreadvalues[3] DINT Decimal Hour
CLOCKreadvalues[4] DINT Decimal Minute
CLOCKreadvalues[5] DINT Decimal Seconds
CLOCKreadvalues[6] DINT Decimal Microseconds



CLOCKsetvalues DINT[7] Decimal Set system clock values
CLOCKsetvalues[0] DINT Decimal Year
CLOCKsetvalues[1] DINT Decimal Month
CLOCKsetvalues[2] DINT Decimal Day
CLOCKsetvalues[3] DINT Decimal Hour
CLOCKsetvalues[4] DINT Decimal Minute
CLOCKsetvalues[5] DINT Decimal Second
CLOCKsetvalues[6] DINT Decimal Microseconds
This is how the arrays are set up

Bitmore
 
Last edited:
Thanks - I'll give it a try!

Hi'ya Bitmore!

Thanks again for the info. I'll try it out when I get back to the processor.

Later,
Around the Block
 

Similar Topics

I have problem to set wallclock for controllogix by using SSV.
Replies
4
Views
2,795
I created a Date_Time tag and polling the year,month,day, hour, minute etc. but they are all wrong. The year for instance is showing 1998. Is...
Replies
2
Views
1,575
I read previous posts about this but have a question:Originally Posted by roadwhore In Rsview Open Global Connections Tab under System Enter PLC...
Replies
1
Views
4,884
Why does the controllogix redundancy modules use a single mode fiber vs multimode fiber?
Replies
0
Views
22
Hello, I have two 16 point input cards and 1 16 point output card showing module faulted on my IO tree in Logix Designer. The fault code is...
Replies
7
Views
199
Back
Top Bottom