模拟块设备驱动程序
外部模式
外部模式使仿真软件万博1manbetx®在你的主机与部署通信模型在运行时您的硬件板上。它还提供了一种简单的方法来可视化的输出源和显示实时沉块的影响。
外部模式的主机上创建一个通信服务和硬件。这两个服务之间建立通信通道模型引擎和生成的代码部署到硬件板。万博1manbetx通信服务隔离模型流程硬件董事会从代码和格式的传输层,传输和接收数据包。通信服务主机接收到数据包通过传输层并更新显示仿真软件模型。万博1manbetx图中显示了外部的连接模式之间的通信服务创建仿真软件在主机电脑和硬件板上的部署代码。万博1manbetx
通过执行简单模型包含设备驱动程序块在外部模式下,你可以直接观察到的数据的硬件。
外部模式模拟的更多详细信息,请参阅外部模式模拟参数优化、信号监测、分析和代码执行(万博1manbetx仿真软件编码器)。
正常模式
在正常模式下,仿真软件模型在模拟经营完全万博1manbetx和C / c++中的设备驱动程序代码MATLAB系统块从未执行。然而,仿真软件模型万博1manbetx通常需要源块生产人工生成或先前记录的数据在模拟。使用模拟数据允许改进算法开发、测试和调试之前部署模型板的硬件。设备驱动程序沉块不需要任何修改操作在正常模式模拟和假设的行为《终结者》块。相比之下,设备驱动源块需要修改stepImpl
检索方法排放数据在运行时生成或MATLAB的基地®工作空间模型在模拟时。
在运行时数据生成
下面的代码显示了如何修改的一个例子stepImpl
方法,以便设备驱动程序块返回一个随机生成的逻辑值在每个仿真时间步。
方法(访问=保护)…函数stepImpl (obj, u)% #好< INUSD >如果isempty (coder.target)%在模拟生成随机数据y =兰德> 0.5;其他的%调用c函数实现设备输出coder.ceval (“writeDigitalPin”9、u);结束结束…结束
的stepImpl
方法是修改时执行代码coder.target
返回空。空值表示该模型不是部署到硬件。
数据检索从MATLAB工作区
在许多情况下,设备驱动源块发出随机生成数据不足以准确评估模型在模拟。他们需要数据之前捕获或生成。
为了实现这一行为,stepImpl
方法可以修改检索从MATLAB工作空间变量的数据如下:
属性(访问=私人)数= 1结束
方法(访问=保护)…函数stepImpl (obj, u)% #好< INUSD >如果isempty (coder.target)%在模拟生成随机数据x = evalin(“基地”、“x”);y = x (obj.Count);obj。数= obj。数+ 1;如果obj。数>元素个数(x) obj。数= 1;结束其他的%调用c函数实现设备输出coder.ceval (“writeDigitalPin”9、u);结束结束…结束
其它模拟模式
其他模拟模式可用,如加速器模式和快速加速器模式,编译和执行C / c++代码包含在设备驱动程序块。在这些模拟模式,必须修改C / c++头文件包含空的宏。