defcon.klaxon
Lifetime Supporting Member
Hey guys,
So I've got my AB PLCs up and running, and now I'm trying to work out how to pass information between them. I've been reading about MSG vs produce/consume tags, but still have some questions about how I should set up my project and how these Logix PLCs work. In this project we're using a mix of ControlLogix and CompactLogix PLCs, though at the moment I only have ControlLogix spares at my desk.
We have several remote sites so we will poll them one at a time; I should mention here that we're using Ethernet/IP modules (1756-ENBT) and the remote sites will go through an Ethernet/IP radio (Xetawave 4x4E that I believe act as a router for all intents and purposes). Because we want to control the polling, I believe that requires me to use the MSG instruction since produce/consume tags seem to communicate automatically and there isn't a way to "schedule" reads/writes, is that correct? But when I read about MSG, according to this literature from Rockwell (page 13), MSG instructions can only access Controller Tags:
http://literature.rockwellautomation.com/idc/groups/literature/documents/pm/1756-pm012_-en-p.pdf
So doesn't that really limit what I can send with MSG? Aren't controller tags just whatever I/O modules you have in the backplane? What if I want to do some scaling to 4-20mA inputs before sending the data, or I'm making decisions/alarm statuses that I need to communicate? EDIT: So I figured out I can create tags in the Controller Tags section, but if I'm writing ladder logic and want to define a tag there, it's Local Tags only. So that's annoying, but at least I can apparently create tags there and send them via MSG.
I'm also trying to figure out how to send boolean values; I've seen mentions of creating UDTs to do this, but I'm somewhat confused; all of my PLC experience has been simply addressing registers when passing values, and the way Logix does it seems much more convoluted.
I guess a large part of my confusion comes from the fact that we're using Ethernet/IP connectivity and all the tutorials I've found focus on easy connections all on a local network. That seems pretty easily understood, but when I then add in the discrete polling of remote sites it seems much more complicated. Any help you guys can provided is as always very appreciated.
So I've got my AB PLCs up and running, and now I'm trying to work out how to pass information between them. I've been reading about MSG vs produce/consume tags, but still have some questions about how I should set up my project and how these Logix PLCs work. In this project we're using a mix of ControlLogix and CompactLogix PLCs, though at the moment I only have ControlLogix spares at my desk.
We have several remote sites so we will poll them one at a time; I should mention here that we're using Ethernet/IP modules (1756-ENBT) and the remote sites will go through an Ethernet/IP radio (Xetawave 4x4E that I believe act as a router for all intents and purposes). Because we want to control the polling, I believe that requires me to use the MSG instruction since produce/consume tags seem to communicate automatically and there isn't a way to "schedule" reads/writes, is that correct? But when I read about MSG, according to this literature from Rockwell (page 13), MSG instructions can only access Controller Tags:
http://literature.rockwellautomation.com/idc/groups/literature/documents/pm/1756-pm012_-en-p.pdf
So doesn't that really limit what I can send with MSG? Aren't controller tags just whatever I/O modules you have in the backplane? What if I want to do some scaling to 4-20mA inputs before sending the data, or I'm making decisions/alarm statuses that I need to communicate? EDIT: So I figured out I can create tags in the Controller Tags section, but if I'm writing ladder logic and want to define a tag there, it's Local Tags only. So that's annoying, but at least I can apparently create tags there and send them via MSG.
I'm also trying to figure out how to send boolean values; I've seen mentions of creating UDTs to do this, but I'm somewhat confused; all of my PLC experience has been simply addressing registers when passing values, and the way Logix does it seems much more convoluted.
I guess a large part of my confusion comes from the fact that we're using Ethernet/IP connectivity and all the tutorials I've found focus on easy connections all on a local network. That seems pretty easily understood, but when I then add in the discrete polling of remote sites it seems much more complicated. Any help you guys can provided is as always very appreciated.
Last edited: