Determine if a Remote PLC is in Program Mode from another PLC?

theColonel26

Lifetime Supporting Member
Join Date
Feb 2014
Location
West Michigan
Posts
785
Rockwell CompactLogix or ControlLogix 5x70 or 5x80 series:

Is it possible to determine if a Remote PLC is in Program Mode from another PLC?

basically is there any tags I can read from another PLC using a MSG that will tell me if it is in program mode?

Bonus points for telling me if it is Running or Faulted too.
 
Rockwell CompactLogix or ControlLogix 5x70 or 5x80 series:

Is it possible to determine if a Remote PLC is in Program Mode from another PLC?

basically is there any tags I can read from another PLC using a MSG that will tell me if it is in program mode?

Bonus points for telling me if it is Running or Faulted too.

You could setup Produce / Consume and use the "Connection Status" which includes Connection and PLC Running Status.

For faults, you would have to do a GSV in the other controller and send that over.

I am not a big fan of P&C, unless it is really required. IO tree and such.

I would do a GSV to grab the processor fault status, and then do a PLC Read. In the data you are reading, include the GSV results, as well as an incrementing integer that is +1 every scan, this will tell you that the message data is not stale, PLC is in Run mode.
 
Are you opposed to setting up producer/consumer between the two controllers? If so, then it is pretty easy (edit: controller in run mode is easy)

Edit2: Check out Archie's info on processor status:

https://www.advancedhmi.com/documentation/index.php?title=Class_Codes_for_ControlLogix


I don't like P&C for 2 main reason
1. It is read/read and each PLC has to be aware of the other. This is a PIA if you have standard programs like I do, every machine would have to be a snowflake.

2. The size of each Tag is annoyingly limited. IIRC it is 512 bytes?

That link is awesome than you sir.
 
I don't like P&C for 2 main reason
1. It is read/read and each PLC has to be aware of the other. This is a PIA if you have standard programs like I do, every machine would have to be a snowflake.

2. The size of each Tag is annoyingly limited. IIRC it is 512 bytes?

That link is awesome than you sir.

true-shay
 
I don't like P&C for 2 main reason
1. It is read/read and each PLC has to be aware of the other. This is a PIA if you have standard programs like I do, every machine would have to be a snowflake.

The Consumer needs to be aware of the Producer. The Producer is oblivious to any consumers. Nothing needs to be done to make it aware of the Consumer. The only thing you must do is create the produce tag and make sure enough connections are allocated.

2. The size of each Tag is annoyingly limited. IIRC it is 512 bytes?

I get this. But that amounts to about 125 DINTs (using an array or UDT) in one P/C tag. And you get the controller status included.

RA has a Tech note (ID: QA31079 sub required) on reading another PLCs status. I haven't tried this method.

https://rockwellautomation.custhelp.com/app/answers/answer_view/a_id/779392/loc/en_US#__highlight

To me, the big annoyance is the limitation of what I can do while the controller is running.

OG
 
The Consumer needs to be aware of the Producer. The Producer is oblivious to any consumers. Nothing needs to be done to make it aware of the Consumer. The only thing you must do is create the produce tag and make sure enough connections are allocated.
Yes if you only want one way reading, but I need 2 way communication.

My machines are usually controlled by the Main Plant PLCs. The main PLC has to tell my PLC when and what to do, and my PLC need to tell the main PLC that it is done and what the results were.

So I have a code "library" that I give to our customers that does Read and Write to our PLC using MSGs that way my PLC doesn't have to be aware of the the other PLC, it just knows someone is writing in to certain tags.

It's very insecure but then again if my customers cared about security inside their network perimeter then they wouldn't force us to use Rockwell PLCs, because God knows Rockwell doesn't care about security.
 
Agree that you will almost always want two-way communications. One nice touch though is that the controller stops sending MSG when in Program Mode (though they can reply), but P/C continues in Program and even if there is a Major Fault.

But again, I get where you are coming from. MSG doesn't really require us to do anything on the other end.

OG
 
Agree that you will almost always want two-way communications. One nice touch though is that the controller stops sending MSG when in Program Mode (though they can reply), but P/C continues in Program and even if there is a Major Fault.

But again, I get where you are coming from. MSG doesn't really require us to do anything on the other end.

OG

Also MSG configuration can be done via code and HMI.

I always do reads if possible, this way a search shows in usage / xref.

P&C is a PITA, and I only use it if needed or forced, takes me back to MicroLogix 1100, 1200, 1500, no online changes is really painful.
 
Also MSG configuration can be done via code and HMI.

I always do reads if possible, this way a search shows in usage / xref.

P&C is a PITA, and I only use it if needed or forced, takes me back to MicroLogix 1100, 1200, 1500, no online changes is really painful.
Oh Yeah I forgot about this.

Yeah basically every single one our Customer PLCs are running continuous processes, some customers claim they NEVER take their PLCs out of run. (they do get restarted sometimes by the occasional power blip though (y))


My opposition to P&C isn't religious or anything it just as it is now, it is a real pain in the ***, and the cost greatly out weighs the benefits for me.
 
For what it's worth, I've yet to have a need to know exactly what mode another PLC is in. All I care about is whether or not it is running AND if I am connected to it. That can be accomplished by one of the many heartbeat / changing number schemes.
 
For what it's worth, I've yet to have a need to know exactly what mode another PLC is in. All I care about is whether or not it is running AND if I am connected to it. That can be accomplished by one of the many heartbeat / changing number schemes.
Yeah I already do that, but I want to be able to present more specific Alarm messages to the user, so that they can tell me what is wrong.

It also prevents them from wildly speculating about the cause of the issue. Users create some really creative ideas about is causing the problem and a lot of times they lead me off track from the get go. I always try to assume that what a user says is 50% BS but the problem is that I do not know which 50% is BS. šŸ™ƒ

More info the better
 

Similar Topics

I have a program for a plc 5/20, and am trying to solidify the i/o for a customer. The plc is in the same cabinet as the i/o rack, but it's not in...
Replies
5
Views
3,081
Hello, i am a beginner with a Siemens Logo 8 PLC. I would determine the direction of an object if it passes a whole cycle of 2 input sensors. See...
Replies
2
Views
189
Hi all, Just looking through the CIP_AXIS_DRIVE data type in a Logix controller to look for something that can tell me whether the current...
Replies
2
Views
1,070
I'm currently working on an MES interface PLC which passes around a whole bunch of strings. A lot of these strings are really just to allow for an...
Replies
0
Views
1,118
I don't use AB much these days, and any installs I've done in years past have been setup by myself from scratch, so I've always known what...
Replies
8
Views
2,083
Back
Top Bottom