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

您可以使用公交编辑器进口公共汽车对象,并导出公共汽车中所述的基本工作区中的对象保存Sim万博1manbetxulink.Bus对象。默认情况下,总线编辑器可节省总线对象,并导入公共汽车对象,函数或马特文件。文件必须放在一个可以使用普通文件访问的位置开放要么对话框。

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

之后您设计和实现自定义公共汽车对象导入或导出功能,使用Simulink的万博1manbetx®定制经理注册功能。注册过程建立自定义的导入和导出功能为回调总线编辑器进口基地工作区导出到文件命令。回调更换总线编辑器的默认功能。自定义总线编辑器导入和导出功能,对其它MATLAB或Simulink的功能没有任何影响。万博1manbetx取消进口或出口自定义恢复默认该操作总线编辑器功能,而不影响其他。

创造公共汽车对象来自外部的C代码,您不需要进行自定义。看到从外部C代码创建总线对象

所需的背景知识

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

  • MATLAB语言和编程技术

  • 万博1manbetx公共汽车对象语法

  • 要翻译成的专有格式公共汽车对象和方法需要访问该设施,存储的对象。

  • 用于从所述用户获得的数据的任何特定于平台的技术,如该位置的名称在其中存储或访问公共汽车对象。

写一个总线对象导出函数

一个自定义公共汽车对象导出函数至少需要一个参数。您可以使用其他参数来处理函数的特殊操作。第一个参数的值是一个包含所有名称的单元格数组公共汽车对象的总线编辑器已经选择。您可以使用函数,全局变量,或任何其他MATLAB技术,为任何额外的参数提供值。自定义导出函数的一般算法是:

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

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

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

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

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

功能myExportCallBack(selectedBusObjects)DISP( '自定义出口被称为!');对于IDX = 1:长度(selectedBusObjects)DISP([{selectedBusObjects IDX} '被选定为出口。']);结束

虽然这个函数不导出任何公共汽车对象,它在语法上是有效的,可以注册。它接受一个单元格数组公共汽车对象名称,遍历它们,并打印每个名字。操作导出功能:

  • 使用每个名称检索对应的公共汽车从基部工作区对象

  • 将对象转换为专用格式

  • 存储转换后的对象

所述额外的逻辑是企业专用的。

编写一个总线对象导入函数

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

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

  2. 每个翻译公共汽车对象定义万博1manbetxSimulink.Bus目的。

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

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

函数myImportCallBack disp('Custom import was called!');

虽然这个函数不导入任何公共汽车对象,它在语法上是有效的,可以与Simulink的定制经理进行注册。万博1manbetx的操作导入功能:

  • 获取的,其中以获得的指定公共汽车要导入的对象

  • 每个转换公共汽车对象一个万博1manbetxSimulink.Bus对象

  • 将对象存储在基本工作区中

所述额外的逻辑是企业专用的。

注册自定义

定制公共汽车对象导入或导出,提供一个自定义注册功能,当您启动Simulink软件或刷新Simulink自定义时,该功能将输入和配置自定义管理器。万博1manbetx使用自定义注册函数的步骤如下:

  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);

当Simu万博1manbetxlink的启动时,它遍历查找文件名为MATLAB的搜索路径sl_customization.m。万博1manbetxSimulink的负载的每一个这样的文件,它发现(不只是第一个文件),并执行sl_customization函数的顶部,建立函数指定的自定义。

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

当注册发生时,与出现在回调注册中的句柄对应的函数可以不定义。然而,它必须定义当公车编辑器调用函数。用于提供附加参数值的任何函数或全局变量都适用相同的范围和要求。

其它功能也可以存在于sl_customization.m文件。但是,Simulink软件万博1manbetx会忽略命名的文件sl_customization.m,除非它启动或刷新自定义。对自定义文件中函数的任何更改都将被忽略,直到其中一个事件发生为止。相比之下,对MATLAB路径上的其他函数的更改会立即生效。

欲了解更多信息,请参阅注册自定义

改变自定义

控件中建立的手柄可以更改sl_customization功能是:

  • 更改函数以指定更改后的句柄

  • 保存功能

  • 通过执行刷新自定义sl_refresh_customizations

万博1manbetxSimulink遍历MATLAB路径并重新加载所有内容sl_customization.m在每个函数中执行第一个函数,就像在启动Simulink时所做的那样。万博1manbetx

属性中设置,可以恢复到默认的导入或导出行为sl_customization功能适当BusEditorCustomizer元素[]然后刷新定制。或者,您可以通过执行以下操作在一个操作中消除这两个定制:

cm.BusEditorCustomizer.clear

在哪里厘米原先设置为自定义管理器对象(见注册自定义)。

从变化到其注册为自定义手柄更改为进出口回调函数本身,层次分明,立即生效,除非他们是在sl_customization.m文件本身。如果回调函数在sl_customization.m文件时,他们才会生效下次刷新自定义。在单独的文件保持回调函数通常会提供更灵活和模块化的结果。

另请参阅

功能

相关的话题