如何通过不同方式在SCL/CFC中访问数据块?

  1. 可以在块中访问数据块号,输入管脚填起始地址。如果使用的是BLOCK_DB数据类型,也可以直接连接数据块。优点是,CFC中可以直接显示符号名。
  2. 可以将数据块与一个ANY指针相连。优点是,可以连接数据块中的某个变量,这个变量可以作为访问数据的起始点。

例程包括这两种情况的SCL代码。以下是程序中使用的数据块。

如何通过不同方式在SCL/CFC中访问数据块?
图. 01

示例

  1. 通过数据块号访问

    如何通过不同方式在SCL/CFC中访问数据块?Registrierung notwendig Blocknumber.txt (1 KB)

    请注意,BLOCK_DB数据类型仅针对于输入参数。如果要使用输出参数或者输入输出参数,必须使用不同的数据类型,并通过转换功能块后再访问数据。(比如 INT_TO_BLOCK_DB)。

  2. 通过ANY指针访问
    ANY指针格式在STEP 7在线帮助中有具体说明(标题: “Format of the ANY parameter type”)。
    如何通过不同方式在SCL/CFC中访问数据块?Registrierung notwendig Anypointer.txt (1,4 KB)

    下图是CFC图表中的功能块。

    如何通过不同方式在SCL/CFC中访问数据块?
    图. 02

    数据块号在第一个块中参数化。STRT_ADD是定义了访问数据块的起始地址,在此例中是第一个结构变量的起始地址。
    数据块与第二个功能块相连接。STRT_ADD参数定义了第二个结构变量作为起始地址。在第三个块中,ANY指针直接和第二个结构变量的起始地址相连。

注意
在读数据块的时候,注意没有超出数据块大小限制。
使用ANY指针时,注意检查程序中所需数据源是否正确,因为在CFC中如果连接ANY指针,不会检查数据类型。

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

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

相关推荐

发表回复

登录后才能评论