资源描述
本科毕业设计(论文)
压缩机自动控制系统程序设计
第一章 可编程逻辑控制器基础知识
1. PLC概述
在PLC问世之前,工业控制领域中是继电器控制占主导地位。应用广泛。但是传统的电器控制系统存在体积大,可靠性低,查线和排除故障困难等缺点,特别是接线复杂、不易更改,对生产工艺的变化的适应性差。
1969年美国数字设备公司(DEC)研制出世界上第一台PLC,获得了成功。从此,可编程控制器这一新技术迅速发展起来。
1.1 PLC的定义
可变程序控制器(Programmable Controller)简称PLC,是在电器控制技术和计算机技术的基础上开发出来的,并逐渐发展成为以微处理器为核心,把自动化技术、计算机技术、通信技术融为一体的新兴工业控制装置。
国际电工委员会(IEC)1987年在可编程控制器标准草案第三稿中定义如下:“可变程序控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作指令,并通过数字式和模拟式的输入输出,控制各种类型的机械或生产过程。可编程控制器及其有关外围设备,都应按易于与工业系统连成一个整体,易于扩充其功能的原则设计。” 目前,PLC已被广泛应用于各种生产机械和生产过程的自动控制中。
1.2 PLC的特点
PLC是专为在工业环境下应用而设计的,具有许多独特的优点。主要有以下特点:
(1)可靠性高、抗干扰能力强
可靠性高、抗干扰能力强是PLC最重要的特点之一。它采用了一系列的硬件和软件的抗干扰措施。
(2)编程简单,使用方便
目前,大多数PLC采用的语言是梯形图语言,它是一种面向生产、面向用户的编程语言。
(3)通用性强,灵活性好,功能齐全
PLC是通过软件实现控制的,其控制程序便在软件中,对不同的控制对象都可以采用相同的硬件进行配置。
(4)设计简单,维护方便
由于PLC用软件代替了传统电气控制硬件,控制柜的设计、安装界限工作量大为减少。PLC的用户程序大部分可在实验室进行调试,缩短了应用设计和调试周期。
(5)体积小、重量轻、能耗低
由于采用了集成电路,实现机电一体化的理想控制设备。
1.3 PLC分类
PLC产品种类繁多,其规格和性能也各不相同。对PLC的分类,通常根据其结构形式的不同、控制规模等进行大致分类。
根据PLC的结构形式可分为整体式、模块式、叠装式三类。整体式PLC是将电源CPU、I/O接口等部件都集中在一个机箱内;模块式PLC是将PLC各组成部分分别做成若干个单独的模块;叠装式PLC是将整体式和模块式结合起来。
按PLC的控制规模,PLC可分为小型机、中型机、大型机。小型机,控制点数小于256点,用户程序存储器的容量小于8K字。中型机的控制点数一般在256点-2048点范围内,用户程序存储器的容量小于50K字。大型机的控制点数在2048点以上,用户程序存储器的容量达50K字以上。
1.4 PLC现状与趋势
PLC作为工控机的一员,在主要工业国家中成为自动化系统的基本电控装置。据统计,当今世界PLC生产厂家约150家,生产300多个品种。PLC在工控机市场中占有主要地位,并保持继续上升的势头。
PLC在60年代末引入我国时,只用作离散量的控制,其功能只是将操作接到离散量输出的接触器等,最早只能完成以继电器梯形逻辑的操作。新一代的PLC具有PID调节功能,它的应用已从开关量控制扩大到模拟量控制领域,广泛地应用于航天、冶金、轻工、建材等行业。但PLC也面临着其它行业工控产品的挑战,各厂家正采取措施不断改进产品,主要表现为以下几个方面:
(1)微型、小型PLC功能加强
很多有名的PLC厂家相继推出高速、高性能、小型、特别是微型的PLC。
(2)集成化发展趋势加强
由于控制内容的复杂化和高难度化,使PLC向集成化方向发展,PLC与PC集成、PLC与DCS集成、PLC与PID集成等,并强化了通讯能力和网络化,尤其是以PC为基的控制产品增长率最快。
(3)向开放型转变
现在开发以PC为基础、在WINDOWS平台下,符合IEC1131-3国际标准的新一代开放体系结构的PLC。
2 S7-200基本组成
SIEMENS SIMATIC S7-200由基本单元(S7-200 CPU模块),个人计算机(PC)或编程器,STEP7-Micro/WIN 32编程软件及通信电缆组成,是叠装式小型PLC。它指令丰富、功能强大、可靠性高、适应性好、结构紧凑。如图3-1所示:
图3-1 S7-200 PLC系统的构成
(1)基本单元(S7-200 CPU模块)
S7-200 CPU模块包括一个中央处理单元(CPU)、电源及数字量I/O点,这些都被集成在一个紧凑、独立的设备中。
在CPU模块的顶部端子盖内有电源及输出端子;在底部端子盖内有输入端子及传感器电源;在中部右侧前盖内有CPU工作模式开关、模拟量调节电位器和扩展I/O连接接口;在模块的左侧分别有状态指示灯、存储卡、及通信口。如图3-2。
图3-2 S7-200 CPU模块
(2)扩展单元
S7-200 模块提供了一定数量的本机I/O,扩展模块提供了附加的输入输出点(见图3-3)
图3-3 带有扩展模块的CPU
3)个人计算机(PC)或编程器
个人计算机(PC)或编程器装上STEP7-Micro/WIN32 编程软件后,即可供用户进行程序的编制、编辑、调试和监控等。PLC在正式运行时,不需要编程器。
4)STEP7-Micro/WIN32编程软件
STEP7-Micro/WIN32编程软件是基于Windows的应用软件,它支持32位Windows95,Windows98和Windows NT4.0使用环境。它的基本功能是创建、编辑、调试用户程序、系统组态等。
5)通信电缆
通信电缆使PLC用来与个人计算机实现通信的。可以用PC/PPI电缆;使用通信处理器时,可用多点接口电缆;使用MPI卡时,可用MPI卡专用通信电缆。
6)人机界面
文本显示器TD200不仅是一个用于显示系统信息的显示设备,还可以作为控制单元对某个量的数值进行修改,或直接设置输入/输出量。文本信息的显示/确认方法,最多可显示80条信息,每条信息最多4个变量状态。过程参数可在显示器上显示,并可以随时地修改。TD200面板上的8个可编程序的功能键,每个都分配了一个存储器位,这些功能键在启动和测试系统时,可以进行参数设置和诊断。
3. S7-200模块主要技术指标
3.1 S7-200一般性能
S7-200 CPU S7-200系列PLC可提供4种不同的基本型号的8种CPU供选择使用。主要性能指标如下:
表3-1 S7-200 CPU主要性能指标
S7-200PLC
CPU221
CPU222
CPU224
CPU226
集成数字量输入/输出
6入/4出
8入/6出
14入/10出
24入/16出
可连接的扩展模块数量
不可扩展
2个
7个
7个
最大可扩展的数字量输入/输出范围
不可扩展
78点
168点
248点
最大可扩展的模拟量输入/输出范围
不可扩展
10点
35点
35点
用户程序区
4K
4K
8K
8K
数据存储区
2K
2K
5K
5K
数据后备时间(电容)
50小时
50小时
50小时
50小时
后备电池
200小时
200小时
200小时
200小时
编程软件
Step7-Micro/WIN
Step7-Micro/WIN
Step7-Micro/WIN
Step7-Micro/WIN
标志寄存器/计数/定时器
256/256/256
256/256/256
256/256/256
256/256/256
通讯接口
1*RS485
1*RS485
1*RS485
2*RS485
外部硬件中断
4
4
4
4
支持的通讯协议
PPI,MPI,自由口
PPI,MPI,自由口,Profibus DP
PPI,MPI,自由口,Profibus DP
PPI,MPI自由口,Profibus DP
实时时钟
外置时钟卡(选件)
外置时钟卡(选件)
内置时钟卡
内置时钟卡
外形尺寸(W*H*D)mm
90*80*62
90*80*62
120*80*62
196*80*62
3.2 CPU224性能
S7-200 CPU224一般性能如下表所示:
表3-2 S7-200 CPU224一般性能
电源电压
DC24V,AC100-230V
电源电压波动
DC20.4-28.8,AC84-264(47-63HZ)
环境温度湿度
水平安装0-55℃,垂直安装0-45℃,5%-95%
大气压
860-1080hPa
保护等级
IP20到IEC529
输出给传感器的电压
DC24V(20.4-28.8)
输出给传感器的电流
280mA,电子式短路保护(600mA)
为扩展模块提供的输出电流
660mA
程序存储器
8K字节/典型职位2.6K条指令
数据后备
整个BD1在EEPROM中无需维护,在RAM中当前的DB1表职位、定时器、计数器等通过高能电容或电池维持,后备时间190h,插入电池后备200天
编程语言
LAD,FBD,STL
程序结构
一个主程序快(可以包括子程序块)
程序执行
自由循环、中断控制、定时器控制(1-255ms)
子程序级
8级
指令集
逻辑运算、应用功能
位操作执行时间
0.37µs
扫描时间监控
300ms(可重启动)
内部标志位
256,可保持:EEPROM中0-112
计数器
0-256,可保持:256,6个高速计数器
定时器
可保持:256 4个定时器,1ms-30s 16个定时器,10ms-5min 236个定时器,100ms-54min
接口
一个RS485通信接口
可连接的编程器/PC
PG740,PG760,PC(AT)
本机I/O口
数字量输入:14,其中4个可用作硬件中断,14个用于高速功能
数字量输出:10,其中2个可用作本机功能,模拟电位器:2个
可连接的I/O
数字量输入/输出:最多94/74个
模拟量输入/输出:最多28/7(或14)
AS接口输入/输出:496
最多可扩展模块
7个
CPU224输入特性如表3-3所示。
表3-3 S7-200 CPU224 输入特性
类型
源型或汇型
输入电压
DC24V,“1”信号:14-35A,“0”信号:0-5A
隔离
光耦隔离,6点和8点
输入电流
“1”信号:最大4mA
输入延迟(额定输入电压)
所有标准输入:全部0.2-12.8ms(可调节)
中断输入:(I0.0-0.3)0.2-12.8ms(可调节)
高速计数器:(I0.0-0.5)最大30KHZ
CPU224输出特性如表3-4所示。
表3-4 CPU224的输出特性
类型
晶体管输出
继电器输出
额定负载电压
DC24V(20.4-28.8V)
DC24V(4-30V) AC24-230V(20-250V)
输出电压
“1”信号:最小DC20V
L+/L-
隔离
光电隔离,5点
继电器隔离,3点和4点
最大输出电流
“1”信号:0.75A
“1”信号:2A
最小输出电流
“0”信号:10µA
“0”信号:0mA
输出开关容量
阻性负载:0.75A
灯负载:5W
阻性负载:2A
灯负载:DC30W,AC200W
我们现场所选用的为CPU224的继电器输出类型,其端子接线图如图3-4所示。
图3-4 CPU224 DC/DC/继电器连接器端子图
3.3 EM231、EM235模块技术性能
(1)EM231、EM235模拟量输入/输出技术规范
表3-5 EM231、EM235模拟量输入输出技术规范
说明
EM231 A14*12位
EM235 AI4/AQ1*12位
输入技术规范
输入技术规范
输出技术规范
尺寸
(W*H*D)
重量
功率损耗
71.2*80*62mm
183g
2W
71.2*80*62mm
186g
2W
物理I/0数量
4模拟量输入点
4模拟量输入点,1模拟量输出点
功耗 从L+
L+电压范围
60mA
20.4至28.8
60mA(输出为20mA)
20.4至28.8
LED指示器
24VDC电源良好
ON=没有故障
OFF=无24V电源
24VDC电源良好
ON=没有故障
OFF=无24V电源
最大输入电压
30VDC
30VDC
最大输入电流
32mA
32mA
模拟量输入点数
4
4
隔离(现场侧到逻辑线路)
无
无
输入电压(单极性)
输入电压(双极性)
输入电流
模拟量输出点数
0至10V,0至5V
+5,2.5V
0至20mA
0至10V,0至5V,0至1V,0至500mV,0至100mV,至50mV
+10,5,2.5,1V,+500,
250,100,50,25mV
0至20mA
1
信号范围
电压输出
电流输出
+10V
0至20mA
隔离
无
(2)EM231,EM235接线
热电阻测量温度,压力变送器测量压力,将信号分别送入EM231测温模块,EM235测压模块,由CPU224发出动作信号。两线制,三线制,四线制接法精度依次提高,我们选用三线制接线方法。如图3-5所示。
图3-5 扩展模块的三线制接法
(3)PLC内部DC+24V电源的负载能力
EM231和EM235需要24V供电,可由CPU224的24V电源供给。CPU224输出电流最大为2A,需要计算是否能够负载。
S7-200主机的内部电源单元除了提供DC+5V电源外,还提供DC+24V电源,DC+24V电源也称为传感器电源,它可以作为CPU模块和扩展模块用于检测直流信号输入点状态的DC24V电源,如果用户使用传感器的话,也可作为传感器的电源。一般情况下,CPU模块和扩展模块的输入、输出电所用得DC24V电源是由用户外部提供。如果使用CPU 模块内部的DC24V电源的话,应该注意DC24V电源的负载能力。使CPU模块及各扩展模块所消耗电流的总和不超过该内部DC24V电源所提供的最大电流(400mA)。
实际上,从L+提供给EM231输入的电流为60mA,提供给EM235的输入电流为60mA,输出电流为20mA。
(4)EM231,EM235扩展模块的端子标识
图3-6 用于EM231扩展模块的连接器端子标识
图3-7 用于EM235扩展模块的连接器端子标识
第二章 压缩机自动控制设计整体方案
1.1 PLC设计的基本步骤
明确设计任务和技术条件
PLC机型选择
系统总体设计
制作控制柜
编制程序
I/O配线
程序检测调试
PLC安装
局部模拟进行jingi进行
联机调试
系统试运行,程序备份
整理系统文件交付使用
满足要求?
求?
修改软硬件
明确设计任务和技术条件
明确设计任务和技术条件
明确设计任务和技术条件
N
Y
Y
图4-1 PLC设计基本步骤
1.2 PLC设计的基本原则
根据控制任务,在最大限度满足生产机械或生产工艺对电气控制要求的前提下,运行稳定,安全可靠,经济实用,操作简单,维护方便。
(1)最大限度满足被控对象提出的各种性能指标。
(2)确保控制系统的安全可靠。
(3)力求控制系统简单、经济、使用及维修方便。
(4)留有适当的余量 。
1.3 压缩机控制自锁及手自动切换的实现
根据控制的要求,压缩机能用PLC自动控制启停。但是当PLC发生故障时,还必须能手动控制压缩机的启停。在初次设计中,选用一个回路来实现上述功能,经验证,无法实现所要求的功能。其线路图如4-2所示。
1 压缩机的启动开关 2 PLC控制启动开关
3 压缩机的停止开关 4 KM常开触点 图4-2 压缩机自手动控制线路图
5 PLC控制停止开关 KM 接触器K 压缩机工作状态指示
图中存在的问题是:当按下1时,压缩机启动,4闭合,形成自锁。按下3时,压缩机停止,实现手动控制。但是,当PLC不供电时,无法让开关5闭合,手动控制无法实现.
在现场设计中,将PLC控制与手动控制回路分为两路,通过控制接触器线圈KM2通得电实现两路的切换。
这种思想的实现可以选用一个双刀双掷开关,来选择给手动回路供电还是给PLC供电,但由于现场没有选用此开关,我们选用接触器KM2来取代,实现它的功能。
压缩机自锁及手自动切换线路图如4-3所示。
图4-3 压缩机自动控制手自动切换实现
当按下按钮SB3时,接触器KM2线圈得电,KM2的常开开关闭合,形成自锁,手动回路供电。此时,按下SB1,回路接通,KM1线圈得电,KM1常开开关逼和,形成自锁,压缩机启动;按下SB2,回路断电,压缩机停止。当按下SB4时,手动回路切断电源,系统进入自动状态,手动控制不能实现控制压缩机启停。当SB3不动作时,总开关一闭合,系统进入自动运行状态,压缩机的控制直接由PLC实现。
2 整体设计
2.1 硬件设计部分
1)压缩机控制系统的配置
在明确了控制任务和控制要求后,选择现场所用的硬件和软件配置如下所示:
在硬件方面:PLC选S7-200 CPU224;测温模块EM231;测压模块EM235;选用CU50 热电阻测温器件检测压缩机气缸的温度;选用SH115型压力变送器检测压缩机出口处的压力;气动电磁阀(五个);手动阀(五个);交流接触器(两个);控制柜;接线端子排(两个);电源及若干导线。
在软件方面:主要有PLC S7-200编程组态软件STEP7-WIN32、上位计算机驱动软件及操作软件等。STEP7-WIN32是基于Windows的应用软件,功能强大,界面友好,并有方便的联机帮助功能。
所用各种配置见附件表一。
2)PLC 的控制对象
PLC
温度
压力
出口电磁阀V2
放油电磁阀V3
放水电磁阀V4
放气电磁阀V1
压缩机的启停
放水电磁阀V5
温度上限报警
压力上下限报警
蜂鸣器
CPU输出的控制信号有压缩机起停,电磁阀,温度上限报警,压力下限报警,压力上限报警,蜂鸣器。如图4-4所示。
图4-4 PLC控制结构图
3)设计方案
根据控制要求,现场改造管路流程图见附件图一。在这个系统中,压缩机气缸的温度由CU50热电阻测得,将信号传入EM231测温模块,CPU给出控制信号,控制压缩机的启动和停止。压缩机出口压力信号由压力变送器测得,并将信号传入EM235模块,CPU 给出控制信号。
柜面布置图见附件图二。图4-5为简单示意图。其中,L1为电源指示灯,L2为压缩机工作状态指示,L3为温度上限报警,L4为压力下限未开图4-5 柜面布置图 报警指示,L5为压力上限未关报警指示。按钮SB1为压缩机启动开关,按钮SB2为压缩机停止开关,按钮SB3为手动开关,SB4为自动开关。
柜内布置图见附件图三。由于压缩机周围环境不是太理想,温度较高,油污较多,清洁性差,不宜把面板安装在柜面上,设计安装在柜内。
现场接线图见附件图四。设计选用的报警灯,指示灯均是由24VDC电源供电。按钮选用的是220VAC电源。
注意:在接线的过程中,要思路清楚,布线整齐,有适当的标识。多次查线,逐步调试,确认无误后方可接入现场。
3.软件设计
1)编程软件STEP7-Micro/WIN32
PLC系统的软件设计是依据一定逻辑关系,以梯形图方式编写后写入PLC中。在PC机中,可实现在线组态、监控,对输入、输出点可以强制状态,以满足调试、维护需要。
STEP 7-Micro/WIN32是基于Windows平台应用软件,是SIEMENS公司专为SIMATIC系列S7-200研制开发的编程软件,它可以在线(联机)或离线(脱机)开发用户程序,并可在线实时监控用户程序的执行状态。
STEP 7-Micro/WIN32的基本功能是协助用户完成应用软件的开发任务,例如,创建用户程序,修改和编辑原有的用户程序。利用该软件可设置PLC的工作方式和参数,上载和下载用户程序,进行程序的运行监控。它还具有简单语法的检查、对用户程序的文档管理和加密等功能,并提供在线帮助。
上载和下载用户程序指的是用STEP 7-Micro/WIN32编程软件进行编程时,PLC主机和计算机之间的程序、数据和参数的传送。
上载用户程序是将PLC中的程序和数据通过通信设备(如PC/PPI)电缆上载到计算机中进行程序的检查和修改;下载用户程序是将编好的程序、数据和CPU组态参数通过通信设备下载到PLC中以进行运行调试。
程序编辑中的语法检查功能可以避免一些语法和数据类型方面的错误。梯形图错误处下方自动加红色曲线。
软件功能的实现可以在联机工作方式下进行,部分的功能的实现也可以在离线工作方式下实现。
联机方式是指带编程软件的计算机或编程器与PLC直接连接;离线方式是指带编程软件的计算机或编程器与PLC断开连接,只能实现部分功能。
2)程序设计流程图
根据控制要求,程序设计流程图如图4-5所示。
PLC一上电,打开除油罐电磁阀V3,除水罐、储气罐电磁阀V4、V5放油,放水20秒钟。若检测压力小于0.02Mpa,则直接启动压缩机,并有未开报警,如压力在0.02Mpa和0.2Mpa之间,先放气20秒钟,再启动压缩机。若检测压力大于0.5Mpa,则关压缩机,并进行检测压缩机是否关闭,未关则报警。
关阀1,开阀2,开压缩机,有未开报警
温度报警
关压缩机
延时20秒
放油,放水
T>90℃?
>
P>0.5Mpa?
Y
压力报警
关压缩机
Y
N
N
P>0.51Mpa?
压力报警
关压缩机
Y
N
P<0.2Mpa?
N
关阀2,开阀1,放气
Y
延时20秒,关阀1,开阀2,开压缩机,有未开报警
P<0.02Mpa?
开始
Y
N
图4-6 程序设计流程图
第三章PLC系统编程
1 CPU的扫描周期
S7-200 CPU的基本操作非常简单:CPU读输入状态;然后,CPU中存储的程序利用这些输入执行控制逻辑,当程序运行时,CPU刷新有关数据;CPU把数据写到输出。CPU连续地扫描程序,读写数据。S7-200有三种编辑器(梯形图LAD编辑器,语句表STL编辑器,功能块图FBD编辑器)和两种指令集(IEC 1131-3和SIMATIC)。利用STEP 7-Micro/WIN 32梯形逻辑(LAD)编辑器可以建立与电气接线图等价的类似程序,还可以使用STL编辑器显示所有LAD编辑器编写的程序。梯形图这种编辑方法简单易懂,便于掌握,我选用这种方法来编程,就是考虑到它的方便性和简明性。梯形图程序让CPU仿真外部信号,通过输入逻辑条件,再根据结果决定逻辑输出的允许条件。
图4-1 CPU一个扫描周期
但CPU不可能同时去执行多个操作,它只能按分时操作(串行工作)方式,每一次执行一个操作,按顺序逐个执行。由于CPU的运算处理速度很快,所以从宏观上来看,PLC外部出现的结果似乎是同时(并行)完成的。这种串行工作过程称为PLC的扫描工作方式。逻辑通常被分解成小的容易理解的片,这些片经常被称为“梯级”或“段”。程序一次执行一个段,从左到右,从上到下,在无中断或跳转控制的情况下,逐条执行用户程序。一旦CPU程序执行到程序末尾,又从上到下重新执行程序。
每次扫描周期开始时,先读数字输入点的当前值,然后把这些值写到输入映像寄存器中。CPU以8位(1个字节)为增量的方法来保留输入映像寄存器。如果CPU或扩展模块不给物理输入点提供保留字节的每一位,那么你就不能把这些位重新分配给I/O链中的后续模块,也不能在程序中使用它们。在每次扫描周期开始时,CPU会将映像寄存器中未使用的输入位清零。然而,你的CPU可以连几个扩展模块,而且你并未使用这个I/O功能(即未安装扩展模块),那么你可以用这些未使用的扩展输入位作为附加的内部寄存器标志位来使用。除非允许模拟量滤波,CPU在扫描周期中是不能自动更新模拟量输入值的。用户可以选择对每个模拟量通道设置数字滤波。数字滤波用于低成本的模拟量模块,这些模块不支持内部滤波。数字滤波应用于输入信号缓慢变化的场合。如果是高速信号,应该不选用数字滤波。
模拟输入滤波允许有更多稳定的模拟量。模拟输入滤波器应用于输入信号随时间变化缓慢的场合。如果信号是高速的信号,那么你不应该用模拟滤波器。用模拟指令传递数字信息和报警指示的模块不能用模拟滤波器。对于热电阻,热电偶和AS-接口工程师模块,模拟滤波总是失效。如果模拟量选择输入滤波器,CPU在每个扫描周期刷新模拟输入、执行滤波功能,并存储滤波值。当访问模拟量输入时,使用滤波值。如果模拟量不选择输入滤波器,当问模拟量输入时,CPU每次从物理模块读取模拟值。
扫描周期中执行的任务依赖于CPU的操作模式。S7-200 CPU有两个操作模式:STOP模式和RUN模式。对于扫描周期,STOP模式与RUN模式的主要差别是在RUN模式下运行用户程序,而在STOP模式下不运行用户程序。
S7-200 在一个扫描周期期间运行大多数的或所有的下列任务:
(1)读输入: S7-200 复制实际输入状态到程序映像输入寄存器。
(2)执行程序中的控制逻辑:S7-200 执行程序的指令并且在各种不同的存储区域中储存值。
(3)处理任何的通信请求: S7-200 执行通信的任何工作请求。
(4)运行处理器自测试诊断: S7-200 确定固件,程序存储器,和任何扩展模块正在恰当地工作。
(5)写输出:程序映像输出寄存器的存储值被写入实际输出。
2 STEP7 Micro/ WIN32编程
西门子PLC具有良好的编程界面,对于S7-200的编程软件STEP7 Micro/ WIN32,各子程序间可互相调用,子程序是程序的可选部分,只有当主程序,中断程序或其它子程序调用它们时,才能够执行。主程序顺序扫描,S7-200 每个扫描周期估算在主程序中的代码,不论这个代码执行与否,但是,S7-200 只在子程序中的调用的代码时估算,并且在扫描时不把没调用的代码算在内。本程序的初始化程序和温度压力模拟量的转换
程序都是调用子程序。
图4-2 编程软件STEP7 Micro/ WIN32编程界面
编程还需要注意以下的问题:
(1)“浪涌电流”问题一定要考虑在内。每组输出的最大电流是 8A,而输出的浪涌电流是 7A,所以一组内同时有两个以上输出时,就要逐个相应延时半秒,否则同时输出就会超过每组最大输出电流。
(2)定时器的触发问题也要考虑。延时闭合定时器当前值为“1”时,相应延时你所设定的时间后,位触点才闭合,但这段时间内,触发信号断开则会使定时器复位。延时断开定时器当前值为“1”时,位触点就闭合,触发信号断开,定时器开始计时,当设定时间到了,位触点才断开。所以,不同定时器出发信号的长短要求也不一样,要区别对待。
用户程序包括初始化子程序,读取压力、温度数据子程序,开机放油放水语句,压力上下限判断语句,温度判断语句,报警语句等几个部分。
(1)系统初始化
初始化子程序的调用,是在程序开始时,对需要预先设置的参数变量进行赋值,例如,模拟量转换程序中,使用到移位指令,就要对所移位数事先赋值。
有些存储器在断电后保存当前值,CPU掉电时自动保持位存储器(M)区域的数据,如果设为保持,则当CPU模块掉电时,M存储器前14个字节(MB0到MB13)会完整保存到EEPROM中。开机后,CPU会从EEPROM向RAM中恢复用户程序CPU配置,并检查RAM存储器,确认超级电容器是否已成功保存了RAM存储器中的数据。如果成功保存,那么RAM存储器的保持区域将保持不变。V存储器装配中的未保持区域,将从相应EEPROM中V存储器永久区域处恢复回来。如果RAM存储器的内容没有保持下来(如在意外掉电后),CPU会清除RAM存储器(包括保持和非保持区)并置保持数据丢失存储器标志位(SM0.2)为“1”。
(2)系统检测压力、温度及转换
压力、温度数据的读取是模拟量的输入,是4到20毫安电流信号,用EM231/ EM235 模块对模拟量输入已经进行了转换.。S7-200 将现实世界的模拟值(如温度或电压)转换成一个字长(16位)的数字量。你可以用区域标识符(A),数据长度(W),及字节的起始地址来存取这些值。因为模拟输入量为一个字长且从偶数位字节(如0,2或4)开始,所以必须用偶数字节地址(如AIW0,AIW2,或AIW4)来存取这些值。模拟量输入值为只读数据。
格式: AIW[起始字节地址] AIW4 图4-3 存取模拟量输入值
根据选择模拟量输入范围的开关表(表4-1),对EM231/EM235模块的配置DIP开关进行设置,可选择使用单极性数据或双极性数据。
表4-1 EM231选择模拟量输入范围的开关表
单极性
满量程输入
分辨率
SW1
SW2
SW3
ON
OFF
ON
0~10V
2.5mV
ON
OFF
0~5V
1.25mV
0~20mA
5uA
双极性
满量程输入
分辨率
SW1
SW2
SW3
OFF
OFF
ON
-5~+5V
2.5mV
ON
OFF
-2.5~+2.5V
1.25mV
如图4-4 所示,单极性数据和双极性数据的存储位不同,模拟量到数字量转换器(ADC)的12位读数,其数据格式是左端对齐的,最高有效位是符号位:0表示正值数据字。对单极性格式,3个连续的0使得ADC计数器值每变化一个单位则数据字变化是以8为单位的变化;对双极性格式,4个连续的0使得ADC计数器值每变化一个单位则数据字变化是以16为单位的变化。所以,数据使用时需要在程序内部给出转换,将没有存储书库的位屏蔽掉,再通过移位指令,将12位数据值存放在一个双字(DW)的寄存器中。
图4-4 EM231,EM235数据输入字格式
4到20毫安电流信号和压力表量程、0到 0FFF数字量信号是线形对应关系,经过先行转换,就可以和压力上下限直接相比较了。
(3)自动放油放水
每天第一次开机时,放油放水,定时10秒,使用SM0.1触发,因为SM0.1只在第一个扫描周期为“1”,但扫描周期太短,不能持续给定时器触发信号,所以先触发一个延时断开定时器,再用它来触发延时闭合定时器,既而控制阀的打开和关闭。TONR,TON,TOF定时器有三个分辨率。这些分辨率由表4-2 中的定时器号决定。每个当前值的计数是多重时基。例如,一个以100ms为时基的数50代表500ms。
表4-2 定时器号和分辨率
定时器类型
分辨率
最大当前值
定时器号
TONR
1ms
32.767s
T0, T64
10ms
327.67s
T1-T4, T65-T68
100ms
3276.7s
T5-T31, T69-T95
TON,TOF
1ms
32.767s
T32, T96
10ms
327.67s
T33-T36, T97-T100
100ms
3276.7s
T37-T63, T101-T255
(4)压力上下限、温度判断及报警
经过转换,可得科技进行比较的压力信号,直接使用比较指令和上下限比较,若小于压力下限,定时器控制先放气10秒,使到零负载,再启动压缩机。若大于压力上限,马上关闭压缩机。用检测到的温度与80度相比较,当温度过高时,马上关闭压缩机,报警。
比较指令的使用:比较式为真时,触点闭合。
当压力小于压力下限时,压缩机应立即启动,经测试,大约300秒后即可达到下限以上,若300秒后还在下限以下,说明系统出现问题,报警,通知人员检修;同样,若压力大于压力上限,压缩机应立即停转,若出现问题,20秒以后还未降到上限以下,马上报警。报警包括蜂鸣和报警灯。
内部存储器标志位(M 存储器)可以作为控制继电器存储中间操作状态或其他的控制信息,可以按位,字节,字或双字来存取位存储器。
位: M[字节地址].[位地址] M26.7
字节,字或双字: M[长度][出发位元组住址] MD20
图4-5 报警程序梯形图
该程序中,M1.0为报警灯的触发信号, PALARMUP 为上限报警;T41为上限计时器,到特定时间后未完成相应的操作,则闭合;PDOWN为到达下限信号;PUP为到达上限信号。T41定时20秒,若到达上限20秒后还未关闭压缩机,即20秒后还在上限以上,则报警。T42和T43分别为5秒的延时闭合、延时断开定时器,互相交替接通,使NETWORK2,NETWORK3发出占空比50%的脉冲信号,使得灯亮半秒,灭半秒地闪烁。
(5)输出表设置输出状态
S7-200 CPU为输出点提供良种性能,一种是预置数字量在CPU变为STOP方式后为已知值,另一种是设置数字量输出保持CPU变成STOP方式之前的状态。输出表是CPU配置数据的一部分,要下装且存入CPU存储器中。输出值设置仅适用于数字量输出,模拟量输出值在CPU切换到STOP方式后即被锁定,因为用户程序负责刷新模拟量输出,CPU并没有更新模拟量输入和输出的系统功能,CPU没有为这些提供映像寄存器。选择菜单命令View>System Block,点击Output Table选择块来使用输出表设置对话框,设置输出时,你有以下两种选择:
(1)如果想保持上依次的输出,那就选择Freeze Output框,点击 “OK”。
(2)如果想把输出表中的值复制到输出点上,则填写输出表值,点击你想要的相应位,则从RUN转到STOP方式后,该位便置为1(ON)。点击“OK”来保存你的选择。STEP 7-Micro/WIN 32的缺省设置是把输出表的值复制到输出点上,而输出表的缺省设置全为0(OFF)。
图4-6 设置输出表
3 下装/上装程序及CPU连线
程序包括三部分:用户程序,数据块(可选),CPU组态(可选)。如图4-7 所示,下装的程序存于CPU存储器RAM区。为了永久保存,CPU会同时自动地把这些用户程序、数据块(DB1)以及组态拷贝到EEPROM中。
图4-7 Download程序
当从CPU上装一个程序时,用户程序及CPU配置从RAM中上装到个人计算机(PC)。当上装数据块时,存于EEPROM中的永久数据块将同存于RAM中剩下的数据块(如果
展开阅读全文