今天给大家介绍一下ABB机器人基础编程--手动模拟输入数值
在示教器编写程序时,有时想模拟输入一个变量的数值,一般的都是对一个变量赋一个固定的值,例如对积分变量Score附一个固定值,score:=10;但是这样做不灵活,不能在运行程序的时候改变数值,在没有实际信号输入的情况下,怎么才能解决这个问题呢?
如需更多干货请关注(中科罗伯特机器人)微信公众号
还好我们有TPReadNum指令。
TPReadNum(FlexPendant Read Numerical)指令,用于从FlexPendant示教器读取数值。
例如,TPReadNum score, "How many scores have we already got ?";
这个语句的意思是将文本How many scores have we already got ?的值写入FlexPendant示教器显示器。程序执行进入等待,直至已经从FlexPendant示教器上的数字键盘输入数值,该编号储存在score中。
TPReadNum指令还可以带其他参数,完整指令说明如下:
TPReadNum TPAnswer TPText [\MaxTime][\DIBreak] [\DIPassive] [\DOBreak] [\DOPassive] [\BreakFlag]
语法为:
TPReadDnum
[TPAnswer’:=’] ’,’
[TPText’:=’]
[’\’MaxTime’:=’ ]
[’\’DIBreak’:=’ ]
[´\´DIPassive]
[’\’DOBreak’:=’ ]
[´\´DOPassive]
[’\’BreakFlag’:=’ ] ’;’
各个参数的解释如下:
TPAnswer 数据类型:dnum 返回用于通过FlexPendant示教器输入编号的变量。
TPText 数据类型:string 有待写入FlexPendant示教器的信息文本(每行40个字符,最多80个字符)。
[\MaxTime] 数据类型:num 程序执行等待的最长时间。如果在该时间内未输入任何编号,则用错误处理器继续执行程序,除非使用BreakFlag(参见下文)。常量ERR_TP_MAXTIME可用于测试是否已经过最长时间。
[\DIBreak] Digital Input Break 数据类型:signaldi 可能中断运算符对话框的数字信号。如果将信号设置为1(或已经为1)时未输入任何数字,则用错误处理器继续执行程序,除非使用BreakFlag(参见下文)。可使用常量ERR_TP_DIBREAK来测试是否已出现该情况。
[\DIPassive] Digital Input Passive 数据类型:switch 当使用DIBreak可选参数时,该开关会覆盖默认行为。将信号设置为1(或已经为1)时,取代反应;将信号DIBreak设置为0(或已经为0)时,应当用错误处理器继续本指令(如果未使用BreakFlag)。常量ERR_TP_DIBREAK可用于测试是否已出现上述情况。
[\DOBreak] Digital Output Break 数据类型:signaldo 支持其他任务终止请求的数字信号。如果将信号设置为1(或已经为1)时未选择任何按钮,则用错误处理器继续执行程序,除非使用BreakFlag(参见下文)。可使用常量ERR_TP_DOBREAK来测试是否已出现该情况。
[\DOPassive] Digital Output Passive 数据类型:switch 当使用DOBreak可选参数时,该开关会覆盖默认行为。将信号设置为1(或已经为1)时,取代反应;将信号DOBreak设置为0(或已经为0)时,应当用错误处理器继续本指令(如果未使用BreakFlag)。常量ERR_TP_DOBREAK可用于测试是否已出现上述情况。
[\BreakFlag] 数据类型:errnum 使用MaxTime、DIBreak 或DOBreak时将保存错误代码的变量。如果省略该可选变量,则将执行错误处理器。常量ERR_TP_MAXTIME、ERR_TP_DIBREAK和 ERR_TP_DOBREAK可用于选择原因。
中科罗伯特机器人学院,每月中旬开班,可免费试学。
领取专属 10元无门槛券
私享最新 技术干货