如何通过不同方式在SCL/CFC中访问数据块? 点击:1310 | 回复:0



PLC酷客

    
  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-11-16 11:34:26
楼主

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


描述
可以通过不同方式在SCL/CFC中访问数据块。

可以在块中访问数据块号,输入管脚填起始地址。如果使用的是BLOCK_DB数据类型,也可以直接连接数据块。优点是,CFC中可以直接显示符号名。

可以将数据块与一个ANY指针相连。优点是,可以连接数据块中的某个变量,这个变量可以作为访问数据的起始点。

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


图. 1: 用户数据块示例

示例
通过数据块号访问:

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

示例
通过ANY指针访问:

ANY指针格式在STEP 7在线帮助中有具体说明(标题: "Format of the ANY parameter type")。


图. 2: CFC中互连的功能块


数据块号在第一个块中参数化。STRT_ADD是定义了访问数据块的起始地址,在此例中是第一个结构变量的起始地址。

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

注意

在读数据块的时候,注意没有超出数据块大小限制。

使用ANY指针时,注意检查程序中所需数据源是否正确,因为在CFC中如果连接ANY指针,不会检查数据类型。




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师