数据读入指令与函数
1.指令、函数与功能
RAPID 数据读入指令与函数命令可用于简单串行设备的数据读入操作,指令、函数命令的编程格式、功能及程序数据、参数、添加项的要求与含义等简要说明见表 6.2-3。
续表
表 6.2-3 中的指令添加项、函数命令可选参数\Time 的含义相同,它用来定义数据读入的等待时间;不使用添加项、可选参数\Time 时,系统默认的读入等待时间为 60s;如需要无限时等待,则应指定「\Time :=WAIT_MAX」。指令及函数命令的编程要求如下。
2.任意数据与原始数据包读入
任意数据读入指令 Read Any Bin 可从 Open…\Bin 指令打开的文件或串行接口上读入数据,并将其转换为指定类型的 RAPID 程序数据。
例如,通过以下指令,控制系统可从串行接口 COM1 所连接的 IO 设备 channel 上读入数据,并将其转换为 RAPID 程序中的 TCP 位置型(robtarget)数据 cur_robt。
VAR robtarget cur_robt ;
……
Open "com1:", channel\Bin ;
Read Any Bin channel, cur_robt ;
……
原始数据(RawData)读入指令 Read RawBytes 用于使用 DeviceNet 网络通信协议的串行设备的数据输入,DeviceNet 通信一般以原始数据(RawData)或数据包(Packet)的形式发送/接收,有关内容可参见后述。
3.字符串读入
字符串读入函数指令 ReadStrBin 可从 Open…\Read 指令打开的文件或串行接口上读入数据,并将其转换为 RAPID 程序中的字符串型(string)数据。
指令可读入从文件开始方位开始到分隔符完毕的***大 80 个字符数据;数据读入时需要删去的分隔符可通过挑选参数\Delim、\Remove CR、\Discard Headers 指定;不使用可选参数时,系统默许换行符 LF(0AH)为数据读入完毕分隔符。挑选\Discard Headers 参数时,可删去换行符 LF(0AH);挑选\Remove CR 参数时,可删去回车符 CR(0DH);挑选\Delim 参数时,可删去第 1 字符串中\Delim 分隔符(ASCII 编码),但不能读入后续的字符串。
例如,通过以下程序,可从 IO 设备 infile(SD 卡文件 HOME: file.doc)中读入从开始方位开始到换行符 LF(0AH)完毕的数据,并将其转换为 RAPID 程序的字符串型(string)数据保存到 text 中。
VAR string text ;
VAR iodev infile ;
……
Open "HOME:/file.doc", infile\Read ;
text := Read Str(infile) ;
……
因此,如文件 HOME: file.doc 的内容为包含换行符 LF(0AH)、空格 SP(20H)、水平制表符 HT(09H)、回车符 CR(0DH)及英文词「Hello」「World」的如下文本:
由于系统默认以换行符 LF 为数据读入结束分隔符,执行指令「text := Read Str(infile)」,将无法读入第 1 个换行符 LF 后的其他数据,程序数据 text 的内容为空字符串;但是,如果使用不同的可选参数,则可获得如下执行结果。
text := Read Str(infile\Discard Headers) ;
删除换行符 LF,text 内容为:HelloWorld;
text := Read Str(infile\Remove CR\Discard Headers) ;
删除换行符 LF 和回车符 CR,text 内容为:HelloWorld;
text := Read Str(infile\Delim:=" \09"\Remove CR\Discard Headers) ;
删除换行符 LF、回车符 CR,以及第 1 字符串中的水平制表符 HT 和前空格 SP,但不能读入第 2 字符串 World ,text 内容为:Hello。
4.数值读入
了解更多库卡机器人知识欢迎点击咨询:库卡机器人配件
- 下一篇:文件管理指令与函数
- 上一篇:库卡机器人配件串行数据输出指令