Simulink mask GUI 设置StateFlow数据类型详解

处女作的初衷

在CSDN白嫖了很多python和matlab的程序了,但是还没有一篇原创,想来也是该记录并分享下学习成果的时候了。在建模时使用了一个别人建的库用来自动生成Rolling Counter信号的,但是由于数据类型被写死了,导致使用时因为数据类型超范围出现了bug,于是想到自己改进一下这个库,但是在网上查阅了很久,也没有找到一篇很详细完整的例子可以实现自己所有设想的。最后发现还是在matlab自带的doc和help文档中找到了解决办法

看一下模型长啥样

图1,第一层
在这里插入图片描述

图2,第二层(点开第一层图中左下角的箭头)
在这里插入图片描述
图3,Stateflow中的变量的定义
在这里插入图片描述
首先声明一下此模型做了简化已经没有RC的功能了,仅作为设置stateflow中参数值的示例。
这个库我想实现的功能有:
1、mask界面可以显示参数的值和数据类型;
2、mask界面显示输出的信号名或含义提示名;
3,stateflow中的所有变量包括local变量t和输出量out,数据类型都可以单独设置而不是继承;
4,将设置的参数值直接填入constant中,并设置输出数据类型。

第一步建模

建模这块不做详细介绍了,建好了如图2所示即可。

第二步建立SubSystem

1、选中图2所示的模型,右键选择Create Subsystem from Select
2、建立一个subsystem,给subsystem取名(Demo为Counter_Lib)

第三步编辑Mask Editor

选中SubSystem右键Mask-Edit Mask,打开mask编辑器

图4mask编辑器Icon&Port界面
在这里插入图片描述
在这里我们需要完成两件事:
1,显示变量值和数据类型

disp(['Limit Time=' get_param
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值