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