Modbus w/ ML1400 and Powerlink G3

sfindley

Member
Join Date
Jun 2010
Location
Carrsville, VA
Posts
107
It's been awhile since I've posted but I finally found a project at my new job where I get to play with a PLC!

We have a control system for our ventilation system that used a PC and modem to communicate with a ring of Square D Powerlink G3 controllers. The modem connected via a Niobrara QUCM module and used Modbus as the communication protocol. There are 16 controllers on the network. Apparently, the communication system hasn't worked in a long time and the upgrade for the system is VERY expensive. I was thinking that I could use a MicroLogix 1400 in lieu of the modem and QUCM module and add the benefits of a PLC to add more control, HMI and temp/humidity inputs to the system.

The problem I have is that I've never messed with Modbus before and I'm trying to make sure I understand if/how it is going to work.

If I understand Modbus correctly, I can set the PLC up as the master and use it to poll each of the slaves using messages. Different message commands elicit different responses from the slaves (i.e. report coil status, write coil, etc) Each controller will only respond to a message that is addressed to its node. Because it is serial communication, with 16 nodes, the total read time on the circuit can be quite large.

I have some questions/thoughts about this project.

1. Will I need a protocol converter?
I have the Modbus register map for the G3 controller, so I should be able to read the message into registers in the PLC and then parse them out based on the map, right? The ML1400 specifically states that it natively uses Modbus RTU/ASCII so it seems that no converter would be needed.

2. Can I set the PLC messaging up to only poll sections of the controllers at a time in zones?
For example, break the 16 controllers up into four zones. When that zone is selected on the HMI, enable the messages associated with those controllers and not with the other 12. The HMI will only be displaying the “active” zone, so it will only need the info from those controllers. Does it work that way, or do they all have to communicate in order? It seems that if I can do it that way I can reduce the overall read time. This system is not highly dynamic so there isn’t a need for “real time” update, just somewhat quick updates.

Any help/guidance you guys can give will be greatly appreciated.
 
You have the basic principles correct. The MicroLogix 1400 supports Modbus RTU Master and Slave, as well as Modbus/TCP (on the Series B controllers).

When the MicroLogix is a Modbus Master, all the transactions are commanded by MSG instructions. You can send them in sequence, or based on timers, or in groups.... they're output instructions in ladder logic.

The next step I would take is to investigate the physical and electrical layer of the Powerlink G3's Modbus interface. It's probably RS-485, but you'll want to determine if it's isolated or not, and how long the wires are, how many drops are recommended for the link, etc.
 
Thanks for the reply Ken

I know for a fact that the G3s are using 485..the QUCM was a 232/485 converter for the modem.

The best information I can find on the system is that the panels are no more than 400ft apart. I find this hard to believe because our facility is huge and the panels are spread all over. There are 16 panels daisy chained together. Is that what you meant by isolated?

If I understand the communications right, I can talk to as many or as few controllers, one at a time, as I want, correct? That would all be controlled by the logic and messaging. There is no token or order that has to be followed, it is dictated by the header of the message.

The system was working before, using a PC through the modem(at 9600 baud). I'm wanting to replace the PC/modem with the PLC so I can add HMIs and the additional inputs. I'm hoping to up it to 19200 baud, but I'm afraid my cable lengths might be a little to long. It is all connected using Belden shielded twisted pair cable.
 
Modbus RTU is a very straightforward "Master/Slave" protocol, where every transaction is initiated by the Master. A Slave device does not transmit on the network except when replying to the Master.

There is no token to be passed, and no order in which the nodes need to be numbered or sequence in which they need to be polled. The physical location of a device on the daisy-chain has no relation to its node number.

There is quite a lot of good Modbus information available from Modbus.org, but the most readable and clear Modbus tutorial I have read is from Chipkin Automation Systems.

http://www.chipkin.com/files/liz/MODBUS_2010Nov12.pdf

My comment about "isolated" refers to electrical isolation; systems that have network ports that are electrically isolated from the rest of the circuitry are less susceptible to electrical interference. You need to understand the wiring and isolation so you can plan to connect everything correctly. www.rs485.com and bb-elec.com have some great tutorials on how (and why) electrical isolation works.

RS-485 is great for long distance "daisy chain" signalling; the nominal maximum length is about 4000 feet. Repeaters are a fairly common technology (B&B Electronics makes very good ones) for extending that, or breaking it up into branches.
 
Ken, again I thank you for the excellent information. I'd found a few Modbus tutorials already, but the one you spoke of looks to be better.

The G3 controllers communications connections are isolated.
 
I am finally getting to work on my project again.

I have not been able to successfully communicate with the G3 using the PLC. I have verified that the communication ring for all 16 nodes is working. The system came with PCS101 software and I can connect to all 16 panel through a serial connection on the front of one of the panels.

However, when I connect the ML1400, via a 1763-NC01 the message times out. I've tried raising the time out value to 15 seconds, swapping the A and B conductors, with and without a 120 ohm resistor. Nothing seems to be working. I've attached a copy of the program...pretty simple...just trying to get communication with one panel working...

I have ensured that nothing is connected to the G3 front panel when trying to use the PLC since this is specified in the G3 manual (link below) as not being allowed.

Any wisdom that anyone can impart would be greatly appreciated.

G3 Controller Manual:
http://static.schneider-electric.us...Lighting Control Products/63249-401-200A4.pdf
 
UPDATE - communications working

I was able to get the ML1400 talking with the G3 controllers and wanted to post an answer/solution for the benefit of those who may search this topic later.

Once I ensured that my wiring was correct (MODBUS wiring has no convention between different manufacturers, so you have to verify you are wiring + to + and - to -.) I still was not getting communication.

The answer wound up being in the Channel Configuration (see attached picture) - Control Line under Protocol Control had to be set to No Handshaking (485 Network).

I felt it was something simple and it was...just took awhile to find the answer. I actually got the answer from here.
http://www.plctalk.net/qanda/showthread.php?t=80543&referrerid=70346

Channel Config.jpg
 
IThe system came with PCS101 software and I can connect to all 16 panel through a serial connection on the front of one of the panels.

However, when I connect the ML1400, via a 1763-NC01 the message times out. I've tried raising the time out value to 15 seconds, swapping the A and B conductors, with and without a 120 ohm resistor. Nothing seems to be working. I've attached a copy of the program...pretty simple...just trying to get communication with one panel working...

Do you still have that PCS101 or LCSBASIC?

Also you stated that you have the register mapping for the G3 controller?
 

Similar Topics

If I set up a ML1400 as a Modbus RTU slave, and click the extended files tickbox, then set up my files with 200 elements, will the Modbus...
Replies
1
Views
1,070
I need to do 5 reads and 1 write on 2 devices. So that is 10 and 2 total. It seems I can't use indirect addressing with MG registers, which is...
Replies
11
Views
3,117
I have a device that I am communicating with here that is using Modbus to store values from a gas analyzer and I want to transfer these to a PLC...
Replies
9
Views
3,759
I am currently working on a project with an Epson Scara robot using an RC-90 controller communicating with a ML1400 Ser. B PLC. The robot...
Replies
4
Views
3,989
I have an Allen-Bradley MicroLogix 1400, and have been working with it for a few months now and understand its basics pretty well. Up to now I've...
Replies
4
Views
3,945
Back
Top Bottom