西门子PLC学习笔记十九-(FB编程)

FB块可被OB1调用多次,功能的所有形参和静态数据都存储在一个单独的、被指定给该功能块的数据块(DB)中,该数据块被称为背景数据块。当调用FB时,该背景数据块会自动打开,实际参数的值被存储在背景数据块中;当块退出时,背景数据块中的数据仍然保持。

下面通过案例设计介绍FB如何编写吧。

案例:目前有3个贮水箱,每个水箱有2个液位传感器,UH1、UH2、UH3为高液位传感器,"1" 有效;UL1、UL2、UL3为低液位传感器,“0”有效。Y1、Y2、Y3分别为3个贮水水箱进水电磁阀;Y4、Y5、Y6分别为3个贮水水箱放水电磁阀。SB1、SB2、SB3分别为3个贮水水箱放水电磁阀手动开启按钮;SB4、SB5、SB6分别为3个贮水箱放水电磁阀手动关闭按钮。现需实现如下控制:SB1、SB2、SB3在PLC外部操作设定,通过人为的方式,按随机的顺序将水箱放空。只要检测到水箱“空”的信号,系统就自动地向水箱注水,直到检测到水箱“满”信号为止。水箱注水的顺序要与水箱放空的顺序相同,每次只能对一个水箱进行注水操作。控制系统如下图:

西门子PLC学习笔记十九-(FB编程)_第1张图片


程序设计如下:

1.符号表

西门子PLC学习笔记十九-(FB编程)_第2张图片

2.程序模块总图

西门子PLC学习笔记十九-(FB编程)_第3张图片

3.FB

FB参数设置图:

西门子PLC学习笔记十九-(FB编程)_第4张图片


西门子PLC学习笔记十九-(FB编程)_第5张图片

FB程序图:

西门子PLC学习笔记十九-(FB编程)_第6张图片

4.OB100(程序启动前初始化功能)

本模块实现的功能是 当SB1、SB2、SB3只要有一个被按下,那么水箱阀的控制则变成自动控制,各个水箱阀复位

西门子PLC学习笔记十九-(FB编程)_第7张图片

5.OB1

下图只例举了1水箱调用图,2、3水箱调用该FB1的方式一样,只是背景数据块需要变为DB2、DB3

西门子PLC学习笔记十九-(FB编程)_第8张图片

程序代码可在此下载。


你可能感兴趣的:(自动化,西门子PLC初级开发)