西门子plc功能块图程序示例
- 格式:doc
- 大小:40.00 KB
- 文档页数:2
西门子 PLC中OB、FC、FB、SFC、SFB中功能块使用概述(2013-12-05 16:13:52)S7-300/400PLC程序采用结构化程序,把程序分成多个模块,各模块完成相应的功能。
结合起来就能实现一个复杂的控制系统。
就像高级语言一样,用子程序实现特定的功能,再通过主程序调用各子程序,从而能实现复杂的程序。
在S7-300/400PLC中写在OB1模块里和程序就是主程序,子程序写在功能(FC),功能块(FB)。
FC运行是产生临时变量执行结束后数据就丢失-----不具有储存功能FB运行时需要调用各种参数,于是就产生了背景数据块DB。
例如用FB 41来作PID控制,则它的PID控制参数就要存在DB里面。
FB具有储存功能系统功能块(SFB)和系统功能(SFC)也是相当于子程序,只不过SFB 和SFC是集成在S7 CPU中的功能块,用户能直接调用不需自已写程序。
SFC与FC不具有储存功能,FB和SFB具有储存功能。
OB模块相当于子程序,负责调用其他模块。
如果程序简单只需要OB就可以实现。
用西门子PLC编程时,可以用到功能块FB和功能FC(FB、FC都是组织块)资料上说FB与FC都可以作为用户编写的子程序,但是我不明白这两个组织块之间到底有什么区别阿?在应用上到底有什么不同之处吗?FB--功能块,带背景数据块FC--功能,相当于函数他们之间的主要区别是:FC使用的是共享数据块,FB使用的是背景数据块举个例子,如果您要对3个参数相同的电机进行控制,那么只需要使用FB编程外加3个背景数据块就可以了,但是,如果您使用FC,那么您需要不断的修改共享数据块,否则会导致数据丢失。
FB确保了3个电机的参数互不干扰。
FB,FC本质都是一样的,都相当于子程序,可以被其他程序调用(也可以调用其他子程序)。
他们的最大区别是,FB与DB配合使用,DB中保存着F B使用的数据,即使FB退出后也会一直保留。
FC就没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区。
几个西门子PLC经典实例详解(含程序)
十字路口的交通指挥信号灯布置如下图:
一、控制要求
(1)信号灯系统由一个启动开关控制,当启动开关接通时,该信号灯系统开始工作,当启动开关关断时,所有信号灯都熄灭。
(2)南北绿灯和东西绿灯不能同时亮。
如果同时亮应关闭信号灯系统,并立刻报警。
(3)南北红灯亮维持25s。
在南北红灯亮的同时东西绿灯也亮,并维持20s。
到20s 时,东西绿灯闪亮,闪亮3s 后熄灭,此时,东西黄灯亮,并维持2s。
到2s 时,东西黄灯熄灭,东西红灯亮。
同时,南北红灯熄灭,南北绿灯亮。
(4)东西红灯亮维持30s。
南北绿灯亮维持25s,然后闪亮3s 后熄灭。
同时南北黄灯亮,维持2s 后熄灭,这时南北红灯亮,东西绿灯亮。
(5)以上南北、东西信号灯周而复始地交替工作状态,指挥着十字路口的交通,其时序如下所示。
二、PLC 接线
三、定义符号地址
四、梯形图程序。
s附录 SIMATIC用于S7-300和S7-400的 功能块图(FBD)编程参考手册2007年8月版 A5E01112994-01版权所有 © Siemens AG 2004 保留所有权利未经明确的书面许可,不得复制、传播或使用本手册或所含内容。
违者应对造成的损失承担责任。
保留所有权利,包括实用新型或设计的专利许可权及注册权。
Siemens AGBereich Automation and DrivesGeschaeftsgebiet Industrial Automation SystemsPostfach 4848, D- 90327 Nuernberg 免责声明我们已检查过本手册中的内容与所描述的硬件和软件相符。
由于差错在所难免,我们不能保证完全一致。
我们会定期审查本手册中的内容,并在后续版本中进行必要的更正。
欢迎提出改进意见。
©Siemens 2004技术数据如有改动,恕不另行通知。
安全指南本手册包括了保证人身安全与保护本产品及连接的设备所应遵守的注意事项。
这些注意事项在手册中均以下列符号加以突出,并根据危险等级标明如下:危险表示如果不采取适当的预防措施,将导致死亡、严重的人身伤害或财产损失。
警告表示如果不采取适当的预防措施,可能导致死亡、严重的人身伤害或财产损失。
当心表示如果不采取适当的预防措施,可能导致轻微的人身伤害。
当心表示如果不采取适当的预防措施,可能导致财产损失。
须知提醒您注意有关产品、产品使用的特别重要的信息,或者是文档的特定部分。
合格人员只有合格人员才允许安装和操作该设备。
合格人员是指被授权按照既定安全惯例和标准,对线路、设备和系统进行调试、接地和标记的人员。
正确使用请注意如下事项:警告该设备及其部件只能用于产品目录或技术说明书中所描述的范畴,并且只能与由西门子公司认可或推荐的第三方厂商提供的设备或部件一起使用。
只有正确地运输、保管、设置和安装本产品,并且按照推荐的方式操作和维护,产品才能正常、安全地运行。
一、小车往返运动用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮,小车从左边往右边(右边往左边运动)当运动到右边(左边)碰到右边(左边)的行程开关后小车自动做返回运动,当碰到另一边的行程开关后又做返回运动。
如此的往返运动,直到当按下停车按钮后小车停止运动。
▲电气接线图I/O分配表梯形图程序PLC接线图程序调试及结果分析▲控制平台操作面板当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。
当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.3(鼠标点击i0.3f)接通,此时小车又往右运行(指示灯Q0.1灭,指示灯Q0.0亮)。
如此往返运动下去直到按下SB1即i0.2(鼠标点i0.2f)接通,小车停止运行。
附:二、闪光电路当按下启动按钮后,要求在两秒钟内有一秒亮有一秒灭,如此反复,灯一闪一闪 发光。
I/O分配表梯形图程序PLC接线图程序调试及结果分析把编写好的程序下载到西门子s7-200PLC中进行调试。
观察运行结果和实验要求是否相同。
通过在线控制面板进行调试,当按下在线控制面板上的I0.0f(即 I0.0接通)此时Q0.0有输出,Q0.0所接负载灯就亮,同时启动定时器T37开始计时, 当计时一秒后因T37动作,其常闭触点断开,所以Q0.0无输出,所接负载灯灭。
灯灭的同时启动定时器 T38,T38 计时一秒后,把串联在定时器T37的常闭触点断开,所以T37复位,T37常闭触点恢复常闭。
此时Q0.0 又有输出, 所接负载灯又亮。
这样,输出Q0.0上所接的负载灯以接通一秒,断开一秒频率不停的闪烁,直到按下在线控制面板上的 I0.1f(即I0.1接通),闪光电路不在继续工作。
若想改变灯闪烁的频率只要改变定时器的时间就能够达到改变要求。
第5章 结构化编程 145║ 5.2.4 功能块编程举例功能块的使用过程与功能基本相似,不同之处在于,变量定义功能块需要进行静态变量定义。
功能块调用时需要使用相应的背景数据块。
背景数据块可以在STEP 7中直接单击右键生成,或者是在调用FB 时为其指定一个背景数据块,此时如果数据块不存在,系统会弹出如图5-7所示的对话框。
单击对话框中的“是”按钮可以自动产生一个新的背景数据块,并且背景数据块中的参数与FB 中的一致。
举个例子,某瓶装产品生产线在产品装箱之前要进行质量检测。
生产线共生产两种包装产品,瓶子的高度相同,但瓶子的容量不一样。
产品检测主要包括以下几个方面:瓶子的顶部标签和侧面标签是否贴好,瓶装产品的重量是否符合要求。
大瓶子装满的重量为500g,小瓶子装满的重量为200g ,误差3%。
瓶子在加盖后的高度为24cm ,误差±0.5%。
每个合格的产品通过绿色指示灯指示合格,并且检测环节之后有一个自动复位开关进行复位和计数。
变量表如表5-4所示,首先对系统中各个控制环节进行分析,系统中瓶高控制和重量控制都需要使用偏差控制。
另外就是合格信号的输出,以及计数部分。
这里将多次使用的偏差控制部分封装在FB1中。
FB1的功能是输入测量值,控制目标值以及误差百分数,输出的是实测值是否符合误差控制要求。
符合误差控制输出高电平信号。
FB1中的参数定义如图5-8、图5-9、图5-10所示。
误差上下限值使用静态变量定义对其进行保存。
表5-4变量表 地址 数据类型 说明I0.0 BOOL 系统启动I1.0 BOOL 瓶子顶部标签I1.1 BOOL 瓶子侧面标签I1.2 BOOL 复位及计数信号Q0.0 BOOL产品合格指示灯图5-8 FB1输入参数定义图5-9 FB1输出参数定义OB1中对其进行调用过程中自动生成数据块,如图5-11所示,将定义过的输入参数、输出参数和静态变量全部保存下来。
并且可以在编程调用时进行监控,查看运行时的状态。
s附录 SIMATIC用于S7-300和S7-400的 功能块图(FBD)编程参考手册2007年8月版 A5E01112994-01版权所有 © Siemens AG 2004 保留所有权利未经明确的书面许可,不得复制、传播或使用本手册或所含内容。
违者应对造成的损失承担责任。
保留所有权利,包括实用新型或设计的专利许可权及注册权。
Siemens AGBereich Automation and DrivesGeschaeftsgebiet Industrial Automation SystemsPostfach 4848, D- 90327 Nuernberg 免责声明我们已检查过本手册中的内容与所描述的硬件和软件相符。
由于差错在所难免,我们不能保证完全一致。
我们会定期审查本手册中的内容,并在后续版本中进行必要的更正。
欢迎提出改进意见。
©Siemens 2004技术数据如有改动,恕不另行通知。
安全指南本手册包括了保证人身安全与保护本产品及连接的设备所应遵守的注意事项。
这些注意事项在手册中均以下列符号加以突出,并根据危险等级标明如下:危险表示如果不采取适当的预防措施,将导致死亡、严重的人身伤害或财产损失。
警告表示如果不采取适当的预防措施,可能导致死亡、严重的人身伤害或财产损失。
当心表示如果不采取适当的预防措施,可能导致轻微的人身伤害。
当心表示如果不采取适当的预防措施,可能导致财产损失。
须知提醒您注意有关产品、产品使用的特别重要的信息,或者是文档的特定部分。
合格人员只有合格人员才允许安装和操作该设备。
合格人员是指被授权按照既定安全惯例和标准,对线路、设备和系统进行调试、接地和标记的人员。
正确使用请注意如下事项:警告该设备及其部件只能用于产品目录或技术说明书中所描述的范畴,并且只能与由西门子公司认可或推荐的第三方厂商提供的设备或部件一起使用。
只有正确地运输、保管、设置和安装本产品,并且按照推荐的方式操作和维护,产品才能正常、安全地运行。
S7-300系列PLC应用系统设计PLC应用系统设计的内容和步骤PLC应用系统的硬件设计PLC应用系统的软件设计PLC应用系统设计实例PLC应用系统设计的内容和步骤系统设计的原则与内容1.设计原则(1) 最大限度地满足被控设备或生产过程的控制要求;(2) 在满足控制要求的前提下,力求简单、经济,操作方便;(3) 保证控制系统工作安全可靠;(4) 考虑到今后的发展改进,应适当留有进一步扩展的余地。
2.设计内容(1) 拟定控制系统设计的技术条件,它是整个设计的依据;(2) 选择电气传动形式和电动机、电磁阀等执行机构;(3) 选定PLC的型号;(4) 编制PLC的输入输出分配表或绘制输入输出端子接线图;(5) 根据系统要求编写软件说明书,然后再进行程序设计;(6) 重视人机界面的设计,增强人与机器之间的友善关系;(7) 设计操作台、电气柜及非标准电器元部件;(8) 编写设计说明书和使用说明书。
系统设计和调试的主要步骤1.深入了解和分析被控对象的工艺条件和控制要求2.确定IO设备,常用的输入设备有按钮、选择开关、行程开关、传感器等,常用的输出设备有继电器、接触器、指示灯、电磁阀等。
3.选择合适的PLC类型,根据已确定的用户IO设备,统计所需的输入信号和输出信号的点数,选择合适的PLC类型。
4.分配IO点,编制出输入输出端子的接线图。
5.设计应用系统梯形图程序,这一步是整个应用系统设计最核心的工作。
6.将程序输入PLC,当使用计算机上编程时,可将程序下载到PLC中。
7.进行软件测试,在将PLC连接到现场设备上之前,必须进行软件测试,以排除程序中的错误。
8.应用系统整体调试,在PLC软硬件设计和控制柜及现场施工完成后,就可以进行整个系统的联机调试。
调试中发现的问题要逐一排除,直至调试成功。
9.编制技术文件,系统技术文件包括功能说明书、电气原理图、电器布置图、电气元件明细表、PLC梯形图等。
PLC选型在满足控制要求的前提下,选型时应选择最佳的性能价格比,具体应考虑以下几点。
西门⼦PLC300电机加减速功能块例⼦程序
西门⼦PLC300电机加减速功能块例⼦程序
在⼯程中,电机的速度控制⽅式各种各样,也运⽤⽐较⼴泛,对于⼀些常⽤的功能,我能在编程的时候最好将⼀些通⽤功能编成
封装的块,这样在以后的编程中会极⼤的提⾼编程的效率。
电机运⽤普遍的是变频器控制,对于变频器在就地⾯板上有
加减速按钮,要求在就地模式下可以通过现场⾯板按钮来控制电机
的加减速。
其例⼦程序仿真如下:
这⾥仿真⽤的都是REAL变量,当直接连接仪表采集的信号是需要将
仪表信号转换成REAL数据类型,参考模拟量信号输⼊输出转换。
我们需要采集的信号如下:
在程序中插⼊FC功能块建⽴输⼊输出和临时变量如下
当速度从远程切换到就地的时候,把当前的速度存⼊临时变量。
有
时候电机在运⾏过程中切换的时候以防速度消失造成不必要的⿇烦,所以我们都在当前速度的基础上加减速度。
其梯形图程序如下:。
西门子S7-1200组织块应用实例
下面我们做一个组织块的使用练习,使用循环中断产生一赫兹的时钟信号,在Q0.0输出。
先来分析一下,一赫兹的时钟信号周期为一秒,高低电平各持续500毫秒交替出现,因此每隔500毫秒产生中断,在循环中断组织块程序中对Q0.0取反即可。
具体步骤如下:
一、添加组织块,在项目树中打开PLC1下面的程序块文件夹,双击打开添加新块对话框,单击组织块按钮,选择循环中断,输入组织块的名称,这里我们不作修改。
编程语言默认为梯形图,手动或自动分配组织块编号,这里我们不做修改,即自动分配编号200。
扫描时间及产生循环中断的时间间隔,单位为毫秒,改为500,也可以在循环中断组织块的属性中修改,启用仅符号访问,单击确定按钮。
可以看到程序块文件夹下增加了循环中断组织块OB200,同时在工作区中打开了循环中断组织块的程序编辑器。
在检查窗口的属性选项卡,单击循环中断,此处可以定义循环时间和相移。
二、编写程序,从指令数中选择位逻辑运算,鼠标拖拽常开触点指令插入到程序段一中,输入地址Q0.0,插入取反线圈指令,输入地址Q0.0,单击保存项目按钮,保存项目,这样循环中断组织块的程序就编写完成了。
三、编译下载程序到PLC,选中项目树中的PLC1,单击编译按钮编译项目,单击下载按钮,将所有块下载到PLC。
四、查看程序运行情况。
单机监视按钮,观察程序运行情况,可以看到在Q0.0产生了一赫兹的时钟信号。
以上我们通过一个实例简单介绍了S7-1200中组织块的使用方法,下篇文章我们继续介绍西门子S7-1200的其它相关内容,欢迎持续关注!。
西门子plc功能块图程序示例
功能块图( FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,功能框图类似于与门、或门的方框,来表示逻辑关系。
一般用一个指令框表示一种功能,框图内的符号表达了该框图的运算功能,框的左侧为逻辑运算的输入变量,右侧为输出变量,框左侧的小圆圈表示对输入变量取反(“非”运算),框右侧的小圆圈表示对运算结果再进行“非”运算。
方框被“导线”连接在一起,信号自左向右流动。
FBD比较适合于有数字电路基础的编程人员使用。
图功能块图程序示例
利用功能块图( FBD)可以查看到像普通逻辑门图形的逻辑盒指令。
它没有梯形图编程器中的触点和线圈,但有与之等价的指令,这些指令是作为盒指令出现的,程序逻辑是由这些盒指令之间的连接决定的。
也就是说,一个指令(如AND盒)的输出可以用来允许启动另一条指令(如定时器),这样可以建立所需要的控制逻辑。
这样的连接思想可以解决范围广泛的逻辑问题。
功能块图( FBD)编程语言有利于程序流的跟踪,但在目前使用较少。