主要内容

自定义总线对象导入和导出

您可以使用公共汽车编辑器进口公共汽车对象基本工作空间和出口公共汽车对象从工作区中描述保存模型。金宝app总线对象。默认情况下,公共汽车编辑器可以节省总线对象,和进口公共汽车函数或MAT-file对象。文件必须在一个位置,可以使用一个普通的开放保存对话框。

您可以编写定制的MATLAB®函数提供替代进口或者出口(或两者)的功能。例如,您可以编写一个自定义函数对象作为记录存储在数据库中,您的组织使用的格式。

设计和实现一个自定义后公共汽车对象导入或导出函数,使用仿真软件金宝app®定制管理器注册功能。注册过程建立自定义导入和导出函数作为回调公共汽车编辑器进口基地工作空间导出到文件命令。总线的回调函数替换默认功能的编辑器。自定义总线编辑器导入和导出功能没有影响其他MATLAB或仿真软件的功能。金宝app取消进口或者出口定制恢复默认总线编辑功能的操作而不影响其他。

创建公共汽车对象从外部C代码,您不需要定制。看到创建总线对象从外部C代码

必需的背景知识

定制公共汽车对象导入或导出要求你理解:

  • MATLAB语言和编程技术

  • 金宝app公共汽车对象语法

  • 你翻译的专用格式公共汽车对象和访问所需的技术设备,存储对象。

  • 任何特定于平台的技术以获取用户的数据,比如名称的位置存储或访问公共汽车对象。

写一个总线对象导出功能

一个自定义公共汽车对象导出函数至少需要一个参数。您可以使用附加参数来处理函数的特别行动。第一个参数的值是一个单元阵列包含所有的名字公共汽车公共汽车编辑的对象选择。您可以使用函数、全局变量或任何其他MATLAB技术,提供任何额外的参数值。一个定制的导出函数的通用算法是:

  1. 遍历对象名称在第一个参数的列表。

  2. 获得公共汽车对应于每个名称的对象。

  3. 翻译公共汽车对象的专有的语法。

  4. 保存翻译公共汽车对象在本地存储库。

这个例子显示了这样一个的语法壳出口回调函数是:

函数myExportCallBack (selectedBusObjects) disp(“自定义出口被称为!”);idx = 1:长度(selectedBusObjects) disp ([selectedBusObjects {idx} '选择出口。']);结束

虽然这个函数没有出口公共汽车对象,它在语法上是有效的,可以注册。它接受一个单元阵列公共汽车对象名称,遍历,输出每个名称。一个操作导出功能:

  • 使用每个名称检索相应的公共汽车对象的基本工作空间

  • 将对象转换为专有格式

  • 存储转换对象

额外的逻辑是特定的。

编写一个总线对象导入功能

一个自定义公共汽车对象导入函数可以零个或多个参数来执行其任务。您可以使用函数、全局变量或任何其他MATLAB技术提供参数值。同时,函数可以调查的用户信息,如获得的称号公共汽车对象的信息。一个自定义的通用算法公共汽车对象导入函数是:

  1. 获得公共汽车对象信息从本地存储库。

  2. 翻译每一个公共汽车对象定义一个金宝appSimulink.Bus对象。

  3. 保存每一个公共汽车对象MATLAB基础工作空间。

这个例子显示了导入的句法壳回调函数是:

函数myImportCallBack disp(“自定义导入被称为!”);

虽然这个函数不进口任何公共汽车对象,它在语法上是有效的,可以在仿真软件定制管理器注册。金宝app一个操作导入功能:

  • 指定在哪里获得公共汽车对象导入

  • 将每个公共汽车对象一个金宝appSimulink.Bus对象

  • 将对象存储在基本工作空间

额外的逻辑是特定的。

注册自定义

定制公共汽车对象导入或导出,提供一个自定义注册函数,输入和配置自定义经理每当你开始仿真软件仿真软件定制软件或刷新。金宝app使用自定义注册函数的步骤是:

  1. 创建一个文件命名sl_customization.m包含自定义注册功能。或者,您可以使用现有的自定义文件。

  2. 在文件的顶部,创建一个函数命名sl_customization这需要一个参数(或使用自定义函数在一个现有的文件)。当函数被调用时,该参数的值是定制经理。

  3. 配置sl_customization函数设置importCallbackFcnexportCallbackFcn函数处理指定定制公共汽车对象导入和导出功能。

  4. 如果sl_customization.m是一个新的自定义文件,把它用MATLAB搜索路径上的任何地方。两个常用的位置matlabroot和当前的工作目录。或者,您可以扩展的搜索路径。

这是一个简单的例子,一个定制的注册功能:

函数sl_customization (cm) disp(“我的定制文件被加载。”);cm.BusEditorCustomizer。importCallbackFcn= @myImportCallBack; cm.BusEditorCustomizer.exportCallbackFcn = @(x)myExportCallBack(x);

MATLA金宝appB仿真软件启动时,它遍历搜索路径寻找文件命名sl_customization.m。金宝app模型加载每一个这样的文件,它发现(不仅仅是第一个文件)和执行sl_customization函数在其最高,建立指定的定制功能。

执行示例定制函数显示一条消息(一个实际的函数可能不会)。总线编辑器所使用的函数建立一个函数命名myImportCallBack ()进口公共汽车对象和函数命名myExportCallBack (x)出口公共汽车对象。

相对应的函数句柄中出现时可以定义一个回调注册登记。然而,它必须定义当公车编辑器调用函数。同样的纬度和要求也适用于任何函数或全局变量用于提供附加参数的值。

其他功能还可以存在sl_customization.m文件。然而,仿真软件软件忽略文件金宝app命名sl_customization.m,除非它启动或刷新自定义。定制文件中的任何更改功能被忽视,直到其中一个事件发生。相比之下,其他功能变化在MATLAB路径立即生效。

有关更多信息,请参见注册自定义

改变自定义

你可以改变处理建立sl_customization功能:

  • 改变函数指定改变处理

  • 保存功能

  • 刷新自定义执行sl_refresh_customizations

金宝appMATLAB仿真软件遍历路径和重新加载sl_customization.m文件,它发现,在每一个执行第一个函数,就像在仿真软件启动。金宝app

你可以恢复到默认设置在进口或者出口行为sl_customization适当的函数BusEditorCustomizer元素[]然后刷新自定义。或者,您可以消除这两个自定义一个操作的执行:

cm.BusEditorCustomizer.clear

在哪里厘米以前将定制管理器对象(看到了吗注册自定义)。

改变进出口回调函数本身,作为有别于更改处理登记他们定制,立即生效,除非他们在sl_customization.m文件本身。如果回调函数sl_customization.m文件,他们下次刷新自定义生效。将回调函数在单独的文件通常提供了更加灵活和模块化结果。

另请参阅

功能

相关的话题