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