实例讲解西门子S7-300 PLC功能块FB
发布时间:2012-01-12 12:37|来源:万胜PLC解密网|点击:
例:水箱水位控制系统程序设计。
系统有3个贮水箱,每个水箱有2个液位传感器,UH1,UH2,UH3为高液位传感器,“1”有效;UL1,UL2,UL3为低液位传感器,“0”有效。Y1、Y3、Y5分别为3个贮水水箱进水电磁阀;Y2、Y4、Y6分别为3个贮水水箱放水电磁阀。SB1、SB3、SB5分别为3个贮水水箱放水电磁阀手动开启按钮;SB2、SB4、SB6分别为3个贮水箱放水电磁阀手动关闭按钮。
控制要求:SB1、SB3、SB5在PLC外部操作设定,通过人为的方式,按随机的顺序将水箱放空。只要检测到水箱“空”的信号,系统就自动地向水箱注水,直到检测到水箱“满”信号为止。水箱注水的顺序要与水箱放空的顺序相同,每次只能对一个水箱进行注水操作。
1.创建S7项目使用菜单【File】→【“New Project”Wizard】创建水箱水位控制系统的S7项目,并命名为“无静参FB”。项目包含组织块OB1和OB100。
2.硬件配置在“无静参FB”项目内打开“SIMATIC 300 Station”文件夹,打开硬件配置窗口,并按图所示完成硬件配置。
3.编写符号表
4.规划程序结构
5.编辑功能(FB1)在“无静参FB”项目内选择“Blocks”文件夹,执行菜单命令【Insert】→【S7 Block】→【FunctionBlock】,创建功能块FB1。由于在符号表内已经为FB1定义了符号名,因此在FB1的属性对话框内系统会自动添加符号名“水箱控制”。
定义局部变量声明表
与功能(FC)不同,在功能块(FB)参数表内还有扩展地址(Exclusion address)和结束地址(Termination address)选项。
编写程序代码
6.建立背景数据块DB1、DB2、DB3
7.编辑启动组织块OB100在OB1中调用无静态参数的功能块(FB)
例:编程实现y=ax2+bx+c的算法。