Multiple MSG instructions SLC5/05 TO SLC5/05

glenncooper

Member
Join Date
Oct 2010
Location
Vermont
Posts
24
Hello. I've reviewed the available posts regarding messaging with the 5/05, but still find myself short of a workable solution. Our network is a bit tricky, but I'll try to explain. We have 5 production lines that have three PLCs each (2 SLC5/05s and a Micrologix with the Ethernet adapter). The network structure makes each of these production lines completely isolated from the others. I've opted to use the most under-utilized SLC to handle the MSG statements. The communications between processors on a given machine are rock solid, and work fine. This is true despite the fact that I'm not using any logic to try and coordinate the MSG instruction's execution. Each MSG instruction is always true, and the "read error" and "read done" bits unlatch the "Read Enable" bit. This strategy is apparently based on some very old A.B. reference, as was indicated in an earlier post.

The situation then gets tricky. We have another single SLC5/05 that communicates with all five of these production lines. We're using a level 3 switch, and have no problem establishing communications between this common SLC and the five production lines, while simultaneously keeping the five lines isolated from each other. I feel pretty solid about the network architecture for these. (FYI - all of the SLCs use an addressing structure like: 10.10.x.yy, where x is 1-5 for the production lines and 7 for the common PLC, and yy varies for the processors within a given machine. With the correct subnet structure and the use of the level 3 switch we don't appear to have any issues establishing communications between processors).

But I'm having tons of problems trying to get reliable messaging between this common SLC and the five lines. I've tried having the MSG statements in the common SLC, which gives me 10 MSG instructions. I haven't tried anything to coordinate the triggering of these, however. This hasn't worked well at all.
And I've tried putting the MSG instructions in the production line PLCs and have them each point to this common PLC. This also hasn't worked well. The fact that neither scheme has worked is no surprise given that there are 10 MSG instructions with no coordination about when they are enabled.

I've seen a couple of posts in this forum about using the DN and ERR bits of one MSG instruction to trigger the next MSG instruction, which gives you the fastest MSG execution time without having these MSGs pile on top of each other. This conceptually seems nice, but I have big concerns about what happens if one of the MSG instructions is returning an error - seems like this will trash the entire scheme.

So the sequential triggering of the MSG instructions seems like the way to go. For the communications between this single PLC and the five lines, I'd like to move the MSG instructions back to the single SLC, but I need a reliable way to sequentially trigger them without bringing the whole system to a crawl if one of the MSGs is in error.

Should mention: This common SLC is a 1747-L552 Series C FRN3-9, which indicates that it can support 64 connections on channel 1 (but is running between 6 and 7).

Sorry for the long post - any help resolving this would be FANTASTIC!!! Thanks!
 
Glen,

The first question is how important these messages are that you want to send.

I have quite a lot of PLC's 'talking' to other PLC's, and if the messages aren't that important I use the system clock to poll through the messages using a EQUal instruction.

So when the time second bit is equal to 10 send this message, when it is equal to 20 send another message and so on.

If the messages are critical then as you have stated above, I would use the DN or ERR of the previous message.

As I say it all depends on how critical each message is.

Cheers

Mark
 
Mark - thanks for the input. The data in question is not mission critical, but something that I probably want to process within a few seconds.
So in the cases where you're using the DN and ERR bits of the previous message - do you have any concerns about things grinding to a crawl if one of the MSG instructions is responding with errors?
 
If one of the MSG instructions is responding with errors I would flag that up as an alarm, so that you know that the message is not being transmitted.

But if you are using the DN bit or'ed with the ERR bit then the next message will still execute.

If the MSG instructions are not that critical I would still use a CMP on the system time bit, that way the MSG instructions are not dependant on each other.

Cheers

Mark
 
this is just "brain storming" stuff – but it might be helpful ...

based on what you've posted above, it sounds like you might have some misconceptions about WHEN the Message instruction actually performs its communication duties ...

think: "buffer" – and "end of scan" ...

specifically, just because you "trigger" the MSG instruction at one particular point in your ladder logic, does not mean that the communication will actually take place at that same particular point in time ...

suggestion:

read up on the SVC (Service Communications) instruction ... note that I am NOT saying that the SVC will be the answer to your problems ... but ... doing some research on what the SVC is intended to do (and WHEN it is intended to do it) might shed some light on your situation ...

thought for today:

naturally there is a REASON for the SVC instruction to exist ... once you've nailed down that reason, then you may (or may not) be able to come up with a solution to your problem ...

just as a sample, here's a statement from the Instruction Help feature:

The SVC instruction is used when you want to execute a communication function such as transmitting a message, prior to the normal service communication portion of the operating scan.

I hope that this is helpful ... good luck with your project ...
 
Last edited:
Hello. I've reviewed the available posts regarding messaging with the 5/05, but still find myself short of a workable solution. Our network is a bit tricky, but I'll try to explain. We have 5 production lines that have three PLCs each (2 SLC5/05s and a Micrologix with the Ethernet adapter). The network structure makes each of these production lines completely isolated from the others. I've opted to use the most under-utilized SLC to handle the MSG statements. The communications between processors on a given machine are rock solid, and work fine. This is true despite the fact that I'm not using any logic to try and coordinate the MSG instruction's execution. Each MSG instruction is always true, and the "read error" and "read done" bits unlatch the "Read Enable" bit. This strategy is apparently based on some very old A.B. reference, as was indicated in an earlier post.

