将Simulink中的数据更新到GUI中(记录)
1、前记:实时更新Simulink的数据并在GUI中显示出来,属于GUI与Simulink中的数据交换问题。
多次搜索还是在MATLAB answers中找到了一种解决方式。
来源:https://www.mathworks.com/matlabcentral/answers/96425-how-can-i-update-a-gui-with-values-from-my-simulink-model-as-it-is-running-by-using-a-execution-even?s_tid=answers_rc1-1_p1_BOTH
2、主要步骤解释(链接中有例子可以下载仔细研究):
(1)在Simulink中的StartFcn
(2)编写updategui监听函数(监听函数链接https://www.mathworks.com/help/simulink/slref/add_exec_event_listener.html)
参考链接:https://www.mathworks.com/help/simulink/ug/accessing-block-data-during-simulation.html#f13-92463
监听函数的作用就是在周期内更新被监听模块的数据。
function varargout = updategui(varargin)
%create a run time object that can return the value of the gain block's
%output and then put the value in a string.%创建一个运行时对象,该对象可以返回增益块的值输出,然后将值放在字符串中。rto = get_param('mytestmdl/Gain','RuntimeObject');
rto1 = get_param('mytestmdl/Gain1','RuntimeObject');%获得simulink中的gainstr = num2str(rto.OutputPort(1).Data);
str1 = num2str(rto1.OutputPort(1).Data);%更新gui,将得到的gian输出值显示到Tag为currState的窗口上
%get a handle to the GUI's 'current state' window
statestxt = findobj('Tag','currState');%currState为显示窗的Tag
statestxt1 = findobj('Tag','edit4');
plotaxi= findobj('Tag','axes1');
aT=[str;str1];
%update the gui
set(statestxt,'string',str);
set(statestxt1,'string',aT);
(3)Simulink模块名为:mytestmdl
(4)GUI中的控件
(5)结果
后记:将Simulink中scope中的数据实时的显示在GUI中的axes上可以参考:
https://www.jianshu.com/p/389daf78b3ee
将Simulink中的数据更新到GUI中(记录)相关推荐
- matlab中push,如何在GUI中pushbutton的回调函数中嵌入函数
在pushbutton的回调函数中加入函数后程序无法运行,具体情况如下: 程序代码: function varargout = just_try(varargin) % JUST_TRY MATLAB ...
- python更新excel内容_使用python将Excel表中的数据更新到数据库中
代码如下: # -*- coding: utf-8 -*- import pymysql import xlrd # 连接数据库 try: db = pymysql.connect(host=&quo ...
- 8. 修改matlab GUI中fig和m文件名修改流程及注意事项
资料来源: 修改matlab GUI中fig和m文件名修改流程及注意事项 - CSDN博客 https://blog.csdn.net/xingkongfenqi/article/details/46 ...
- python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...
- 2021-03-31 Matlab simulink 模糊PID在无刷直流电机中的应用
Matlab simulink 模糊PID在无刷直流电机中的应用 无刷直流电机的数学模型. 1.无刷直流电机数学模型 然后给出无刷直流电机的动态数学模型 看到上述这张图,不知聪明的你有没有发觉,图中采 ...
- MATLAB的GUI中给坐标轴四周加上边框
在MATLAB的GUI中如何为坐标轴四边加上方框,效果如下图: 首先打开一个GUI文件,建立一个坐标轴,如下图所示: 双击该坐标轴,在弹出的检查器中,在Box那一栏后面勾上,如下图所示: 此时坐标轴四 ...
- java事件绑定,Java编程GUI中的事件绑定代码示例
程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来.对java来说,绑定分为静态绑定和动态绑定:或者叫做前期绑定和后期绑定 静态绑定: 在程序执行前方法已经被绑定,此时由编译 ...
- wxpython pyqt_python gui 中三大框架tkinter ,wxpython, pyqt如何选择
我们都知道当一个东西比较匮乏的时候,我们会比较苦恼,苦恼找不到好的替代.但是但一个东西比较丰富的时候,我们也会苦恼,苦恼的是如何进行选择.就比如每天我们都面临的一个巨大的难题就是今天中午吃什么? py ...
- python显示gif图片报错_4种方法(plglet、tkinter、guizero、pygame)的GUI中显示gif
1 说明: 1.1 环境:python3.8,微软编辑器vscode,深度deepin-linux操作系统. 1.2 代码亲测,注释详细,通俗易懂,适合收藏和转发,慢慢分析,避免入坑. 1.3 锻炼p ...
最新文章
- python conda虚拟环境
- c++将小数化为二进制_C++版进制转换(十进制,二进制,十六进制整数和小数)
- c#_将文件导入到工程目录下
- BFS Codeforces Round #297 (Div. 2) D. Arthur and Walls
- 使用JUnit 5在Mockito中方便地进行模拟–官方方式
- android html 显示表格边框,tablelayout表格布局详解
- Linux系统特殊符号的作用
- Linux操作系统的密码破解大全
- GB28181协议--校时
- qt生成程序以管理员身份运行和取消以管理员身份运行方式
- win7命名计算机无法下一步,win7还原系统不能点下一步怎么办(无响应)
- OCO-2卫星数据批量化下载教程
- 条形码、二维码、RFID优缺点,卫星定位,传感器分类及应用场景
- 如何制定客户留存策略_14个成功的客户留存策略举例
- 多元回归函数regress的用法
- BI是什么,BI的解释
- 《python爬虫实战》:爬取贴吧上的帖子
- 基于Java实现的贪吃蛇大作战小游戏
- 常用的评论/帖子/文章排序算法一(Delicious和Hacker News)
- 晒晒我历年双十一的清单!