首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Modelica modbus通信

Modelica modbus通信
EN

Stack Overflow用户
提问于 2015-06-28 23:18:58
回答 2查看 485关注 0票数 1

我需要创建一个硬件在环测试设置。我将使用Modelica (Dymola)对系统进行实时仿真。Dymola应该向/从一些硬件发送/接收数据,并且接收到的数据将被输入到模型。我正在尝试通过串行连接与Modbus通信。硬件是一个类似PLC的设备,所以这似乎是首选的方法。

我还没有硬件,所以我正在用Arduino Uno进行测试。我已经在Arduino上安装了来自here的Modbus从库,并使用Modbus测试器对其进行了测试。

我想不出怎么和迪莫拉沟通。我已经尝试过Modelica_DeviceDrivers库,能够从arduino发送或接收数据(不能同时发送或接收),但不能通过Modbus协议。我的问题是,Dymola/modelica是否有任何用于modbus通信的modelica库或任何其他方式来实现这一点?

EN

回答 2

Stack Overflow用户

发布于 2015-06-29 05:36:23

免费的ModelPlug库将把SystemModeler (可能还有迪莫拉)连接到Arduino板上进行I/O。你可以在这里下载:http://www.wolfram.com/system-modeler/libraries/model-plug/

票数 1
EN

Stack Overflow用户

发布于 2015-06-30 04:28:04

如果您想编写自己的驱动程序,可以转到Modleica_Device_Drivers库下的Resources\Include文件夹,那里有一堆c头文件,它们是如何编写自己的驱动程序的很好的示例。如果你能以与Modleica_Device_Drivers“包”兼容的方式编写它,那么组装/拆卸你的数据消息将是相当容易的。

如果你只是想要一些快速的东西,你可以编写一个C函数并在Dymola中引用它。

这两种方法都可能需要when(sample(...))子句,以便同步您的模拟时间与实时。但这意味着事件生成,尽管它是一个时间事件,但对于具有许多状态的大型模型,它可能会减慢您的模拟。

我更喜欢围绕模型创建几个输入和输出,然后将Dymola模型导出为C或FMU模型,我将编写另一个通信程序来控制数据流。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31101390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档