Configuration of a Logix5000 Message
In the previous practice, we saw how to configure consumed and produced tags, today we will configure messages for data exchange between two Logix5000 stations. It is important to highlight that in addition to sending data between 5000 controllers, it can also be used to send data to its predecessors such as the PLC2, PLC3, PLC5, and the SLC 500, and even to reset failing modules.
Here we will see the basics: a read message, a write message, and we will assume the following example: from a remote station, we are interested in knowing the total number of pieces produced.
As in the previous practice, we will start with two projects, where the only thing we have configured is the hardware: a SoftLogix controller and a Network card, where both devices are on the same subnet.
To start, the first thing we will do is configure the Ethernet/IP network, although it should be noted that this step is optional, which is why the following animation has been created to show the process of how to do it.
Getting into the subject, first of all, we need to know the basic rules that must be kept in mind.
The tags we create to configure the message, Source Element and Destination Element, must be global scope, meaning controller tags, just like the Message type Tag.
Tags of type Message and Motion (Axes) are not allowed for these tags.
Once the basics are known, we will create our Message type tag at the controller level, which is essential for creating a message.
Once we have created our Message type Tag, we go to our main program or the subroutine where we want to insert our MSG function and look for the instruction or simply write MSG and insert it. We can now assign the Message tag and click on the ... for the message type configuration.
A pop-up window opens for the message configuration. The first thing we must select is the type of message, in this case, the most basic, a CIP Read or Write message, in this case, Read.
The first field, Source Element, refers to the source tag we want to read. In this case, this Tag belongs to the Remote Controller. Going back to the beginning, we have created two projects, the second of which only has a globally scoped tag called PieceCounter configured, and that is precisely the tag we are interested in.
The next step is the number of Elements, in this case, 1. If we were interested in reading an Array, we would have to read it completely; we cannot read part of it. For more specifications, consult the manual.
Destination Element, where we will store the value read from Source Element, we create a new tag, and remember that it must be a Controller tag!
Once the configuration data has been specified, we move on to configure the communication. Here, as we had previously configured the Ethernet/IP Network, we simply have to find where we want to send our message, select our Controller, and that's it.
We can now confirm and check that there are no errors.
Finally, to check the operation, we insert a normally open contact, which will be the one we will force each time we want to execute the function.
We can now compile and verify our entire project. If everything is correct, we proceed to load both programs into both controllers and check their operation.
While online, from the Remote controller, we force a value from Monitor Tags to the PieceCounter Tag. Once this value is forced, we go to the Local controller and force the open contact to execute the MSG function and observe how our variable TotalPiecesRead updates its value with the value from our Remote controller. If possible, I hope to be able to do a practice of reading data from an SLC 500 Processor.
May 29, 2013
If you liked it or found the information useful, share it...