To read or Write w/MSG on SLC

Join Date
Jan 2003
Location
Michigan
Posts
490
Kinda best practice question really. I have 4 SLCs than need to communicate with 2 slcs on handlers which move around in front of the other 4 slcs. I had written the programs with 2 write msgs on each of the main 4 slcs which write back to the 2 handlers; one write to each handler. The question, would it be better to have the 2 handlers perform a read to each of the main plcs instead? Just curious more than anything. They are small writes too btw, a single word on each. Thanks

matt

ps, they are using the newest version of the 5/05 BTW.
 
Last edited:
There is no significant difference in TCP or CIP connection capacity or message buffering in the SLCs in your particular application.

I think for this kind of application you need to look at issues of efficiency, speed, and failure detection.

It is most efficient to send event-driven data from the initiating device. If you only have to send a recipe or setpoint occasionally, it makes sense that the network will be least loaded if you only send them when the event happens.

The downside of event-driven messaging is that it has the longest time between network infrastructure failure and detection of that failure.

If your "handler" controllers needed to know that one of the other controllers was unable to communicate with it, you would have to build a watchdog mechanism and periodically send messages simply to reset the watchdog.
 
I always follow this simple rule:
The PLC that NEEDS the data has to request for it. This way, when the needy PLC does not get the data (message errors out) it can execute some failure sequence simply based on the message error event.

If you go the other way round, then you have to deal with setting flag bits and watchdog timers to handle comms error.

BTW is your network ethernet? If it was serial such as DH+ you would have to consider message interlocking too and it could let a little complicated.
 
IMHO it's also best practice not to write to other PLCs. I only read. One good reason for this is that way you know what you're getting and where you're getting it from.

I started doing this in the old 1774-PLC (remember, no PLC software with documentation) days when you could set up a bit-write (and read) rungs. I saw situations where bits would turn on and off in a PLC and not know where to look to find the gremlin.

What I do is set up a file in each PLC on the network. The file is identical in all PLCs. Each PLC reads from all of the others
and places the results in the same location for each PLC. For example with 3 PLCs on a network I might set up a file N10:29. Assuming each PLC will read 10 words of data from the other PLCS I'd do the following.
PLC-1 will put data read from PLC-2 into N10:10 and data read from PLC-3 into N10:20.
PLC-2 will put data read from PLC-1 into N10:0 and data read from PLC-3 into N10:20
PLC-3 will put data read from PLC-1 into N10:0 and data read from PLC-2 into N10:20

And finally DOCUMENT THE WHOLE THING TO DEATH.

Good Luck

(8{)} :) .)
 

Similar Topics

The Ethernet has 3 pieces of PLC5 processors (PLC5-40E), for easy explanations, we name A,B and C. All pings are OK and RSLogix5 can connect all...
Replies
13
Views
4,898
Hi All. I can write an N7 value to a modbus register in an Automation Direct Servo but I can't read a holding register to an N7 address. I've...
Replies
3
Views
1,899
Hello, New to the forum here, and to the controls industry. I am trying to do the following: Read and Write to a 5204-DFNT-PDPMV1 ProLinx...
Replies
0
Views
1,884
Hi guys, having concluded to use MSG instructions to exchange data on dh+ I need more enlightment as to how to use MSG instructions to write from...
Replies
2
Views
2,144
I have an application where I am currently reading very small amounts of data from as many as 15 processors using a ML1100 dedicated to that...
Replies
7
Views
5,868
Back
Top Bottom