基于Simulink的嵌入式网络化控制仿真实现
反馈通道延时补偿
在反馈通道加入带有接收缓存的预测器,缓存区存放输入输出历史数据和相应时间戳信息。传感器在一个采样周期内完成对被控对象的输出采样,并通过网络传送采样值,控制信号以及时间戳信息。预测器在采样周期内,如果没有收到传感器从网络发送的相应时刻的采样信号,将利用缓存区数据估算采样信号以供控制器进行控制信号计算。
预测器采用受控自回归模型ARX对采样信号进行预测,其模型原型为:
对于模型参数(10)的求解,可在Simulink下根据实验测得的延时分布特性,选取符合延时分布规律的随机信号模块模拟网络环境,在前向和反馈通道上通过TCP/IP模块实现控制器到执行器,传感器到控制器的连接,组成闭合网络化控制系统仿真框图,进行离线仿真,收集一系列输入输出数据,利用渐消记忆的递推最小二乘(13)-(15)求出。
仿真实例
本节以一直流无刷电机为例,验证使用本仿真系统实现网络化控制实验的有效性。通过频率响应法进行电机模型开环辨识,得到被控对象的CARIMA 模型为:
其中y 表示电机转速,u 表示控制电压。
使用Simulink 进行离线仿真,网络间延时用均匀分布的延时模块模拟,求得ARX 模型为:
控制算法采用控制时域步长为7 的广义预测控制,利用Simulink 和仿真系统提供的模块分别组成图6 中虚线所包围的A,B 两部分,按照上述步骤,将框图分别下载到位于不同物理空间的硬件平台运行,控制系统中各节点的数据在该选项卡中设置固定步长和仿真停止时间,选择积分求解器;单击Real-Time Workshop 标签,在该选项卡中设置系统目标文件,模板联编文件,Make 命令等,在Category 下拉列表中选择xPC Targetgeneration options 选项,可以设置缓冲区大小,目标对象名字等。
(4)创建和下载目标应用程序。设置完仿真参数,在Simulink 模型窗口中按Ctrl+B,就可以生成C 代码,并对其编译、连接生成可执行的目标应用程序,并自动将其下载到目标机上。
(5)控制目标应用程序以及信号跟踪。目标应用程序下载完成之后,在MATLAB 窗口输入+tg(或-tg)或者在目标机命令行输入start(或stop)可以启动(或停止)目标应用程序。在Simulink 模型中添加xPC Target Scope 模块,可以在目标机上添加示波器,显示需要的信号。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论