!MSU                Set event when motor speed is equal or under a 32-bit value or the value of a fixed variable

Syntax                        

!MSU value32

! if MotorSpeedUnder value32

!MSU VAR32

! if MotorSpeedUnder VAR32

 

OperandsVAR32: fixed variable

value32: 32-bit fixed immediate value

PlaceTMLOnline

Binary code

MSU

DescriptionSets the event condition when the motor speed is equal or under the 32-bit value or the value of the specified fixed variable. After you have programmed an event, you can do the following actions:
Change the motion mode and/or the parameters when the event occurs, with command UPD!
Stop the motion when the event occurs, with command STOP!
Wait for the programmed event to occur, with command WAIT!

The programmed event is automatically erased when the event occurs or if the timeout for the WAIT! command expires.

Remark: After setting UPD! or STOP! you need to wait until the programmed event occurs using WAIT!, otherwise, the program will continue with the next instructions that may override the event monitoring.

 

ExecutionActivates the monitoring of the event when motor speed <= value32, respectively VAR32. This operation erases a previous programmed event that has occurred.

Example                

//Motor is decelerating. Start a position profile when motor

//speed < 600 rpm

//Position feedback: 500 lines encoder (2000 counts/rev)

!MSU 20; //Set event: when motor speed is < 600 rpm

// prepare new motion mode

CACC = 0.3183;//acceleration rate = 1000[rad/s^2]

CSPD = 100;//slew speed = 3000[rpm]

CPOS = 20000;//position command = 10[rot]

CPR; //position command is relative

MODE PP;

TUM1; //set Target Update Mode 1

UPD!; //execute on event

WAIT!;//Wait until the event occurs