SIMATIC S7-200 SMART
    更多

    字符串指令

    star star star star star
    0 分
    • 软件编程
    发布时间:2024年01月10日
    • 0
    • 1796
    介绍了字符串指令的使用。

    字符串定义

    字符串是一系列字符,每个字符作为一个字节存储。

    字符串由变量存储时,字符串长度为0至254个字符,最长为255个字节,其中第一个字符为长度字节。

    常数字符串直接输入程序编辑器或数据块时,最长为126个字节; 且常数字符串必须用双引号字符起始和结束 (如:"ABCD", "1234" )

    字符串转换

    将浮点数/双整/整数转换为字符串,分别为转换指令中的R_S,S_DI,I_S。

    将字符串转换为浮点数/双整/整数分别为转换指令中的S_R,S_DI,S_I。只能转换0-9的字符,其他字符均为无效字符。

    具体转换步骤建议选中指令块,按"F1",查看帮助信息。

    几点注意事项:

    1.无法识别科学计数法或指数形式,但不会设置溢出错误SM1.1;例:“1.234E6”-->"1.234"

    2.当达到字符串结束时或当发现第一个无效字符时,转换终止;例:“123A456”--->"123"

    另,如“A123”,第一个字符即为无效字符,因此,设置溢出错误SM1.1。

    3.S_I指令,当转换产生一个大于32767或小于-32768的值时,则设置溢出错误(SM1.1)

    字符串指令

    字符串指令如下表所示:

    LAD/FBD指令名称描述
    字符串长度IN:字符串变量地址;OUT:字符串长度的存储地址
    复制字符串将位于IN处的字符串复制到OUT处的新字符串地址
    从字符串复制子字符INDX:IN处字符串的有效字符地址N:复制长度OUT:复制出的新字符串地址
    字符串连接将IN指定的字符串附加至OUT指定的字符串之后
    在字符串内查找字符串在字符串IN1中搜索首次出现的字符串IN2。搜索从OUT起始位置开始
    在字符串中查找第一个字符在首次出现的字符串IN1中搜索字符串IN2中描述的字符集中的任何字符。搜索从起始位置OUT开始

    指令例子如下:

    字符串连接

    字符串赋值字符串

    字符串长度

    从字符串复制子字符串

    在字符串中查找字符串

    在字符串中查找第一个字符

    其中,VB0初始状态通过数据块定义,如下。

    依次执行程序后,监控VB0、VB100、VB1000、VB20、VB1100、VB1200的状态,如下所示。

    字符串例程

    例程所需条件:

    1、软件版本:STEP 7-Micro/WIN SMART V2.3

    2、SMART CPU固件版本:V1.0及以上

    3、通讯硬件:TP电缆(以太网电缆)

    所实现的功能:

    结合上述文档所描述,

    各字符串指令的使用,具体说明参考程序注释

    String

    注意:本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

    常问问题

    1.字符串中既含有数字又含有其他字符(字母,特殊字符),如何只转换数字部分??

    如数字字符在前,其他字符在后;则可直接转换,转换部分到第一个非数字字符前。

    如数字字符在后,其他字符在前;则

    1.其他字符长度已知并固定;

    如字符串定义如下:

    注意:此处INDX处为有效字符的位数,不包含字符串第一位的长度字节

    执行程序后,VW100=98;VD200=98;VD300=98.6

    2.字符串实际内容未知或其他字符长度不定,则无法直接转换,否则设置溢出错误SM1.1。转换可参考如下程序:

    注:CHR_FIND为在首次出现的字符串IN1中搜索字符串IN2中描述的字符集中的任何字符;找到的第一个相符字符的位置,被写入到OUT管脚。

    仍以如下字符串为例:
    image.png
    程序执行后,AC0=7;VD100=98.6

    • 评论
    • 分享

      扫码分享

    • 收藏
    • 点赞
    • 纠错
     

    隐私政策更新提示

    欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。

    同意并继续浏览
    信息提示
    很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。