There are a number of commands which can be used to have the motor perform certain functions in direct mode. These commands can be sent manually using the serial communications, or called from within a logic bank.
P0, S0, A0, M0 | Dynamic Motion Parameters |
The zero location in each motion register allows you to set the current values of target position, speed, acceleration, and torque. S0, M0, and A0 may be changed while the motor is running. P0 will change the target for the next move initiated with the execute command. | |
S0.1=250 A0.1=100 M0.1=80 P0.1=10000 | Sets the motor 1 target position to 10000 with a speed of 250, acceleration of 100Kpps², and torque of 80%. These values will be used when the next move is executed, unless overwritten |
^ | Execute Direct Motion |
The caret command will execute a predefined dynamic motion. The movement will utilize the parameters stored in the respective 0 registers (i.e. P0, S0, A0, M0). | |
^.1 | Motor 1 begins a motion using the values programmed in P0, S0, A0, and M0. |
^# | Execute Direct Motion (# = 1-8) |
The caret followed by a number will execute a motion using the parameters specified in the corresponding number registers. Valid entries are from 1 to 8. | |
^5.1 | Motor 1 begins a motion using the values programmed in P5, S5, A5, and M5. |
~ | Continuous Point Motion |
The tilde command will increment the current position by the value of P0. For continuous point motion, P0 is assigned at the full resolution of 50 000 pulses per revolution, regardless of the resolution setting in K37 | |
P0.1=10000 ~.1 | For each time the ~ character is sent, the motor will increment the current position by 10000 pulses, or 1/5 of a full rotation. |
| | Origin Search |
The vertical bar command will begin an origin search routine according to the current origin search settings. This is a pipe, or vertical bar, ASCII 124 (7Ch). Not the upper case letter I. | |
|.1 | Motor 1 begins an origin search according to the current settings. |
|2 | Assign Current Position as Origin |
The bar 2 command will assign whatever the motors current position is, as the origin (position 0). For example, is the motor has rotated a few times and the current position is 17250, when you sent the |2 command this position changes to become 0. | |
|2.3 | The current position of motor 3 becomes 0. |
|4 | Soft Reset |
The bar 4 command will execute a soft reset of the motor. This means that the motor will restart as if being re-powered, but without physically removing power from the motor. | |
|4.1 | Restart motor 1. |
|11 | Clear Revolution Counter |
Clears the position of the motor, but leaves position information from under one revolution. For example, if the motor resolution is set to 1000 pulses per revolution and we are at position 23764, this means we’ve travelled 23 revolutions and 764 pulses. When we send the |11 command, the position becomes 764, as the previous 23 revolutions are cleared. | |
|11.1 | Clear motor 1 revolution counter. |
( | Enable Motor |
The open bracket will enable the motor. If the motor is set to power up disabled in K46, if the motor has previously been disabled due to an error, or if the motor was manually disabled through an input or command the open bracket will re energize the motor and return it to the ready state. | |
(.1 | Enable motor 1. |
) | Disable Motor |
The close bracket will disable the motor. When the motor is disabled, the shaft will turn freely but the position will still be tracked. | |
).2 | Disable motor 2. |
O# | Output Signal On |
The letter O followed by an output number will activate the respective output. The output must be programmed as either 3 or 4 in parameter K34. | |
O1.2 | Activate output 1 on motor 2. |
F# | Output Signal Off |
The letter F followed by an output number will deactivate the respective output. The output must be programmed as either 3 or 4 in parameter K34. | |
F1.2 | Deactivate output 1 on motor 2. |
$ | Save Data |
The dollar symbol will save program data from the motors RAM to non-volatile EEPROM memory. All registers, program banks, and logic banks are saved using this command. When data is successfully saved, a message is returned which reads "Saved.n" where n is the motor ID number.Once saved, all data is maintained when power is removed from the motor. | |
$.1 | Save all data on motor 1. |
# | Capture Position Data |
The hash command will capture the motors current position data, and save the value to the position register specified after the hash. | |
#2.1 | Set the value of register P2.1 to the current motor position |
[ | Execute Bank |
The open square bracket command will execute the requested program bank. The bracket is followed by the program bank number you wish to execute. Likewise, by following the bracket by a letter L and the bank number, a desired logic bank can be executed as well. | |
[1.1 [L1.1 | Execute program bank 1 on motor 1. Execute Logic bank 1 on motor 1. |
] | Pause Bank |
The close square bracket command will stop a motor immediately and pause a program bank which is currently running. By sending the [ command, the bank can be resumed. By sending the ] command twice, the bank will be stopped and cannot be resumed. Logic banks cannot be paused and resumed in this manner; sending the bracket followed by an L will stop the currently running logic bank. | |
].1 ].1 ].1,].1 ]L.1 | Pause program bank on motor 1. Terminate program bank on motor 1. Terminate program bank on motor 1. Terminate Logic bank on motor 1. |
} | Pause Bank After Current Line |
The close brace command will perform much the same as the close square bracket, however the motor will wait until the current line in the program is completed before pausing the bank. a close square bracket must still be used to terminate the program completely. | |
}.1 }.1 | Pause program bank on motor 1 after the current line. A subsequent } will terminate the bank. |
> | Execute Next Program Line |
The forward chevron will allow you to step through a paused program. If you pause a program with the ] or } commands, you can then step to the next line using the >. The program will automatically pause again after the line is executed. After executing the last line of a program bank, the motor will reply with "End!" and no further stepping may be done. | |
].1 >.1 >.1 | Pause program bank on motor 1. Step one line forward in the program. Step one line forward in the program. |
< | Execute Previous Program Line |
The backward chevron will allow you to step through a paused program. If you pause a program with the ] or } commands, you can then step to the previous line using the <. The program will automatically pause again after the line is executed. You may only step back one line. You can not step back a line if the program has ended and the "End!" has been sent from the motor. When you can not step back, the motor will reply with the message "Can't Back!". | |
].1 <.1 | Pause program bank on motor 1. Step one line backward in the program. |
* | Emergency Stop |
The asterix will immediately commands all motors on a daisy chain to stop movement with the maximum deceleration. All programs will cease and the motor will not respond to any commands to move until the emergency stop state is removed. | |
* | Command all motors to perform an emergency stop. |
*1 | Cancel Emergency Stop |
The asterix followed by a number one will cancel the emergency stop state in a motor. When the emergency stop is cancelled, the motor will return to the ready state, but any programs or movements that were running when the emergency stop was engaged will not automatically restart. | |
*1 | Cancel emergency stop. |
? | Query |
---|---|
The question mark will query the motor for various parameters and values, depending on the number following the question mark. | |
? | Current values of P0, A0 and S0 |
?x | All values in x register (P,S,A,etc.) |
?0-16 | Program Bank |
?1000 | All program and Logic Banks |
?51 | OUT1 Status |
?52 | OUT2 Status |
?70 | Input Status |
?71 | Drive Temperature (°C) |
?74 | Analog Input Value |
?76 | Counter Value |
?79 | Push mode Timer |
?85 | Motor ID and Firmware Version |
?90 | All K Parameters |
?91 | All Position Data |
?92 | All Speed Data |
?93 | All Acceleration Data |
?94 | All Timer Data |
?95 | Current Position Error |
?96 | Current Position |
?97 | Current Speed |
?98 | Current Average Motor Current |
?99 | Current Motor Status |