1. 西门子plc首页
  2. 常见问答

西门子plc如何处理字符串?

1.求字符串长度指令
求字符串长度指令SLEN返回IN参数指定的字符串的长度值,OUT为字节类型。

2.字符串复制指令
字符串复制指令SCPY将IN参数指定的字符串复制到OUT指定的地址区中。

3.字符串连接指令
字符串连接指令(SCAT)将IN参数指定的字符串连接到OUT指定的字符串的后面。
【例】  字符串指令应用举例。
LD    I0.0
STR_CPY    ”HELLO  ”,VB0    //将字符串“HELLO  ”复制到VBO开始的存储区
SCAT    ”WORLD”,VB0    //将字符串“WORLD”复制到VBO开始的字符串的后面
STRLEN    VB0,AC0    //求VB0开始的字符串的长度
字符串变量的首字节是字符串的长度,VB0开始的字符串为“HELLO”(最后有一个空格),VB0中是字符串的长度6。执行SCAT指令后,得到新的字符串为“HELLO WORLD”,STRLEN指令求出的字符串的长度为11。
4.从字符串中复制子字符串指令
SSCPY指令从INDX指定的字符编号开始,将IN指定的字符串的N个字符串复制到OUT中,OUT为字节类型。
指令“SSCPY VB0,7,5,VB20”将从VB0开始的字符串中的第7个字符开始,复制5个字符到VB20开始的新字符串。
5.字符串搜索指令
SFND指令在字符串IN1中搜索字符串IN2,由字节变量OUT指定搜索的起始位置。如果在IN1中找到了与IN2中字符串相匹配的一段字符,则在OUT中存入这段字符IN1中的首个字符的位置。如果没有找到,则OUT被清零。
6.字符搜索指令
CFND指令查找在字符串IN1中是否有字符串IN2中包含的任意字符,字节变量OUT指定搜索的起始位置。如果找到了匹配的字符,字符的位置被写入OUT中。如果没有找到,OUT被清零。
假设存储在VBO开始的区域的字符串包含温度值,存储在VB20开始的区域中的字符串包含所有的数字、“+”号和“-”号,用于识别字符串中的温度值。下面的程序在字符串中找到数字的起始位置,并将其转换为实数,温度值存放在VD200中。
LD    I0.0
MOVB  1,AC0    //AC0用作OUT参数并指向字符串的首个字符
CFND    VB0,VB2,AC0    //在VB0字符串中寻找数字字符
STR    VB0,AC0,VD200    //将字符串。中的温度值转换为实数

原创文章,作者:西门子plc,如若转载,请注明出处:https://siemensplc.com/wenda/18546.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:344133793@qq.com<仅限广告合作>

工作时间:周一至周五,9:30-18:30,节假日休息