1、labview中动画实现的几种方法
a、通过控制控件的某个
元件作周期性的位置变化来实现。如,实现一个货物在传送带上连续传送的动画效果。货物及传送装置为一个水平放置的Nu-meric控件编辑而成,如图1所示。其中,货物为该控件的指示游标元件,随数值大小而变化,我们可以控制数值作周期性规律变化,而实现货物在传送带上的连续传送,控制流程如图2所示。
b、利用控件的属性节点,通过周期性改变控件的位置、尺寸、颜色等属性来达到动画效果。
c、利用Pict Ring控件实现图片播放器的功能。Pict Ring控件可保存一图片序列,而只显示当前图
片。合理设置一循环结构,可方便地完成多帧图片的连续播放,并可动态地改变图片播放的频率。
d、借助外部代码实现动画。作为平台扩展,LabVIEW提供了Code Interface Node和Call Li-brarry Func
tion等接口,可对其它高级语言,如c等编辑的程序模块进行封装、调用。
e、通过Chart、Graph控件来实现动画。Chart和Graph为LabVIEW中的图表控件,接受数据驱动,显示形式丰富,用户可根据需要自行设定,以直接在该类控件中实现较为丰富的动画效果。
前3种方法直接利用LabVIEW提供的相关控件功能,实现较为容易,但动画制作受控件本身的限制,尤其是位置控制颇为不便。第4种方法涉及外部代码、实现较为繁琐。而Chart、Graph图表控件中
的显示位置由数据驱动!且显示形式丰富!具有更大的灵活性。以下介绍一个巧用Graph控件并综合应用上述第2种方法实现动画仿的实例。
2、一个综合应用的实例
该实例的应用背景为一数控机床的
仿真培训系统,要求对确定的数控加工代码作实时的刀具加工轨迹显示。为加强仿真效果!要实现一仿真刀具随加工过程作连续运动,而其轨迹以点或线作图形显示。
2.1刀具控件编辑
作为系统的扩展,LabVIEW 允许对其提供的标准控件进行编辑。在控件编辑模式下,对控件的每个独立元件,可任意改变其颜色、形状等属性,还可用预先编辑好的图形(如bmp或jpeg图片)来替换相应的元件,本刀具控件由一Boolean控件编辑而得,为实现刀具转动的动画效果,还需合理编辑刀具控件Ture和False状态的图形。
2.2 轨迹显示
轨迹点显示采用Graph控件。LabVIEW中有Graph和Chart两种图形控件,区别在于Graph控件根据输入数据每次显示都要作全面刷新。而Chart控件自动保留历史数据和图形,仅添加显示当前输入数据点。按本例的要求,应为Chart的显示方式,但LabVIEW中提供的是Waveform Chart,而没有XY CHART,二维坐标不能任意变化(横坐标以点为单位),输入数据为当前点的幅值,这显然不能满足刀具轨迹的二维或三维位置变化。为满足实例要求,采用XY Graph经适当转化,以Chart的方式显示。其转化过程可参考LabVIEW示例程序XY CHART.VI。
2.3动画实现
本例动画实现的原理是将仿真刀具与Graph控件中的当前轨迹点同时重叠移动,以实现刀具加工的仿真效果。动画实现的关键是要解决刀具控件位置与Graph控件中的坐标关系。如图3所示,XOY为刀具控件所在的屏幕象素点笛卡尔坐标系,XOY为Graph控件的相对显示坐标系。坐标原点O的位置由Graph控件坐标的实际位置确定,则刀具控件位置坐标为:
该动画实现的原理框图如图4所示。图中“Graph控件赋值”中的Graph_Data为一全局变量,在CNC系统中由其它任务产生;刀具位置控制是由其它任务实时产生的刀具轨迹经坐标变换后周期更新控件的“Position”属性而实现;合理编辑刀具控件Ture和False状态的图形,再将控件状态作周期交替变化,可实现刀具转动效果。将以上过程组合起
来,就可实现刀具加工的简单动画。
2