分享

【跟着我一起来学习s7-200】28字符串指令

 老黄兄 2015-01-14








在软件的指令列表里面,我们可以看到还有字符串指令,那么今天就学习一下字符串指令,虽然字符串指令在应用方面可能会用的比较少,但作为s7-200的指令,我们还是要学习一下。字符串指令里面有字符串长度指令、字符串复制指令、复制子字符串指令、字符串连接指令、查找子字符串指令和查找字符串中的字符指令。


  那么就先学习一下这些指令,对于字符串连接指令STR_CAT,顾名思义,就是把字符串进行连接起来;字符串长度指令STR_LEN是返回IN指定的字符串长度,也就是计算输入字符串里面有多少个有效字符;字符串复制指令STR_CPY就是直接将IN指定的字符串复制至OUT指定的字符串;而复制子字符串指令它的操作内容除了输入IN输出OUT之外,还有INDX和N,INDX是索引到哪个字符,N是字符数,这个指令是将从输入字符串索引到的字符开始的N个字符输出。下面就看一下指令在程序中的使用。

以上程序在第一个STR_CAT输入字符串“HELLO”,在第二个STR_CAT输入字符串“WORLD”,那么指令执行之后就将“HELLO WORLD”送到VB0里面,后面的SSTR_CPY指令是将“HELLO WORLD”中第7个字符开始的5个字符输出到VB10,那么最后是将“WORLD”输出到VB10的,再执行STR_CPY指令是直接将VB10中的“WORLD”复制到VB100里面,最后的STR_LEN指令是计算VB100里面有多少个字符,VB100里面有5个字符,那么指令执行后VB200输出的就是5。

下面再继续学习一下查找子字符串指令和查找字符串中的字符指令。查找子字符串指令是从OUT定义的字符位置开始,在字符串IN1中找符合IN2的字符串,如果找到一个与字符串IN2完全符合的字符系列,该系列的第一个字符位置被写入到OUT里。如果在字符串IN1中未找到符合IN2的字符串,OUT被设为0。



以上程序首先是对要用的V存储器VB300进行初始化,赋值1,因为位置的计算是以1开始计数的。因VB100里面的字符串是“WORLD”,执行STR_FIND指令后,在字符串VB100中找符合“rld”的字符串,找到后把“rld”字符串的第一个字符的位置写入到VB300里面,那么在VB300中输出的就是3。

而查找字符串中的字符指令从OUT定义的字符位置开始,在字符串IN1中找符合IN2里定义的任何字符,如果找到一个字符与IN2里定义的任何字符一致,那么把找到的第一个字符位置写入到OUT里。如果未找到相符的字符,OUT被设为0。



以上程序首先是对要用的V存储器VB400进行初始化,赋值1,因为位置的计算是以1开始计数的。因VB100里面的字符串是“WORLD”,执行CHR_FIND指令后,在字符串VB100中找符合字符串“lod”的任意字符,找到后把“lod”字符串的第一个字符的位置写入到VB400里面,那么在VB400中输出的就是2。

那么这就是对字符串指令的学习了。因为这些指令用的相对较少些,记不住也没关系,先有个了解,等需要用的时候查找一下帮助看下指令的用法就可以了。



















    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多