第27卷 第12期2003年12月 信 息 技 术
I NFORMATI ON TECHNOLOGY
VOL.27 NO.12
Dec.2003
基于VB6.0平台的数控原理插补算法模拟软件
向丽明
(中国船舶工业总公司武汉船用机械厂,武汉430050)
摘 要:讨论了如何用VB(VISUAL B ASIC)技术实现数控原理插补算法模拟,并对插补算法与VB应用升级有关的问题作了详尽的论述。
关键词:VB;GUI;模拟;插补
中图分类号:TP317 文献标识码:A 文章编号:1009-2552(2003)12-0095-03
The simulation software of digital control principle
interleaved algorithm based on VB6.0
XIANG L-i ming
(Wuhan Marine Machinery Plant of C.S.S.C,Wuhan430050,China)
Abstract:This paper discusses that ho w to realize the simulation of digital control principle interleaved algo-rithm using VB technology,and introduces detailed the algorithm and the questions related to VB application upgrade.
Key words:VB;G UI;simulation;interlace
0 引言
VB是应用广泛的,通用的可视化编程软件包,具有强大的图形处理能力。在各种编程语言中,V-i sual Basic无疑是最普及,最受欢迎的一种。它提供了开发基于MICROSOFT WI NDOWS应用程序最迅速、最简捷的方法。采用可视化方法开发图形用户界面GUI VB GUI,开发者既可利用GUI,又可与VB对象库结合来实现模拟界面以及仿真与测试。
MICROSOFT GUI是VB GUI的扩展,它提供了大量预写类和支持码,可以处理许多标准WINDOWS 编
程任务,如生成窗口和处理消息;它也可以在程序中加入复杂特性,如工具条、分窗视图和DLE支持。因此,使用VB GUI可以简化程序编写,使开发者节省不少编码工作。通过在自动化模拟系统中的应用表明,它的许多新特性实现许多原来开发环境难以实现的功能,提高了开发效率。
自WI NDOWS推出后,自动化技术模拟系统开发者们一直都在努力寻一种方法,使其应用程序既具有WINDOWS的友好界面又不失其功能,但总是不尽如人意,VB GUI与动画技术的推出,使开发者的要求成为可能。
1 图象技术在VB GUI应用中的问题
由于VB GUI应用既可以与动态直线一起建立,也可以与动态曲线一起建立,所以可以充分利用动画技术的优点。在VB GUI应用中,采用动态曲线,还是动态直线G TEM是由应用程序性能与自动化模拟开发中不同系统的结构决定,动态曲线的VB GUI程序复杂,却具有所模拟自动化系统与真实系统完全一致的优点(见图1)。
2 图象技术与VB GUI应用于数控原理插补算法自动化模拟系统
以下分五部分对自动化模拟系统中使用动画技术与VB GUI进行讨论。
收稿日期:2003-05-22
作者简介:向丽明(1981-),2000年就读武汉船舶职业技术学院, 2002年获湖北省大学生优秀科研成果三等奖,现就职于
武汉船用机械厂。
95
(1)自动化系统的项目设置
首先在众多动画技术中,选择利用脉冲时间信号的变化来实现自动化系统的方法,简称 关联法 。关联法有两个要素:主动源和被动源。
(2)系统初始化
在VB GUI 中实现一个对象的移动,只需激发其.Move 方法,确定要移动的方向和在距离,确定主动源是整个过程的动力,但这只能实现一步的移动。为了实现不断的移动,需要加上一个时钟控件,众所周知,时钟控件是通过一个变化的脉冲来激发移动的,脉冲的产生交给主动源,主动源的位置的变化,正好符合时钟控件的功能要求。这样就可以实现主动源的不停的移动,使时钟控件得到发挥作用的条件,图1中的系统结构是当前模式,是既定的,不可
更改的。
图1 系统结构
(3)算法的确定
方法是控制主动源移动的范围,即给主动源的运动加上约束,使其只能在指定的范围移动。在指定的条件下,把范围通过 逼近法 逼近到既定路径上,其具体的移动距离C1,C2由下式决定
C1=(-1)x1
(b[I+1][0]-b[I][0]) [m];
C2=(-1)x2
(b[I+1][1]-b[I][1]) [m];数组b[I]决定目标点及路径,X1与X2的奇偶由b[I][0]与b [I+1][0]及b [I][1]与b [I+1][1]的大小有关,M 的大小与自动化系统有关,然后由数组a[I]决定线型。
这样就实现了主动源沿既定路径的移动。(4)过程探讨
被动源是通过循环事件、函数事件及一些曲线方程控制的主动源的不停的移动组成的。变化的目标点是函数事件需要的新目标点,直到新目标点覆盖到整个路径的少部分值。目标点的不停变化,另一个目标
点又继承前一个目标点,如此交换,就可以实现动态自动化模拟系统。至此,已经可以绘制整个自动化模拟系统的流程图了。
为了区别不同的结构,
可以给曲线或直线事件图2 流程图
加上指定颜,可以通过调整时钟事件脉冲时间间隔来控制主动源和被动源动态移动的速度。
(5)程序实例
假设现在需要在一窗体中按下 OK 按钮后绘制一段路径,则利用VB 中时钟控件,决定移动的速度,然后绘制流程图(见图2),最后编辑代码。
Private Sub Timer1 T i mer()
Di m a(0to n)as integer
Di m b(0to n)(0to n)as integer n 是数组长度,常数For I=0to n Sub1I=I+1Next End Sub
Private sub1()
If a[I]=line1then Sub2 直线模拟elseIf a[I]=sinx then Sub3 曲线模拟End sub Private sub2()
Img.left=b[I][0] 初始化起点p=b[I][1]
If img.left>b[I+1][0]then Exit sub2
p>b[I+1][1]then Exit sub2End i f End sub
Private sub3()
Img.left=b[I][0] 初始化起点p=b[I][1]ymin =1E+101ymax =-1E+101xmin =2xmax =10Form1.Cls
96
图3 自动化模拟系统路径
Form1.ScaleMode=3
xpi xels=Form1.ScaleWidth-1vb软件开发
For i=1T o xpixels
t=xmin+(xmax-xmin)*i xpixels
functionval=functioneval1(t)
If functionval>ymax Then ymax=functionval
If functional<ymin Then ymin=functionval
Next
Form1.Scale(xmin,ymin)-(xmax,ymax)
Form1.ForeColor=RGB(0,0,225)
Form1.PSet(xmin,functioneval1(xmin))
For i=0T o xpixels
t=xmin+(xmax-xmin)*i xpixels
Form1.Line-(t,functioneval1(t))
Next
End sub
Function functioneval1(B yVal x As Double)As Double
functioneval1=Exp(2 x)*Cos(2*x)
End Function
自动化模拟系统路径如图3。
3 结束语
作者在自动化系统开发中使用了VB GUI与动画技术,结合编程。实践证明,一方面利用VB GUI 进行WINDOWS风格的编程;另一方面利用动画技术中的脉冲技术深入到系统内部,实现系统功能要求,大大提高了开发效率。
参考文献:
[1] Evangelos Petrouts os Mas tering Visual Basic6[M].美国SYBEX公
司,1999.1.
[2] 叶佳.中文Vis ual Basic6.0[M].编程实用教程.中国水利水电
出版社,1999.9.责任编辑:张棣
(上接第94页)于:MATLAB的代码可以很容易地移植到VB的环境中,MATLAB中的函数可以像普通的VB函数一样调用。需要注意的是:MATLAB提供的某些数学函数和VB中的数学函数名称相同,为了避免名字冲突,Ma trix VB提供的此类数学函数的名称由原来的MATLAB函数名称前面加字母m。例如:绝对值函数abs(),在Matrix VB中为mabs()。
图1
显示了以上的代码执行的效果。
图1 数字图像处理教学软件运行界面
(6)软件的发布
在发布基于MatrixVB的VB应用程序时,应将相应的库文件随系统一起发布。这些文件包括: v4501v.dll,c4501v.dll,ago4501.dll,msvcrt.dll, msvcirt.dll和mmatrix.dll,这些文件占用的磁盘空间大约是6M多,和庞大的MATLAB占用的空间相比,采用Matrix VB可以大大地减轻软件安装包的大小,极大地简化了软件的安装和发布。由于MMatrix.dll 是COM服务器,所以必须在Windows操作系统中注册后才能使用,注册使用如下命令:
regsvr32mmatrix.dll
4 结束语
该教学演示软件已在Windows2000Professional 版上用Matrix VB4.5和Visual Basic6.0中文版实现。该软件具有安装快捷,操作简便的特点,在实际应用中取得了良好的教学效果。
参考文献:
[1] Castleman K R.朱志刚,林学,石定机译.数字图像处理[M].
北京:电子工业出版社,1998.
[2] 张兆礼,赵春晖,梅晓丹.现代图像处理技术及Matlab实现
[M],北京:人民邮电出版社,1997.
[3] 刘圣才,李春葆.Visual Bas ic6程序设计导学[M],北京:清华
大学出版社,2002.
[4] MathTools Ltd.Matri xVB Us er s Guide[EB O L],http: www.math-
works,1999.
[5] MathTools Ltd.MathTools Function Reference Guide[EB OL],ht-
tp: www.math works ,1999.
责任编辑:杨立民
97
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论