Q/SCL Commands Flashcards

1
Q

SP

A

Set Position

Sets or requests the motor’s absolute position. To ensure that the internal position counter resets properly, use EP immediately prior to sending SP. For example, to set the position to zero after a homing routine, send EP0 immediately followed by SP0.

SP1000 //set absolute position to 100 encoder counts
- //response from controller
SP //request value from controller
SP=1000 //response from controller

EP0 //reset internal position counter (step 1)
SP0 //reset internal position counter (step 2)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

EP

A

Encoder Position

The EP command allows the host to define the present encoder position. To ensure that the internal position counter resets properly, use SP immediately following EP.

EP0 //reset internal position counter (step 1)
SP0 //reset internal position counter (step 2)

EP5000 //set current encoder position to 5000 counts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ME

A

Motor Enable

Enables drive current to motor. If the drive cannot be enabled due to the Enable Input (SI) state, the drive will respond with a “&” which indicates that the drive could not be enabled. Enabling the drive also deactivates the Brake Output function (see BO command). Enabling of the motor is delayed by the BD (Brake Disengage) time delay.

MD //disable motor
ME //enable motor

ME //request status from controller
- //response from controller - motor is enabled
ME //request status from controller
& //response from controller - motor is not enabled
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

MD

A

Motor Disable

Disables motor outputs (reduces motor current to zero). Disabling the motor also activates the Brake Output function (see BO command). Motor current is not reduced to zero until the Brake Engage (BE command) time has expired.

MD //disable motor
ME //enable motor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

VE

A

Velocity

Sets or requests shaft speed for point-to-point move commands like FL, FP, FS, FD, SH, etc. Units are rev/sec.

VE2.525 //set velocity to 2.525 rev/sec
- //response from controller
VE //request value from controller
VE=2.525 //response from controller
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

VM

A

Maximum Velocity

Sets or requests the maximum motor velocity in rev/sec. Used in analog velocity mode to limit the maximum speed of the drive.

VM50 //set max velocity to 50 rev/sec
- //response from controller
VM //request value from controller
VM=50 ///response from controller
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

AC

A

Acceleration

Sets or requests the acceleration rate used in point-to-point move commands in rev/sec/sec.

AC10 //set accel to 100 rev/sec/sec
- //response from controller
AC //request value from controller
AC=10 //response from controller

AC25 //set accel
DE25 //set decel
VE1.5 //set velocity
FL10000 //execute feed to length move of 10000 counts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

DE

A

Deceleration

Sets or requests the deceleration rate used in point-to-point move commands in rev/sec/sec.

DE125 //set decel to 125 rev/sec/sec
- //response from controller
DE //request value from controller
DE=125 //response from controller

AC25 //set accel
DE25 //set decel
VE1.5 //set velocity
FL10000 //execute feed to length move of 10000 counts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

AM

A

Max Acceleration

Sets or requests the maximum acceleration/deceleration allowed when using analog velocity and oscillator modes. Also sets the deceleration rate used when an end-of-travel limit is activated during a move or when an ST (Stop) or SK (Stop & Kill) command is sent. Units are rev/sec/sec.

AM20000 //set max accel/decel to 20000 rev/sec/sec
- //response from controller
AM //request value from controller
AM=20000 ///response from controller
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

FL

A

Feed to Length

Executes a relative move command. Move distance and direction come from the last DI command. Speed, accel and decel are from the VE, AC and DE commands, respectively. Executing the FL command with no parameter initiates a feed to length move that uses the last DI command for direction and distance. Executing the FL command with a parameter uses the parameter settings for direction and distance without changing the DI command..

DI25000 //sets distance to +25000 counts
FL //make feed to length move

FL-50000 //make -50000 relative move without affecting the DI command
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

FP

A

Feed to Position

Executes an absolute move command. Move position comes from the last DI command. Speed, accel and decel are from VE, AC and DE commands, respectively. Executing the FP command with no parameter initiates a feed to position move that uses the last DI command for position. Executing the FP command with a parameter uses the parameter for position without changing the DI command.

SP0 //set current motor position as zero
DI9000 //sets move position to +8000 counts
FP //make feed to position/absolute move

FP-50000 //to position -50000 without affecting the D variable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

FS

A

Feed to Sensor

Executes a Feed to Sensor command. Requires input number and condition. The motor moves until a sensor triggers the specified input condition, then stops a precise distance beyond the sensor. The stop distance is defined by the DI command. The direction of rotation is defined by the sign of the DI command (“-” for CCW, no sign for CW). Speed, accel and decel are from the last VE, AC and DE commands, respectively.

