首页 文章

Simulink .NET集成

提问于
浏览
0

我正在开发一个项目,我需要将某个PI-AF(数据库)与Simulink模型集成在一起 . 我知道PI-AF有一个.NET AF-SDK api,我可以通过它来引用/访问元素/属性 . 我也知道你可以将.NET程序集加载到MATLAB中并使用.NET库 . 但是,我们可以在Simulink中做同样的事情吗?我知道您可以在Simulink中创建一个功能块,您可以在其中编写将使用给定输入执行的MATLAB函数,并返回一定值 . 是否可以在此功能块中加载.NET程序集?我是Simulink和MATLAB的新手,之前从未真正研究过它们 . 如果你们其中一个人可以分享你对上述知识的话,那将是很棒的 .

谢谢 .

1 回答

  • 1

    这取决于您之后的整合程度:

    如果你只是想从数据库加载一些数据,使用那些数据运行你的Simulink模型,然后在模拟完成后将一些数据写回数据库,你不要这样做,并调用那些脚本/函数model callbacks:可能在 PreLoadFcnPostLoadFcnInitFcn 回调中为代码从数据库加载数据,并在 StopFcn 中为代码将数据写回数据库 .

    另一方面,如果您希望在模拟过程中不断与数据库进行交互,那么它会更复杂,您需要使用MATLAB Function块,如您所建议的那样 . 该块使用(C)代码生成,我怀疑.NET相关函数必须将它们定义为 extrinsic (有关更多详细信息,请参阅文档中的Call MATLAB Functions) . 请注意,虽然声明为 mxArray 类型的外部返回输出的函数需要在其他函数/ statements / etc使用之前转换为已知类型...如何执行此操作将在上述文档页面中进行说明 .

相关问题