此示例显示如何从Simulink实时应用程序将信号流传输到App Designer仪表板应用程序。此示例从模型构建实时应用程序金宝appslrt_ex_pendulum_100Hz
.仪表板包含以下App Designer组件:
目标选择下拉列表-显示所有可用的目标计算机。
连接/断开按钮-连接或断开在下拉窗口中选择的目标计算机。
加载按钮-将应用程序加载到目标计算机。
启动/停止按钮-启动或停止目标计算机上的应用程序。
停止时间编辑字段-显示并设置目标计算机上加载的应用程序的停止时间。
状态消息框-显示目标计算机状态信息。
轴-显示两个倒立摆和小车系统的动画。
轴-显示信号输出,以响应中断摆锤的情况。
轻推小车按钮-将输入(轻推)应用于固定钟摆的小车。
参考位置旋钮-更改摆锤和推车系统的参考位置。
参考变化模式旋钮-将变化模式添加到摇锤和推车系统的参考位置。
振幅滑块-调整所选参考变化模式的振幅。
频率滑块-修改所选参考变化模式的频率。
为了在实时应用程序和仪表面板应用程序之间传输信号和参数数据,应用程序使用仪表对象。
openExample(“SLRTADAppDesigner应用程序转换EndulumModelExample”);
load_system (fullfile (matlabroot,“工具箱”,“slrealtime”,“例子”,“slrt_ex_pendulum_100Hz”));
这些任务生成实时应用程序,将数据流传输到App Designer仪表板应用程序。
启动目标计算机。
将开发计算机与目标计算机连接。构建slrt_ex_pendulum_100Hz
模型
将实时应用程序部署到目标计算机。
在MATLAB命令窗口中,输入:
set_param (“slrt_ex_pendulum_100Hz”,“RTWVerbose”,“关闭”);tg = slrealtime;slbuild (“slrt_ex_pendulum_100Hz”); 负荷(tg,“slrt_ex_pendulum_100Hz”);
### # Created MLDATX .\slrt_ex_pendulum_100Hz. ### #创建MLDATX .\slrt_ex_pendulum_100Hz. \mldatx模型建立目标:总结构建模型重建行动的理由 ======================================================================================================= slrt_ex_pendulum_100Hz代码生成和编译代码生成信息文件不存在。建造时间:0h 0m 47.816s
应用程序设计器仪表板应用程序单摆
提供启动实时应用程序并与之交互的控件slrt_ex_pendulum_100Hz
.
1.运行应用程序。启动app Designer应用程序slrt_ex_pendulumApp.mlapp
并创建句柄应用程序
,在MATLAB命令窗口中输入:
app=slrt_ex_pendulumApp;
2.要连接到可用的目标计算机,请单击连接按钮。按钮上的文本将切换到“断开”和负载按钮将被启用。
3.要将应用程序加载到目标计算机,请单击负载按钮。将应用程序加载到目标计算机上后开始按钮和停止时间编辑字段将被启用。
4.要设置应用程序的停止时间,请在编辑字段中输入您喜欢的停止时间并点击进来按钮。
5.要开始运行应用程序,请单击开始按钮。
6.要打乱每辆车上的钟摆的平衡,点击轻推按钮。您可以通过使用按钮旁边的值选择来调整微调幅度,通过调整“参考位置”微调器的值来更改参考位置,或者为参考位置选择变化模式。
仪表板应用程序功能由回调代码提供。
仪表板应用程序中回拨代码中的注释slrt_ex_pendulumApp.mlapp
描述回调操作和编程建议。要查看回调代码,请打开slrt_ex_pendulumApp.mlapp
,然后单击代码视图选项卡。在命令窗口中,键入:
编辑slrt_ex_Pendulumap
在参考模型中为信号指定块路径
要从模型中的信号流式传输数据,请参见connectLine
中的功能安装仪器(应用程序)
应用程序中的函数。
updateAnimationCallback函数
对于每个AcquireGroup,此函数检查自上次调用回调以来是否有新数据。如果存在数据,该函数将更新动画对象。
基于采样率和抽取的信号被放置在获取组中,这样在一个获取组中的所有信号都有相同的时间向量。
使用“获取组”更新轴和动画
在回调代码中,此处理如下所示:获取组数据
网络中的信号组updateAnimationCallback
作用
仪表板应用程序手柄应用程序
提供关闭应用程序的访问权限。
关闭应用程序。在MATLAB命令窗口中,键入:
关闭(app.ui图)
关闭打开的模型。在命令窗口中,键入:
bdclose(“全部”);