由图形对象搭制而成的图形画面是静止不动的,需要对这些图形对象进行动画设计,真实地描述外界对象的状态变化,达到过程实时监控的目的。MCGS实现图形动画设计的主要方法是将用户窗口中图形对象与实时数据库中的数据对象建立相关性连接,并设置相应的动画属性。在系统运行过程中,图形对象的外观和状态特征,由数据对象的实时采集值驱动,从而实现了图形的动画效果。
本样例中需要制作动画效果的部分包括:
按钮的开停及指示灯的变化。
2. 机械手的动画效果。
3.5.1按钮的开停及指示灯的变化
[1] 按钮的动画连接:双击“启动按钮”,d出“属性设置”窗口,单击“ *** 作属性”选项卡,显示该页,山耐如图所示。选中“数据对象值 *** 作”。单击第1个下拉列表的“▼”按钮,d出按钮动作下拉菜单,单击“取反”。单击第2个下拉列表的“?”按钮,d出当前用户定义的所有数据对象列表,双击“启动按钮”。用同样的方法建立复位按钮与对应变量之间的动画连接。单击“保存”按钮。
图 6 按钮控件的属性设置
[2] 指示灯的动画连接:双击启动指示灯,d出“单元属性设置”窗口。单击“动画连接”选项卡,进入该页,如图所示。单击“三维圆球”,出现“?”和“>”按钮。单击“>”按钮,d出“动画组态属性设置”窗口。单击“属性设陪燃置”选项卡,进入该页,如图所示。单击“可见度”选项卡,进入该页,如图所示。在“表达式”一栏,单击“?”按钮,d出当前用户定义的所以数据对象列表,双击“启动”(也可在这一栏直接输入文字:启动)。在“当表达式非零时”一栏,选择“对应图符可见”,如图所示。
图7 指示灯控件的动画组态设置
图8 指示灯控件的单元组态设置
图9 指示灯控件的单元组态可见度设置
单击“确认”按钮,退出“可见度”设置页。
单击“确认”按钮,退出“单元属性设置”窗口,结束启动指示灯的动画连接。单击“保存”按钮。按照前面的步骤,依次对其它指示灯进行设置。
3.5.2 构件移动动画连接
[1]垂直移动动画连接。单击“查看”菜单,选择“状态条”,在屏幕下方出现状态条,状态条左侧文字代表当前 *** 作状态,右侧显示被选中对象的位置坐标和大小。在上工件底边与下工件底边之间画出一条直线,根据状态条大小指示可知直线总长度,假设为72个像素。在机械手监控画面中选中并双击上工件,d出“属性设置”窗口。在“位置动画连接”一栏中选中“垂直移动”。单击“垂直移动”选项卡,进入该页,如图所示,在“表达式”一栏填入:垂直移逗乱春动量。在垂直移动连接栏填入各项参数,意思是:当垂直移动量=0时,向下移动距离=0;当垂直移动量=25时,向下移动距离=72。单击“确认”按钮,存盘。(垂直移动量的最大值=循环次数*变化率=25*1=25;循环次数=下移时间(上升时间)/循环策略执行间隔=5s/200ms=25次。变化率为每执行一次脚本程序垂直移动量的变化,本例中加1或减1。)
图10 下杆垂直运动量的设置
[2] 垂直缩放动画连接。选中下滑杆,测量其长度。在下滑杆顶边与下工件顶边之间画直线,观察长度。垂直缩放比例=直线长度/下滑杠长度,本例假设为200。选中并双击下滑杆,d出属性设置窗口,单击“大小变化”选项卡,进入该页,如图所示设定。变化方向选择向下。变化方式为缩放。输入参数的意义:当垂直移动量=0时,长度=初值的100%;当垂直移动量=25时,长度=200%。
图11 下杆垂直缩放的设置
[3] 水平移动动画连接。在工件初始位置和移动目的地之间画一条直线,记下状态条大小指示,此参数即为总水平移动距离,假设移动距离为180。脚本程序执行次数=左移时间(右移时间)/循环策略执行间隔=10s/200ms=50次。水平移动量的最大值=循环次数*变化率=50*1=50,当水平移动量=50时,水平移动距离为180。按图对右滑杆、机械手、上工件分别进行水平移动动画连接。参数设置的意思是:当水平移动量=0时,向右移动距离为0;当水平移动量=50时,向右移动距离为180。
图12 左杆水平移动的设置
[4] 水平缩放动画连接。估计或画线计算左滑杆水平缩放比例,假设为300。按图所示
设定参数。填入各个参数,并注意变化方向和变化方式选择。当水平移动参数=0时,长度为初值的100%;当水平移动参数=50时,长度为300%。单击“确认”按钮,存盘。
图13左杆缩放设置
[5] 工件移动动画的实现。选中下工件,在“属性设置”页中选择可见度。进入“可见度”页,在表达式一栏填入:工件夹紧标志;当表达式非零时,选择:对应图符不可见。意思是:当工件夹紧标志=1时,下工件不可见;工件夹紧标志=0时,下工件可见。选中并双击上工件,将其可见度属性设置为与下工件相反,即当工件夹紧标志非零时,对应图符可见。存盘调试。
3.5.3 控制程序的编写
[1] 定时器的使用。单击屏幕左上角的工作台图标,d出“工作台”窗口。单击“运行策略”选项卡,进入“运行策略”页,如图所示。选中“循环策略”,单击右侧“策略属性”按钮,d出“策略属性设置”窗口,如图所示。在“定时循序执行,循环时间[ms]”一栏,填入200。单击“确认”按钮。选中“循环策略”,单击右侧“策略组态”按钮,d出“策略组态:循环策略”窗口。单击“工具箱”按钮,d出“策略工具箱”,如图所示。在工具栏找到“新增策略行”按钮,单击,在循环策略窗口出现了一个新策略,如图所示。在“策略工具箱”选中“定时器”,光标变为小手形状。单击新增策略行末端的方块,定时器被加到该策略,如图所示。定时器的功能分为,启停功能:在需要的时候被启动,在需要的时候被停止。计时功能:启动后进行计时。计时时间设定功能,即可以根据需要设定时计时。状态报告功能:即是否到设定时间。复位功能,即在需要的时候重新开始记时。对定时器属性设置。双击新增策略行末端的定时器方块,出现定时器属性设置。
在“设定值”栏填入:12,代表设定时间为12s。在“当前值”栏,填入:计时时间。或单击对应“?”按钮,在d出的变量列表中双击“计时时间”。至此,“计时时间”变量值将代表定时器计时时间的当前值。在“计时条件”一栏,直接或 *** 作“?”按钮填入:时间到。则计时时间超过设定时间时,“时间到”变量将为1,定时器开始计时;为0时,停止计时。在“复位条件”一栏,填入:定时器复位。代表该变量为1时,定时器复位。在“计时状态”一栏,直接或 *** 作“?”按钮填入:时间到。则计时时间超过设定时间时,“时间到”变量将为1,否则为0。在“内容注释”一栏,填入:定时器。单击“确认”按钮,退出定时器属性设置。保存。
1) 首先双击桌面MCGS组态环境图标,进入组态环境,屏幕中间窗口为工作台。2) 单击文件菜单中“新建工程”选项,自动生成新建工程,默认的工程名为:“新建工程0.MCG”。
3) 选择文件菜单中的“工程另存为”菜单项,d出文件保存窗口。
4) 在文件名一栏内输入“机械手控制斗缺系统”,点击“保存”按钮,工程创建完毕。
在MCGS中,变量也叫数据对象。实时数据库是MCGS工程的数据交换和数据处理中心。数据对象是构成实时数据库的基本单元,建立实时数据库的过程也就是定义数据对象的过程。定义数据对象的内容主要包括:指定数据变量的名称、类型、初始值和数值范围确定与数据变量存盘相关的参数,如存盘的周期、存盘的时间范围和保存期限等。
变量的分配
在开始定义之前,我们先对系统进行分析,确定需要的变量。本系统至少需要16个变量
变量定义的步骤
1) 单击工作台中的“实时数据库”选项卡,进入“实时数据库”窗口页,如图2所示。窗口中列出了系统已有变量“数据对象”的名称。其中一部分为系统内部建立的数据对象。现在要将表中定义的数据对象添加进去。
2) 单击工作台右侧“新增对象” 按钮,在窗口的数据对象列表中,增加了一个新的数据对象,如图3所示。
3) 选中该数据对象,按“对象属性”按钮,或双击选中对象,则打开“数据对象属性设置” 窗口。
4) 将“对象名称”改为:启动按钮;“对象初值”改为:0;“对象类型”选择:开关型;在“对象内容注释输入框”内输入:枝销带机械手启动信号,X11输入,1有效。
5) 单击“确定”。如图4所示。
6) 按照步骤2~5,根据上面列猛芦表,设置其他数据对象。
7) 单击“保存”按钮。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)