本文介绍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_bTP1
    bRC = x_bRC
    
    l_sMessage$ = "Robot Start: " + Date$ + " " + Time$ + CRLF
    If bTP1 Then
        Print #24, l_strTemp$
    EndIf
    
    If bRC Then
        Print #21, l_strTemp$
    EndIf
Fend
'打印函数,
Function printMessage(x_sMessage$ As String, x_iRobot As Integer)
    ' local variables
    String l_sMessage$
    '
    If x_iRobot > 4 Then
        Error Err_NumRob
    EndIf
    
    ' get message
    l_sMessage$ = "Rob" + Str$(x_iRobot) + ": " + x_sMessage$
    
        ' using TP1    
    If bTP1 Then
        Print #24, l_sMessage$
    EndIf
    
    ' using RC    
    If bRC Then
        Print #21, l_sMessage$
    EndIf
Fend

'检查当前机器人的实际序列号是否与程序中设定的序列号一致
Function checkSerialNo(x_sSerialNo$ As String, x_iRobot As Integer)
    
    ' local variables
    Integer l_iRobot
    String l_sMessage$
    
    'select robot
    Robot x_iRobot
    
    'Check serial number    
    l_sMessage$ = CRLF
    l_sMessage$ = l_sMessage$ + "name: " + RobotInfo$(0) + CRLF
    l_sMessage$ = l_sMessage$ + "model: " + RobotInfo$(1) + CRLF
    l_sMessage$ = l_sMessage$ + "serial-no.: " + RobotInfo$(4) + CRLF
    l_sMessage$ = l_sMessage$ + "expected serial-no.: " + x_sSerialNo$ + CRLF
    ' Print information    
    printMessage(l_sMessage$, x_iRobot)
    
    ' check for errors
    If RobotInfo$(4) <> x_sSerialNo$ Then Error Err_WrongSerial ' connected robot is not the target system
Fend

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