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

2018年12月24日13:20:54 发表评论 1,288 阅读

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    //将字符串。中的温度值转换为实数

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: