Any means elegant to read/write time of an AB CLX?

iuhytvYUTCU

Member
Join Date
Jun 2018
Location
Shanghai
Posts
28
Been working on an infrastructure that handles with batch production, and it also needs to deal with batch procedure report data, in which there are timestamps, and runs on AB CLX platform. Since timestamps obviously come from plc local time, there's a risk that when plc should lose its time and then time reverts back to something like year 1998, the situation will corrupt report data integrity.

Since I don't want to complicate the system design, nor to burden project programmers and on-site engineers with additional mechanism or 3rd party applications, like CIP time sync or controller clock update tool, it leaves me without options, especially I want it to be elegantly working.


So does anyone ever find a way to implement design, on FTView SE or a C# application, to read and if necessary, write plc time of an AB CLX, directly on THIS time?
165316586-df1cd00d-57b8-4a4f-bc10-921d533c5c0e.png
 
Last edited:
get and set system variables lets you read and write time (GSV/SSV) in the plc. Specifically looking at the WallClockTime object for time.
 
Last edited:
Yeah, I got idea for that, I believe it will work just fine. However because my system runs on a C# application with Windows service, it woule be excellent if I can integrate in it something talks to plc directly, eliminating the need to add more program routine
 
You could potentially use time from the other system for timestamps instead of PLC time. I unfortunately do not know of any way to write time to the PLC in a CLX without using SSV instruction, or timesync.
 
You haver three options, none is more important than the others.
I do not know about price.
a) Use python and pylogix in order to maintain your RTC on track.
b) you can install a GPS server either as a module or externally, this way your PLC RTC is right on track.
c) Continue with your C# and build your own application.

Note: Free application from Rockwell can run as a service , so you will never note when is working.
 
I am not aware of a C# library to read or write the Controller System Time object, either open-source or commercial.

There is a python library; dmroeder can explain if it accesses the CST directly or the WallClockTime object.

You can certainly reverse-engineer the comms used by the Logix 5000 Clock Update Tool if you wish.

Or you could use the NTP client Add-On Instruction from the Rockwell Sample Code website.

In my experience, the most common, reliable, simple, and maintainable-by-others method is to run the Logix 5000 Clock Update Tool as a service.
 
I thought they had removed the Studio 5000 Clock Sync Service Tool from the download page? Is it back?

From - ID: QA51646 | Access Levels: Everyone Logix5000 Clock Update Tool

The "Clock Sync Service Tool " has been removed from the download site and obsoleted.

I believe the "Logix5000 Clock Update Tool" is still current.

ID: QA51646 | Access Levels: Everyone
 
How about just COP the current date to another array. Compare to see if the date reverted and if it did SSV the recorded date back.

Also have the PC write the date/time to a different array in the PLC, compare it and SSV it to the wall clock as needed, if the PC can't write directly to the clock.
 
Not really what you wanted - needs PLC code change.

Rockwells Process Library (i.e. version 4.xxx for the older non PlantPAx controllers) has some add on time instructions for the PLC's:

T_Clock - may help with access to the wall clock from the HMI.

Or for the other direction - T_Sync (with a socket compatible ethernet adaptor) lets you sync the PLC directly (roughly) to an NTP clock.

T_Clock would help FTView to get access.

Some of the other add on instructions may help for playing with time in the PLC as well.

Associated manual (stretching the term somewhat): PROCES-RM013B-EN - in the 'additional add-on instruction' section.
 
I would question if sticking an SNTP or T_Sync instruction in the PLC really is burdening on-site engineers or complicating the PLC. It's a single instruction and, provided you have an NTP server available to the PLC, it wouldn't take much time to implement. A FTViewSE macro or a C# app is going to me much more burdensome and complicated.
 
Last edited:
I may be missing something, but you have said your system is a c# windoze service ?
Is the pc that is running this also on the local time.?
Why not just use the pc time.?
 

Similar Topics

Need some help here (again). I tried to download my HMI to the PLC and I get this error message about a missing file. Can anyone help?
Replies
3
Views
767
I've got a bunch of tags in my code & there's a column called "Retain" (by default they were all un-ticked) - see pic. "LaserN mm" is a distance...
Replies
10
Views
1,551
Hi, In the global object parameter value window a contractor put in the following in the #102 field. {/Data::[#1]Program:#1_Inline_CM.VSD}...
Replies
4
Views
1,540
Good Morning , I am looking to modify a machine , and I am looking at using Rockwell Automation Flex I/O modules . I ne a few analog output...
Replies
8
Views
2,562
What does the following code meas ? = Q i 0.10 thanks
Replies
3
Views
2,015
Back
Top Bottom