LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Controlling multiple motors

I am looking to control up to 4 motors via a PLC from a PC. I would like to have a UI that manually controls the motors, but I would also like to have the capacity to move them automatically to a number of coordinates as specified by a model file. Does anyone have any recommendations as to best practice architectures for this kind of application? I am thinking of having a UI loop for manual commands, a motor control loop (for automated control commands) and individual loops to drive each of the motor axes - is this overkill?

0 Kudos
Message 1 of 3
(1,264 Views)

Hi Simon,

 

Yes, it sounds like you are in the right direction.  Only nuance might be in how you intend to send commands to the PLC, for ex. modbus, RS-232 commands, etc.  Back in my LabVIEW days I wrote a 3D printer LabVIEW control program similar to what you're describing.   The motion coordinates are defined by the Gcode file, where then LabVIEW parses it, and then tells the motion controller to move the motors accordingly.  This code was implemented with NI Softmotion hardware, although these products have been discontinued, you can easily modify the code to fit your PLC command methods.

 

https://github.com/johnwu130/LabVIEW-GCode-Parser

 

By the way, if controlling the PLC from LabVIEW is too slow/cumbersome, you should look for a motion controller that's compatible with LabVIEW.  That will give you the most freedom and flexibility in your movements.  For example, you can check out: https://geco-lv.com/geco-motion.html 

 

0 Kudos
Message 2 of 3
(1,256 Views)

Thanks for the reply. We intend to use OPC Tags / Datasocket to communicate between the PC and the PLC. No experience of motion controllers and anyway the system has already been assembled with 4 motors and individual kinetix drivers! I will download your code and take a look. Thank you so much for the link. 

 

Regards

Simon

0 Kudos
Message 3 of 3
(1,249 Views)