西门子SCL编程入门教程连载(20)——字符串指令

西门子SCL编程入门教程连载(20)——字符串指令前面的文章我们介绍了字符串数据类型(西门子SCL编程入门教程连载(18)——字符串),今天这篇文章,我们来介绍下字符串的操作指令,包括:①获取字

前面的文章我们介绍了字符串数据类型(西门子SCL编程入门教程连载(18)——字符串),今天这篇文章,我们来介绍下字符串的操作指令,包括:

①获取字符串当前长度指令;

②获取字符串最大长度指令;

③读取字符串左侧字符指令;

④读取字符串右侧字符指令;

⑤读取字符串中间字符指令;

西门子SCL编程入门教程连载(20)——字符串指令

以下例程中,我们假设已经定义了字符串变量tmpString和整数变量tmpLen,如下图所示:

西门子SCL编程入门教程连载(20)——字符串指令

1、获取字符串当前长度指令

我们知道,字符串的结构中,其前两个字节分别表示其最大长度和当前长度。指令LEN可以获取字符串的当前长度,并返回到输出参数中,其基本语法如下:

Out := LEN(_string_in_);

输入参数“_string_in_”可以是字符串或者宽字符串,返回值Out是整数。

要获取字符串变量tmpString的当前长度,可以使用下面的代码:

西门子SCL编程入门教程连载(20)——字符串指令

执行指令后,tmpLen的值等于10。
2、获取字符串最大长度
指令MAX_LEN可以获取字符串的最大长度,并返回到输出参数中,其基本语法如下:

Out := MAX_LEN(_string_in_);

输入参数“_string_in_”可以是字符串或者宽字符串,返回值Out是整数。仍然以前面的tmpString为例,获取其最大长度可以使用下图的代码:

西门子SCL编程入门教程连载(20)——字符串指令

执行指令后,tmpLen的值等于29。
3、读取字符串左侧字符
指令LEFT可以读取字符串左侧指定长度的字符并返回,其基本语法是:

Out := LEFT(IN:=_string_in_, L:=_int_in_);

该指令有两个输入参数:
1)IN(_string_in_):要读取的字符串;
2)L(_int_in_):要读取的字符长度;
返回值Out是读取到的字符串。
举个例子:要求读取上述字符串tmpString左侧的5个字符并返回。

首先声明字符串 tmpSubString String[15],然后使用下图的代码:

西门子SCL编程入门教程连载(20)——字符串指令

执行指令后,tmpSubsting的值为’Hello’。
4、读取字符串右侧字符
指令RIGHT可以读取字符串右侧指定长度的字符并返回,其基本语法是:

Out := RIGHT(IN:=_string_in_, L:=_int_in_);

该指令有两个输入参数:
1)IN(_string_in_):要读取的字符串;
2)L(_int_in_):要读取的字符长度;
返回值Out是读取到的字符串;
举个例子:在上述基础上,读取字符串tmpString右侧的4个字符,并存放到tmpSubString中,可以使用下图的代码:

西门子SCL编程入门教程连载(20)——字符串指令

执行指令后,tmpSubsting的值为’Jack’。
5、读取字符串中间字符
指令MID可以从字符串的指定位置开始,读取指定长度的字符并返回,其基本语法是:

Out := MID(IN:=_string_in_, L:=_int_in_, P:=_int_in_);

该指令有三个输入参数:
1)IN(_string_in_):要读取的字符串;
2)L(_int_in_):要读取的字符长度;
3)P(_int_in_):读取的起始位置,编号从1开始;
返回值Out是读取到的字符串。
举个例子:假设要读取字符串’Hello China,you are great’从第7个字符开始、长度为5的字符,可以使用下图的代码:

西门子SCL编程入门教程连载(20)——字符串指令

执行指令后,tmpSubsting的值为’China’。

字符串的操作指令还包括插入字符串指令(INSERT)和字符替换指令(REPLACE),限于篇幅就不一一介绍了。如果你感兴趣的话,可以看下我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》,第11.2节有很详细的介绍。点击左下角【阅读原文】可以看到该书的详细介绍,购买链接如下:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4122.html

(0)
编程小号编程小号
上一篇 2022-12-26
下一篇 2022-12-26

相关推荐

发表回复

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