Xqt
用于执行由函数名指定的程序并生成任务。
格式
Xqt [任务编号,] 函数名 [(自变量列表)] [, Normal | NoPause | NoEmgAbort ]
参数
- 任务编号
- 以1~32的整数指定要执行任务的任务编号。可省略。为后台任务时,指定65~80的整数。
- 函数名称
- 指定要执行的函数名。
- 自变量列表
- 指定调用时赋予函数的自变量列表。存在多个自变量时,请利用逗号进行分隔。可省略。
- 任务类型
- 可省略。通常会省略。为后台任务时,任务类型指定没有意义。
- Normal
- 生成通常的任务。
- NoPause
- 发生Pause语句或Pause输入信号时,以及要在安全门打开的状态下生成不暂停的任务时进行指定。
- NoEmgAbort
- 紧急停止时以及要在发生错误时生成继续处理的任务时指定。
说明
Xqt用于开始指定的函数并立即进行返回。
通常无需任务编号参数。如果省略任务编号,SPEL+则自动在函数上附加任务编号,因此,用户不必管理任务编号。
注意
任务类型
通过按任务类型指定NoPause或NoEmgAbort,可生成监视控制器全体的任务。
但强烈建议在充分理解SPEL+任务的动作和特殊任务的限制事项之后使用这些任务。
有关特殊任务的详细说明,请参阅以下手册。
《Epson RC+ 用户指南 - 特殊任务》后台任务
通过后台任务执行Xqt命令时,生成的任务也变为后台任务。
通过后台任务执行主函数时,请使用StartMain命令。
有关后台任务的详细说明,请参阅以下手册。
《Epson RC+ 用户指南 - 特殊任务》
不能在NoEmgAbort任务和后台任务中执行的命令
不能在NoEmgAbort任务和后台任务中执行以下命令。
| A | Accel |
| AccelR | |
| AccelS | |
| AIO_TrackingStart | |
| AIO_TrackingEnd | |
| Arc | |
| Arc3 | |
| Arch | |
| Arm | |
| ArmCalib | |
| ArmCalibCLR | |
| ArmCalibSET | |
| ArmClr | |
| ArmSet | |
| AutoLJM | |
| AutoOrientationFlag | |
| AutoSTM | |
| AvoidSingularity | |
| B | Base |
| BGo | |
| BMove | |
| Box | |
| BoxClr | |
| Brake | |
| C | Calib |
| Cnv_AbortTrack | |
| Cnv_Accel | |
| Cnv_AccelLim | |
| Cnv_Adjust | |
| Cnv_AdjustClear | |
| Cnv_AdjustGet | |
| Cnv_AdjustSet | |
| Cnv_DownStream | |
| Cnv_Fine | |
| Cnv_Mode | |
| Cnv_OffsetAngle | |
| Cnv_QueAdd | |
| Cnv_QueMove | |
| Cnv_QueReject | |
| Cnv_QueRemove | |
| Cnv_QueUserData | |
| Cnv_Trigger | |
| Cnv_UpStream | |
| CollisionDetect | |
| CP | |
| CP_Offset | |
| Curve | |
| CVMove | |
| E | ECP |
| ECPClr | |
| ECPSet | |
| F | Find |
| Fine | |
| FineDist | |
| Force_Calibrate | |
| Force_ClearTrigger | |
| Force_Sensor | |
| Force_SetTrigger | |
| G | Go |
| H | Hand_On |
| Hand_Off | |
| Home | |
| HomeClr | |
| HomeSet | |
| Hordr | |
| I | Inertia |
| J | JTran |
| Jump | |
| Jump3 | |
| Jump3CP | |
| JRange | |
| L | LatchEnable |
| LimitTorque | |
| LimZ | |
| LimZMargin | |
| Local | |
| LocalClr | |
| M | MCal |
| MCordr | |
| Motor | |
| Move | |
| O | OLAccel |
| P | Pass |
| PerformMode | |
| Pg_LSpeed | |
| Pg_Scan | |
| Plane | |
| PlaneClr | |
| Power | |
| PTPBoost | |
| Pulse | |
| Q | QP |
| QPDecelR | |
| QPDecelS | |
| R | Range |
| Reset *1 | |
| Restart *2 | |
| S | Sense |
| SetLatch | |
| SFree | |
| SingularityAngle | |
| SingularityDist | |
| SingularitySpeed | |
| SLock | |
| SoftCP | |
| Speed | |
| SpeedFactor | |
| SpeedR | |
| SpeedS | |
| SyncRobots | |
| T | TC |
| TGo | |
| Till | |
| TLSet | |
| TLClr | |
| TMove | |
| Tool | |
| Trap | |
| V | VCal |
| VcalPoints | |
| VCls | |
| VCreateCalibration | |
| VCreateObject | |
| VCreateSequence | |
| VDefArm | |
| VDefGetMotionRange | |
| VDefLocal | |
| VDefSetMotionRange | |
| VDefTool | |
| VDeleteCalibration | |
| VDeleteObject | |
| VDeleteSeuence | |
| VEditWindow | |
| VGet | |
| VGoCenter | |
| VLoad | |
| VLoadModel | |
| VRun | |
| VSave | |
| VSaveImage | |
| VSaveModel | |
| VSet | |
| VShowModel | |
| VStatsShow | |
| VStatsReset | |
| VStatsResetAll | |
| VStatsSave | |
| VSD | |
| VTeach | |
| VTrain | |
| W | WaitPos |
| Weight | |
| WorkQue_Add | |
| WorkQue_Reject | |
| WorkQue_Remove | |
| WorkQue_Sort | |
| WorkQue_UserData | |
| X | Xqt *3 |
| XYLim |
- *1 Reset Error可执行
- *2 可通过Trap Error的处理任务执行
- *3 可通过后台任务执行
请勿采取在循环语句中频繁重复XQT命令的使用方法。 请勿采取在Do…Loop等循环语句中频繁重复XQT命令的使用方法。 否则可能会导致控制器进入挂机状态。如要采取这种使用方法, 请追加Wait命令(Wait 0.1)。
参阅
Function...Fend, Halt, Resume, Quit, StartMain, Trap(用户定义触发)
Xqt使用示例
Function main
Xqt flash '开始任务flash
Xqt Cycle(5) '开始任务Cycle
Do
Wait 3 '执行任务flash 3秒钟
Halt flash '暂停任务
Wait 3
Resume flash '重新开始任务
Loop
Fend
Function Cycle(count As Integer)
Integer i
For i = 1 To count
Jump pick
On vac
Wait .2
Jump place
Off vac
Wait .2
Next i
Fend
Function flash
Do
On 1
Wait 0.2
Off 1
Wait 0.2
Loop
Fend