Codesys中关于字符串的处理

柔情痞子 提交于 2020-03-09 04:42:28

最近在Codesys中编程中遇到了字符串的处理问题,学习了一些前辈方法,顺便记录一下:

readdataMid:="[shake:A1;]";

1.查找字符串是否存在对应的字符串(单独使用需要指定字符串位置,即协议定死)

verifyStr: STRING(5);

verifyStr:=(MID(readdataMid,5,1));

bverifyStrOk:=(verifyStr='shake');

PS:获取字符串中1的的位置后面5个字符的位置,形成字符串,赋值给verifystr ,同时通过一个布尔值判断是否为指定字符串

MID方法:MID(STR(string),LEN(int),POS(int))的意思是:从STR字符串中以位置POS处的字符开始检索长度为LEN字符。

2.查找指定字符位置位置
find1,find2:int;

find1:=FIND(readdataMid,'[');

PS:查询readdatamid字符串中,"["的位置,返回给find1

FIND方法:FIND(STR1(string),STR2(string))的意思是:查找STR2首次出现在STR1中的第一个字符的位置。如果在STR1中找不到STR2,则返回0。

3.拼接字符串

readdataMid2:string(99);

readdataMid2:=INSERT(STR1:= readdataMid, STR2:= 'B0;C1;', POS:=find2-1 ); 

PS:在readdataMid字符串中插入 'B0;C1;',位置为' ] ' 的位置之前。即形成新的字符串"[shake:A1;B0;C1;]";形成校验

INSERT方法:INSERT(STR1(string),STR2(string),POS(int))的意思是:在位置POS之后将STR2插入STR1。

以上就是Codesy中使用字符串的方法,假设是一种未知字符串,就需要使用1和2方法来同时校验,先获取指定位置,在想办法拼接。不过我目前在工业行业,协议基本上定义好的,出现这种情况较少

第一次写技术类分享,欢迎一起讨论 。扣扣:491072135

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!