1、mcgs机械手控制实例9.1 工程分析 在开始组态工程之前,先对该工程进行剖析,以便从整体上把握工程的结构、流程、需实现的功能及如何实现这些功能。工程框架:1、1个用户窗口:机械手控制系统 2、定时器构件的使用 3、3个策略:启动策略、退出策略、循环策略第2页/共41页9.1 工程分析 数据对象:第3页/共41页9.1 工程分析图形制作:图形制作:机械手控制系统窗口机械手控制系统窗口1 1、机械手及其台架及工件、机械手及其台架及工件2 2、启动和复位按钮、启动和复位按钮3 3、上移、下移、左移、右移、启动、复位指示灯、上移、下移、左移、右移、启动、复位指示灯 第4页/共41页9.1 工程分析流
2、程控制:流程控制:按启动按钮后,机械手下移按启动按钮后,机械手下移5S5S夹紧夹紧2S2S上升上升5S5S右移右移10S10S下移下移5S5S放松放松2S2S上移上移5S5S左移左移10S10S(S S为秒),最后回到为秒),最后回到原始位置,自动循环。原始位置,自动循环。松开启动按钮,机械手停在当前位置。松开启动按钮,机械手停在当前位置。按下复位按钮后,机械手在完成本次操作后,回到原始位置,然按下复位按钮后,机械手在完成本次操作后,回到原始位置,然后停止。后停止。松开复位按钮,退出复位状态。松开复位按钮,退出复位状态。第5页/共41页9.2 建立工程1 1 鼠标单击文件菜单中鼠标单击文件菜单
3、中“新建工程新建工程”选项,如果选项,如果MCGSMCGS安装在安装在D D盘盘根目录下,则会在根目录下,则会在D D:MCGSWORKMCGSWORK下自动生成新建工程,默认的工下自动生成新建工程,默认的工程名为:程名为:“新建工程新建工程X.MCGX.MCG”(X(X表示新建工程的顺序号,如:表示新建工程的顺序号,如:0 0、1 1、2 2等等)2 2 选择文件菜单中的选择文件菜单中的“工程另存为工程另存为”菜单项,弹出文件保存窗口。菜单项,弹出文件保存窗口。3 3 在文件名一栏内输入在文件名一栏内输入“机械手控制系统机械手控制系统”,点击,点击“保存保存”按钮,按钮,工程创建完毕。工程创
4、建完毕。第6页/共41页9.3.1 建立画面1 在“用户窗口”中单击“新建窗口”按钮,建立“窗口0”。2 选中“窗口0”,单击“窗口属性”,进入“用户窗口属性设置”。3 将窗口名称改为:机械手控制;窗口标题改为:机械手控制;窗口位置选中“最大化显示”,其它不变,单击“确认”。4 在“用户窗口”中,选中“机械手控制”,点击右键,选择下拉菜单中的“设置为启动窗口”选项,将该窗口设置为运行时自动加载的窗口。9.3 制作工程画面第7页/共41页9.3.2 编辑画面 选中“机械手控制”窗口图标,单击“动画组态”,进入动画组态窗口,开始编辑画面。(1)利用 图标制作工程标题:机械手控制系统,属性依然设置为
5、:无填充、无边线、宋体蓝色26号字。(2)画地平线:利用画图工具 拖拽出一条一定长度的直线,调整线的长度、位置、粗细。颜色为黑色。9.3 制作工程画面第8页/共41页9.3.2 编辑画面(3)画矩形:单击绘图工具箱中的“矩形”工具按钮,挪动鼠标光标,此时呈“十字”形。在窗口适当位置按住鼠标左键并拖曳出一个一定大小的矩形。将其属性设置为:填充色蓝色、无边线。单击窗口其他任何一个空白地方,结束第1个矩形的编辑。依次画出机械手画面9个矩形部分(7个蓝色,2个红色)。单击“保存”按钮。9.3 制作工程画面第9页/共41页9.3.3 构件的选取(1)机械手的绘制:单击插入元件按钮,在“对象元件列表”中的
6、“其他”,展开该列表项,单击“机械手”,单击“确定”按钮。在机械手被选中的情况下,单击“排列”菜单,选择“旋转”“右旋90度”,使机械手旋转90度。调整位置和大小。在机械手上面输入文字标签“机械手”。单击“保存”按钮。9.3 制作工程画面第10页/共41页9.3.3 构件的选取(2)画机械手左侧和下方的滑杆:利用“插入元件”工具,选择“管道”元件库中的“管道95”和“管道96”,分别画出两个滑杆,将大小和位置调整好。9.3 制作工程画面第11页/共41页9.3.3 构件的选取(3)画指示灯:需要启动、复位、上、下、左、右、夹紧、放松8个指示灯显示机械手的工作状态。选用MCGS元件库中提供的指示
7、灯2。(4)画按钮:单击画图工具箱的“标准按钮”工具,在画图中画出一定大小的按钮。调整其大小和位置。9.3 制作工程画面第12页/共41页 前面我们已经讲过,实时数据库是MCGS工程的数据交换和数据处理中心。定义数据对象的内容主要包括:1)指定数据变量的名称、类型、初始值和数值范围 2)确定与数据变量存盘相关的参数,如存盘的周期、存盘的时间范围和保存期限等。9.4 定义数据对象第13页/共41页9.4 定义数据对象第14页/共41页 以数据对象“垂直移动量”为例,介绍一下定义数据对象的步骤:1 单击工作台中的“实时数据库”窗口标签。2 单击“新增对象”按钮,在窗口的数据对象列表中,增加新的数据
8、对象。3 双击选中对象,打开“数据对象属性设置”。4 将对象名称改为:垂直移动量;对象类型选择:数值型;在对象内容注释输入框内输入:“控制构件上下运动的参量”,单击“确认”。9.4 定义数据对象第15页/共41页 本样例中需要制作动画效果的部分包括:1按钮的开停及指示灯的变化。2机械手的动画效果。9.5 动画连接第16页/共41页 9.5.1按钮的开停及指示灯的变化 1 按钮的动画连接:双击“启动”按钮,弹出“属性设置”窗口,单击“操作属性”选项卡,显示该页。选中“数据对象值操作”。单击第1个下拉列表的“”按钮,弹出按钮动作下拉菜单,单击“取反”。单击第2个下拉列表的“?”按钮,弹出当前用户定
9、义的所有数据对象列表,双击“启动”。用同样的方法建立复位按钮与对应变量之间的动画连接。单击“保存”按钮。9.5 动画连接第17页/共41页9.5.1按钮的开停及指示灯的变化2 指示灯的动画连接:双击启动指示灯,弹出“单元属性设置”窗口。单击“动画连接”选项卡,进入该页,如图所示。单击“三维圆球”,出现“?”和“”按钮。单击“”按钮,弹出“动画组态属性设置”窗口。单击“属性设置”选项卡,进入该页。单击“可见度”选项卡,进入该页。在“表达式”一栏,单击“?”按钮,弹出当前用户定义的所以数据对象列表,双击“启动”(也可在这一栏直接输入文字:启动)。在“当表达式非零时”一栏,选择“对应图符可见”。9.
10、5 动画连接第18页/共41页9.5.2 构件移动动画连接 1垂直移动动画连接。单击“查看”菜单,选择“状态条”,在屏幕下方出现状态条,状态条左侧文字代表当前操作状态,右侧显示被选中对象的位置坐标和大小。在上工件底边与下工件底边之间画出一条直线,根据状态条大小指示可知直线总长度,假设为72个像素。在机械手监控画面中选中并双击上工件,弹出“属性设置”窗口。在“位置动画连接”一栏中选中“垂直移动”。9.5 动画连接第19页/共41页9.5.2 构件移动动画连接 单击“垂直移动”选项卡,进入该页,在“表达式”一栏填入:垂直移动量。在垂直移动连接栏填入各项参数:当垂直移动量=0时,向下移动距离=0;当
11、垂直移动量=25时,向下移动距离=72。单击“确认”按钮,存盘。(垂直移动量的最大值=循环次数*变化率=25*1=25;循环次数=下移时间(上升时间)/循环策略执行间隔=5s/200ms=25次。变化率为每执行一次脚本程序垂直移动量的变化,本例中为1。)9.5 动画连接第20页/共41页9.5.2 构件移动动画连接 2 垂直缩放动画连接。选中下滑杆,测量其长度。在下滑杆顶边与下工件顶边之间画直线,观察长度。垂直缩放比例=直线长度/下滑杠长度,本例假设为200。选中并双击下滑杆,弹出属性设置窗口,单击“大小变化”选项卡,进入该页。变化方向选择向下。变化方式为缩放。输入参数的意义:当垂直移动量=0
12、时,长度=初值的100%;当垂直移动量=25时,长度=200%。9.5 动画连接第21页/共41页下杆垂直缩放的设置第22页/共41页9.5.2 构件移动动画连接 3水平移动动画连接。在工件初始位置和移动目的地之间画一条直线,记下状态条大小指示,此参数即为总水平移动距离,假设移动距离为180。脚本程序执行次数=左移时间(右移时间)/循环策略执行间隔=10s/200ms=50次。水平移动量的最大值=循环次数*变化率=50*1=50,当水平移动量=50时,水平移动距离为180。9.5 动画连接第23页/共41页9.5.2 构件移动动画连接 按图对右滑杆、机械手、上工件分别进行水平移动动画连接。参数
13、设置的意思是:当水平移动量=0时,向右移动距离为0;当水平移动量=50时,向右移动距离为180。9.5 动画连接第24页/共41页左杆水平移动的设置 第25页/共41页 9.5.2 构件移动动画连接 4 水平缩放动画连接。估计或画线计算左滑杆水平缩放比例,假设为300。设定参数。填入各个参数,并注意变化方向和变化方式选择。当水平移动参数=0时,长度为初值的100%;当水平移动参数=50时,长度为300%。单击“确认”按钮,存盘。9.5 动画连接第26页/共41页左杆缩放设置第27页/共41页 9.5.2 构件移动动画连接 5 工件移动动画的实现。选中下工件,在“属性设置”页中选择进入“可见度”
14、页,在表达式一栏填入:工件夹紧标志;当表达式非零时,选择:对应图符不可见。意思是:当工件夹紧标志=1时,下工件不可见;工件夹紧标志=0时,下工件可见。选中并双击上工件,将其可见度属性设置为与下工件相反,即当工件夹紧标志非零时,对应图符可见。存盘调试。9.5 动画连接第28页/共41页 9.5.3 控制程序的编写 1 定时器的使用。单击“运行策略”选项卡,进入“运行策略”页。选中“循环策略”,单击右侧“策略属性”按钮,弹出“策略属性设置”窗口。在“定时循序执行,循环时间ms”一栏,填入200。单击“确认”按钮。9.5 动画连接第29页/共41页 9.5.3 控制程序的编写 选中“循环策略”,单击
15、右侧“策略组态”按钮,弹出“策略组态:循环策略”窗口。单击“工具箱”按钮,弹出“策略工具箱”。在工具栏找到“新增策略行”按钮,单击,在循环策略窗口出现了一个新策略,如图所示。在“策略工具箱”选中“定时器”,光标变为小手形状,单击新增策略行末端的方块,定时器被加到该策略。9.5 动画连接第30页/共41页 9.5.3 控制程序的编写 定时器的功能分为,启停功能:在需要的时候被启动,在需要的时候被停止。计时功能:启动后进行计时。计时时间设定功能,即可以根据需要设定时计时。状态报告功能:即是否到设定时间。复位功能:即在需要的时候重新开始记时。双击新增策略行末端的定时器方块,出现定时器属性设置。9.5
16、 动画连接第31页/共41页 9.5.3 控制程序的编写 在“设定值”栏填入:12,代表设定时间为12s。在“当前值”栏,填入:计时时间。在“计时条件”一栏,直接或操作“?”按钮填入:时间到。则计时时间超过设定时间时,“时间到”变量将为1,定时器开始计时;为0时,停止计时。在“复位条件”一栏,填入:定时器复位。在“计时状态”一栏,直接或操作“?”按钮填入:时间到。则计时时间超过设定时间时,“时间到”变量将为1,否则为0。在“内容注释”一栏,填入:定时器。单击“确认”按钮。9.5 动画连接第32页/共41页 计时器值的设定 第33页/共41页9.5.4 利用定时器和脚本程序实现机械手的定时控制
17、从组态环境进入循环策略组态窗口,如图所示。9.5 动画连接第34页/共41页9.5.4 利用定时器和脚本程序实现机械手的定时控制 单击工具栏“新增策略行”按钮,在定时器下增加一行新策略。选中策略工具箱的“脚本程序”,光标变为手形。单击新增策略行末端的小方块,脚本程序被加到该策略。双击“脚本程序”策略行末端的方块。出现脚本程序编辑窗口。输入如下的程序清单。9.5 动画连接第35页/共41页9.5 动画连接程序清单如下:IF 下移=0 THEN垂直移动量=垂直移动量+1ENDIFIF 上移=0 THEN垂直移动量=垂直移动量-1ENDIFIF 右移=0 THEN水平移动量=水平移动量+1ENDIF
18、IF 左移=0 THEN水平移动量=水平移动量-1ENDIFIF 启动=1 AND 复位=0 then定时器复位=0定时器启动=1ENDIF9.5.4 利用定时器和脚本程序实现机械手的定时控制利用定时器和脚本程序实现机械手的定时控制第36页/共41页9.5 动画连接IF 启动=0 THEN定时器启动=0ENDIFif 复位=1 and 计时时间44 then定时器启动=0endifif 定时器启动=1 thenif 计时时间5 then下移=0exitENDIFif 计时时间=7 then夹紧=0下移=1exitENDIF9.5.4 利用定时器和脚本程序实现机械手的定时控制利用定时器和脚本程序
19、实现机械手的定时控制第37页/共41页9.5 动画连接if 计时时间=12 then上移=0工件夹紧标志=1exitendifif 计时时间=22 then右移=0上移=1exitendifif 计时时间=27 then下移=0右移=1EXITENDIFIF 计时时间=29 THEN放松=0下移=1EXITENDIFIF 计时时间=34 THEN上移=0放松=1工件夹紧标志=0EXITENDIF9.5.4 利用定时器和脚本程序实现机械手的定时控制利用定时器和脚本程序实现机械手的定时控制第38页/共41页9.5 动画连接IF 计时时间44 THEN左移=1定时器复位=1垂直移动量=0水平移动量=0EXITENDIFENDIFIF 定时器启动=0THEN下移=1上移=1左移=1右移=1ENDIF。9.5.4 利用定时器和脚本程序实现机械手的定时控制利用定时器和脚本程序实现机械手的定时控制第39页/共41页本 讲 内 容 到 此 结 束第40页/共41页计算机科学与工程系感谢您的观赏!感谢您的观赏!第41页/共41页