The situation then gets tricky. We have another single SLC5/05 that communicates with all five of these production lines. We're using a level 3 switch, and have no problem establishing communications between this common SLC and the five production lines, while simultaneously keeping the five lines isolated from each other. I feel pretty solid about the network architecture for these. (FYI - all of the SLCs use an addressing structure like: 10.10.x.yy, where x is 1-5 for the production lines and 7 for the common PLC, and yy varies for the processors within a given machine. With the correct subnet structure and the use of the level 3 switch we don't appear to have any issues establishing communications between processors).

But I'm having tons of problems trying to get reliable messaging between this common SLC and the five lines. I've tried having the MSG statements in the common SLC, which gives me 10 MSG instructions. I haven't tried anything to coordinate the triggering of these, however. This hasn't worked well at all.
And I've tried putting the MSG instructions in the production line PLCs and have them each point to this common PLC. This also hasn't worked well. The fact that neither scheme has worked is no surprise given that there are 10 MSG instructions with no coordination about when they are enabled.

I've seen a couple of posts in this forum about using the DN and ERR bits of one MSG instruction to trigger the next MSG instruction, which gives you the fastest MSG execution time without having these MSGs pile on top of each other. This conceptually seems nice, but I have big concerns about what happens if one of the MSG instructions is returning an error - seems like this will trash the entire scheme.

So the sequential triggering of the MSG instructions seems like the way to go. For the communications between this single PLC and the five lines, I'd like to move the MSG instructions back to the single SLC, but I need a reliable way to sequentially trigger them without bringing the whole system to a crawl if one of the MSGs is in error.

Should mention: This common SLC is a 1747-L552 Series C FRN3-9, which indicates that it can support 64 connections on channel 1 (but is running between 6 and 7).

Sorry for the long post - any help resolving this would be FANTASTIC!!! Thanks!

My gut says it's a routing problem.
Could all the subnets use a 255.255.0.0 mask that would allow class A traffic without the use of a routing table?
You would have to change every devices mask but you could do it as a test if it was not to difficult.

If I understand correctly in the current setup every packet on the balky SLC gets routed whereas message traffic withing the various subnets is not because it is local to the subnet or via a VLAN.

Another test would be to change the balky slc to an open IP on one of the 5 other subnets and see if it can communicate reliably with whichever subnet it's on but not the other subnets.

If it works locally but not on the remote subnets then it's most likely a routing problem.
 
Last edited:
Just want to thank everyone for their input. The subnet mask issue is one we've had to tackle already. We use a 255.255.240.0 subnet for all the processors, and this allows them to talk to each other via our level 3 switch. The MSG is an interesting bugger. I'm trying it out right now with one of the five target PLCs shut down, and that brings all of the MSG stuff to a grinding halt. I'll be playing with this so that the processor doesn't suck up too much time hanging out with a bad connection, which seems to be what's happening now.
 
Just want to thank everyone for their input. The subnet mask issue is one we've had to tackle already. We use a 255.255.240.0 subnet for all the processors, and this allows them to talk to each other via our level 3 switch. The MSG is an interesting bugger. I'm trying it out right now with one of the five target PLCs shut down, and that brings all of the MSG stuff to a grinding halt. I'll be playing with this so that the processor doesn't suck up too much time hanging out with a bad connection, which seems to be what's happening now.

I know this thread is old but I had a hard time getting this right, so maybe some one may benefit from this:

Glenncooper,

I have had success with sequencing and grouping of MSGs to multiple processor (2x L32E, 4x L35E, 3x SLC 5/05, & 2x ML1400 and they are on three different networks), albeit my primary PLC is a L35E, but all are exchanging data. As mentioned above, using the DN or ER or TO will advance your MSGs but it will still need to be flagged.

Now as for a processor getting shut down, the way I handle this is by using "cases." Example: If this PLC is offline or no heartbeat, skip to next group etc., ensuring that all other processors are still communicating.

K
 
Last edited:

Similar Topics

Hi, I branched a previos thread so this only deals with one subject. The Rockwell Power Monitor 500 presents several instances for its data...
Replies
6
Views
3,519
Hello everyone Usually i poll each comm message 1 by 1 but in a particular project, i would like to have 2 different refreshing speed Does it...
Replies
4
Views
2,909
This is the first time I am working with Simatic Manager Step7 as I started my siemens journey with TIA which is pretty easy and do a lot of stuff...
Replies
3
Views
134
Compactlogix controller, program has 28 conveyors that use TON's to start the conveyors. The TT sounds a warning horn during start and the DN...
Replies
10
Views
485
I have 9 field devices, three METSEPM5110 power meters and six ACE949-2 rs285 interface modules. I want to read this Modbus rtu data through rs485...
Replies
8
Views
315
Back
Top Bottom