Controlling Powerflex 700 Drives with Modbus

Andrew_W

Member
Join Date
Oct 2009
Location
Edmonton
Posts
38
Good Afternoon Guru's

I'm currently working on a project where we are trying to control 5 AB Power-flex 700 VFD's with Mod-bus Protocol Via a 20-Comm-H card and a Pro-soft MVI69-MCM card with a CompactLogix L35E processor. I have established communication with the drives, but now I cannot command the drives to do anything, as-well I am receiving false data from the drives. The drives where setup by Rockwell Automation so I assume they have properly setup the drives to receive commands via the communication port. I have used the Mod-bus addresses that Allen Bradley has printed in the user manual for the 20-comm-h cards, but when I read in single coils (1x addresses) I get values such as 1024 or 1025 when I should be receiving 0's or 1's. I have attached the Pro soft configuration file, if anyone has done this before your help will be greatly appreciated in helping me get this figured out.

Thanks for your time.

Andrew
 
It sounds to me like you could logically AND your result with 0001h to get the one bit that you are looking for. Do you get 1024 for a coil that is off, and 1025 for one that is on?
 
It sounds to me like you could logically AND your result with 0001h to get the one bit that you are looking for. Do you get 1024 for a coil that is off, and 1025 for one that is on?

Yes I was seeing 1024 when the drive was in a "non ready State (0)" and 1025 when the drive was in a "ready state (1)". but when I'm reading a single coil (0x or 1x addresses) should it not just return one bit of information? and if that is not the case could that be causing the drive not to be seeing my stop or run command as a bit?
 
...but when I'm reading a single coil (0x or 1x addresses) should it not just return one bit of information?

What are you reading it into (byte, word, dword...)? If your data type is greater than 1 bit in width, then you are going to get extra garbage.


and if that is not the case could that be causing the drive not to be seeing my stop or run command as a bit?

That I couldn't say, not having experience with this setup. Do you have a link for the manuals?
 
The drives were setup by Rockwell Automation so I assume they have properly setup the drives to receive commands via the communication port.

I recommend against this assumption. If I was building a drive or drive system and was told to provide a 20-COMM-H for connection to a customer-provided controller, I would just plug it in and not configure it, unless I received detailed information about how they wanted it configured.

This begs another question; why Modbus RTU, when the controller is CompactLogix and the drive is ControlLogix ?

Anyhow, if it were me I would back up and choose the Register method instead of the Discrete Outputs method. This would require only two Modbus transactions per drive (one for input, one for output) for control and reference.

Modbus Functions that deal with Coils never just exchange 1 bit of data; they exchange whole Bytes of data and specify the length of bits that are significant. I would have to get onto the wire to see if the "extra" bit you are seeing is actually being returned by the drive or if it's an artifact of the Logix or Prosoft configuration.
 
I recommend against this assumption. If I was building a drive or drive system and was told to provide a 20-COMM-H for connection to a customer-provided controller, I would just plug it in and not configure it, unless I received detailed information about how they wanted it configured.

This begs another question; why Modbus RTU, when the controller is CompactLogix and the drive is ControlLogix ? [end quote]

I had given the Rockwell rep the baud, parity, # of stop bits etc, I also had left instructions with him to setup the drive so it received commands, and the reference from the 20-comm-h card.

The reason we are using the CompactLogix is because the rest of the customers installations are using the CompactLogix and they wanted to keep this one the same for ease of maintenance and spare parts. I believe the customer also requested Modbus RTU as well.

I'm going to follow your advice Ken and back up and send the whole Control Word, but I have one question, when I'm trying to send the commands do I just convert the binary into a decimal # and send it that way, and then the drive comm card decodes it and changes it back to binary? and when I'm reading in the status, do I just ignore the decimal # and take the specific bit out of the word that I'm concerned with?

Thanks for all the help so far

Andrew
 
Well I think I have figured out how to make this work, now I was hoping someone who has done this before could just double check my new configuration for the prosoft

Thanks again
 

Similar Topics

Hi Group. We recently added a 20 COM E Module to our powerflex 700 and assigned IP parameters to it. It can pinged and verify the connectivity...
Replies
5
Views
2,479
Hi fellas, Hoping someone can help me get started with this. I'm a little out of my comfort zone trying to set up communication with a ProFace...
Replies
0
Views
789
Hello, Currently I am controlling the Powerflex 700H via Ethernet and everything is working well. The client is wanting Auto/Manual function...
Replies
3
Views
1,819
I am programming an AB Compact Logix PLC (1769-L33ER) to control a PowerFlex 525-EENET VFD. I have the following questions: 1. I read on another...
Replies
9
Views
13,690
All, I am setting up some systems and am trying to utilize BOOL Inputs on my CompactLogix to trigger a change in frequency command on a PowerFlex...
Replies
5
Views
2,000
Back
Top Bottom