Communication between a SLC505 and a 22-Comm-E AB VFD

Foxhat

Member
Join Date
Mar 2008
Location
Toronto
Posts
15
I have an SLC5/05 processor and I need to communicate with an AB Powerflex drive via a 22-Comm-E board. I have used MSG instrctions before in an RSL5K environment but I have very little exposure to RSL500. I'm not sure how to configure the MSG command or what data tables I need to create. Any assistance would be appreciated.

Regards,

BLS
 
Be sure you first understand that a 5/05 has an ethernet channel, but, unlke ControlLogix, does NOT support Ethernet/IP. So, with a SLC, ethernet control is not deterministic.

We have a system which uses a SLC 5/05 to talk to an array of PowerFlex drives for speed control and starting and stopping the drives, but we hardwire the e-stop circuits and use the safe-off option to ensure that the drives do not depend on regular Ethernet messaging in order to be safely stopped.

Paul
 
Yes, I am aware of the limitation. All of the safeties are hard-wired but we are pout of room in the PLC rack and this is our only option.


I can't follow the URL link in your post.
 
In my signature, the URL is just something I stumbled upon that I thought was cute...it has no relevance to your question.

Okay, to use the 22-comm-e, you need this manual:

http://literature.rockwellautomation.com/idc/groups/literature/documents/um/22comm-um004_-en-p.pdf

Look at page 129, and an example from one of our machines:

22comme000.jpg
 
Hi OkiePC,

Thanks for your help. The pages you referenced were very helpful and I will have the code done today.

Out of curiosity, on your project where you are communicating with multiple drives, do you have to limit the number of simultaneous msg commands? I thought I read somewhere in an RSL5K environment that there is a limitation of 10 msg's that can be executed at once so caution should be used (via checking for .DN or .ER bit) when issuing these types of commands. If attention is not paid to this limitation, msg commands to an off-line device could stack up in a buffer and slow down or crash the processor. If this is true, do you have to do the same in RSL500?

Regards,

BLS
 
Foxhat said:
Out of curiosity, on your project where you are communicating with multiple drives, do you have to limit the number of simultaneous msg commands?

Yes. We are talking to only seven drives, and we have a timer which triggers a counter, and use look at the counter.acc being equal to a literal constant as a condition in front of each of the MSG Read rungs.

We read the status and feedback of each drive in round robin fashion, triggering the next message at intervals of 0.1 seconds, so we update our feedback from these seven drives every 0.7 seconds. which is pretty fast.

For the writes, we only send a message when there is a difference in speed called for by the main program, and these writes are also controlled by a separate round-robin timer/counter arrangement so each drive gets a turn to be updated every 1.5 seconds.

If you try to constantly MSG the drives and there are more than just a couple of them, your network will end up choking, so definitely regulate the timing of your messages in a way that makes sense and won't exceed the SLC channel or the 22-comm-e capabilities.
 
Sorry to drag this out but I can't find the answer myself.


I'm using a PI loop to control this drive. Will the drive accept a 0 - 100% signal or do I have to convert it to some A/D range or Hz? Maybe a selectable option on the drive itself?

Thanks in advance.
 
If you are referring to the scaling of Reference to give to the drive, you can have a look to page 5-3 of 22-COMM-E manual.

Here is an extract:
The Reference for a PowerFlex 4 or 40 is set in Hz. and not in engineering units like other PowerFlex drives. For example, “300” equates to 30.0 Hz(the decimal point is always implied).

Hope this helps...

- [font=comic sans ms,sans-serif]fuzzy logic[/font]
 
We use Hertz times 10 in our speed command MSG writes. So for 60HZ, we send an integer value of 600. I believe for any paramter you send this way, you would use the units that the drive manual lists with the decimal points removed via multiplication. Most are zero or only one decimal place, and a couple have two decimal places of precision IIRC.

I hope your process variable changes slow enough to tolerate the potentially uneven delays that you may encounter.

Good Luck!

Paul
 
OkiePC said:
I hope your process variable changes slow enough to tolerate the potentially uneven delays that you may encounter.

Hi Paul,

I'm controlling head pressure in an evaporative condenser with a VFD on the fan motor. I would need to be able to update the drive every second at the most. I wouldn't think I would encounter any problems.

Regards,

BLS
 
Hi Paul (or anyone listening),

I'm on site now and I'm having some communication issues with the drive. I'm a little confused regarding the read and write memory locations within the drive.

Which N location do I write the command word too?

Which N location do I get the status word from?

Which N location do I write the speed reference too?

Which N location do I get the actual speed from?

Thanks,

BLS
 
OK, I have the memory locations sorted out. I ended up writing and reading with four individual MSG commands. I have them timed so that each msg command is sequentially executed every 4 seconds.

The problem I have now is that when I write the command word to N41:0, the Ethernet communications locks up on the network and the drive eventually faults on comm loss. If I skip this MSG write, no problems.

Any ideas?📚
 
I wrote and tested an example program earlier this year for this function:

http://forums.mrplc.com/index.php?download=759

That example works well.

You should only need three MSG instructions per drive: One to read a word array starting at N41:0, one to write a word array starting at N41:0, and one to write the timeout at N42:3 to a nonzero value.
 
Golden Nugget Above

Thanks Ken!

I have been getting 🔨 hammered at work and home (with work, not Seagrams 7 this time) SO have had no time to check in til now...

Paul
 

Similar Topics

I have Woodward Controller EASYGEN-3500XT and Phoenixcontact make IO CAN-CUPLER part no: 2702230, Analog Input card: 2861412, Analog Output Card ...
Replies
0
Views
39
Hello Everyone, I have a issue with communication between two different PLCs. So here is the facts, The Master PLC is Guard Logix 5069 with IP...
Replies
4
Views
98
i have two plc 1. s7-1212dc/dc/dc ip; 192.168.0.1 2. s7-1500 1513-1pn ip; 192.168.3.2 i need to get data from plc1 to plc2. any idea how to do...
Replies
5
Views
125
I'm trying to write a data in Arduino using MODWR function block .I used the code I got from online for both PLC and Arduino. I made the wiring...
Replies
4
Views
121
Or there is an alternative to this? I suppose there are many but I've only seen put/get Can you for example set up a new plc and connect it to an...
Replies
5
Views
306
Back
Top Bottom