PLC编程FB和FC块是什么,如何使用?
一、FB和FC块是什么,如何使用
FB,FC其实就相当于子程序。
这里先介绍一下子程序:子程序、主程序是就一个程序而言的,在设计一个程序的过程中,常常会遇到功能相同的程序段,例如使灯按特定逻辑顺序依次点亮。这类程序段不但不易于维护,而且还经常出现错误,也使程序变得庞大,为了克服这个缺点,当遇到具有相同功能的程序时,可以将其以子程序的方式进行处理。所谓的子程序,其实就是一个具有特定功能和逻辑完整性的程序段,它是独立存在的,但是它又只能服务于某个程序,这就是子程序。使用子程序可以更简单的编写程序,提高程序可读性和复用性。
二、FB和FC区别
FB--功能块,带背景数据块 FC--功能,相当于函数FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。
3. 本质上,FB,FC的实现目的是相同的;无论何种逻辑要求,FB,FC均可实现。只是实现方式效率不同,这也和工程师个人编程习惯有关。
三、FB,FC块管脚定义
是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写。
TEMP
在PLC运行期间始终被存储。S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。
四、临时变量引起的麻烦
因此,有常见的几种情况导致程序运行不正常:
在使用临时变量TEMP时:
1.不能先使用,再赋值。
2.不适用于自锁线圈。
3.不适用于上升,下降沿。
FC块可采用M区或全局DB地址;FB块也可采用自身背景DB的STAT静态变量。
在FB,FC中使用第一次调用的某个临时变量,必须先对其赋值即写指令,而不能是读指令。
五、FB/FB使用常见问题
对于,多次调用的程序块,FB块建议更换调用不同的背景DB;FC则需要确保使用的存储地址不重复,即每次调用,块中调用的地址不重复。
对于多次调用的FB,FC,如为S7定时器,计数器,则需要在IN接口中定义TIMER或Counter,每调用一次FB或FC,均赋不同的定时器或计数器号。如为IEC定时器,计数器,则需要在IN接口定义Block_DB,每调用一次FB或FC,均赋不同的DB块给其中的IEC定时器或计数器。
提交
派拓网络被Forrester评为XDR领域领导者
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会
中国联通首个量子通信产品“量子密信”亮相!
国家重大装备企业齐聚高交会 中国科技第一展11月深圳举行
东土精彩亮相华南工博会,展现未来工业前沿技术