FS1L //launch move and decel to stop when input 1 is low
FS3R //launch move and decel to stop on input 3 rising edge (goes from low to high)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

WT

A

Wait Time

Causes a time delay in seconds. The resolution is 0.01 seconds with the largest value being 320.00 seconds.

WT2.25 //causes time delay of 2.25 sec

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

WM

A

Wait on Move

When in multi-tasking is turned on (see MT command) this command will block execution of subsequent commands until the previously initiated move is complete.

WM //causes queue execution to wait until any move in progress is complete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

WD

A

Wait Delay

Causes a time delay to occur using a time value from a given data register. The resolution is in milliseconds. Only up to 15 bits of the data register are used, giving a maximum wait time of 32 seconds.

WD5 //wait for # of msec indicated by the value of user register 5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

WP

A

Wait for Position

When multi-tasking is turned on (“MT1”), this command is used in conjunction with the DC command to block program execution until a specific position(s) is reached during a move. When the position(s) specified by the DC command is reached program execution continues.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

WI

A

Wait for Input

Waits for an input to reach the given condition. Allows very precise triggering of moves if a WI command is followed by a move command. When JE (Jog Enable) is active the drive’s “jog” inputs can be used to jog the motor. JD disables jogging using inputs.

WI3R //wait input 3 rising edge before proceeding to next command

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

CJ

A

Commence Jogging

Starts the motor jogging. The motor accelerates up to the jog speed (JS) at a rate defined by the jog accel (JA) command, then runs continuously until stopped. To stop jogging, use the SJ (Stop Jogging) command for a controlled decel rate (decel rate set by JL command). For a faster stop, use the ST command (decel rate set by AM command), but beware that if the speed or load inertia is high, the drive may miss steps, stall, or fault. The jogging direction is set by the last DI command. Use the CS command to change jog speed and direction while already jogging. CS does not affect JS.

JA10 //set jog accel rps/s
JL20 //set jog decel rps/s
JS1 //set jog speed rps
CJ //start jogging
CS10 //change jog speed
SJ //stop jogging
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

SJ

A

Stop Jogging

Stops the motor when jogging (CJ starts jogging). Jog decel rate is defined by the JA command.

JA10 //set jog accel rps/s
JL20 //set jog decel rps/s
JS1 //set jog speed rps
CJ //start jogging
CS10 //change jog speed
SJ //stop jogging
20
Q

ST

A

Stop

Halts the current buffered command being executed, but does not affect other buffered commands in the command buffer. When used to stop a move deceleration rate is controlled by the AM (Max Acceleration) command. If a “D” parameter is used deceleration rate is controlled by either the DE command (with “Feed” moves like FL, FP, and SH) or the JL* command (when jogging).

ST //stop motion immediately using decel rate set by AM command
STD //stop motion immediately using decel rate set by DE or JA command
21
Q

CS

A

Change Speed

Sets or requests the jogging speed in rev/sec while jogging. When Jogging using the CJ command the Jog speed can be changed dynamically by using this command. The sign of CS can be positive or negative allowing the direction of jogging to be changed dynamically also. Ramping between speeds is controlled by the JA and JL commands. Setting CS does not change JS or DI.

JA10 //set jog accel rps/s
JL20 //set jog decel rps/s
JS1 //set jog speed rps
CJ //start jogging
CS10 //change jog speed
SJ //stop jogging
22
Q

JS

A

Jog Speed

Sets or requests the speed for Jog moves in rev/sec. Sending JS with no parameter causes drive to respond with present jog speed.

JS10.35 //set jog speed to 10.35 rev/sec
- //response from controller
JS //request value from controller
JS=10.35 //response from controller

JA10 //set jog accel rps/s
JL20 //set jog decel rps/s
JS1 //set jog speed rps
CJ //start jogging
CS10 //change jog speed
SJ //stop jogging
23
Q

SO

A

Set Output

Sets an output to the given condition. Care must be taken when using outputs on the main driver board because those outputs are by default programmed for dedicated purposes (Alarm, Brake, Motion). Use the AO, BO and MO commands to reconfigure main driver board output usage to general purpose before using the SO command with those outputs.

SO1L //set output 1 low (closed)
SO2H //set output 2 high (open)
24
Q

DC

A

Change Distance

