Powerflex Drives

Is there a way to communicate with these drives over EtherNet/IP? This would include controlling the drive and obtaining tags from the drive not directly related to control such as Voltage, Amps, etc.

Not sure which series drive you are looking at, but the Powerflex drives I’ve worked on (400 series) only had RS-485 ports built in and they supported Modbus RTU and some others - ethernet ports may be available on an add-in comm card though.

Specifically a PF525. It already has an EtherNet port, but I was not finding any documentation on using this port to connect to anything but a RSLogix or equivalent. So I was wondering if anyone had gotten it to work directly with Opto22.

Looks like the ethernet port only supports Ethernet/IP and Opto devices can only be Ethernet/IP “adapters” not “scanners” so they are not able to initiate communication to these drives using Ethernet/IP.

See http://documents.opto22.com/1747_Ethernet_IP_Implementation_Tech_Note.pdf

The drive should still have a serial port for Modbus RTU that you can use for communication from Opto devices using the Modbus integration kit: Opto22 - PAC-INT-MB - Modbus Integration Kit for PAC Control

Yes, I’d like to know more about that RTU port. My impression was that it is not a “Modbus” qualified port but that is some derivation and will support some of the commands in the VFD. I have project I quoted just recently and I would like to get a sense of the usability of this port. Did you have any problems with accessing normally required vars for VFD control? Did you have full access to the PID and the input channels of the VFD?

Not sure what Modbus qualified means - it’s all the wild west when it comes to modbus.

I’ve only used signal wires on these drives, haven’t used the modbus port - only know it is there because the docs talked about it (appendix E in the Powerflex 400 manual) Looks like a fairly straight forward setup and mentions that you can access any parameter, so you should be able to access the PID parameters. Be aware that the port is a RJ45, so you will need to break out the pins that are used for modbus - they have different protocols on different pins of the RJ45.

PF400%20modbus%20parameters

Like a ghost from the past, I thought I would revive this topic (which predates my time on this forum)…

The PowerFlex drives (VFDs) from Allen-Bradley can indeed be read/written using RS485 serial (Modbus RTU). Like most Modbus stuff, it can be a bit confusing and the documentation is not great, but I have it working now nicely with our Opto22 devices that run Node-RED.

The attached flow grabs the 16-bit Comm Logic Status (that shows a slew of useful information, such as direction of motion, run status, etc.) as well as other key parameter values (Hz, current draw, etc.). And there are probably 100 other parameters (drive temperature, etc.) that you can grab as well.

Manual (see App. C)
Adapter of choice (Opto22 favorite because it “just works”)
Video showing cabling and parameter setup (hit mute…music is annoying)

[{"id":"b834ebf303c8c033","type":"debug","z":"46e0ed13d406fbe2","name":"debug 40","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1280,"y":740,"wires":[]},{"id":"b38f9dea00ac277f","type":"buffer-parser","z":"46e0ed13d406fbe2","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"decimal","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"16bitbe","name":"binary","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"bool","name":"status=>ReadyToRun","offset":1,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"bool","name":"status=>ActiveRunning","offset":1,"length":1,"offsetbit":1,"scale":"1","mask":""},{"type":"bool","name":"status=>Forward","offset":1,"length":1,"offsetbit":2,"scale":"1","mask":""},{"type":"bool","name":"status=>RotatingForward","offset":1,"length":1,"offsetbit":3,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"return","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":1070,"y":740,"wires":[["b834ebf303c8c033"]]},{"id":"6face2805c47d49c","type":"buffer-maker","z":"46e0ed13d406fbe2","name":"","specification":"spec","specificationType":"ui","items":[{"name":"item1","type":"uint16be","length":1,"dataType":"msg","data":"payload"}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","x":890,"y":740,"wires":[["b38f9dea00ac277f"]]},{"id":"fb3493dd31539c57","type":"debug","z":"46e0ed13d406fbe2","name":"debug 41","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":880,"y":700,"wires":[]},{"id":"890161a00739b395","type":"modbus-flex-getter","z":"46e0ed13d406fbe2","name":"","showStatusActivities":false,"showErrors":true,"logIOActivities":false,"server":"a536fdaba00fed1f","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":650,"y":740,"wires":[["6face2805c47d49c","fb3493dd31539c57"],[]]},{"id":"9cd6d9aad6f5cc1b","type":"function","z":"46e0ed13d406fbe2","name":"Inputs to Modbus call","func":"msg.payload = {\n    value: msg.payload,\n    'fc': 3,\n    'unitid': 1,\n    'address': 8448,\n    'quantity': 5\n}\n\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":400,"y":740,"wires":[["890161a00739b395"]]},{"id":"15c75dec61ea9fe6","type":"inject","z":"46e0ed13d406fbe2","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"3","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":190,"y":740,"wires":[["9cd6d9aad6f5cc1b"]]},{"id":"a536fdaba00fed1f","type":"modbus-client","name":"","clienttype":"serial","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"1000","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"","commandDelay":"2000","clientTimeout":"3000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":false}]
2 Likes

Indeed like a ghost from the past, I almost forgot about MBUS RTU, now it is so easy with MBUS TCP and the PR-1. Great refresher video link!

True on the SNAP PAC platform. On the groov EPIC platform, “if” CODESYS is being used, then one could buy the add-on from CODESYS (very inexpensive) that makes it a Modbus-TCP scanner.