Codesys中关于字符串的处理

最近在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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值