西门子PLC S7300程序实例.docx
《西门子PLC S7300程序实例.docx》由会员分享,可在线阅读,更多相关《西门子PLC S7300程序实例.docx(9页珍藏版)》请在冰豆网上搜索。
西门子PLCS7300程序实例
西门子PLC300编程实例
一、简介
西门子PLC300如今在工业控制系统中比较广泛,属于西门子PLC家族中的中小型。
能实现多种功能控制,包括:
开关量控制,模拟量控制,闭环过程控制,计数器,定时器,网络通信等功能。
下面我们主要以一个实例来讲解下PLC的基本运用。
二、工艺
以两种液体物料混合为例,其工艺图如下:
阀门A打开向罐内加入A料,直到低液位阀门A关闭;延时阀门B打开,向罐内加入到高液位,停止加料;延时搅拌泵启动,搅拌五分钟;延时阀门C打开,放混合液10分钟,关闭C和泵进入下一次启动。
同时提供故障检测。
三、硬件配置
采用西门子PLC300,
CPU模块:
CPU-315、电源模块:
S7-307、DI/DO模块、AI模块。
硬件组态如下图:
四、建立符号表
建立符号表如下:
五、程序如下
解释:
启动程序为OB1块内的背景数据点。
可以来自触摸屏的按钮,或实际按钮,其结果存入M20.1临时存储位置,当条件达到是M20.2系统启动置位为1,系统开始运行。
PIW272----液位变送器采集上来的液位模拟量为4~20mA,经过调用系统库内的功能块FC105讲数据转换成液位的值,1.000000e+003为液位变送器名牌上的量程的最大值,1000mm,同理0.000000e+000为低量程0;M1.0为信号极性,4~20mA为单极性。
经过FC105转换之后输出结果,MW2为量程之外的故障与否,如果“YW”的输入不在4~20mA内,MW2值便为1;OUT口为液位的显示的实际值。
提示注意数据类型。
此程序为阀门A和B的打开程序,当系统运行时,实际的液位低于我们设定的低液位时,即400mm,阀门A打开;当系统高与低液位而低于设定的高液位时,即400-800mm之间,阀门B打开;注意这里用的是即时线圈,如果有兴趣的朋友可以自己试试使用置位,复位线圈来控制。
这两段是搅拌程序;当系统运行时,实际液位达到设定的高液位时,延时等待30s,之后搅拌泵开始启动,同时系统运行开始置位。
当搅拌机运行信号来时即I0.3=1,定时器T3启动,5分钟即(S5T#5M),搅拌泵启动复位,M20.3置位为一,进入下一步,当定时器4未来,且系统为故障M20.4,阀门C打开,抽液泵启动
混合泵运行5分钟,结束一个循环。
程序段10调用自己编写的功能块FC15,进行故障报警等功能。
FC15中包含四个变量,输入变量IN1~3,输入输出变量XTZT,输出变量M20.4
其中包含临时变量LSBL
因为系统的故障变量MW2类型为WORD,所以将其转换成字,存入临时变量,当LSBL和IN2、IN3都任何一个出现故障时,输出便为故障。
如果没有故障,则将0存入XTZT中,以便输出给触摸屏显示。
这几段为等那种故障出现时,将XTZT的相应位置位1,这便可以在触摸屏上调用XTZT的相应位来显示故障。
希望大家能通过这个基本的程序,有所感悟,谢谢!