PLC Communication

johnlocke

Member
Join Date
Apr 2021
Location
Tennessee
Posts
3
I am wanting to control one PLC from a separate PLC. They are connected via ethernet cable to a switch. I need to be able to toggle bits in one location from the other location. How do you go about doing something like this in a RSLogix 500?
 
I am wanting to control one PLC from a separate PLC. They are connected via ethernet cable to a switch. I need to be able to toggle bits in one location from the other location. How do you go about doing something like this in a RSLogix 500?

You need to configure messaging from one PLC to another. Messaging in controllogix can be of two types: implicit or explicit. Read about them here:https://www.google.com/url?sa=t&sou...FjAGegQIHRAC&usg=AOvVaw1El5rSvfhfc0-NzK6RxUPZ


In your case, a simple way to do this is going to be to add one PLC to the second PLC's controller organizer, and maybe trigger this msg instruction every 200ms?
 
He's using Logix 500, so I'm assuming micrologix or SLC. The OP might want to post part numbers for the hardware he has.

The MSG instruction is the right tool for this job... set up a data table in the one PLC to receive the data, and the same table in the PLC that is the source of the data.

The MSG instruction is pretty well documented, so take a look, have a go and come back with some questions.

I like to control my message block with a repeating timer, so i have control of how much bandwidth each message will use. If i only have slow changing signals then i fire it off at a suitable rate.

We also do a lot of messaging over slow radio links, so being able to control polling is important.
 
And it is best practice to do a message read not a message write.
By doing a read you can see where the data is coming from, with a write you cannot tell what is changing the data, you can document it but when someone comes along later without a commented file it makes it hard to find why bits are changing.

Alan
 
Alan,

The only issue with a 'read' is that you need to check when the data has changed... I agree with its a pain to find out where the write is coming from but I like to use it to keep the data down on the network, so instead of checking has the bit change.... has the bit changed.... has the bit changed, the way I like to do it is 'if the bit changes' do a write to the other PLC, its a little better if they are using two 5/05's and ethernet but if they are using two 5/03's or 5/04's then I would just like to keep the data down on the network, also depends on how many nodes
 
So some questions here are how do you use a message to toggle these bits? I need to use an input on one PLC and have that generate a signal that is messaged to the other PLC where it can be read to toggle and input on that program.
 
So some questions here are how do you use a message to toggle these bits? I need to use an input on one PLC and have that generate a signal that is messaged to the other PLC where it can be read to toggle and input on that program.

Your best bet is to mark off a block of integers (N file or B file) in each PLC to be reserved for this transfer of data.

Map the other data points to these reserved areas. By reserved, I mean you have made notes and commented the bits and words for your use...strictly documentation.

It is always my preference to use the same addresses on each end of a RSLogix 500 message. It is nice if N20:0/3 is a copy of N20:0/3 from the other end, rather than some other file and word location. Then your comments can be copied between the two projects with a minor edit notating the direction of the data transfer.

Then set up the MSG instruction to read (and/or write) from that area. I prefer to trigger MSGs that need to be frequently repeating to run from timer that gets reset when the previous message is ERrrored or DoNe. Some folks like to just MSG over and over again as fast as possible but that is rarely a good idea.

If the process needs to know for sure that the data from the other PLC is fresh and that the other PLC has not faulted out, send a heartbeat integer along with your control bits and use that in the other PLC to monitor for stale data. A copy of S:4 is like a random number. If it stops changing, then the MSGs stopped happening.

Sometimes it is best for the process to fire the message only when the data changes so that the information is updated as soon as it changes, but not more often than necessary. If you do this, then the "heartbeat" logic may need some rethinking...maybe send data every 5 seconds and instantly upon change...maybe something different.

The MSG instruction can't do single bits, the smallest amount of data would be a single 16 bit "word". But the overhead to do a single word is large enough that I typically do at least ten integers even if 9 and a half of them are spares for future use.

You cannot edit a MSG instruction online in a Micrologix (but you can with a SLC).

The way the message instruction behaves is pretty much the same for all RSLogix 500 processors, but the details of setting them up vary widely when you move from a SLC to a Micrologix, so we need to know exactly what CPU types you're connecting to advise further.
 
It is 2 SLC 500 processors. I’m trying to conserve as much memory as possible here. Would Remote I/O be another good way of going about this?
 

Similar Topics

In our production plant we have multiple different networks (subnets). IT dept have setup routing between them so different subnets can...
Replies
0
Views
49
Is it possible to connect a PC with running WinCC Advanced or Unified to a siemens PLC such as S7-1200 across different subnets? The computers can...
Replies
0
Views
53
Hi good day Everyone, I have a cimplicity v10 project with 7 to 8k tags communicating with AB PLC through OPC and Rslinx classic. I have this...
Replies
1
Views
80
Hi Everyone, I am currently trying to communicate ControlLogix PLCs via EtherNet/IP with Delta V DCS. There is a VIM2 card configured for...
Replies
1
Views
177
Hi Guys, I am trying to establish communication over profinet between Siemens S7-1200 PLC as IO device and codesys plc as IO controller. But I am...
Replies
39
Views
2,054
Back
Top Bottom