java可以和simulink合起来吗_simulink和JAVA的混合仿真,问题描述详细,麻烦各位前辈了...

在微电网能量管理系统项目中,作者需要Simulink与Java进行实时通信,即Simulink通过S函数将信号传递给Java程序处理后再返回。面临的问题包括如何从timeseries中提取y轴数据、如何在S函数中使用全局变量以及如何在S函数中编写条件语句。作者寻求解决方案,包括S函数的正确实现或其它Simulink与Java通信的方法。
摘要由CSDN通过智能技术生成

各位论坛的前辈们,向大家请教一个问题

我在一个微电网的能量管理系统的项目,我需要用simulink来搭建微电网的主电路,然后控制环路需要用到JAVA编写的控制程序。大体的背景就是这样,我想向大家请教的问题是如何使得simulink和JAVA程序实时通信呢?

举一个简单的例子就是,假如在simulink中有一个正弦输入,输出是输入的两倍,虽然这很容易用simulink实现,但是我需要将这个处理过程调用外部的JAVA程序来处理。如何将simulink中正弦输入的信号传递给外部的JAVA程序,此时simulink需要等待JAVA处理,等JAVA处理结束之后,将数据传递给simulink,simulink继续下一个步长的仿真,下一个步长的运行过程与此类似。

关于这个问题,我已经研究来一周了,现在有一个想法就是通过S函数来处理这个数据传递。下面介绍一下我的想法,请前辈们指点一下。

6b8ab73793f47a62efc07ad3e6ad82d9.png

hhhh.png (11.19 KB, 下载次数: 8)

2018-7-11 18:35 上传

这是simulink最简单的输入放大两倍的模型,我采用的level1的S-function。

我想在工作区中创建两个数组A和B,其中A数组用来存储输入信号的采样,然后A数组通过matlab自带的JAVA引擎将数据传递给java程序处理。此时通过一个while循环可以控制simulink等待接收java处理。Java处理完放大两倍的程序之后通过引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值