Allen-Bradley Logix Driver (not Legacy)

I’ve been trying to find a way to find out status information on allen bradley logix processors without having to go into each processor and use a GSV.
The default diagnostics tags within ignition actually show some information including processor status.
The “Status” tag long integer actually correlates to GSV instruction data within a processor.
I want to hijack the driver and grab “Audit” information like forces and program changes. If the driver is grabbing status there should be a way to grab audit information.

This is the table that correlates the status long integer in ignition to actual Allen Bradley information:

The diagnostics you’re talking about actually come from reading the CIP IdentityObject, a standard object available in any CIP product, and not from any ability of the driver to execute GSV instructions or equivalent.

That Rockwell puts the same status value into the IdentityObject status member is just a convenient coincidence.

If the information your looking for is available via a documented Class Id, Instance Id, and Attribute Id, then it might be something the driver could be modified to obtain as a feature, but you’re not going to “trick” it into reading anything like that.

Thank you Kevin, that is interesting.
The information I am looking for looks like this:

Again, I appreciate the help.

Did they just swap “ID” with “Name”?
Hopefully since it is a “CIP Generic” message it may be standard.

Basically I am trying to find out if changes have been made to the program and if any forces are installed.

Consider using a message instruction in the PLC to pull this into a tag Ignition can read (on some interval).

I was looking at that too Phil but I didn’t want to have to set up every processor throughout the company. I was hoping to use something in python to grab status. I’ve checked out the pycomm3 module but still a little leery about it.
I may just make an aoi to make it easier to import into each processor. I was reading into that through another question someone had posted years back.

Could also use a generic cip message to grab the information from another processor.
Would be pretty cool and interesting if ignition could send generic cip messages.

Well, yes, it IS pretty cool.

Buried in the above module (premium version) is the ability to construct properly-encoded CIP requests and decode the responses.

The scripting is, unfortunately, somewhat difficult to work with and poorly documented. /:

A major upgrade that will simplify your use-case is in the works. I was hoping to release a beta in Q1, but that plan hit some rocks. (A refactoring of +42k -25k LOC, so far.) The refactor is to support a whole bunch of client features, including class/instance/attribute access. I’m regression testing a big chunk of it right now. (:

Phenomenal Phil.
I was checking out your module btw. And I was confused but confusion is in my dna. I will remain patient for the new release.

Huh. It's been a year since that rosy timeline. But direct support for CIP attributes is now available as a beta:

1 Like


1 Like