怎样复制 FB/DC 参数和 DB 变量中的 STRING 数据类型?

用法:
STRING 数据类型定义了一个最多 254 个字符的字符串,默认的字符串占用 256 个字节。在存储空间上需要存储 254 个字符和两个字节的报文头 (字节 0和字节 1)。字节 0 定义了字符串的最大长度,字节 1 表示字符串的实际长度。更多的信息可以参考 STEP7 在线帮助的相关内容:

  • “Data type STRING”和
  • “Format of the data type STRING”

您可以使用装载和传送指令来复制字符串中的单个字节或者字符,例如:

STEP 7 – 指令 解释
L In_String[5] 装载 “In_String” 字符串中的第 5 个字节或者字符
T MB5 传送到 MB5 里面去

如果复制完整的字符串或者里面的所有字符变量,我们建议您调用 SFC20 “BLKMOV” (系统功能 20) 并且用字符串变量参数化 SFC20。SFC20 可以复制源目标区域的数据到新的目标区域。

注意:
字符串类型的列队不允许使用 SFC20 。

例子1:复制 DB 块中”STRING” 数据类型的变量:

怎样复制 FB/DC 参数和 DB 变量中的 STRING 数据类型?
图. 01

图. 01 所示的例子是将 DB20 的字符串 “DB_In_String” 复制到 DB21 的 “DB_Out_String” 里面。这里必须使用变量名为 SFC20 赋值,因为完整的字符串只能使用 DB 的变量名来识别。

例子2: 复制 FB12 中”STRING”数据类型的 IN 变量到 DB21 里面:

怎样复制 FB/DC 参数和 DB 变量中的 STRING 数据类型?
图. 02

功能 FC29 “NE_STRNG” 是用来比较FB12的IN 变量 “In_String” 和静态变量 “Stat_Var_String” 中的值是否不一致。这两个变量的数据类型都是 STRING。如果 IN 变量 “In_String” 的内容发生变化,则通过 SFC20 将 FB12中IN 变量 “In_String” 字符串复制到 DB 变量中的 “Mod_DB21”.DB_Out_String。

关键字:
ASCII码

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc335485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论