东北大学网络控制系统Truetime仿真源码解析

5星 · 超过95%的资源 需积分: 50 87 下载量 181 浏览量 更新于2024-09-16 9 收藏 87KB DOC 举报
"东北大学网络控制系统的Truetime仿真源程序包括执行器初始化、执行器代码、控制器初始化和控制器代码四个部分,用于模拟网络环境中的控制任务和通信过程。" 在给定的文件中,我们可以看到一个基于Truetime工具箱的网络控制系统仿真。Truetime是一个用于实时系统建模和仿真的MATLAB工具箱,它允许用户精确地模拟任务调度、中断处理以及网络通信等关键功能。以下是对各个文件内容的详细说明: 1. **执行器初始化文件** (`actuator_init.m`): 此文件设置了执行器的任务和网络配置。`ttInitKernel`函数启动Truetime内核,并定义了优先级和调度策略。`ttCreateTask`创建了一个名为'act_task'的任务,该任务具有100个时间单位的期限和优先级1。同时,`ttCreateInterruptHandler`定义了一个中断处理程序用于接收来自控制器的消息,`ttInitNetwork`初始化网络,这里配置了两个节点。 2. **执行器代码** (`actuatorcode.m`): 这是执行器任务的实际代码,它根据接收到的消息更新其行为。`actuatorcode`函数接收模拟段(seg)和数据(data)作为输入,根据seg的值执行不同操作。当seg为1时,它从消息队列获取输入(u),并设置执行时间为0.0005。当seg为2时,它将输出(u)写入模拟输出1,并设置执行时间为-1,表示任务结束。 3. **控制器初始化** (`controller_init.m`): 控制器初始化文件配置了控制器的任务参数。同样,`ttInitKernel`启动内核,但设置了不同的优先级和调度策略。然后,`ttCreateTask`创建了名为'pid_task'的任务,该任务运行PID控制器代码,并传递初始数据结构。`ttCreateInterruptHandler`为控制器定义了中断处理程序以接收执行器的反馈。最后,`ttInitNetwork`配置了一个网络节点。 4. **控制器代码** (`ctrlcode.m`): 这里是控制器任务的主体,实现了PID控制器逻辑。`ctrlcode`函数根据seg切换不同操作:seg为1时,读取模拟输入1(r)和接收到的消息(y),调用`pidcalc`函数进行计算,设置执行时间为0.0005;seg为2时,向执行器发送计算结果(data)。 通过这些源代码,我们可以看出网络控制系统的基本工作流程:控制器根据输入信号计算控制输出,然后通过网络将输出发送给执行器,执行器接收到指令后执行相应的动作,并通过网络将状态反馈给控制器。这个过程模拟了实际工业控制系统中的网络通信和控制逻辑,是研究网络效应、延迟和实时性问题的理想平台。