一、项目结构截图
二、项目结构各部分功能
1.SYSTEM 文件夹
1.1 License:管理软件授权。
1.2 Real - Time:包含实时任务配置,如 I/O Idle Task(与输入 / 输出空闲任务相关)。
1.3 Tasks:存放用户定义的任务,如 PlcTask(PLC 逻辑任务)、PIDTask(PID 控制任务)、TempPIDTask(温度 PID 控制任务)
1.4 Type System(类型系统)
功能:用于定义和管理项目中使用的数据类型。通过创建自定义数据类型(如结构体、枚举、别名类型等),可实现代码的标准化与复用。例如,将设备传感器数据封装为一个结构体类型,便于在多个程序组织单元(POUs)、任务或变量列表(GVLs)中统一使用,提升代码的可读性与维护性。
1.5 Routes(路由)
功能:在涉及分布式系统、多设备通信或不同模块间数据交互时,Routes 用于配置数据传输路径或通信路由。例如,在跨网络、跨设备的工业自动化场景中,通过 Routes 可定义不同设备(如 PLC、驱动器、传感器)之间的通信链路,确保数据准确、高效地传输,实现系统各部分的协同工作。
1.6 TcCOM Objects(TwinCAT Component Object Model Objects) 是用于集成外部模型或组件的关键对象,主要功能和特点如下:
1. 集成外部模型
允许将来自其他开发环境(如 Matlab/Simulink、C++ 等)生成的模型或模块,以二进制形式封装为 TcCOM 组件并集成到 TwinCAT 项目中。例如,通过工具(如 TE1400)将 Simulink 模型生成实时 C/C++ 代码,再导出为 TcCOM 模块,使其能在 TwinCAT 内核中实时运行,实现复杂算法(如高级控制策略)的快速集成。
2. 扩展 PLC 功能
PLC 程序可调用 TcCOM 组件内的功能,打破 PLC 原生编程的局限性。例如,将 Matlab 中设计的先进控制算法(如优化的 PID 控制、机器学习模型)封装为 TcCOM 模块后,PLC 可直接与其交互,实现更复杂的逻辑控制或数据处理。
3. 任务绑定与变量交互
- 任务绑定:TcCOM 组件需绑定到特定任务(如在 Tasks 中创建的周期任务),确保按设定周期执行。绑定后可勾选 “create symbol”,为组件内变量生成符号表,便于在 PLC 中通过变量名读写数据(如监控输入输出、调整参数)。
- 变量映射:组件的输入 / 输出变量可映射到 PLC 变量或硬件 I/O,实现数据交互。例如,Simulink 模型的输入 / 输出会自动映射为过程图像中的输入 / 输出,进而链接到 PLC 程序或硬件接口,使外部模型与实际工业设备(传感器、执行器等)协同工作。
4. 实时执行与调试
集成后的 TcCOM 组件在 TwinCAT 实时内核中运行,保证时序准确性和稳定性。通过激活配置并下载程序,可在线监控组件状态(如通过 Scope 工具查看变量值),调试模型运行情况,确保功能符合预期。
5. 跨平台与复用性
生成的 TcCOM 模块可脱离原开发环境(如 Matlab),在 TwinCAT 项目中独立使用,且支持跨平台(x86/x64)部署。这使得经过验证的模型能在不同项目中复用,提高开发效率。
2. PLC 文件夹(CX5130 Project)
2.1 External Types:自定义外部数据类型。
2.2 References:项目引用的库或资源。
2.3 DUTs:设备单元测试相关内容(Device Under Test)。
2.4 GVLs:全局变量库(Global Variable Lists),用于跨程序共享数据。
2.5 POUs:程序组织单元(Program Organization Units),存放逻辑代码(如功能、函数块)。
2.6 VISUs:可视化界面(如 HMI 配置),包含 CX5130.tmc 文件(TwinCAT 可视化配置文件)。
2.7 任务实例(如 PIDTask (PIDTask)):将任务(Tasks 中定义)与具体程序逻辑关联。
2.8 CX5130 Instance:项目实例,包含 PlcTask Inputs/Outputs(输入 / 输出数据接口)。
三、TwinCAT 项目文件结构分析
分析项目中各主要文件和文件夹的作用:
1. SYSTEM 文件夹
该文件夹包含整个项目的系统配置和底层设置:
-
License
- 存放软件授权文件,用于验证 TwinCAT 功能模块的使用权限。
-
Real - Time
- I/O Idle Task:实时任务配置,负责处理输入 / 输出设备的空闲状态监控。这是系统级任务,确保硬件通信的稳定性。
-
Tasks
- PlcTask:PLC(可编程逻辑控制器)主任务,通常包含主要的控制逻辑,按固定周期执行。
- PIDTask:专用于 PID(比例 - 积分 - 微分)控制算法的任务,用于精确的过程控制(如温度、压力调节)。
- TempPIDTask:可能是针对温度控制优化的 PID 子任务,与特定硬件或工艺相关。
2. PLC 文件夹(CX5130 Project)
这是项目的核心逻辑部分,包含 PLC 程序和相关资源:
-
External Types
- 定义自定义数据类型(如结构体、枚举),可在整个项目中复用。
-
References
- 项目引用的库文件(如标准函数库、第三方功能块),类似其他编程环境中的 “引用” 或 “依赖”。
-
DUTs
- 设备单元测试(Device Under Test)文件,用于自动化测试 PLC 功能模块。
-
GVLs (Global Variable Lists)
- Global_Variables: 存储全局变量,供所有程序单元访问,是不同任务间数据共享的桥梁。
-
POUs (Program Organization Units)
- 包含各种程序单元:
- Function Blocks:封装可复用的功能逻辑(如 PID 算法、运动控制)。
- Functions:执行特定计算的独立函数。
- Programs:主程序,组织功能块和函数的调用顺序。
- 包含各种程序单元:
-
VISUs
- CX5130.tmc:TwinCAT 可视化配置文件,用于创建 HMI(人机界面),包含图形界面元素、报警显示等。
-
任务实例
- PIDTask (PIDTask):将
PIDTask
任务与具体的功能块或程序绑定,指定其执行周期和优先级。
- PIDTask (PIDTask):将
-
CX5130 Instance
- PlcTask Inputs/Outputs:定义
PlcTask
的输入 / 输出接口,与硬件 I/O 或其他模块通信。
- PlcTask Inputs/Outputs:定义
3. 其他关键文件
-
TcXaeShell
- TwinCAT 项目的主文件(扩展名可能是
.tsproj
),用于在 TwinCAT 开发环境(如 Visual Studio)中加载整个项目。
- TwinCAT 项目的主文件(扩展名可能是
-
CX5130.tmc
- 可视化界面的配置文件,可生成操作员面板或 Web 界面,实现人机交互。
总结
倍福的TwinCAT 项目采用了模块化设计:
- SYSTEM 负责底层系统配置和任务调度。
- PLC 文件夹集中管理控制逻辑,通过 GVLs 实现数据共享,POUs 实现功能封装。
- VISUs 提供可视化界面,方便操作人员监控和干预生产过程。