首页 理论教育 学习7.6系统函数与函数块

学习7.6系统函数与函数块

时间:2023-06-17 理论教育 版权反馈
【摘要】:系统函数与系统函数块固化在S7的CPU中,相当于系统提供可供用户程序调用的FC和FB,实现与CPU系统相关的一些功能,如读写CPU的时钟、CPU状态指示灯信号等功能。表7-11 系统函数与系统函数块(续)(续)(续)(续)(续)(续)SFC与SFB实际上是PLC系统与用户程序的接口函数、函数块,通过调用SFC/SFB,实现对PLC内部信息的读取和功能的控制。

学习7.6系统函数与函数块

系统函数(SFC)与系统函数块(SFB)固化在S7的CPU中,相当于系统提供可供用户程序调用的FC和FB,实现与CPU系统相关的一些功能,如读写CPU的时钟、CPU状态指示灯信号等功能。SFC、SFB与FC、FB调用方式相同,调用SFB时也需要背景数据块存储相关信息,由于固化在CPU中,SFC、SFB的内容和序号不能修改。

与OB一样,可供调用的SFC、SFB与CPU的型号相关,通过CPU的技术手册可以找到该CPU支持的SFC、SFB的详细信息或在线直接查看CPU中包含SFC、SFB的内容。如果用户程序中调用的SFC、SFB在CPU中没有固化,CPU因不能识别而报错。SFC、SFB的序号、功能分类见表7-11。

7-11 系统函数(SFC)与系统函数块(SFB

978-7-111-28718-6-Chapter07-47.jpg

(续)

978-7-111-28718-6-Chapter07-48.jpg

(续)

978-7-111-28718-6-Chapter07-49.jpg

(续)

978-7-111-28718-6-Chapter07-50.jpg

(续)

978-7-111-28718-6-Chapter07-51.jpg

(续)

978-7-111-28718-6-Chapter07-52.jpg

(续)

978-7-111-28718-6-Chapter07-53.jpg

SFC与SFB实际上是PLC系统与用户程序的接口函数、函数块,通过调用SFC/SFB,实现对PLC内部信息的读取和功能的控制。下面以例子的方式介绍SFC/SFB的使用。

1.设置CPU的时钟

查看表7-11,通过调用SFC0,可以设置CPU的时钟信息,时钟信息的数据类型为复合数据类型DT(DATE_AND_TIME),共8B(按字节排序表示的内容为:年、月、日、时、分、秒、毫秒中前两个有效数字、第8个字节高4位为毫秒中第三个有效数字,低4位为星期值),不能使用普通数据类型(普通数据类型最多4B)接收时钟信息,复合数据类型DT必须在DB或L堆栈(临时变量)中预先定义,例如在DB1中建立一个DT类型的变量,变量的符号名称为“Clock”,如图7-26所示。(www.xing528.com)

978-7-111-28718-6-Chapter07-54.jpg

图7-26 在DB1中创建DT数据类型变量

在OB1中调用SFC1,程序如下:

978-7-111-28718-6-Chapter07-55.jpg

系统函数SFC0执行后,修改时钟的月、日、分、秒信号,其他保持原有时钟值,调用SFC0时,应注意只能采用信号触发的方式调用,否则时钟信号保持不变。

2.读出带有诊断功能模拟量输入模块的断线诊断信息

模拟量模块连接4~20mA信号,如果信号低于3.6mA时,模块判断连接传感器的导线断开并报警,通过调用SFC51或SFC59,可以将诊断信息读出。模块的诊断功能必须预先设定,SM331模块参数化界面如图7-27所示。

选择电流测量,可以使能断线诊断功能,如果激活“Diagnostic Interrupt”诊断中断,断线故障同时触发OB82(选择激活“Diagnostic Interrupt”功能,故障出现时,调用OB82一次。同时调用SFC51或SFC59的数量受到CPU资源的限制,如果在OB82中调用,只有在故障事件发生时,才调用SFC51、SFC59,节省CPU内部通信资源)。

SM331模块诊断信息存储于模块数据记录区1中,共16B长度,基于通道诊断信息存储于9~16B中,共8个通道,每个通道占用一个字节,每个字节的位信号分别表示故障的类型,如图7-28所示。

978-7-111-28718-6-Chapter07-56.jpg

图7-27 SM331参数化界面

978-7-111-28718-6-Chapter07-57.jpg

图7-28 通道诊断故障信息

假设模块的逻辑地址为256,调用SFC51或SFC59都可以读出第一个通道的断线诊断信息,在OB82中调用SFC51读出SM331模块诊断信息的示例程序如下:

978-7-111-28718-6-Chapter07-58.jpg

978-7-111-28718-6-Chapter07-59.jpg

读出第一通道的诊断信息存储于DB1.DBB8中,如果DB1.DBX8.4为1,连接传感器的导线断开。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