How to control an industrial servo motor?
The specific motor dive I am looking at is a Delta adsa-a2 series AC Servo Drive.

I know that we can connect the motor driver to the software that the company provides; but, i want to control it using a code written in c++ or c.

I see it has a USB connectorenter image description here

What data should i send?


1 Answer 1


The answer is yes you can

I looked at at the users manual for the asda-a2 and it looks like it will close the servo control loop for you and also gives you several good control options. All the Sections I refer to are in that manual.

  1. First - This looks to be a very powerful AC Servo. BE CAREFUL!!! You can easily break an finger or maybe even sever one off. Be sure to install a cover to protect yourself as well as a safety interlock and Emergency Stop (E-Stop) button that will interrupt power to the motor. There has been more than one time my code did not work as I expected it to or something else happened.
  2. There are several control options available that you can use depending on the level of control you want/need.
    • You can configure the drive to operate off of discrete signals (see section 3.4). That way the controlling computer just has to turn a line on or off to execute the pre-programmed operation (like start and stop) or set a voltage to control speed, etc. (no commands required).
    • You can send the drive commands over RS232/RS485 (see diagram in 3.6.2) or USB (see section 3.7) or CANopen (see section 3.9). With the commands I saw, it looks like you do pretty much anything. It looks like they use ModBUS which is a pretty easy protocol and there are libraries to support it depending on what type of computer you are going to use.
  3. Control modes (and commands) are described in Sections 6-9

It will be a bit to learn; but, the drive seems well documented.

I recommend you start simple (AND SLOW!) and move up from there. Start by configuring things mostly from the Control Panel and execute the commands from there. Maybe just a simple velocity control (start/stop) or positional control (jog). Always have your (or somebody else's hand on the E-Stop just in case.

  • $\begingroup$ Well thank ,altough not related ,but how much experience do you have,you seem to have alot,i am a new grad,any advises ? $\endgroup$
    – Abdull
    Commented Jul 4, 2017 at 7:27
  • 1
    $\begingroup$ I would also add that even if @Abdull doesn't want to use the ADSA-Soft software in the end, it may be worth mentioning that it is almost certainly the easiest way to safely use the ADSA-A2 initially. Using it to learn what the process variables do and what the limits are, should be easier than just starting with a long list of variables and poking values which look right. The standard software almost certainly just send process variable change commands via the serial bus. In fact, looking at some of the screen shots, the USB port presents itself as a COM port. $\endgroup$
    – Mark Booth
    Commented Jul 4, 2017 at 16:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.