描述:
缺省情况下 "Read Back..." 功能并不回读块的任何输出管脚。该条目显示了如何根据 "COUNT_P" (FB36: 计数器)创建一个新的块,该块除了 拥有"FB36" 本身的功能,还能够读取 AS 中输出管脚 "V" 的值。因此需要在新块中声明一个额外的 "IN_OUT" 类型的"V_TMP"变量。n
需求:
已经使用 "PCS 7 Wizard" 创建了一个项目。
No. |
步骤 |
1 |
创建一个新的 CFC 步骤1 和 2 为了在处理 SCL 源文件时节约时间 (如果您想立即编程,那么必须自己手工声明完整的管脚)。 n
- 在 "Component view" 下切换到主数据库的 "Charts" 文件夹,创建一个新的 CFC chart。n
- 从 PCS 7 库中拖出 "COUNT_P" 块到这个 chart 中。n
- 打开该块的属性设置输出 "QERR" 为可见。n
- 根据"COUNT_P" 功能块的管脚,在CFC中创建相应的管脚。在条目: 29237685 中描述了这一过程。n
- 在 "IN_OUT" 接口中创建 "V_TMP" 管脚。n
- CFC 中相应的管脚和 "COUNT_P" 的所有管脚连接。注意"V_TMP" 管脚空出来不连接。
 Fig. 01
|
2 | 创建块 n
- 使用 "Chart > Compile > Chart as block type..." 将 CFC chart 编译成块类型 (block type)。n
- 选择一个并没有被使用的 FB 块号。缺省情况下,从 501 开始的 FB 号保留用于用户自己创建的块。因为新的块构建在 "FB36" 之上,所以我们建议块号为 "FB636"。按照下图填写其它的选项。n
- 点击 "OK" 开始编译。您可以忽略编译后日志中的警告并关闭日志。
 Fig. 02n
注意: 这个 CFC 现在已经没用,你可以删除它。新创建的块 "COUNTNEW" (FB636) 现在和原来的块拥有相同的功能。 |
3 | 编辑 SCL源文件
- 切换到主数据中的 Sources 文件夹打开 SCL源文件 "@FB636".
- 你可以不必修改程序的声明部分。
- 使用如下的代码替换掉 "BEGIN;"和 "END_FUNCTION_BLOCK" 之间的代码:
 Fig. 03
- 保存并编译 SCL 源文件。
- 点击 "Yes" 确认消息 "Do you want to overwrite the block?"。
您可以下载完整的 SCL 程序:
FB636_SCL.zip ( 895 bytes )
|
4 | 结果 现在您可以在您的控制程序中使用这个新块。不同于 "COUNT_P",这个块具有如下的行为:
- 在 AS 由 STOP 切换到 RUN 状态时保持块的输出值
 Fig. 04
- 回读(Read Back)并完全编译完整下载程序
 Fig. 05
|
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc335864.html