S7-SCL 中如何编辑、比较字符串,或将字符串转变为其他的数据类型

S7-SCL 中如何编辑、比较字符串,或将字符串转变为其他的数据类型描述 此条目下处理下列问题 对一个字符串中的某个字符进行直接读写访问编辑 比较 转换数据类型编写一个字符串比较的 FB 例程对一个字符串中的某个字符进行直接读写访问字符串中的单个元素是无法单独访问的 例如这样的格式不允许 MB10 str

欢迎大家来到IT世界,在知识的湖畔探索吧!

描述:
此条目下处理下列问题:

  • 对一个字符串中的某个字符进行直接读写访问
  • 编辑,比较,转换数据类型
  • 编写一个字符串比较的FB例程

对一个字符串中的某个字符进行直接读写访问
字符串中的单个元素是无法单独访问的,例如这样的格式不允许: MB10 = str[5] 。 图 01 实例说明如何使用 IEC FC26 “MID” 函数、转换函数 “ STRING_TO_CHAR ”和“ CHAR_TO_BYTE ”对字符串中某个元素进行访问。

S7-SCL 中如何编辑、比较字符串,或将字符串转变为其他的数据类型

图 01

参数含义:

  • IN : STRING 格式的输入变量。
  • L : 从位置 P 开始(含 P)的字符串长度。(数据类型: INT )
  • P : 起始字符位置。 (数据类型: INT )
  • RET_VAL : STRING 格式的输出变量。

编辑,比较转换数据类型
下面的 PDF 文件中是使用 IEC 标准函数进行字符串编辑的 S7-SCL 一些例子与说明。

字符串比较 FC 例程
FC 的参数往往传递的是地址。 由于 FC 的 STRING 类型的参数地址指向调用者中字符串的存储位置, 如果此 FC 被调用时,所传递的指向字符串的地址是无效的。然而对于 FB ,传递的字符串存储于背景 DB 中,所传递的地址是总是有效的。对于包含字符串比较程序的 FC ,在处理之前必须将字符串数据从 IN, OUT , IN_OUT 传到临时变量区,否则编译会失败,错误消息是:“Parameter assignment incorrect” (参数分配错误)。
图 02 是 S7-SCL 字符串比较 FC 程序示例。 当此 FC 被调用时,如果没有被装载到 FC 的临时变量区,string1 和 string2 将无法被获取。

S7-SCL 中如何编辑、比较字符串,或将字符串转变为其他的数据类型


图 02

然而,缓存字符串数据到临时变量区域将很快导致本地存储需求增长,如果只有少数的 STRING 变量,使用临时变量是适宜的,但是 STRING 变量很多,建议使用 DB 变量缓存字符串。图 03 为使用数据块 DB100 缓存输入变量的示例。

S7-SCL 中如何编辑、比较字符串,或将字符串转变为其他的数据类型


图 03

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/90523.html

(0)
上一篇 10小时前
下一篇 10小时前

相关推荐

发表回复

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

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信