电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

VB调用Matlab在WEDM仿真系统中的应用

来源:<a href='http://bbs.hqew.com/viewthread.php?tid=396777' target='_blank'>dengzhiyu</a> 作者:华仔 浏览:838

标签:

摘要: 基于BP神经网络的电火花线切割(WEDM)工艺仿真系统需要具有工艺数据库管理、工艺效果预测、加工参数优化等设计功能。借助Matlab的神经网络工具箱,可以建立良好的工艺效果预测模型和参数优化模型,这正是工艺仿真软件最主要的功能要求。VB是Windows操作系统下优秀的可视化编程工具软件,在用户界面设计和快速开发等方面具有独特的优势。同时,Matlab仿真软件以其强大的科学计算功能和开放式开发思想使其成为当前最为流行的仿真计算

    基于BP神经网络的电火花线切割(WEDM)工艺仿真系统需要具有工艺数据库管理、工艺效果预测、加工参数优化等设计功能。借助Matlab的神经网络工具箱,可以建立良好的工艺效果预测模型和参数优化模型,这正是工艺仿真软件最主要的功能要求。VB是Windows操作系统下优秀的可视化编程工具软件,在用户界面设计和快速开发等方面具有独特的优势。同时,Matlab仿真软件以其强大的科学计算功能和开放式开发思想使其成为当前最为流行的仿真计算工具。综合两种开发环境各自的优势,可采用VB与Matlab混合编程的方法实现工艺仿真软件的编程开发。

    在VB开发环境下制定前台用户界面,利用Matlab强大的计算功能实现后台模型的实时仿真。为了实现前台界面与后台仿真环境间的数据传递,应用ActiveX自动化技术进行VB与Matlab之间的接口设计,通过建立在VB应用程序和Matlab仿真环境之间的ActiveX自动化连接,实现了在VB环境下对Matlab仿真命令的调用,并在VB友好的用户界面中实时显示仿真结果。

1  VB与Matlab间的接口分析   

1.1  VB与Matlab接口形式

    为了能够充分利用Matlab系统提供的丰富函数库,Matlab本身提供了应用程序接口API(Matlab application program interface)。因此,VB与Matlab接口设计有多种实现方式。

    (1)借用C++与Matlab的接口,将Matlab的程序文件(*.M)编译为动态链接库(*.DLL),VB在代码中调用生成DLL中的函数,以实现算法,便于用户脱离Matlab环境使用。由于算法部分采用C++语句,运行速度较快,可应用于实时运算。但是这种方法对开发者在设置和编程上都有较高的要求。

    (2)通过使用嵌入VB中矩阵函数库MatrixVB的方法实现接口。MatrixVB是第三方插件,利用与Matlab相似的函数、语法嵌入到VB中,可以像使用VB的函数、命令一样使用Matlab函数。这种方法的语法和函数使用比较简单,编程效率很高,几乎完全可以融入VB语言,特别是对图形的处理非常方便,弥补了其他方法在图形处理上的弱点。但由于它仍然采用解释执行,执行效率较低,因此实时运算难以实现,特别对于Matlab各类工具箱的调用尤为困难。

    (3)在Visual Basic中通过调用Matlab的引擎接口,使用Windows的ActiveX技术与Matlab进行数据交互。通过Object.Execute语句在程序中直接使用Matlab提供的函数库和图形库。

1.2 ActiveX自动化技术

    ActiveX是一种支持组件集成MicroSoft Windows协议的自动化技术,通过ActiveX技术可以将不同环境下开发的组件集成到一个应用程序中;ActiveX同时又是一种面向对象技术,属于组件对象模型(COM)的子类。COM为所有的ActiveX对象定义了对象模型,每个ActiveX对象支持一定的接口,即支持不同的方法、属性和事件。利用这些方法执行相应的动作,帮助客户端实现一定的功能。Matlab支持两种类型的ActiveX技术:ActiveX控制容器和ActiveX Automation。ActiveX控制容器可以将不同的ActiveX控件集成在一个应用中;而ActiveX Automation是一种允许一个应用程序(客户端)去控制另一个应用程序(服务器端)的协议。在本文中,Matlab是服务器端,VB是客户端,通过Automation,客户端可以执行Matlab命令,并与Matlab的工作空间进行数据交换,以达到调用Matlab来训练神经网络的目的。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67