Sets or requests the change distance. The change distance is used by various move commands to define more than one distance parameter. All move commands use the DI command at some level, and many require DC as well. Examples are FC, FM, FO, and FY. The moves executed by these commands change their behavior after the change distance (DC) has been traveled. For example, FM is similar to FS, but in an FM move the sensor input is ignored until the motor has moved the number of steps set by DC. This is useful for masking unwanted switch or sensor triggers. Since DI sets move direction (CW or CCW), the sign of DC is ignored.

25
Q

DI

A

Distance/Position

Sets or requests the move distance in encoder counts (servo) or steps (stepper). The sign of DI indicates move direction: no sign means CW and “-” means CCW. DI sets both the distance for relative moves, like FL, and the position for absolute moves, like FP. DI also sets the direction of rotation for jogging (CJ). Units are counts or steps.

DI20000 //set distance to +20000 counts
- //response from controller
DI //request value from controller
DI=20000 //response from controler

DI-10000 //set distance to -10000 counts
FL //feed to length -- make relative move
26
Q

ED

A

Encoder Direction

Sets or requests the encoder count direction.

ED1 - Set encoder to count in reverse
ED ED=1
27
Q

EH

A

Extended Homing

Executes the Extended Homing process. Requires input number and condition for the home sensor. Speeds for each step are set by HV command, there are three velocity settings; one for each step (see graphic and examples below). Acceleration and deceleration are set by HA (Homing Accel) and HL (Homing Decel). The start direction comes from the sign of the HO command (“-” is CCW, no sign is CW).

