90-30 Clock?

reese006

Member
Join Date
Sep 2008
Location
Birmingham, AL
Posts
21
Ok I am new to the GE PLC world and have been spoiled with AB Control Logix over the past several years (or at least I think so). However I have a project using a GE 90-30 CPU374 Plus. I need to get the controller clock. I have located the SVC_REQ 7 function and have been able to get it to work, capturing the clock in BCD format through. I can not figure out how to seperate the data once I capture it. For example my year and month are both in %R00010, with the High Byte being the month and the low byte being the year. How do I sperate those out? Or am I capturing the clock wrong? Is there a way to capture it not in BCD format for this controller?
 
You could capture it in ASCII format but that's even more difficult to extract into individual reigsters.

To extract the low byte, AND the word with 00FF and convert the result from BCD to INT.

To extract the high byte, AND the word with FF00, divide the result by 256 and then convert from BCD to INT.
 
You could capture it in ASCII format but that's even more difficult to extract into individual reigsters.

To extract the low byte, AND the word with 00FF and convert the result from BCD to INT.

To extract the high byte, AND the word with FF00, divide the result by 256 and then convert from BCD to INT.

Steve - Thanks. Yea in the time of me posting my question and you answering ot I found that also, by you in another thread ;). Not to sound greedy but is there another way? I mean it feels like I am going half way around the world to get the clock.
 
I use the ARRAY_MOV Byte Function blocks. Select the ARRAY_MOV Function Block, either in the Toolchest or in Logic and press "F1" for instruction details on this.
Also there is an example program of this in the Download section on this site.
It is called Clock_Demo.zip in the "Other PLC brands" section.
 
Last edited:
I use the ARRAY_MOV Byte Function blocks. Select the ARRAY_MOV Function Block, either in the Toolchest or in Logic and press "F1" for instruction details on this.
Also there is an example program of this in the Download section on this site.
It is called Clock_Demo.zip in the "Other PLC brands" section.

Thanks Russ. I had looked at using the ARRAY_MOV Byte as well. I was having issues with it reading the Hi and Low bytes but will give it another try as I liked the code you posted, pretty compact. Man having to use around 17 registers to just get the clock seems like a lot. Guess I didn't know what I had with a UDT and one line of a GSV in the AB world.

My biggest concern was that I was making it more difficult then it needed to be, but sounds like I wasn't.

Speaking of UDT's I see in mentioned but it does not give me the option to create one. I am assuming it is because I am using 90-30 374cpu?
 
Speaking of UDT's I see in mentioned but it does not give me the option to create one. I am assuming it is because I am using 90-30 374cpu?
You are correct, the 90-30 is more in the class of a SLC500, GEIP's PAC is the RX3i platform. Some say it is even above the ControLogix in some areas, like Motion, Memory, & Speed. :)
 

Similar Topics

We recently purchased a IC693CPU352 module and it appears the internal time clock is static. I can set the time and date but once set it does not...
Replies
5
Views
168
Hello. I cannot change the SendClock settings for a PROFINET IO device. I need to slow down the CODESYS PROFINET IO controller. What am I doing...
Replies
0
Views
198
Hello everyone, I am not a programmer, but I can do some simple programming. So now I want the time to be recorded every time a pump turns on. I...
Replies
35
Views
2,701
Hello, I am trying to create an AOI that will retrive the clock datetime bits from a master plc through a generic message read instruction and...
Replies
2
Views
489
I was online a SLC5/04 yesterday and one thing I did was go to processor properties and set the date and time to get the PLC clock current. It...
Replies
4
Views
721
Back
Top Bottom