dmroeder / pylogix

Read/Write data from Allen Bradley Compact/Control Logix PLC's
Apache License 2.0
599 stars 182 forks source link

Controller firmware version data #25

Closed TheFern2 closed 5 years ago

TheFern2 commented 6 years ago

It is possible to get controller firmware version? or controller model?

dmroeder commented 6 years ago

The only way to do that at the moment is to use .Discover(), then iterate through the devices in the reply, you should be able to get the information you need based on the IP Address.

I suppose the flaw with that though would be with CLX systems, since it would discover the Ethernet Module and not the controller itself. I'll get something going to get the properties of a specific device or module.

TheFern2 commented 6 years ago

I'll give it a try and see what information I get with Discover() method.

dmroeder commented 5 years ago

I added GetModuleProperties() to get the properties of a module. Just specify the slot number of the properties you want. It returns the same type as Discover(). So in the reply, .ProductName and .Revision for the example you asked about. Let me know what you think.

TheFern2 commented 5 years ago

Awesome, I'll give it a test Monday, and let you know.

TheFern2 commented 5 years ago

Dustin this worked great, ran the GetModuleProperties on 6 slots. Thanks for the addition! This issue/enhancement can be closed for sure : )

1756-L84E/B  -  Rockwell Automation/Allen-Bradley  -  30.11

1756-L73/B LOGIX5573  -  Rockwell Automation/Allen-Bradley  -  30.11

1756-EN2T/C  -  Rockwell Automation/Allen-Bradley  -  4.3

1756-EN2TR/C 217021900  -  Rockwell Automation/Allen-Bradley  -  10.7

1756-EN2TR/C 217021900  -  Rockwell Automation/Allen-Bradley  -  10.7

MVI56E-MNETC  -  Prosoft Technology  -  3.1

MVI56E-MNETC  -  Prosoft Technology  -  3.1
dmroeder commented 5 years ago

Nice, thanks for the update. That is a high dollar setup you have there!

TheFern2 commented 5 years ago

No joke, the L7 is being used as a dummy right now. Eventually they want to use it in a redundant system with the L8. Though because this one plc controls everything the L7 cpu couldn't handle all the communication and it used to freeze for a few seconds at a time and they went with L8 instead. Allen Bradley, money, money, money,..... money lol