004.ABB机器人高级编程—String的读取 叶芝的诗
先抱歉,这篇写得很烂,一点水平都没有,全靠叶芝的诗句来拯救了,凑乎看看。
有时间了,给大家高了高精尖的。
好久没有更新了,今天更新一下。
之前已经围绕字符串分享了一些知识,其实我知识打算借助字符串将ABB的文本部分的知识和大家分享一下,对让入行的新鲜小鲜肉们有个大致的思路,对那些老前辈和同事如果看到这些记得不要嘲笑,我的分享比较浅显,角度一般,其实ABB的语言很灵活有许多可以挖掘的部分。希望大家遇到问题可以在下面留言,我一定有求必回。不会的说不定也能提供思路给大家。
今天是字符串的读写。
其实我们一直忽略了一个问题,对于学过操作系统或者嵌入式的同学可能知道一些系统的底层机制,比如串口江湖人称RS232,
其实在在操作系统中串口的读写和文本文件的读写都可以归于Stream文件流,所以在文本的读写代码之前要将读取的对象改成串口,所有的之前写好的函数或者模块都可以复用的因为在系统层面他们都是文本流。
下面就讲讲ABB机器人的文本的读取,我写的比较简单,当然大家在平时使用的时候可以根据自己的需求写不同的功能函数,当然最主要的功能还是:
- 打开
- 读取
- 关闭
VAR string text;
VAR iodev infile;
VAR bool IsEmpty;
!主函数
PROC Main()
VAR string data;
!打开文件
OpenFile "WhenYouAreOld.txt";
!设置是否是空
IsEmpty:=TRUE;
!判断文件读取状态
WHILE IsEmpty DO
!读取一行文字
data:=ReadNext();
!判断读取的是不是空白
IF data<>EOF THEN
!写屏幕数据
TPWrite data;
ELSE
IsEmpty:=false;
ENDIF
!延时
waittime 3;
ENDWHILE
CloseFile;
ENDPROC
!打开文件
LOCAL PROC OpenFile(string name)
Open "HOME:/"+name, infileRead;
ENDPROC
!关闭文件
LOCAL PROC CloseFile()
Close infile;
ENDPROC
!读取文件的下一行 如果一行字符超过80个则分多次读写
FUNC string ReadNext()
text := ReadStr(infile );
return text;
ENDFUNC
其实这部分的功能只是很简单的使用,可以写的很复杂,ABB的文本读取支持读取指定行:ReadStr 函数有可选参数 [Line]
其实ABB很多指令是有很多的可选参数的。
后续我会专门开一个专栏为大家分享一下ABB机器人的编程可以自定义数据结构和函数的种类和形参实参的使用,让大家以后写的程序越来越模块化。
下面是一首叶芝的诗 好像曾经莫文蔚改变过歌曲,我感觉还是 《嘿,老头》里面的演唱得好。
下面是机器人读取的界面:
新年快到了,希望大家新的一年遇到到,不管在去出差的路上还是回来的飞机上,还是机场还是火车站,不要错过美好的遇见。
我自己都感觉这一篇写得很烂,不过全靠这首诗撑门面了。
晚安。
2019-1-24
灰太狼