Click here to learn the biblical way to get to heaven! (The most important page on this site)


Disclaimer: This document is written in the hope that you can utilize for your own education to gain knowledge of PLC systems (should you decide to utilize this document). Although I believe the information in this document to be accurate, it is YOUR responsibility to verify this information before implementing it in any way, especially when damage to personnel or equipment could result. By continuing to read this document, you agree to hold no one who writes, modifies, or distributes this document liable in any way (even negligence). Due to the wide variety of plant applications, some of the examples in this document may be prohibited at your location, or could cause damage to equipment, or harm personnel.
[Visit my Church Website] -- [Return to Index Page] -- [View Training Courses] -- [Contact ATI for Training] *Copyright 2005
Author: Ricky Bryce (Montgomery County, IL)
VPS Hosting Referral Code MJDCDJYou can have your very own virtual server though VPSLink! Using REFERRAL code MJDCDJ you will receive a 10% discount on your new account, and I will get a service credit on my account. My personal preference is the Link 2 package running XEN for starting out (You can upgrade any time). You can choose from a variety of Linux distributions such as CENTOS, Fedora, Debian, and Ubuntu. This is a great package for learning Linux, and setting up your own web page, or email server.

Using the GSV Command (Accessing the system time)


The PLC-5 and SLC-500 had a STATUS FILE which could used by logic at any time simply by referring to the memory location where the time and date were stored.


The system time in ControlLogix works much differently. When a new project is created, no variables exist in the tag databases. If you are going to use a variable in logic, it must first be created first.


The system time in ControlLogix is called the WALLCLOCKTIME object. First an array must be be allocated in the tag database, then we must use a GSV (Get System Value) command to continuously load the time from the system into the new array.


You should access the help file in RSLogix 5000 for a complete description of the WALLCLOCKTIME object. To access the help file, click Help on the menu bar, then click Contents. Click the FIND tab. If this is the first time you are using the Help|Find feature, you may be prompted to select next, then finish to build the help database. Type wallclocktime in step 1, then in step 3, double click 'accessing the wallclocktime object'.


For this example, we are simply going to create an array of seven elements in the controller tag database, then use the GSV command to populate the array with the system time. The purpose of each of the seven elements are as follows:

Element 0 – Year

Element 1 – Month

Element 2 – Day

Element 3 – Hour

Element 4 – Minute

Element 5 – Second

Element 6 – Microsecond


Let's get started....


  1. First we need to open the controller tag database at the top of your controller organizer window.






  1. Next, let's be sure the 'edit tags' tab is selected so we can add a new tag.





  1. The new tag we create will be called 'time', and the type will be 'DINT[7]'. Recall that the [7] will create an array of 7 elements. Press enter to accept the tag.





  1. Let's look at the Array. Click “Monitor Tags”. Click the “+” next to the tag name, and you will see that seven elements have been created.






  1. Next we need to choose which routine we will be adding the GSV to. Recall that the purpose of this GSV is to extract the wall clock time from the system, and load it into the tag we just created. For this example, we will go to the MainRoutine of the MainProgram. You can access the routines from the controller organizer window.





  1. Be sure the end rung is highlighted, then type GSV (Then press “Enter”) You will notice the GSV command has been added to you logic.





  1. Double click the “?” next to Class Name. The class will be WALLCLOCKTIME. There is only one instance available of this class, so we don't need to select one. The Attribute will be DateTime. The destination should be time[0].







  1. Now you can download your work, and go on line in Run mode. If your GSV command is working properly, the GSV command will be extracting the time from the system, and loading the wall clock time (of 7 elements) into our time tag starting with element 0. To test this, go back to your controller tags, Be sure the time tag is still expanded, and you will see data in the following format:


time[0] = Year

time[1] = Month

time[2] = Day

time[3] = Hour

time[4] = Minute

time[5] = Second

time[6] = Microsecond