问题:在使用CFC编程调用CFC Library下的功能块时,需要注意些什么?
回答:安装CFC编程语言后,系统将会默认安装CFC Library功能库。该功能库包含ELEM_300、ELEM_400和ELEMENTA。其中,ELEM_300专门用于S7 300系列的CPU编程,ELEM_400专门用于S7 400系列的CPU编程,ELEMENTA则为通用功能块,对控制器无具体要求。
图 1 CFC Library包含的功能块
在使用上述功能块进行编程时,需要注意如下事项:
1. 对S7 300控制器编程,只允许使用ELEM_300和ELEMENTA下的功能块,不允许使用ELEM_400下任何功能块,即便功能块号和功能描述相同;反之亦然,对S7 400控制器编程,则只允许使用ELEM_400和ELEMENTA下的功能块,不允许使用ELEM_300下任何功能块。实际使用过程中,可以通过打开功能块的属性对话框,检查Author属性是否和控制器类型匹配,否则相应的功能可能无法正常运行。
图 2 功能块的Author属性
2. 使用ELEM_300下的所有功能块对S7 300控制器进行编程时,还需额外注意如下步骤。否则,该类功能块将不能进行正常的初始化,甚至无法正常工作。
a) CFC中除掉用正常所需的功能块外,还需额外调用ELEM_300下的RESTART(FC70)功能块,并设置其调用位置,双击如下图所示的位置。
图 3 调用RESTART功能块
b) 系统将打开如下的运行顺序编辑器对话框,并定位到该功能块在OB3x中的安装位置。在该功能块上点击右键Delete,删除该功能块在循环OB3x中的安装。
图4 删除该功能块在循环OB3x中的安装
c) 关闭该对话框回到CFC编辑器下,检查该功能块的安装位置是否变更为OB100。
图 5 RESTART的安装位置OB100
d) 调用ELEM_300下的功能块后,将不再允许用户使用M存储区的MW0,该字被这类功能块占用,请检查程序中是否使用了MW0字。
e) 检查硬件组态中CPU属性设置Cycle/Clock Memory页面下的Clock Memory是否激活,如果激活则不能使用默认的MB0。
图 6 Clock Memory不能使用默认的MB0
3. 使用CFC Library下的具有SAMPLE_T管脚的如下功能块编程时,需要注意其必须在循环OB3x中调用,否则其对应的时间功能将不能正常工作。
功能块 | 注 释 |
AFP(FB10) | 脉冲发生器 |
CONT_C(FB1) | 连续PID控制功能块 |
CONT_S(FB2) | 步进PID控制功能块 |
PULSEGEN(FB3) | PID控制脉冲功能块 |
TIMER_P(FB5) | 定时器(ELEMENTA/IMPULS) |
表 1 带有SAMPLE_T管脚的功能块
a) 调用后,需要检查如下位置所示是否为循环OB3x。
图 7 功能块的安装位置
b) 编译CFC时,CFC V6.1及以下的版本,需要激活如下的Update Sampling Time选项。
图 8 激活Update Sampling time选项
c) 通过编译,系统将会自动更新SAMPLE_T管脚为该功能块的扫描周期,单位为秒。例如,该功能块的循环周期为100ms一次,则其SAMPLE_T的值将会自动设置为0.1。可以通过功能块上点击鼠标右键 属性,打开属性对话框,切换到I/Os页面,查看SAMPLE_T管脚的值。
图 9 打开功能块属性对话框
图 10 检查SAMPLE_T管脚Value列的值
注:该管脚为系统维护的功能管脚,其决定了功能块的定时准确性,不允许人为离线或在线修改。
经典WinCC移植到WinCC Professional
S7-1200PLC的 计数器说明
为什么SCL源编译成功后,在‘一致性检查’ 编译中仍然报错
WinCC 数据使用MQTT传送到云端
NET421/NET431西门子plc与ABplc通讯网关
S7-200 SMART 与 S7-1200 之间 TCP 通信— S7-200 SMART 作为服务器
如何在 WinCC Runtime Professional 中自动调整画面分辨率适应窗口的大小?
如何实现简单的 WinCC 项目分屏?
s7-1200通过4G网连接中控室
WinCC C/S结构快速入门
如何防止多个WinCC客户机同时操作或更改数值?
精智Comfort屏如何周期性调用脚本
巨控协议转换网关GRM321GRM322GRM323应用场景
精智面板/二代精简PN面板如何使用Modbus TCP/IP 通信组态
如何快速实现OPC DA转为WEBSEVER
200smart数据日志的功能
HMI如何通过PLC变量控制开始和停止数据记录
WinCC flexible配方与PLC的同步
HMI面板与S7-1500 R/H 冗余PLC的通信
WinCC Flexible Smart快速导入 Smart PLC变量
巨控OPC560系列远程智能控制终端
S7_1200配方功能快速入门
PLC远程调试监控模块-巨控GRM530
PN IO设备ET 200SP将支持R1模式
SCL 常见问题
PLC协议转换网关:巨控NET400
如何判断S7通信中断
S7-1500R/H PROFIBUS DP 通信
如何实现PLC短信报警
WinCC Modbus TCP 通信
wincc 远程和PLC通讯方案
1500PLC与wincc通过4G网络远程通讯
WINCC中自定义 XY 轴的多功能曲线的实现方法
wincc报警如何通过短信发送给手机
在WinCC(TIA Portal)项目中,如何正确的使用面板,模板,弹出窗口和滑入窗口?
通过巨控GRM532Y-C远程调试下载国外PLC
巨控GRM远程模块配置使用流程简介
巨控远程模块微信报警配置方法
TIA中如何将数据块的实际值转到初始值中
西门子200smart与三菱FX3U plc之间的*口通讯
wincc 远程和PLC通讯方案
1500PLC如何更好地配置一个OPC UA客户机使其与服务器进行有效的通信?
如何使用EXCEL访问WinCC中的实时数据实现报表
西门子PLC无线通讯解决方案
数据丟了--WinCc历史数据丢失怎么办
巨控无线通讯模块在带式输送机行业的应用
WinCC激活故障排除及解决思路
Wincc在手机端监控_巨控OPC560解决方案
PLC之间的Profibus 通讯
怎么远程控制国外的PLC