Getting the Controller Firmware Revision Programmatically Studio 5000

Paul_Pereira

Member
Join Date
Jan 2023
Location
Amsterdam
Posts
51
Hi guys. I'm trying to display the controller firmware revision number OR the logix designer version number on my panelview plus 6 HMI. So I think I need to get this value into a tag in studio 5000 so that I can display it. I've tried GSV but it doesn't seem to have the option for firmware revision of the controller. Is there a way to do this? I'm using a AB L33ER with logix designer 33.
 
Use Class ControllerDevice and Attribute ProductRev. Return value is an INT value in HEX with the low byte the major rev and the high byte the minor rev.


I ran it on my test bench and the decimal return is 2850. Going to the tag monitor window and switching to HEX shows 16#0b22. Low byte 0x22 is 34 decimal and high byte 0x0b is 11 decimal, which corresponds to my v34.11 processor.


To find this in the help file, highlight the GSV instruction and press "F1". Scroll to the end and click the link "GSV/SSV Objects". Click the link "ControllerDevice" for a list of attributes. There are others there that you might find useful, like Status and ProductCode (returns an integer corresponding to the model name).
 
Hexadecimal Help

Hi Joseph,

Thanks for replying. With your instruction I managed to get a decimal of 3105 and the hex style gave me a value of 16#0c21. I'm not entirely sure how to convert this value into plaint text though? What is 16#0c21? I tried hexadecimal converters but they just claim that 16#0c21 is not a hex value.
 
Almost there

Thanks Tarik,

Ok so now I understand that this means I should take the last four characters to get my version number. starting with 21 to get 33 and 0C to get 12. Is there a way to programmatically convert this directly. At the moment I am copying the value out and pasting it in an online converter. Is there a way the PLC can do this itself?
 
Here is an example. The BTD instructions isolate the major and minor versions into their own tags. Then if you want to combine them, the CPT is used to add them and store the result in a REAL tag. Note that the GSV_ControllerRev tag is configured to display as HEX. That's why we see HEX in the GSV destination.

OG

ControllerRev.png
 
I used a COP instruction to get the INT tag returned by the GSV instruction into a SINT[2] array. Element [0] of the destination array got "34" decimal and element [1] got "11" decimal, which corresponds to v34.11. You could then use OG's CPT instruction to get a REAL that's the major.minor version.

GSV_Version.JPG
 

Similar Topics

The application was working in Twincat 4022.16 Used VM for offline. recently changed the laptop and the getting the error with Message as below...
Replies
0
Views
58
We are using wincc scada WinCC system software V7.5 SP2 , connected to few plc . Past 3 weeks we getting this alarm continously when we checked...
Replies
0
Views
84
I am very, very new to PLCs. I only have experience with Picos, but I knew enough to save this from the dumpster. Apparently, everything on it is...
Replies
13
Views
616
Hi, I tried today to get RD3A and WR3A instructions to work on the PLC and it didn't work, but it worked in simulation. I followed the clone...
Replies
18
Views
1,417
Good morning guys; Im new at AB plc, and i just need help about a table or a list called something like "exchange data table" in French it is...
Replies
4
Views
779
Back
Top Bottom