S7-1200/1500用户程序结构与程序块说明(1)在S7-1200/1500PLC的编程过程中,我们除了用OB组织块编程外,其实还更多的用到FB块和FC块作为子程序块编程,便于项目的管理(安装、调试、管理等),同时有些编程应用功能只能在FB/FC中进行。※FB与FC的区别说
S7-1200/1500 用户程序结构与程序块说明
(1)在S7-1200/1500PLC 的编程过程中,我们除了用OB 组织块编程外,其实还更多的用到FB 块和 FC块作为子程序块编程,便于项目的管理(安装、调试、管理等),同时有些编程应用功能只能在FB/FC 中进行。
※ FB 与 FC 的区别说明:
FB–功能块,带背景数据块
FC–功能,函数 FB,FC 块均相当于子程序,既可以调用其它 FB,FC 块,也可以被 OB, FB,
FC 块调用。
主要区别是:
FB 使用背景数据块作为存储区,FC 没有独立的存储区,使用全局 DB 或M 区;FB局部变量有 STAT(静态变量)和TEMP(临时表量),FC 由于没有自己的存储区因此不具有STAT,TEMP 本身不能设置初始值。本质上,FB,FC 的实现目的是相同的;无论何种逻辑要求, FB,FC 均可实现。只是实现方式效率不同。也可以通俗的理解为:FC 使用的是共享数据块,FB 使用的是背景数据块*
FB 块优点:
1.易于复制,对于相同控制逻辑不同参数的被控对象,只要使用不同的背景 DB,同一个FB 块就可以方便完成;
2.多重背景,减少重复工作,提高效率
3.多次调用时,参数修改方便
4.有独立的存储区
FC 块优点:
1.小巧灵活,对于非多次调用的程序更易理解
2.不占用额外的存储资源
3.大多作为纯主程序功能应用
临时变量使用注意事项:
临时变量可以在组织快 OB、功能 FC 和功能块 FB 中使用,当块执行时它们被用来临时存储数据,一旦块执行结束,堆栈的地址将被重新分配用于其它程序块使用,此地址上的数据不会被清零,直到被其他程序块赋予新值。
需要遵循“先赋值,再使用”的原则。
在使用临时变量 TEMP 时:
1.不能先使用,再赋值;
2.不适用于自锁线圈;
3.不适用于上升,下降沿;
FB与FC应用说明
1. 添加 FB/FC
2. 选择 FB 还是 FC
● 在编程过程需要调用子程序,到底用 FB 还是FC,这要根据实际情况确定,因为各自均有
自己的优点。
● 如果调用的子程序没有用到声明变量表参数,是纯粹的子程序,程序中的变量全部是全局
变量,则用 FC 较为方便;
● 如果需要用到声明变量表参数,中间变量也不多程序比较简单,调用次数也不多,则既可以
用 FC,也可以用 FB;
● 如果需要用到声明变量表参数,除了输入输出外,中间变量也较多,特别是调用次数也较
多,那用 FB 更好更方便。
3. OB/FB/FC架构
(1)OB 中可以调用 FC FB;在FB 中可以调用其他的 FB, FC;在FC 中可以调用其他的 FB,FC;
(2)结构图:
嵌套深度:是指可从 OB 调用功能 (FC) 或功能块 (FB) 等程序代码块的深度。
1、从程序循环 OB 或启动 OB 开始调用 FC 和 FB 等程序代码块,嵌套深度为 16 层;
2、从延时中断、循环中断、硬件中断、时间错误中断或诊断错误中断 OB 开始调用FC 和 FB 等程序代码块,嵌套深度为 4 层。
3、用户程序、数据块及组态的大小受 CPU 中可用装载存储器和工作存储器的限制。对各个 OB、FC、FB 和 DB 块的数目没有特殊限制。但是块的总数限制在1024 之内。
如若转载,请注明出处:https://www.nhjkw.cn/57619.html