4.12 BasScript 脚本程序类
说明
BasScript 用于在上位机以结构化方式构建示教器中的 BAS 指令序列,涵盖运动、逻辑、程序调用、通信、视觉和 Modbus 等指令。通过在 Python 侧按顺序调用 BasScript.* 方法即可生成与示教器一致的脚本流程,便于自动化生成、编辑或复用复杂程序。
类构造函数
| 方法名 | BasScript( name ) |
|---|---|
| 描述 | 对应示教器程序编辑器中的指令 |
| 请求参数 | name :脚本名称 |
| 兼容的机器人软件版本 | 协作 (Copper): v7.5.2.0+ 工业 (Bronze): v7.6.0.0+ |
| 备注 | 本类下所有方法的兼容版本要求与本类一致 |
4.12.1 MoveJoint 运动到点指令
| 方法名 | BasScript.move_joint( pose_type , pose_index , speed_type , speed_value , smooth_type , smooth_distance , extra_param ) |
|---|---|
| 描述 | 对应示教器程序编写中的 MoveJoint 指令 |
| 请求参数 | pose_type :位姿类型 pose_index :位姿索引 speed_type :速度类型 speed_value :速度值 smooth_type :平滑类型 smooth_distance :平滑距离 extra_param :附加参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.2 MoveLine 直线运动到点指令
| 方法名 | BasScript.move_line( pose_type , pose_index , speed_type , speed_value , smooth_type , smooth_distance , extra_param ) |
|---|---|
| 描述 | 对应示教器程序编写中的 MoveLine 指令 |
| 请求参数 | pose_type :位姿类型 pose_index :位姿索引 speed_type :速度类型 speed_value :速度值 smooth_type :平滑类型 smooth_distance :平滑距离 extra_param :附加参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.3 MoveCircle 弧线运动到点指令
| 方法名 | BasScript.move_circle( pose_type1 , pose_index1 , pose_type2 , pose_index2 , speed_type , speed_value , smooth_type , smooth_distance , extra_param ) |
|---|---|
| 描述 | 对应示教器程序编写中的 MoveCircle 指令 |
| 请求参数 | pose_type1 :第一个位姿类型 pose_index1 :第一个位姿索引 pose_type2 :第二个位姿类型 pose_index2 :第二个位姿索引 speed_type :速度类型 speed_value :速度值 smooth_type :平滑类型 smooth_distance :平滑距离 extra_param :附加参数 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.4 LogiIf 条件指令
| 方法名 | BasScript.logi_if( param1 , index , param2 , value , operator ) |
|---|---|
| 描述 | 对应示教器程序编写中的 IF 逻辑语句 |
| 请求参数 | param1 :第一个参数 index :索引 param2 :第二个参数 value :值 operator :逻辑运算符 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.5 LogiElseIf 条件分支指令
| 方法名 | BasScript.logi_else_if( param1 , index , param2 , value , operator ) |
|---|---|
| 描述 | 对应示教器程序编写中的 ELIF 逻辑语句 |
| 请求参数 | param1 :第一个参数 index :索引 param2 :第二个参数 value :值 operator :逻辑运算符 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.6 LogiElse 否则指令
| 方法名 | BasScript.logi_else() |
|---|---|
| 描述 | 对应示教器程序编写中的 ELSE 逻辑语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.7 LogiEndIf 结束条件指令
| 方法名 | BasScript.logi_end_if() |
|---|---|
| 描述 | 对应示教器程序编写中的 ENDIF 逻辑语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.8 LogiWhile 循环指令
| 方法名 | BasScript.logi_while( param1 , index , param2 , value , operator ) |
|---|---|
| 描述 | 对应示教器程序编写中的 WHILE 逻辑语句 |
| 请求参数 | param1 :第一个参数 index :索引 param2 :第二个参数 value :值 operator :逻辑运算符 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.9 LogiEndWhile 结束循环指令
| 方法名 | BasScript.logi_end_while() |
|---|---|
| 描述 | 对应示教器程序编写中的 ENDWHILE 逻辑语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.10 LogiSwitch 多分支选择指令
| 方法名 | BasScript.logi_switch( param , index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SWITCH 逻辑语句 |
| 请求参数 | param :参数 index :索引 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.11 LogiCase 分支指令
| 方法名 | BasScript.logi_case( param , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 CASE 逻辑语句 |
| 请求参数 | param :参数 value :值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.12 LogiDefault 默认分支指令
| 方法名 | BasScript.logi_default() |
|---|---|
| 描述 | 对应示教器程序编写中的 DEFAULT 逻辑语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.13 LogiEndSwitch 结束多分支选择指令
| 方法名 | BasScript.logi_end_switch() |
|---|---|
| 描述 | 对应示教器程序编写中的 ENDSWITCH 逻辑语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.14 LogiGoto 跳转指令
| 方法名 | BasScript.logi_goto( index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 GOTO 跳转语句 |
| 请求参数 | index :目标标签的索引 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.15 LogiLabel 标签指令
| 方法名 | BasScript.logi_label( index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 LABEL 标签语句 |
| 请求参数 | index :标签的索引 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.16 LogiSkipCondition 跳过条件指令
| 方法名 | BasScript.logi_skip_condition( param1 , index , param2 , value , operator ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SKIP CONDITION 跳转语句 |
| 请求参数 | param1 :第一个参数 index :索引 param2 :第二个参数 value :值 operator :逻辑运算符 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.17 LogiBreak 跳出循环指令
| 方法名 | BasScript.logi_break() |
|---|---|
| 描述 | 对应示教器程序编写中的 BREAK 语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.18 LogiContinue 跳过循环指令
| 方法名 | BasScript.logi_continue() |
|---|---|
| 描述 | 对应示教器程序编写中的 CONTINUE 语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.19 AssignValue 赋值指令
| 方法名 | BasScript.assign_value( param1 , index , param2 , value , opt_index , opt_value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 ASSIGN 赋值语句 |
| 请求参数 | param1 :第一个参数 index :索引 param2 :第二个参数 value :值 opt_index :可选索引 opt_value :可选值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.20 Wait 等待条件指令
| 方法名 | BasScript.wait( param1 , index , param2 , value , operator ) |
|---|---|
| 描述 | 对应示教器程序编写中的 WAIT COND 等待条件语句 |
| 请求参数 | param1 :第一个参数 index :索引 param2 :第二个参数 value :值 operator :逻辑运算符 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.21 WaitTime 等待时间指令
| 方法名 | BasScript.wait_time( param , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 WAIT TIME 等待时间语句 |
| 请求参数 | param :参数 value :时间值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.22 Pause 暂停指令
| 方法名 | BasScript.pause() |
|---|---|
| 描述 | 对应示教器程序编写中的 PAUSE 暂停语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.23 Abort 中断指令
| 方法名 | BasScript.abort() |
|---|---|
| 描述 | 对应示教器程序编写中的 ABORT 终止语句 |
| 请求参数 | 无 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.24 Call 同步调用程序指令
| 方法名 | BasScript.call( name ) |
|---|---|
| 描述 | 对应示教器程序编写中的 CALL 同步调用程序 |
| 请求参数 | name :程序名 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.25 Run 异步调用程序指令
| 方法名 | BasScript.run( name ) |
|---|---|
| 描述 | 对应示教器程序编写中的 RUN 异步调用程序 |
| 请求参数 | name :程序名 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.26 Load 加载程序指令
| 方法名 | BasScript.load( param , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 LOAD 载入程序 |
| 请求参数 | param :参数 value :值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.27 Unload 卸载程序指令
| 方法名 | BasScript.unload( param , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 UNLOAD 卸载程序 |
| 请求参数 | param :参数 value :值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.28 Exec 执行程序指令
| 方法名 | BasScript.exec( param , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 EXEC 执行程序 |
| 请求参数 | param :参数 value :值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.29 SocketOpen 打开 socket 连接指令
| 方法名 | BasScript.socket_open( index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SOCKET OPEN 打开 socket 连接 |
| 请求参数 | index :SK 寄存器序号 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.30 SocketClose 关闭 socket 连接指令
| 方法名 | BasScript.socket_close( index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SOCKET CLOSE 关闭 socket 连接 |
| 请求参数 | index :SK 寄存器序号 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.31 SocketConnect 连接 socket 指令
| 方法名 | BasScript.socket_connect( index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SOCKET CONNECT 连接 socket |
| 请求参数 | index :SK 寄存器序号 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.32 SocketSend 发送 socket 数据指令
| 方法名 | BasScript.socket_send( index , msg_type , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SOCKET SEND 发送数据 |
| 请求参数 | index :SK 寄存器序号 msg_type :消息类型 value :消息内容或序号 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.33 SocketRecv 接收 socket 数据指令
| 方法名 | BasScript.socket_recv( index , msg_length , msg_type , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SOCKET RECV 接收数据 |
| 请求参数 | index :SK 寄存器序号 msg_length :消息长度 msg_type :消息类型 value :消息内容或序号 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.34 ModbusReadMH 读取 Modbus 保持寄存器指令
| 方法名 | BasScript.modbus_read_MH( index , id , address , length , r_index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 READ_MH 读取 Modbus 保持寄存器 |
| 请求参数 | index :通道序号 id :Modbus ID address :寄存器地址 length :寄存器长度 r_index :R 寄存器序号 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.35 ModbusReadMI 读取 Modbus 输入寄存器指令
| 方法名 | BasScript.modbus_read_MI( index , id , address , length , r_index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 READ_MI 读取 Modbus 输入寄存器 |
| 请求参数 | index:通道序号 id :Modbus ID address :寄存器地址 length :寄存器长度 r_index :R 寄存器序号 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.36 ModbusWriteMH 写入 Modbus 保持寄存器指令
| 方法名 | BasScript.modbus_write_MH( index , id , address , length , value_type , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 WRITE_MH 写入 Modbus 保持寄存器 |
| 请求参数 | index :通道序号 id :Modbus ID address :寄存器地址 length :寄存器长度 value_type :值类型 value :值或索引 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.37 VisionFind 寻找视觉程序指令
| 方法名 | BasScript.vision_find( name ) |
|---|---|
| 描述 | 对应示教器程序编写中的 VISION FIND 寻找视觉程序 |
| 请求参数 | name :视觉程序名称 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.38 VisionGetOffset 获取视觉程序偏移量指令
| 方法名 | BasScript.vision_get_offset( name , index , label_index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 VISION GET OFFSET 获取视觉程序偏移量 |
| 请求参数 | name :视觉程序名称 index :视觉寄存器索引 label_index :标签索引 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.39 VisionGetQuantity 获取视觉程序结果指令
| 方法名 | BasScript.vision_get_quantity( name , index ) |
|---|---|
| 描述 | 对应示教器程序编写中的 VISION GET QUANTITY 获取视觉程序结果 |
| 请求参数 | name :视觉程序名称 index :R 寄存器索引 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.40 SetParam 设置参数指令
| 方法名 | BasScript.set_param( type , value_type , value ) |
|---|---|
| 描述 | 对应示教器程序编写中的 SET PARAM 设置参数 |
| 请求参数 | type :参数类型 value_type :值类型 value :值 |
| 返回值 | StatusCodeEnum: 函数执行结果 |
4.12.41 ExtraParam 额外参数类
| 方法名 | ExtraParam() |
|---|---|
| 描述 | 额外参数类,用于构建复杂的机器人控制命令 |
| 请求参数 | 无 |
| 返回值 | 无 |
4.12.41.1 设置加速度
| 方法名 | ExtraParam.acceleration( value ) |
|---|---|
| 描述 | 设置加速度,范围为 1~120 |
| 请求参数 | value :加速度值(浮点数) |
| 返回值 | 无 |
4.12.41.2 设置 RTCP 参数
| 方法名 | ExtraParam.rctp() |
|---|---|
| 描述 | 设置 RTCP 参数 |
| 请求参数 | 无 |
| 返回值 | 无 |
4.12.41.3 设置帧偏移
| 方法名 | ExtraParam.offset( index ) |
|---|---|
| 描述 | 设置帧偏移 |
| 请求参数 | index :偏移索引(整数) |
| 返回值 | 无 |
4.12.41.4 设置时间基准运行或赋值
| 方法名 | ExtraParam.tb( second , type , name =None, index =None, status =None) |
|---|---|
| 描述 | 设置时间基准运行或赋值 |
| 请求参数 | second :秒数(整数) type :执行类型(字符串) name :名称(用于运行,字符串) index :索引(用于赋值,整数) status :状态(用于赋值,字符串) |
| 返回值 | 无 |
4.12.41.5 设置跳转
| 方法名 | ExtraParam.skip( index ) |
|---|---|
| 描述 | 设置跳转 |
| 请求参数 | index :标签索引(整数) |
| 返回值 | 无 |
4.12.42 JUMP 快速运动指令
4.12.42.1 JUMP 快速运动指令
| 方法名 | move_jump( pose_type , pose_index , speed_value , speed_ratio , lim_Z_type , lim_Z_value , smooth_type , smooth_distance =0.0, extra_param =None) |
|---|---|
| 描述 | 机器人点对点移动到指定位置 |
| 请求参数 | pose_type :目标位姿存储类型( MovePoseType ,目前支持 PR 寄存器) pose_index :目标位置的索引(整数,表示在控制器上的 PR 寄存器中的位置) speed_value :移动速度的值(浮点数,单位为 mm/s) speed_ratio :移动速度的比率(浮点数,单位为 %,范围为 0~100) lim_Z_type :Z 轴限制的类型( SpeedType ,可以是 MR 寄存器或数值 VALUE) lim_Z_value :Z 轴限制的值(如果 lim_Z_type 为 MR 寄存器,表示 MR 寄存器序号;如果为数值 VALUE,表示 Z 轴限制的值,单位为 mm/s,范围为 0~100) smooth_type :平滑类型( SmoothType ,可以是 FINE 或 SMOOTH_DISTANCE) smooth_distance :平滑距离(浮点数,仅在 smooth_type 为 SMOOTH_DISTANCE 时生效,范围为 0~1000) extra_param :额外参数( ExtraParam ,用于设置 MOVE 指令的额外参数,可选) |
| 返回值 | 操作结果的状态码( StatusCodeEnum ) |
4.12.42.2 JUMP3 快速运动指令
| 方法名 | move_jump3( pose_type , pose_index , speed_value , speed_ratio , smooth_type , smooth_distance =0.0, extra_param =None) |
|---|---|
| 描述 | 机器人点对点移动到指定位置 |
| 请求参数 | pose_type :目标位姿存储类型( MovePoseType ,目前支持 PR 寄存器) pose_index :3 个目标位置的索引(列表,包含 3 个整数,表示在控制器上的 PR 寄存器中的位置) speed_value :移动速度的值(浮点数,单位为 mm/s) speed_ratio :移动速度的比率(浮点数,单位为 %,范围为 0~100) smooth_type :平滑类型( SmoothType ,可以是 FINE 或 SMOOTH_DISTANCE) smooth_distance :平滑距离(浮点数,仅在 smooth_type 为 SMOOTH_DISTANCE 时生效,范围为 0~1000) extra_param :额外参数( ExtraParam ,用于设置 MOVE 指令的额外参数,可选) |
| 返回值 | 操作结果的状态码( StatusCodeEnum ) |
4.12.42.3 JUMP3CP 快速运动指令
| 方法名 | move_jump3cp( pose_type , pose_index , speed_value , smooth_type , smooth_distance =0.0, extra_param =None) |
|---|---|
| 描述 | 机器人点对点移动到指定位置 |
| 请求参数 | pose_type :目标位姿存储类型( MovePoseType ,目前支持 PR 寄存器) pose_index :3 个目标位置的索引(列表,包含 3 个整数,表示在控制器上的 PR 寄存器中的位置) speed_value :移动速度的值(浮点数,单位为 mm/s) smooth_type :平滑类型( SmoothType ,可以是 FINE 或 SMOOTH_DISTANCE) smooth_distance :平滑距离(浮点数,仅在 smooth_type 为 SMOOTH_DISTANCE 时生效,范围为 0~1000) extra_param :额外参数( ExtraParam ,用于设置 MOVE 指令的额外参数,可选) |
| 返回值 | 操作结果的状态码( StatusCodeEnum ) |