MCGS组态软件与触摸屏控制技术Word文档格式.doc
《MCGS组态软件与触摸屏控制技术Word文档格式.doc》由会员分享,可在线阅读,更多相关《MCGS组态软件与触摸屏控制技术Word文档格式.doc(32页珍藏版)》请在冰点文库上搜索。
1、梯形图程序设计及工作过程分析 28
七、联机调试及出现的问题 31
1、设备连接 31
2、输入输出接线 31
3、无法建立通信连接及故障分析 32
八、老师提问 33
一、水塔水位控制系统的简介
在工农业生产过程中,经常需要对水位进行测量和控制。
水位控制在日常生活中应用也相当广泛,比如水塔、地下水、水电站等情况下的水位控制。
而水位检测可以有多种实现方法,如机械控制、逻辑电路控制、机电控制等。
本文采用PLC进行主控制,在水箱上安装一个自动测水位装置。
利用水的导电性连续地全天候地测量水位的变化,把测量到的水位变化转换成相应的电信号,主控台应用MCGS组态软件对接收到的信号进行数据处理,完成相应的水位显示、故障报警信息显示、实时曲线和历史曲线的显示,使水位保持在适当的位置。
二、水塔水位控制系统的控制要求
PLC控制系统实践环节主要是以可编程逻辑控制器PLC为核心,以STEP7-Micro/Win软件为开发平台,以实验台上的各种设备(控件)为对象使用梯形图语言进行PLC控制程序的开发用来控制实验台上的各种设备。
MCGS组态软件用于生成和运行水塔水位监控系统的组态工程文件,完成构建的PLC控制系统的监控功能。
MCGS(MonitorandControlGeneratedSystem,通用监控系统)是一套用于快速构造和生成计算机监控系统的组态软件,它能够在基于Microsoft的各种32位Windows平台上运行,通过对现场数据的采集处理,以动画显示、报警处理、流程控制和报表输出等多种方式向用户提供解决实际工程问题的方案,在工业控制领域有着广泛的应用。
(1)MCGS的主要特性和功能如下:
1.1简单灵活的可视化操作界面。
1.2实时性强、良好的并行处理性能。
1.3丰富、生动的多媒体画面。
1.4开放式结构,广泛的数据获取和强大的数据处理功能。
1.5完善的安全机制。
1.6强大的网络功能。
1.7多样化的报警功能。
1.8实时数据库为用户分部组态提供极大方便。
1.9支持多种硬件设备,实现“设备无关”。
1.10方便控制复杂的运行流程。
1.11良好的可维护性和可扩充性。
1.12用数据库来管理数据存储,系统可靠性高。
1.13设立对象元件库,组态工作简单方便。
1.14实现对工控系统的分布式控制和管理。
总之,MCGS组态软件功能强大,操作简单,易学易用,普通工程人员经过短时间的培训就能迅速掌握多数工程项目的设计和运行操作。
同时使用MCGS组态软件能够避开复杂的计算机软、硬件问题,集中精力去解决工程问题本身,根据工程作业的需要和特点,组态配置出高性能、高可靠性和高度专业化的工业控制监控系统。
三、水塔水位系统的控制指标
一、MCGS控制界面的设计
(1)MCGS系统包括组态环境和运行环境两个部分。
用户的所有组态配置过程都在组态环境中进行,组态环境相当于一套完整的工具软件,它帮助用户设计和构造自己的应用系统。
用户组态生成的结果是一个数据库文件,称为组态结果数据库。
运行环境是一个独立的运行系统,它按照组态结果数据库中用户指定的方式进行各种处理,完成用户组态设计的目标和功能。
运行环境本身没有任何意义,必须与组态结果数据库一起作为一个整体,才能构成用户应用系统。
一旦组态工作完成,运行环境和组态结果数据库就可以离开组态环境而独立运行在监控计算机上。
(2)MCGS共有5个窗口:
主控窗口,设备窗口,用户窗口,实时数据库,运行策略。
对本实践进行分析及对要求进行理解,可以得到以下信息:
两个用户窗口:
一个用来显示水塔水位的工程画面,窗口命名为水塔水位控制;
一个用来进行数据显示,定义为实时数据显示。
四个主菜单:
实时数据显示,报警数据显示,历史数据显示,系统管理。
在系统管理里面又有登录用户,密码修改及退出登录子菜单。
五个策略:
启动策略,退出策略,循环策略,报警数据策略和历史数据策略。
循环策略用来进行报警限值的修改;
报警策略用来浏览存盘报警数据;
历史数据用来浏览存盘历史数据,以便在组态工程里面显示。
实时数据库里需要定义的数据对象有:
水池液位,水塔液位,水池液位上限,水池液位下限,水塔液位上限,水塔液位下限及液位组。
二、PLC控制程序
PLC是采用软件编制程序来实现控制要求的。
编程时要使用到各种编程元件,它们可提供无数个动合和动断触点。
编程元件是指输入继电器、输出继电器、辅助继电器、定时器、计数器、通用寄存器、数据寄存器及特殊功能继电器等。
PLC内部这些继电器的作用和继电接触控制系统中使用的继电器十分相似,也有“线圈”与“触点”,但它们不是“硬”继电器,而是PLC存储器的存储单元。
当写入该单元的逻辑状态为“1”时,则表示相应继电器线圈得电,其动合触点闭合,动断触点断开。
所以,内部的这些继电器称之为“软”继电器。
水塔水位的PLC控制程序的要求:
1)保持水池的水位在S3——S4之间,当水池水位低于下限液位开关S3,此时S3为ON,电磁阀打开,开始往水池里注水,当5S以后,若水池水位没有超过水池下限液位开关S3时,则系统发出警报;
若系统正常运行,此时水池下限液位开关S3为OFF,表示水位高于下限水位。
当页面高于上限水位S4时,则S4为ON,电磁阀关闭。
2)保持水塔的水位在S1——S2之间,当水塔水位低于水塔下限水位开关S2时,则水塔下限液位开关S2为ON,则驱动电机M开始工作,向水塔供水。
当S2为OFF时,表示水塔水位高于水塔下限水位。
当水塔液面高于水塔上限水位开关S1时,则S1为ON,电机M停止抽水。
当水塔水位低于下限水位时,同时水池水位也低于下限水位时,电机M不能启动。
三、联机调试
(一)水塔水位控制的接线
实验面板中的S1、S2、S3、S4分别接主机的输入点X0、X1、X2、X3,M、Y1、Y2、Y3、Y4、Y分别接主机的输出点Y0、Y1、Y2、Y3、Y4、Y5。
(二)建立计算机与PLC的通信连接
A、硬件连接:
(1)安装RS485通信扩展模块:
FX2N-485PC-IF
(2)双绞线(屏蔽线)连接
在FX2N-485PC-IF(RS485/232转换器)中,SDA与SDB和RDA与RDB之间要接3000欧姆左右的电阻。
双绞线在485BD侧的屏蔽线要接地(100欧姆或更低)。
B、软件设置:
PLC的默认设置是只支持RS232通信,所以要使用RS485通信协议,必须事先通过编程电缆将计算机的串行口COM1与PLC的编程口连接,用编程软件更改D8120,使其设置成RS485通信方式。
正确设置为:
Link协议,9600波特率,数据位7,偶校验,2位停止位,无命令头和命令尾,整个命令不加校验和,采用协议1。
即D8120=H408E
步骤为:
<
1>
.启动编程软件FXGP/WIN-C;
2>
.点击主菜单中的[PLC]菜单,在弹出的下拉菜单中选择[端口设置],设置所使用的串口为COM1;
3>
.重复<
,在弹出的下拉菜单中选择[程序读入],之后根据您当前使用的PLC类型选择PLC的型号(FX2N/FX2NC),按“确认”开始进行连接,并把PLC中已有的程序读入,而且窗口中会显示进度条的状态,若没有这些,表示硬件有错,可能故障见结尾的故障分析;
4>
.若连接成功,可以设置通信参数了;
5>
.选择主菜单中的[PLC]菜单,在该下拉菜单中选择[串行口设置(D8120)(e)…];
在打开的对话框窗体中进行如下设置:
将协议一项设置成“Link”,数据位设置可以不变“7”,奇偶校验可以为默认“Even”,停止位设置成“2”,传送速率也是默认的“9600”,页眉和终端,控制线等不设置,硬件设置为“RS-485”,控制程序可以为默认的“Format1”,站点数设置为F。
按“确认”。
C、编制PLC程序:
在编制的PLC程序中,必须加上如下的内容,才能保证系统通讯正常:
LD
M8002
MOV
K0
D8121
H408E
D8120
其中,第2行的K0表示站点号,有效值为从K0到K15共16个,每一实验台的站点号都不同。
必须正确设置站点号,否则会引起系统通讯不正常。
具体站点号见实验台。
D、写入PLC程序(当采用编程软件编程时须采用该步骤):
在编程软件中,点击主菜单[PLC]/[传送]/[写出],写入PLC程序;
写完程序后需要把PLC的电源切断,再上电则设置的参数才能有效。
四、水塔水位控制系统方案
一、水塔水位控制系统的任务及控制流程图
(1)该实践的具体任务是组建水塔水位监控系统。
水塔水位控制装置图
如下所示:
水塔
水流
水阀Y
水池
电机M
水池下限液位S4
水池上限液位S3
水塔下限液位S2
水塔上限液位S1
(2)水塔水位控制系统的PLC控制流程图,根据设计要求控制流程图如下:
二、PLC外部接线图
这是一个单体控制小系统,没有特殊的控制要求,它有5个开关量,开关量输出触点书有8个,输入、输出触点数共有13个,只需选用一般中小型控制器即可。
据此,可以对输入、输出点作出地址分配,水塔水位控制系统的I/O接线图如下:
~220V
传感器4
传感器3
传感器2
传感器1
水塔上限指示灯a4
水池下限指示灯a1
SB
报警指示灯a5
水塔下限指示灯a3
水池上限指示灯a2
Y6
Y5
Y4
Y1
Y2
Y3
Y0
X4
X2
COM
X3
X0
X1
图1PLC外部接线图
三、输入/输出分配表
输入
继电器
输入变量名
输出
输出变量名
控制开关
图2水塔水位系统PLC的I/O地址分配表
四、MCGS控制方案
当水池水位低于水池低水位界(S4为ON表示),阀Y打开进水(Y为ON)定时器开始定时,4秒后,如果S4还不为OFF,那么阀Y指示灯闪烁,表示阀Y没有进水,出现故障,S3为ON后,阀Y关闭(Y为OFF)。
当S4为OFF时,且水塔水位低于水塔低水位界时S2为ON,电机M运转抽水。
当水塔水位高于水塔高水位界时电机M停止。
五、水塔水位的MCGS设计
一、建立MCGS新工程
鼠标双击“MCGS组态环境”图标,进入组态环境。
在菜单“文件”中选择“新建工程”菜单项。
如果MVGS安装在根目录下,则会自动生成新建工程,默认工程名为新建工程X.MCG(X表示新建工程的序号,如0、1、2等)。
如下图:
新工程已经建立。
二、建立新画面
在MCGS组态平台上,单击“用户窗口”,在“用户窗口”中单击“新建窗口”按钮,则产生新“窗口0”,即:
选择“窗口0”,单击“窗口属性”,进入“用户窗口属性设置”,将“窗口名称”改为:
水塔水位;
将“窗口标题”改为:
在“窗口位置”中选择“最大化显示”,其他不变,单击“确定”。
选中刚创建的“水塔水位”用户窗口,单击“动画组态”,进入动画制作窗口。
单击工具条中的“工具箱”按钮,则打开动画工具箱。
进行制作文字框图、设置框图颜色。
单击“工具”菜单中,选择“对象元件库管理”或单击工具条中的“工具箱”按钮,则打开动画工具箱,根据需要选择图形对象,按“确认”,则所选中的元件出现在桌面的左上角,可以改变其大小及位置。
选择菜单项“文件”中的“保存窗口”,则可对所完成的画面进行保存。
三、定义数据变量
变量名称
类型
注释
抽水电机
开关型
控制进水
水阀
数值型
水塔的高度
水池的高度
水塔水位上限
设定水塔的水位上限
水塔水位下限
设定水塔的水位下限
水池水位上限
设定水池的水位上限
水池水位下限
设定水池的水位下限
鼠标点击工作台“实时数据库”窗口标签,进入实时数据库窗口页。
按“新曾对象”按钮,在窗口的数据变量列表中,增加新的数据变量,多次按该按钮,则增加多个数据变量,系统缺省定义的名称为“Data1”、“Data2”等。
选中变量,按“对象属性”按钮或双击选中变量,则打开对象属性设置窗口。
本系统中要定义的数据变量如下图所示:
在基本属性中,对象名称为:
水塔;
对象类型为:
数值型;
其他不变。
水阀、抽水电机三个开关型变量,属性设置中只要把对象名称改为:
水阀、抽水电机;
对象类型选中“开关”,其他不变。
在实时数据库窗口,定义如下变量,相关设置如下:
四、画面组态的形成
五、动画连接
在用户窗口中,双击水塔水位窗口进入,选中水塔双击,则弹出单元属性设置窗口。
选中矩形,进入动画组态属性设置窗口,按下图所示修改,其他属性不变,设置好后,按确定,再按确定,变量连接成功。
对于水池,只需要把“水塔”改为“水池”;
最大变化百分比100,对应的表达式的值由10改为6即可。
在用户窗口中,双击水塔水位窗口进入,选中水阀双击,则弹出单元属性设置窗口。
抽水电机属性设置,我们可以在“属性设置”中调入其他属性,如下图:
在用户窗口中,双击水塔水位窗口进入,选中水阀左侧的流动块双击,则弹出流动块构件属性设置窗口。
按下图所示修改,其他属性不变。
水塔右侧的流动块和水池左侧的流动块在流动块构件属性设置窗口中,只需要把表达式相应改为:
抽水电机=1,水阀=1即可,如下图:
到此动画已经做好,保存工程,运行工程。
在运行之前需要在“用户窗口”中选中“水塔水位”,单击鼠标右键,点击“设置为启动窗口”,这样工程运行后会自动进入“水塔水位”窗口。
在菜单项“文件”中选“进入运行环境”或直接按“F5”都可以进入运行环境。
六、模拟设备
模拟设备是MCGS软件根据设置的参数产生一组模拟曲线的数据,以供用户调试工程使用。
本构件可以产生标准的正弦波,方波,三角形,锯齿波信号,且其幅值和周期都可以任意设置。
通过模拟设备,可以让动画自动运行起来,而不需要手动操作,具体操作如下:
在“设备窗口”中双击“设备窗口”进入,点击工具条中的“工具箱”图标,打开“设备工具箱”,如图:
如果在“设备工具箱”中没发现“模拟设备”,可以单击“设备工具箱”中的“设备管理”进入。
在“可选设备”中可以看到MCGS组态软件所支持的大部分硬件设备。
在“通用设备”中打开“模拟数据设备”,双击“模拟设备”,按确认后,在“设备工具箱”中就会出现“模拟设备”,双击“模拟设备”,则会在“设备窗口”中加入“模拟设备”。
双击,进入模拟设备属性设置,具体操作如下:
在“设备属性设置”中,点击“内部属性”,会出现图标,单击进入“内部属性”设置,把通道1的最大值设为10,通道2的值设为6,其他不变,设置好后按“确认”按钮退到“基本属性”页。
在“通道连接”中“对应数据对象”中输入变量,第一个通道对应输入水塔,第二个通道对应输入水池,或在所要连接的通道中单击鼠标右键,到实时数据库中选中“水塔”、“水池”双击也可以把选中的数据对象连接到相应的通道。
在“设备调试”中就可以看到数据变化。
这时再进入“运行环境”,就会发现所做的“水塔水位系统”自动的运行起来了,但是阀门并不会根据水塔和水池中的水位变化自动开启,所以就需要编写控制流程。
七、编写控制流程
用户脚本程序是由用户编制的、用来完成特定操作和处理的程序,脚本程序的编程语言法非常类似于普通的BASIC语言。
假设:
当“水池”水位低于1米时,就要打开水阀进水,当“水池”水位到6米时,那么水阀关闭。
当“水塔”水位低于1米时,抽水电机开启送水,当“水塔”水位高度达到9米时,则抽水电机停止运行。
具体操作如下:
在“运行策略”中,双击“循环策略”进入,双击图标进入“策略属性设置”,如下图,只需把“循环时间”设为:
200ms,按确认即可。
在策略组态中,单击工具条中的“新增策略行”图标,则显示如下图:
在策略组态中,如果没有出现策略工具箱,单击工具条中的“工具箱”图标,弹出“策略工具箱”,如下图:
单击“策略工具箱”中的“脚本程序”,把鼠标移出“策略工具箱”,会出现一个小手,把小手放在上,单击鼠标左键,则显示如下:
双击进入脚本程序编辑环境,在循环策略脚本程序中加了如下程序:
IF手自动=1THEN
IF液位1<
液位1下限THEN
进水阀=1
ENDIF
IF液位1>
液位1上限THEN
进水阀=0
ENDIF
IF手自动=1THEN
IF液位2<
液位2下限AND液位1>
抽水电机=1
IF液位2>
液位2上限THEN
抽水电机=0
!
SetAlmvalue(液位1,液位1上限,4)
SetAlmvalue(液位1,液位1下限,1)
SetAlmvalue(液位2,液位2上限,4)
SetAlmvalue(液位2,液位2上限,1)
八、设备在线调试
本次设计以西门子S7200PLC为例,具体操作如下:
在MCGS组态软件开发平台上,单击“设备窗口”,在单击“设备组态”按钮进入设备组态。
从“工具条”中单击“工具箱”,弹出“设备工具箱”对话框。
单击“设备管理”按钮,弹出“设备管理”对话框。
从“可选设备”中双击“通用设备”,找到“串口通讯父设备”双击,选中其下的“串口通讯父设备”双击或单击“增加”按钮,加到右面已选设备。
再双击“PLC设备”,找到“西门子”双击,再双击“S7-200-PPI”,选中“西门子S7-200-PPI”双击或单击“增加”按钮,加到右面已选设备。
单击“确认”按钮,回到“设备工具箱”如图:
双击“设备工具箱”中的“串口通讯父设备”,在双击“西门子S7-200-PPI”,如图:
双击,弹出“设备属性设置”对话框,如图按实际情况进行设置,西门子默认参数设置为:
波特率9600,8位数据位,1位停止位,偶校验。
参数设置完毕,单击“确认”按钮保存。
如果首次使用,可以单击“帮助”按钮或选中“查看设备在线帮助”,打开“MCGS帮助系统”。
双击,弹出“设备属性设置”对话框,如图,
选中“基本属性”中的“设置设备内部属性”,出现图标,单击图标,弹出“西门子S7-200PLC通道属性设置”对话框。
如图:
单击“增加通道”弹出“增加通道”对话框,如图,设置好后按“确认”。
“通道连接”如图设置:
在“设备调试”中可以在线调试“西门子S7-200PPI”,如图:
如果“通讯状态标志”为0则表示通讯正常。
六、PLC程序设计
一、梯形图程序设计及工作过程分析
梯形图编程语言是一种图形化编程语言,它沿用了传统的继电接触器控制中的触点、线圈、串并联等术语和图形符号,与传统的继电器控制原理电路图非常相似,但又加入了许多功能强而又使用灵活的指令,它比较直观、形象,对于那些熟悉继电器一接触器控制系统的人来说,易被接受。
继电器梯形图多半适用于比较简单的控制功能的编程,绝大多数PLC用户都首选使用梯形图编程。
指令是用英文名称的缩写字母来表达PLC的各种功能的助记符号,类似于计算机汇编语言。
由指令构成的能够完成控制任务的指令组合就是指令表,每一条指令一般由指令助记符和作用器件编号组成,比较抽象,通常都先用其它方式表达,然后改写成相应的语句表,编程设备简单价廉。
状态转移图语言(SFC)类似于计算机常用的程序框图,但有它自己的规则,描述控制过程比较详细具体,包括每一框前的输入信号,框内的判断和工作内容,框后的输出状态。
这种方式容易构思,是一种常用的程序表达方式。
高级语言类似于BACIC语言、C语言等,它们在某些厂家的PLC中应用。
通常微、小型PLC主要采用继电器梯形图编程,其编程的一般规则有:
1)梯形图按自上而下、从左到右的顺序排列。
每一个逻辑行起始于左母线然后是触点的各种连接,最后是线圈或线圈与右母线相连,整个图形呈阶梯形。
梯形图所使用的元件编号地址必须在所使用PLC的有效范围内。
2)梯形图是PLC形象化的编程方式,其左右两侧母线并不接任何电源,因而图中各支路也没有真实的电流流过。
但为了读图方便,常用“有电流”、“得电”等来形象地描述用户程序解算中满足输出线圈的动作条件,它仅仅是概念上虚拟的“电流”,而且认为它只能由左向右单方向流:
层次的改变也只能自上而下。
3)梯形图中的继电器实质上是变量存储器中的位触发器,相应某位触发器为“l态”,表示该继电器线圈通电,其动合触点闭合,动断触点打开,反之为“o态”。
梯形图中继电器的线圈又是广义的,除了输出继电器、内部继电器线圈外,还包括定时器、计数器、移位寄存器、状态器等的线圈以及各种比较、运算的结果。
4)梯形图中信息流程从左到右,继电器线圈应与右母线直接相连,线圈的右边不能有触点,而左边必须有触点。
5)继电器线圈在一个程序中不能重复使用:
而继电器的触点,编程中可以重复使用,且使用次数不受限制。
6)PLC在解算用户逻辑时,是按照梯形图由上而下、从左到右的先后顺序逐步进行的,即按扫描方式顺序执行程序,不存在几条并列支路同时动作,这在设计梯形图时,可以减少许多有约束关系的联锁电路,从而使电路设计大大简化。
所以,由梯形图编写指令程序时,应遵循自上而下、从左到右的顺序,梯形图中的每个符号对应于一条指令,一条指令为一个步序。
当PLC运行时,用户程序中有众多的操作需要去执行,但CPU是不能同时去执行多个操作的,它只能按分时操作原理