~~~
HV1: Homing velocity when searching for Limit Sensor and Home sensor.
HV2: Homing velocity when moving the offset distance after home sensor has been reached.
HV3: Homing velocity when returning back to home sensor after offset move.
HO: distance to move after home sensor is initially reached
```.

28
Q

DL

A

Define Limits

Defines usage and active level of limit inputs. If enabled, motion will stop at rate defined by AM command. If disabled, inputs can be used as general purpose inputs.

DL1 //set limits to work with normally-open switches
DL2 //set limits to work with normally-closed switches
DL3 //disable limit switches (can now be used as general purpose inputs)
29
Q

LM

A

Software Limit CCW

Sets or requests software CCW limit values.

Motor decelerates to stop when the absolute position (can be requested or set by SP command) decreases to software CCW limit value, Software limit does not work in CCW direction when software CCW limit parameter is set to zero. This parameter is volatile and the default value will be zero upon power-up

LM10000 //set CCW software limit to 10000 counts
% //respone from controller
LM //request value from controller
LM=10000 //response from controller
LM0 //turn off software limit function in CCW direction
% //respone from controller
30
Q

LP

A

Software Limit CW

Sets or requests software CW limit values.

Motor decelerates to stop when the absolute position (can be requested or set by SP command) decreases to software CW limit value, Software limit does not work in CW direction when software CCW limit parameter is set to zero. This parameter is volatile and the default value will be zero upon power-up

LP10000 //set CW software limit to 10000 counts
% //respone from controller
LP //request value from controller
LP=10000 //response from controller
LP0 //turn off software limit function in CCW direction
% //respone from controller
31
Q

MT

A

Multi-Tasking

Sets or request the status of the multi-tasking function (on or off). When multi-tasking is enabled (on), commands such as FL (Feed to Length) or HW (Hand Wheel) do not block execution of subsequent commands in the queue or program segment. This allows executing other type of operations, such as setting outputs (SO), while a move is taking place

MT1 //enable multitasking
MT0 //disable multitasking
32
Q

PF

A

Position Fault

Sets or requests the Position Fault limit in encoder counts. This value defines the limit threshold, in encoder counts, reached between actual position and commanded position before the system produces a position fault error. Used with servos or steppers with encoder.

PF2000 //set position fault limit
- //response from controller
PF //request value from controller
PF=2000 //response from controller
33
Q

QC

A

Queue Call (Go Sub)

Loads a program segment from non-volatile memory into the queue and begins executing at line #1. Loads the “calling” segment location and the line where the call occurred into a call “stack”. When a QC command without a parameter is encountered in the segment a “return” to the calling segment is activated. The “calling” segment is loaded from non-volatile memory back into the queue and begins executing at the line immediately following the line number of the original “calling” QC command. The call stack can go 5 calls deep which means you can nest up to 5 calls

QC4 //call segment 4
QC //return to calling segment
34
Q

QG

A

Queue Goto

Causes program segment execution to jump to the given line number in the queue. Gotos directed to the same line number as the QG command or past the end of the queue are ignored.

QG10 //causes a jump to line 10 in the segment

35
Q

QJ

A

Queue Jump

Causes program segment execution to jump to the given line number in the queue based on a “condition code”. Jumps directed to the same line number as the QJ command or past the end of the queue are ignored. If the condition code is met the jump occurs, if not the program proceeds to the next line. Condition codes are set by previous commands such as the TI (Test Input) or TR (Test Register) commands. When using math commands (“R” commands) the condition code is set based on the result of the math operation/

TI4L //test input 4 to see if it is low (active)
QJT15 //jump to line 15 if condition is true (input 4 is low)
36
Q

QR

A

Queue Repeat

Causes program segment execution to jump to a previous line number in the queue for a given number of repeat counts. The repeat count is acquired from a selected Read/Write or User-Defined data register. Jumps past the end of the queue are ignored. Jumps to subsequent line numbers in the queue will not be repeated. If repeat count is set to “1” no Jump is performed. The data register selected for the repeat count must be set with the number of repeat counts prior to using the QR command: use the RX (Register Load - buffered) command to load the data register with the repeat count. The data register contents are affected by this command and must be re-loaded before each usage with the QR command.

37
Q

QX

A

Queue Load & Execute

Loads a program segment from non-volatile memory into the queue. Begins executing the segment at line #1. This is the similar to the combination of a QL (Queue Load) and a QE (Queue Execute) command with the difference being the QX command can be written into a stored program segment. Use this command to “jump” from segment to segment.

QX2 //loads segment 2 and begins execution

38
Q

RD

A

Register Decrement

Decrements by 1 the value of the designated data register.

RD9 //decrements value of user register 9 by 1

39
Q

RI

A

Register Increment

Increments by 1 the value of the designated data register.

RI9 //increments value of user register 9 by 1

40
Q

RL

A

Register Load - Immediate

Sets a data register to the given immediate data value. The data value is checked and stored as a Long word. When setting a Short-word register with the given Long-word data value only the lower word of the Long value is used.

Important: This is an immediate command; can only be used in terminal or when streaming commands. Must use RX buffered command when using within a Q-Program.

RLA100 //set acceleration register to 100

41
Q

RX

A

Register Load - Buffered

Sets a data register to the given immediate data value. The data value is checked and stored as a Long word. When loading a Short-word data register with the given Long-word data value only the lower word of the Long value is used. This command is the same as the RL command except it is a buffered command and therefore can be placed in a stored program.

RXA100 //set acceleration register to 100

42
Q

RW

A

Register Write

Writes the data value of a given data register into non-volatile memory. The data value is written as a Long word.

RWV10 //write data from data register V into non-volatile memory location #10

43
Q

RM

A

Register Move

Move the contents of a first data register into a second data register.

RMAB //move contents of accel register A into decel register B

44
Q

RS

A

Request Status

Asks the drive to respond with what it’s doing. The drive has a number of different states of operation that are represented by character codes. The drive can send more than one code at a time to define its current status.

RS //request status
RS=PR //response from controller - motor in position, drive is enabled
RS //request status
RS=AED //response from controller - alarm code present, drive faulted, drive disabled
RS //request status
RS=JR //response from controller - motor is jogging, drive is enabled
45
Q

SH

A

Seek Home

Executes the seek home command. Requires input number and condition for the home sensor. Speed is set by the last VE command. Accel and decel are set by AC and DE. Direction comes from the sign of the last DI command (“-” is CCW, no sign is CW).

SH1L //seek home to input 1 low
SH3R //seek home to input 3 rising edge
46
Q

TI

A

Test Input

Tests a digital or analog input against the given input state. If the input is in the state the condition code is set to “T” (true). If not the condition code is set to “F” (false). The condition code is found in read-only register ‘h’ and is most commonly used in conditional jump (QJ) commands. The input is tested, and the jump is performed only if that input is in a specific state.

TI4L //test input 4 for low state
QJT15 //jump to line 15 if above was true
47
Q

SC

A

Status Code

Requests the current drive status as the Hexadecimal equivalent of a binary word. Each bit in the binary word relates to a status condition (see assignments below). The representation of this binary word as a hexadecimal value is called the Status Code.

SC //request status code
SC=009 //response from controller - drive is in position and enabled (hex 0001 and hex 0008)
SC //request status
SC=004 //response from controller - drive is faulted and disabled (hex 0004)