1.1 Epson机器人常用指令1-Print函数、RobotInfo$
本文介绍Print, RobotInfo的使用. 主要总结如下:
1. Print可以向串口、网口、手操器TP1,RC软件等发送数据
2. RobotInfo$(4)可以得到机器人序列号。用于防止程序下载到其他机器人上。
3. CX, CY, CZ可以返回点的XYZ坐标值。 RealPos得到当前实际位置
一、具体函数介绍
1.Print函数(将数据输出到指定的文件、通信端口、显示装置)
Print #portNumber, [expression [ , expression... ]
Print #1 "hello" | 向串口1输出“Hello" |
Print #21 "hello" | 向RC软件打印"hello" |
Print #24 "hello" | 向TP1手操器上打印”Hello" |
2.RobotInfo$函数,返回机器人的信息:
其中RobotInfo$(4)可以得到机器人序列号。
为了放置机器人程序下错,可以判断下序列号,如果异常则报错。代码如下:
3. 关于点的函数
RealPos 函数,用于返回指定机器人当前位置
CurPos:返回机器人的当前的动作目标位置
CX 是返回指定点数据X坐标值
CY 是返回指定点数据Y坐标值
CZ 是返回指定点数据Z坐标值
CU 是返回指定点数据U坐标值
CV 是返回指定点数据V坐标值
CW 是返回指定点数据W坐标
CR 是返回指定点数据R坐标值
CS 是返回指定点数据S坐标值
CT 是返回指定点数据T坐标值
Agl 是返回指定关节的角度的函数。
RealPls 返回已指定关节的脉冲值
二、代码样例:
Boolean bTP1 'TP1 is active
Boolean bRC 'RC+ is active'初始化的打印功能,指定是显示到TP1还是RC。
Function initDisplay(x_bTP1 As Boolean, x_bRC As Boolean)
' Local paramter 局部变量 String l_sMessage$bTP1 = x_bTP1bRC = x_bRCl_sMessage$ = "Robot Start: " + Date$ + " " + Time$ + CRLFIf bTP1 ThenPrint #24, l_strTemp$EndIfIf bRC ThenPrint #21, l_strTemp$EndIf
Fend
'打印函数,
Function printMessage(x_sMessage$ As String, x_iRobot As Integer)' local variablesString l_sMessage$'If x_iRobot > 4 ThenError Err_NumRobEndIf' get messagel_sMessage$ = "Rob" + Str$(x_iRobot) + ": " + x_sMessage$' using TP1 If bTP1 ThenPrint #24, l_sMessage$EndIf' using RC If bRC ThenPrint #21, l_sMessage$EndIf
Fend'检查当前机器人的实际序列号是否与程序中设定的序列号一致
Function checkSerialNo(x_sSerialNo$ As String, x_iRobot As Integer)' local variablesInteger l_iRobotString l_sMessage$'select robotRobot x_iRobot'Check serial number l_sMessage$ = CRLFl_sMessage$ = l_sMessage$ + "name: " + RobotInfo$(0) + CRLFl_sMessage$ = l_sMessage$ + "model: " + RobotInfo$(1) + CRLFl_sMessage$ = l_sMessage$ + "serial-no.: " + RobotInfo$(4) + CRLFl_sMessage$ = l_sMessage$ + "expected serial-no.: " + x_sSerialNo$ + CRLF' Print information printMessage(l_sMessage$, x_iRobot)' check for errorsIf RobotInfo$(4) <> x_sSerialNo$ Then Error Err_WrongSerial ' connected robot is not the target system
Fend