Skip to content

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