在正常模式模拟期间,您可以使用Connected I/O与硬件上的IO外设进行通信。
使用Connected I/O的普通模式模拟是基于模型的设计工作流中的一个中间步骤,它通过启用Simulink在模拟和代码生成之间架起了桥梁金宝app®在硬件上部署模型之前与硬件进行通信。连接I/O使您能够修改模型设计,并在接近实时的环境中使用来自硬件的外围数据监视修改后的设计效果。您不需要在硬件上部署模型来监视修改后的设计的效果,这将加快模拟过程。这是Simulink(软件)和Arduino之间的金宝app交互®(硬件)在正常模式模拟中是可能的,只有当您启用连接I/O。
这些部分解释:
这里描述的连接I/O适用于金宝appSimu金宝applink支持包Arduino硬件在这些Arduino板和积木上:
源块:在没有连接I/O的情况下,这些源块在正常模式模拟期间输出为零。通过连接I/O,这些块在正常模式模拟期间从硬件的外设读取数据。
Sink blocks:在没有Connected I/O的情况下,这些Sink blocks在Normal模式模拟中没有任何作用。通过连接I/O,这些块在正常模式模拟期间将数据写入硬件的外设。
Arduino电路板 | 源模块 | 沉块 |
---|---|---|
Arduino由于 Arduino达芬奇 Arduino MKR1000 Arduino MKR WIFI 1010 Arduino MKR零 Arduino超级2560 Arduino Mega-ADK Arduino 3.0纳米 Arduino Uno Arduino Nano 33物联网 Arduino Nano 33 BLE Sense |
连接I/O创建一个通信接口,使Simulink模型和IO服务器能够相互通信。金宝appSimu金宝applink模型驻留在您的计算机中,IO服务器是硬件上的一个引擎,它包含所有外围功能。传输层使用通信接口格式化和传输数据。
此图显示了已连接I/O在计算机和硬件之间创建的连接。
通信在正常模式模拟与连接I/O
当你在正常模式下用连接I/O模拟Simu金宝applink模型时:
设备驱动程序阻塞(例如,数字输入和数字输出块)从IO Server请求外围数据。
IO Server接受请求并使用请求的数据进行响应。您可以使用任何Simulink接金宝app收器或仪表板块来查看接收的数据。使用接收到的外围数据,您可以验证模型设计是否满足需求。
如果有必要,您可以通过添加、删除或替换Simulink模型中的任何块来修改设计。金宝app
修改模型后,对模型进行重新模拟。在仿真过程中,将来自模型的数据请求与硬件进行通信。您可以继续修改和模拟模型,直到实现预期的行为。
请注意
连接I/O中的通信是一个随需应变的过程。硬件只在接收到来自Simulink模型的数据请求时才发送数据。金宝app
您不必在硬件上构建、部署和运行模型来监视模型设计中更改的影响。
当你在正常模式下模拟一个没有连接I/O的模型时,Simulink不会与硬件通信。金宝app金宝appSimulink只有在代码生成并且模型以外部模式部署在硬件上时才与硬件通信。使用Connected I/O的普通模式模拟是基于模型的设计工作流中的一个中间步骤,它允许Simulink在将模型部署到硬件上之前与硬件进行通信,从而在模拟和代码生成之间架起了一座桥梁。金宝app
这基于模型的设计流程图显示了基于模型的工作流:
创建一个Simul金宝appink模型。
在:
没有连接I/O的普通模式模拟:没有硬件交互,也没有代码生成。
连接I/O的普通模式模拟:模型与硬件通信。没有代码生成。
外部模式:模型部署在硬件上并生成代码。
请注意
“已连接I/O”不支持模拟输入参考电压参数。金宝app
将模型部署到硬件。
基于模型的设计流程
连接I/O和外部模式都使您能够在模拟期间与硬件通信。但是,您可以为不同的目的使用连接I/O和外部模式。该表显示了每种模式下可以执行的操作。
行动 | 外部模式 | 连接I / O |
---|---|---|
获取实时数据 | 外部模式可以获取实时数据。 | 启用金宝app仿真软件踱步选项以获得接近实时的数据。 |
实时数据的时序分析 | 实时数据的定时分析是可能的,因为Simulink模型是在硬件上实时运行的。金宝app | 实时数据的定时分析是不可能的,因为Simulink模型是在您的计算机上运行的,而不是在硬件上。金宝app |
启动模拟所需的时间 | 1 - 2分钟 | 几秒钟 |
代码生成 | 代码在硬件上生成。 | 不生成任何代码。 |
要在正常模式模拟中模拟“已连接的I/O”模型,必须启用“已连接的I/O”选项:
打开一个Sim金宝appulink模型。
在Simuli金宝appnk工具栏中,将仿真模式设置为正常的
.
在建模选项卡上,选择模型设置.
在“配置参数”对话框中,选择硬件实现.
设置硬件板的任何Arduino板金宝app支持Arduino板和块连接I/O部分。例如,Arduino超级2560
.属性中的参数将自动填充硬件板设置Arduino硬件的默认值。
从组列表下目标硬件资源中,选择连接I / O.
选择使连接I / O选择。
点击应用.点击好吧关闭对话框。
此外,您可以通过启用Simulink节奏选项更改模拟的速率,如中所述金宝app模拟踱来踱去.