dongdong2016的个人空间 https://blog.eetop.cn/1519554 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

simulink简单记录---(11) [2018年11月13日]

已有 1757 次阅读| 2018-11-13 16:05 |个人分类:simulink

天气: 小晴
心情: 小舒坦
    1. 封装子系统
     封装子系统指的是将已经建立好的具有一定功能的子系统进行封装。

     封装子系统可执行的操作:
     ①用单个参数框(包括模块说明、参数提示和帮助文本)替换子系统的参数框及内容
     ②用用户图标替代子系统的标准图标
     ③通过隐藏子系统的内容防止对子系统的无目的的更改
     ④把定义了模块行为的方框图封装在子系统内,然后把被封装的子系统放置在库中,从而创建一个用户模块
      封装子系统方便之处:
      ①可以当成黑匣子,不必须了解其中具体的细节而直接使用
      ②模块的参数通过对话框进行设置
      ③防止篡改
       
      哇!这个封装好有意思,特别是图标是可以变的,很好玩!

      首先,是要将这个原理图画好,然后将要封装的部分选中,先形成子系统,用右键Create Subsystem,然后用右键中的Mask Subsystem来形成封装。
      有的版本的名称不同,是Create Mask
      对于子系统需要进行以下封装:
      ①为封装对话框中的参数指定提示
      ②指定用来存储每个参数值的变量名称
      ③输入模块的文档,该文档中包括模块的说明和模块的帮助文本
      ④指定创建模块图标的绘制命令
      
      接下来,逐个进行指定:
      ① 在"Mask Editor"中,"Parameters&Dialog”选项卡指定封装参数:
      Prompt:描述参数的文本标签
      Type:用来指定所有用户所编辑参数值的控制类型,其中定义为edit控制,表示用户可以在对话框的编辑区域内输入数值,这些数值会存储在封装工作区的变量中,被封装模块只能在封装工作区内访问变量。
      Name:存储参数值的变量名
      ②创建模块说明和帮助文本
      在"Documentation"选项卡内
      ③创建模块图标
      在"Mask Editor"对话框内"Icon&Ports"选项卡
      在"Icon Drawing commands"区域内输入绘制命令,下边有提示格式
      绘制命令可以存取封装工作区中的所有变量
      “Options"选项卡内的"Icon Units"参数表示绘制坐标,在此选择"Normalized",表示图标中的绘制坐标定位在边框的底部,图标在边框内绘制。
      ④初始化设置
      在"Initialization"选项卡中,在"Initialization commands"文本框中可以输入初始化命令,这些命令将在开始仿真、更新模块框图、载入模型与重新绘制封装子系统的图标时被调用。
       Dialog variables选项:此列表中显示了与封装子系统参数相关的变量名。
       Initialization commands文本框:在文本框中输入初始化命令,也可以输入任何的Matlab表达式,但是初始化命令不能是基本工作空间的变量。初始化命令要用分号来结尾,避免在Matlab命令窗口中出现问题。
       Allow library block to modify its contents复选框:仅当封装子系统存在于模块库中才可用。选中这个复选框允许模块初始化代码修改封装子系统的内容。
       这个选项命令还可以在Matlab命令窗口中实现,选中要修改内部模块的封装子系统模块,然后在命令窗口中输入。
       set_param(gcb,'MaskSelfModifiable','on');然后保存。
       调试初始化命令:
       在命令的结尾不是用分号,以便能够在Matlab命令窗口中直接查看相关命令运行结果。
       可以在Matlab命令窗口中输入:
       >>dbstop if error
       >>dbstop if warning
       
       创建封装模块动态对话框
       为被封装模块创建动态对话框,也就是被封装模块的外观可以根据用户输入的变化而变化。
       改变的模块的外观:
        ①参数的可见性控制
        ②使能参数状态控制
        ③参数值
       创建动态封装对话框时需要使用封装编辑器,并结合Simulink的set_param命令,首先用封装编辑器定义所有的对话框参数,接着在命令窗口中用set_param命令设置仿真系统的参数,保存模型或保存包含被封装子系统的库,完成动态封装对话框的创建。
       设置封装模块对话框参数
       get_param和set_param命令允许用户检验和设置封装对话框参数
       在Matlab命令中用set_param命令指定当用户改变用户所定义参数的数值时需要调用的回调函数。
       预定义封装对话框参数  
       ①MaskCallbacks
       该数组用来为对话框中用户定义的参数指定回调表达式 
       先在模型或库窗口中选择相应模块的封装对话框,然后在Matlab命令行中输入set_param命令。
       set_param(gcb,'MaskCallbacks',{'parm1_callback',....,'parm3_callback'})
      ②MaskDescription
      可以通过设置该参数来动态地改变被封装模块的说明。
      ③MaskEnables
      用来控制对话框内用户所定义参数的使能状态
      set_param(gcb,'MaskEnables',{'on','on','off'})
      ④MaskPrompts
      用来指定用户所定义参数的提示
      ⑤MaskType
      与对话框相关联的封装类型
      ⑥MaskValues
      为对话框指定用户所定义参数的参数值
      ⑦MaskVisibilities
      为对话框指定用户所定义参数的可见性控制
      set_param(gcb,'MaskVisbilities',{'on','off','on'})
      

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 4

    粉丝
  • 3

    好友
  • 0

    获赞
  • 0

    评论
  • 1620

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 19:26 , Processed in 0.014639 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部