用VB控制matlab simulink仿真模型

  • 要求
  • 方案
  • VB代码:

要求

在VB界面里内嵌matlab simulink仿真模块,并能控制仿真中的参数。

方案

用 Matlab.Execute () 语句使matlab运行代码。
用 set_param() 语句改变仿真里的参数

VB代码:

装配环境下,录制代码如下:

Dim Matlab As Object
Private lHwnd As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long‘窗口加载事件
Private Sub Form_Load() On Error GoTo ErrTrapSet Matlab = CreateObject("Matlab.Application")  ‘链接matlabMatlab.Visible = False‘11下面代码为捕捉simulink模块窗口Matlab.Execute ("simulink")    ‘matlab打开 Simulink模块  lHwnd = FindWindow(vbNullString, "Simulink Start Page")    ‘捕捉simulink窗口MoveWindow lHwnd, 0, 0, 500, 550, 1 ' 改变窗口大小If lHwnd = 0 Then Exit SubSetParent lHwnd, simu.hWndExit Sub‘11不需要该模块窗口可注释11这部分代码ErrTrap:On Error GoTo 0
End Sub‘捕捉的窗口内嵌代码
Private Sub Form_Unload(Cancel As Integer)If lHwnd = 0 Then Exit SubSetParent lHwnd, 0
End Sub‘加一个按键打开指定位置仿真模型
Private Sub Command1_Click()Matlab.Execute ("open_system('C:\Users\tengyu\Desktop\GUI_ex11.mdl')")  ‘打开仿真模型‘22传递参数给仿真模型,‘使模型中pushbutton_value1值为1,pushbutton_value2值为2,然后运行模型。‘可以在窗口添加按键和标签,再拼接字符串,达到参数传递给仿真的目的。txt="set_param('GUI_ex11/pushbutton_value1','Value','1');set_param('GUI_ex11/pushbutton_value2','Value','0');sim('GUI_ex11');" ‘命令集合为字符串
Matlab.Execute (txt)
‘也可以加入窗口捕捉代码,把窗口固定在vb界面
End Sub

VB内嵌matlab simulink仿真相关推荐

  1. 伺服系统基于陷波滤波器双惯量伺服系统机械谐振抑制matlab Simulink仿真

    伺服系统基于陷波滤波器双惯量伺服系统机械谐振抑制matlab Simulink仿真 1.模型简介 模型为基于陷波滤波器的双惯量伺服系统机械谐振抑制仿真,采用Matlab R2018a Simulink ...

  2. 单相桥式相控整流电路multisim仿真_单相半波可控整流电路电阻负载的Matlab Simulink仿真...

    1.单项半波可控整流电路电阻负载电路图 2.Matlab Simulink仿真图 3.AC Voltage Source(交流电源)参数设置 4.Pulse Generator(触发环节)参数设置 A ...

  3. quartus怎么仿真波形_单相半波可控整流电路电阻负载的Matlab Simulink仿真

    1.单项半波可控整流电路电阻负载电路图 2.Matlab Simulink仿真图 3.AC Voltage Source(交流电源)参数设置 4.Pulse Generator(触发环节)参数设置 A ...

  4. Matlab/Simulink仿真问题及技巧汇总【持续更新】

    本文章会汇总Matlab/Simulink仿真问题和相关技巧汇总. 如果有问题可以查询本文.有相关问题可以私信我,给你把你们的问题同步更新.wx:shadowknight007 本文章会持续更新. 设 ...

  5. 最全电力电子仿真matlab/simulink仿真 单相全桥/半桥整流仿真 单相半波全波仿真

    最全电力电子仿真matlab/simulink仿真 单相全桥/半桥整流仿真 单相半波全波仿真 三相全桥/半桥整流仿真 三相半波全波仿真 三相桥式整流及其有源逆变仿真 单相桥式整流及其无源逆变仿真 升降 ...

  6. 光伏并网发电系统MATLAB Simulink仿真设计 该仿真包括电池,BOOST升压电路,单相全桥逆变电路

    光伏并网发电系统MATLAB Simulink仿真设计. 该仿真包括电池,BOOST升压电路,单相全桥逆变电路,电压电流双闭环控制部分:应用MPPT技术,提高光伏发电的利用效率. 采用PI调节方式进行 ...

  7. MATLAB/simulink仿真 光伏蓄电池恒流恒压充电 系统启动运行在恒流充电模式

    MATLAB/simulink仿真 光伏蓄电池恒流恒压充电 系统启动运行在恒流充电模式 当电压超过界定值切换到恒压充电模式 ID:9166671870672986波心当冷月无声

  8. 光伏发电并网matlab/simulink仿真,带PLL锁相环,逆变器控制,最大功率控制MPPT,BOOST升压电路

    光伏发电并网matlab/simulink仿真,带PLL锁相环,逆变器控制,最大功率控制MPPT,BOOST升压电路 ID:6959670609861734

  9. BUCK降压斩波电路MATLAB SIMULINK仿真

    ** 降压斩波电路 ** 工作原理 t=0时刻驱动V导通,电源E向负载供电,负载电压uo=E,负载电流io按指数曲线上升. t=t1时控制V关断,二极管VD续流,负载电压uo近似为零,负载电流呈指数曲 ...

最新文章

  1. 从用户角度看,DBMS应当提供哪些功能?
  2. linux粘着位的使用(t权限)
  3. Linux系统如何在开机时修改root密码
  4. excel和python建模_利用Excel学习Python:准备篇
  5. Android 基础 —— 活动的启动模式
  6. debian 删除mysql数据库_Debian中完全卸载MySQL的方法
  7. linux java weblogic,Linux java 安装问题
  8. 解读最具O2O属性—哈根达斯微信企业号的成功之道
  9. 688561,安全新代码!
  10. 大物实验报告-转动惯量的测定金属杨氏模量的测定
  11. 关于路由器和交换机的区别图解(总结)
  12. 姓名: 张轩瑞(小名happy) 性别: 男 年龄:3周岁 走失时间: 2018年7月1日下午4:30 家属电话:18735352768
  13. Servlet思维导图总结
  14. 数据库开发技术复习题填空题
  15. 一切钻空子的行为最后都会惨淡收场
  16. Android studio emulator 无法打开的解决办法
  17. c++-派生类型与常量
  18. Airsim中运行OpenVINS和VINS_Fusion
  19. HEVC学习笔记 第1章 编码结构
  20. 自动root用户登陆

热门文章

  1. uniapp-request请求思维导图
  2. 睿智融科完成上市辅导:无缘科创板后转向创业板,华兴资本押错注
  3. javascript下载文件几种方式,接收后台返回流下载或直接下载文件
  4. Android USB摄像头插拔监听
  5. Windows 10 下 C 盘清理的四个最好办法 | 安全简单,无需插件 | C 盘快满了,如何清理 C 盘? | win 10 OS盘清理
  6. Python:二叉树遍历
  7. 2020十大美黄金交易平台排名
  8. 从Matlab实例学习遗传算法
  9. Auto病毒清除方法
  10. 2020数控机床数据采集