电梯升降控制系统上位机监控设计学院:科信学院学号:专业班级:指导老师:姓名:日期:2013年12月26日-1-目录1)设计任务和目的-----------------------------------------22)监控系统分析和总体设计---------------------------------23)系统的IO点表-----------------------------------------34)监控界面设计说明--------------------------------------35)定义数据对象------------------------------------------56)运行策略程序及说明------------------------------------97)控制算法实现程序及说明-------------------------------118)安全策略设计及说明-----------------------------------159)总结-------------------------------------------------17-2-课设任务和目的本课程设计要求在修完《监控系统程序设计技术》课程后,运用工业监控系统组态软件(MCGS),结合一个自动控制系统,完成该控制系统的上位机监控系统组态设计。使学生掌握监控软件的设计和编程方法,得到计算机监控系统程序设计与调试,以及编写设计技术文件的初步训练。为从事计算机控制方面的工作打下一定基础。监控系统分析和总体设计工程分析:在开始组态工程之前,先对该工程进行剖析,以便从整体上把握工程的结构、流程、需实现的功能及如何实现这些功能。工程框架:1个用户窗口:简易升降梯控制系统(简易电梯绘制、六个指示灯、六个按钮)定时器构件的使用3个策略:启动策略、退出策略、循环策略(主要的程序)数据对象:图形制作:简易升降梯控制系统窗口简易电梯的图画三个呼叫及三个限位指示灯三个呼叫及三个限位按钮流程控制:1、当升降机停于一层或二层时,按三层按钮呼叫,则升降机上升至LS3停止。2、当升降机停于三层或二层时,按一层按钮呼叫,则升降机下降至LS1停止。3、当升降机停于一层时,按二层按钮呼叫,则升降机上升至LS2停止。4、当升降机停于三层时,按二层按钮呼叫,则升降机下降至LS2停止。5、当升降机停于一层,而二层、三层按钮均有人呼叫时,升降机上升至LS2时,在LS2暂停10s后,继续上升至LS3停止。-3-6、升降机停于三层,而一层,二层按钮均有人呼叫时,升降机下降至LS2时,在LS2暂停10s后,继续下降至LS1停止。7、上升或下降途中,任何反方向的按钮呼叫均无效。安全机制:对工程进行加密系统的IO点表HL1开关型一层呼叫指示灯HL2开关型二层呼叫指示灯HL3开关型三层呼叫指示灯LS1开关型一层限位LS2开关型二层限位LS3开关型三层限位M1开关型电梯上升M2开关型电梯下降SB1开关型一层按钮SB2开关型二层按钮SB3开关型三层按钮TWO开关型2按钮都按下,1有效ZHV1开关型定时器状态信号ZHV2开关型定时器启动复位ZHV3数据型定时器计时值电梯数据型电梯上下移动变化监控界面设计说明建立画面1)在用户窗口建立新窗口并命名为“三层升降控制”2)编辑画面选中“简易升降控制”窗口图标,单击“动画组态”,进入动画组态窗口,开始编辑画面。制作文字框图[1]单击工具条中的“工具箱”按钮,打开绘图工具箱。-4-[2]选择“工具箱”内的“标签”按钮,鼠标的光标呈“十字”形,在窗口顶端中心位置拖拽鼠标,根据需要拉出一个一定大小的矩形。[3]在光标闪烁位置输入文字“三层升降机控制技术可视化界面”,按回车键或在窗口任意位置用鼠标点击一下,文字输入完毕。[4]如果需要修改输入文字,则单击已输入的文字,然后敲回车键就可以进行编辑,也可以单击鼠标右键,弹出下拉菜单,选择“改字符”。[5]选中文字框,作如下设置:点击(填充色)按钮,设定文字框的背景颜色为:没有填充;点击(线色)按钮,设置文字框的边线颜色为:没有边线。点击(字符字体)按钮,设置文字字体为:宋体;字型为:粗体;大小为:26点击(字符颜色)按钮,将文字颜色设为:蓝色。图形的绘制[1]画电梯框:单击绘图工具箱中“画线”工具按钮,挪动鼠标光标,此时呈“十字”形,在窗口适当位置按住鼠标左键并拖曳出一条一定长度的直线。单击“线色”按钮选择:黑色。单击“线型”按钮,选择合适的线型。调整线的位置(按←→↑↓键或按住鼠标拖动)。调整线的长短(按Shift和←→↑↓键,或光标移到一个手柄处,待光标呈“十字”形,沿线长度方向拖动)。调整线的角度(按Shift和←→↑↓键,或光标移到一个手柄处,待光标呈“十字”形,向需要的方向拖动)。线的删除与文字删除相同。单击“保存”按钮。画出图中电梯的外部图框.画矩形:单击绘图工具箱中的“矩形”工具按钮,挪动鼠标光标,此时呈“十字”形。在窗口适当位置按住鼠标左键并拖曳出一个一定大小的矩形。单击窗口上方工具栏中的“填充色”按钮,选择:蓝色。单击“线色”按钮,选择:没有边线。调整位置(按键盘的←→↑↓键,或按住鼠标左键拖曳)。调整大小(同时按键盘的Shift键和←→↑↓键中的一个;或移动鼠标,待光标呈横向或纵向或纵向或斜向“双箭头”形,按住左键拖曳)。单击窗口其他任何一个空白地方,结束第1个矩形的编辑。依次画出简易电梯控制系统画面2个矩形部分(分别为电梯和导轨的示意图)。单击“保存”按钮。再画出限位开关的三个示意图。构件的选取[1]指示灯的绘制:单击绘图工具箱中的(插入元件)图标,弹出对象元件管理对话框,如图:-5-双击窗口左侧“对象元件列表”中的“指示灯”,展开该列表项,单击“指示灯2”,单击“确定”按钮。窗口中出现的指示灯图形。在指示灯上面输入文字标签“三层呼叫指示灯HL3”。单击“保存”按钮。分别画出其它五个指示灯,并标上标签[2]:单击画图工具箱的“标准按钮”工具,在画图中画出一定大小的按钮。调整其大小和位置。分别绘制六个按钮,并在上面写上名称。整体画面最后生成的画面如下图所示:定义数据对象实时数据库是MCGS工程的数据交换和数据处理中心。数据对象是构成实时数据库的基本单元,建立实时数据库的过程也就是定义数据对象的过程。定义数据对象的内容主要包括:1)指定数据变量的名称、类型、初始值和数值范围2)确定与数据变量存盘相关的参数,如存盘的周期、存盘的时间范围和保存期限等。在开始定义之前,我们先对所有数据对象进行分析。在本样例工程中需要用到以下数据对象:-6-具体的变量定义方法和前面水位控制系统及机械手控制系统类似,这里就不多讲。动画连接由图形对象搭制而成的图形画面是静止不动的,需要对这些图形对象进行动画设计,真实地描述外界对象的状态变化,达到过程实时监控的目的。MCGS实现图形动画设计的主要方法是将用户窗口中图形对象与实时数据库中的数据对象建立相关性连接,并设置相应的动画属性。在系统运行过程中,图形对象的外观和状态特征,由数据对象的实时采集值驱动,从而实现了图形的动画效果。本样例中需要制作动画效果的部分包括:1.钮的开停及指示灯的变化。2.电梯动画效果。按钮的开停及指示灯的变化[1]按钮的动画连接:双击“一楼呼叫”,弹出“属性设置”窗口,单击“操作属性”选项卡,显示该页,如图所示。选中“数据对象值操作”。单击第1个下拉列表的“▼”按钮,弹出按钮动作下拉菜单,单击“按1松0”。单击第2个下拉列表的“?”按钮,弹出当前用户定义的所有数据对象列表,选择SB1参数。其他五个按钮。用同样的方法建立复位按钮与对应变量之间的动画连接。单击“保存”按钮。-7-[2]指示灯的动画连接:双击启动指示灯,弹出“单元属性设置”窗口。单击“动画连接”选项卡,进入该页,如图所示。单击“三维圆球”,出现“?”和“”按钮。单击“”按钮,弹出“动画组态属性设置”窗口。单击“属性设置”选项卡,进入该页,如图所示。单击“可见度”选项卡,进入该页,如图所示。在“表达式”一栏,单击“?”按钮,弹出当前用户定义的所以数据对象列表,双击“HL1”(也可在这一栏直接输入文字:启动)。在“当表达式非零时”一栏,选择“对应图符可见”,如图所示。-8-单击“确认”按钮,退出“可见度”设置页。单击“确认”按钮,退出“单元属性设置”窗口,结束启动指示灯的动画连接。单击“保存”按钮。按照前面的步骤,依次对其它指示灯进行设置。分别做好六个指示灯的连接。构件移动动画连接[1]电梯垂直移动动画连接。单击“查看”菜单,选择“状态条”,在屏幕下方出现状态条,状态条左侧文字代表当前操作状态,右侧显示被选中对象的位置坐标和大小。在上工件底边与下工件底边之间画出一条直线,根据状态条大小指示可知直线总长度,假设为72个像素。在机械手监控画面中选中并双击电梯,弹出“属性设置”窗口。在“位置动画连接”一栏中选中“垂直移动”。单击“垂直移动”选项卡,进入该页,如图所示,在“表达式”一栏填入:电梯。在垂直移动连接栏填入各项参数,意思是:当垂直移动量=0时,向下移动距离=0;当垂直移动量=25时,向下移动距离=72。单击“确认”按钮,存盘。(垂直移动量的最大值=循环次数*变化率=25*1=25;循环次数=下移时间(上升时间)/循环策略执行间隔=5s/200ms=25次。变化率为每执行一次脚本程序垂直移动量的变化,本例中加1或减1。)-9-[2]杆件的缩放变化。点杆件的变化属性,设置如下图所示。相关值按实际调试。运行策略程序及说明定时器的使用。单击屏幕左上角的工作台图标,弹出“工作台”窗口。单击“运行策略”选项卡,进入“运行策略”页,如图所示。选中“循环策略”,单击右侧“策略属性”按钮,弹出“策略属性设置”窗口,如图所示。在“定时循序执行,循环时间[ms]”一栏,填入200。单击“确认”按钮。选中“循环策略”,单击右侧“策略属性”按钮,弹出“策略组态:循环策略”窗口。单击“工具箱”按钮,弹出“策略工具箱”,如图所示。在工具栏找到“新增策略行”按钮,单击,在循环策略窗口出现了一个新策略,如图所示。在“策略工具箱”选中“定时器”,光标变为小手形状。单击新增策略行末端的方块,定时器被加到该策略,如图所示。定时器的功能分为,启停功能:在需要的时候被启动,在需要的-10-时候被停止。计时功能:启动后进行计时。计时时间设定功能,即可以根据需要设定时计时。状态报告功能:即是否到设定时间。复位功能,即在需要的时候重新开始记时。-11-对定时器属性设置。双击新增策略行末端的定时器方块,出现定时器属性设置。如图所示。在“设定值”栏填入:10,代表设定时间为10s。在“当前值”栏,填入:ZHV3。或单击对应“?”按钮,在弹出的变量列表中双击“ZHV3”。至此,“计时时间”变量值将代表定时器计时时间的当前值。在“计时条件”一栏,直接或操作“?”按钮填入:ZHV2=1。在“复位条件”一栏,填入:ZHV2=0。代表该变量为1时,定时器复位。在“计时状态”一栏,直接或操作“?”按钮填入:ZHV1。则计时时间超过设定时间时,“时间到”变量将为1,否则为0。在“内容注释”一栏,填入:定时器。单击“确认”按钮,退出定时器属性设置。保存。控制算法实现程序及说明回到组态环境,进入循环策略组态窗口,如图所示。-12-单击工具栏“新增策略行”按钮,在定时器下增加一行新策略。选中策略工具箱的“脚本程序”,光标变为手形。单击新增策略行末端的小方块,脚本程序被加到该策略。双击“脚本程序”策略行末端的方块。出现脚本程序编辑窗口。输入如下的程序清单。程序清单如下:'*******呼叫,灯亮*******IFSB1=1THENHL1=0IFSB2=1THENHL2=0IFSB3=1THENHL3=0'*******(1)升降机停止于一层或二层,三层呼叫******IF电梯=100ANDHL3=0ANDHL2=1ANDHL1=1ANDTWO=0THENM1=0电梯=电梯+1IFLS1=1THENLS1=0IF