Powerflex Drives

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