一、文档概述
1.1 文档目的
本文档基于 TF8540 版本 1.1.0,详细拆解 TwinCAT 3 塑料加工框架中 PLC 温度控制器的核心功能、技术参数、操作流程及故障处理,为技术人员提供系统化的学习参考,助力设备调试、维护及优化。
1.2 适用范围
- 适用人员:具备控制与自动化技术基础、熟悉相关国家标准的专业技术人员。
- 适用场景:塑料加工设备的 PLC 项目搭建、温度控制器调试、参数优化、故障排查。
- 软件依赖:基于 PfwLib_Processing.lib 1.0.9 及以上版本,低版本可能不支持部分功能。
1.3 核心特性
温度控制器针对塑料加工场景优化,核心优势包括:
- 快速启动,对设定值变化无超调响应。
- 故障快速修正,加热与冷却比例优化。
- 独立参数测定,生产过程中精准响应温度调整。
- 支持常见热电偶和 Pt 传感器,兼容多种 I/O 终端。
- 具备错误加热、挤出机补偿、分区控制等特殊功能。
二、核心功能模块
2.1 温度控制原理
温度控制器融合 PID 算法与 Beckhoff 专用算法,结构如下:
- 前馈控制器 + PID 控制器 + 双位控制器协同工作。
- 大设定值阶跃变化:由 Beckhoff 算法主导,达到设定温度后切换至 PID 控制器,实现无超调控制。
- 小设定值阶跃变化:采用优化后的 PID 控制器,适配大滞后场景。
- 参数测定:通过拐点切线法,分别为加热和冷却过程独立确定控制参数;测定空载负荷以减少设定值变化时的超调。
2.2 关键功能说明
三、功能块详解
3.1 核心功能块
3.1.1 FB_TempCtrlMainBody_TcPfw()
- 作用:周期性调用,统筹温度控制全流程。
- 输入参数:
- ConfigEnable(BOOL):配置有效性标识(TRUE 为有效)。
- tCycle(LREAL):周期时间。
- Looptest_Enable(BOOL):启动电流测量。
- Callback_Enable(BOOL):调用终端类型检测与参数化功能。
- Simu_Enable/Simu_DisCharge(BOOL):内部仿真开关及复位。
- 核心行为:初始化控制结构、处理参数更新、调用温度控制核心算法、触发温度报警。
3.1.2 FB_TempCtrlMainBody_TcPfw_TC3()
- 扩展功能:在基础版之上增加参数加载校验接口和温度区变量显示功能。
- 额外输入:
- iParamLoadCheck(I_ParamLoadCheck):温度区外部存储接口。
- Scope_TempCtrlVariables(FB_Scope_TempCtrlVariables):温度区内部变量显示。
3.1.3 分区控制功能块
| | |
|---|
FB_TempCtrlEnableZone_TcPfw() | | ModuleId(模块 ID)、ZoneId(区 ID)、Enable(状态) |
FB_TempCtrlStandByZone_TcPfw() | | ModuleId、ZoneId、StandBy(状态) |
| | ModuleId、ZoneId,输出包括启用状态、故障、报警等 |
3.1.4 终端交互功能块
| | |
|---|
FB_TempCtrlCallback_TcPfw() | | |
| | |
| | |
| | |
| | |
3.2 工具类功能块
3.2.1 参数存储与加载
- FB_TempParamSave_TcPfw ():将温度区参数写入文件,支持机器参数和产品参数存储。
- FB_TempParamSaveP_TcPfw ():专门存储产品参数。
- FB_TempParamLoad_TcPfw ():从文件读取参数,支持单独加载产品参数。
- 关键参数:Execute(启动信号)、PathName(文件路径)、PreFix(文件名前缀)。
3.2.2 数据适配与初始化
- FB_TempCtrlAdaptFm33xx_TcPfw ():适配 FM3312/FM3332 现场总线模块的 I/O 数据。
- FB_TempCtrlClearSupply_TcPfw ():初始化温度控制供电组数据。
- FB_TempCtrlClearZones_TcPfw ():初始化所有温度控制区数据(含机器参数、产品参数、状态数据等)。
四、数据类型定义
4.1 枚举类型
4.1.1 E_TcPfw_TempSensType(温度传感器类型)
核心类型及量程:
- eTcPfwTempSensT_TC_B:600°C~1800°C
- eTcPfwTempSensT_TC_K:-100°C~1370°C
- eTcPfwTempSensT_PT_100:-200°C~850°C
- eTcPfwTempSensT_PT_1000:-200°C~850°C
4.1.2 E_TcPfw_TerminalType(I/O 终端类型)
分类包括:
- KL 系列:如 KL331x(热电偶直接连接)、KL3403(功率测量终端)。
- EL 系列:如 EL331x(热电偶直接连接)、EL3403(EtherCAT 功率测量终端)。
- 其他模块:如 FM33xx(Profibus 热电偶模块)、EM8908(注塑机 I/O 板)。
4.1.3 E_TcPfw_TctrlOutSelect(输出信号类型)
- eTcPfwTcOut_PWM:PID 控制器衍生的 PWM 信号。
- eTcPfwTcOut_Sign:由控制器输出符号衍生的开关信号。
- eTcPfwTcOut_2step:由开关控制器(施密特触发器)生成的开关信号。
4.2 结构类型
4.2.1 ST_TcPfw_TempMparamFromHmi_Itf(机器参数结构)
核心参数:
- 温度阈值:AbsoluteHigh(高温报警阈值)、AbsoluteLow(低温报警阈值)。
- PID 参数:KpHeat/KpCool(比例系数)、TdHeat/TdCool(微分时间)、TnHeat/TnCool(积分时间)。
- 斜坡参数:Ramping_Rate(加热斜坡速率)、Ramping_RateC(冷却斜坡速率)。
- 硬件配置:TempSensTerm(终端类型)、SensorType(传感器类型)、ModuleId/ZoneId/SupplyId(分区与供电组 ID)。
4.2.2 ST_TcPfw_TempPparamFromHmi_Itf(产品参数结构)
核心参数:
- 设定值:Setpoint(运行设定值)、StandbySetpoint(待机设定值)、Setpoints(多组备选设定值)。
- 公差阈值:Threshold_PP(外正公差)、Threshold_P(内正公差)、Threshold_M(内负公差)、Threshold_MM(外负公差)。
4.2.3 ST_TcPfw_TempToHmi_Itf(可视化数据结构)
核心参数:
- 状态数据:ActualTemp(实际温度)、PowerLevel(功率输出百分比)、Heating/Cooling(加热 / 冷却状态)。
- 过程标识:TuningActive(自整定中)、TuningDone(自整定完成)、Error(故障标识)。
五、调试与 commissioning 流程
5.1 前期准备
- 项目配置:在 TwinCAT 项目中添加 PfwLib_Processing.lib 库。
- 常量定义:设置核心常量(如 cnPfwTempCtrlFirst/cnPfwTempCtrlLast 定义温度区数量)。
- 变量声明:实例化核心功能块(如 FB_TempCtrlMainBody_TcPfw),声明输入输出变量。
5.2 参数配置
5.2.1 基础参数配置
- 机器参数(ST_TcPfw_TempMparamFromHmi_Itf):
- 配置 ZoneName(区域名称)、AbsoluteHigh/AbsoluteLow(温度阈值)。
- 选择 TempSensTerm(终端类型)、SensorType(传感器类型)、TermChannel(终端通道)。
- 设定 SupplyLoad_Heater(加热功率)、SupplyLoad_Cooler(冷却功率)。
- 产品参数(ST_TcPfw_TempPparamFromHmi_Itf):
- 配置 Setpoint(目标温度)、StandbySetpoint(待机温度)。
- 设定公差阈值(Threshold_PP/Threshold_P/Threshold_M/Threshold_MM)。
- 供电组参数(ST_TcPfw_SupplyParam):
- 配置 fPwmCycleTime(PWM 周期时间)、fPwmMaxOnTime(最大导通时间)。
5.2.2 自整定配置
- 启用自整定:设置 ST_TcPfw_TempMparamFromHmi_Itf.Autotune = TRUE。
- 关键自整定参数:
- TuneY:自整定过程中输出的加热功率百分比。
- TuneEnd:自整定目标温度(相对于设定值的百分比)。
- TuneCooling:是否对冷却过程进行自整定(需开启 UseCooling)。
- 自整定前提:
- 控制器已启用(Enable = TRUE),且稳定在待机温度。
- 实际温度与工作点温度差值不小于 40°C。
5.3 系统联调
- 初始化:调用 FB_TempCtrlClearSupply_TcPfw () 和 FB_TempCtrlClearZones_TcPfw () 初始化数据。
- 启动控制:设置 ConfigEnable = TRUE,启动核心功能块周期性调用。
- 状态监测:通过 ST_TcPfw_TempToHmi_Itf 查看实际温度、功率输出、报警状态等。
- 参数优化:根据自整定结果(如 TuningDone = TRUE),调整 PID 参数以优化控制效果。
六、报警与故障处理
6.1 报警类型及处理
6.2 常见故障排查
6.2.1 自整定失败
- 故障原因:温度不稳定(波动 > 2°C)、设定值阶跃 < 25°C、输出信号未正确选择。
- 排查步骤:
- 确认 Zone 处于稳定状态,无外部干扰。
- 增大设定值与当前温度的差值(≥40°C)。
- 检查 OutputSel_H 是否选择有效信号。
6.2.2 温度无响应
- 故障原因:传感器故障、加热带损坏、I/O 终端通信异常。
- 排查步骤:
- 通过 ST_TcPfw_TempToHmi_Itf.ErrorId 查看具体错误码。
- 检查传感器接线及类型配置(SensorType 与实际传感器匹配)。
- 调用 FB_TermCoeRead_TcPfw () 检测终端通信状态。
6.2.3 参数加载 / 保存失败
- 故障原因:文件路径不存在、权限不足、文件格式错误。
- 排查步骤:
- 确认目标路径已创建(如 C:\Parameter\)。
- 检查 SaveDelay 参数设置(-1 为未激活,0 为立即保存)。
- 验证文件是否为编码二进制格式(不可用文本编辑器修改)。
七、关键操作注意事项
- 人员资质:仅允许受过专业培训的技术人员操作,严格遵守安全规范。
- 硬件兼容:确保 I/O 终端类型与配置的 TempSensTerm 一致,避免通信故障。
- 参数修改:修改机器参数或产品参数后,需通过 SaveDelay 或 SaveParam 触发保存,避免参数丢失。
- 仿真模式:Simu_Enable 仅用于开发测试,实际生产中需禁用。
- 版本兼容:库版本更新后,新增参数将填充默认值,需重新校验参数合理性。
- 安全规范:温度阈值设定需符合设备安全要求,避免因超温导致设备损坏或安全事故。
八、附录
8.1 核心错误码对照表
| | |
|---|
| | 检查 TempSensTerm 配置,更换兼容终端 |
| | |
| | |
| | |
| | |
8.2 常用工具函数
- FUN_TempCtrlSensorTypeCode_TcPfw:将文本传感器类型转换为数值。
- FUN_TempCtrlSensorTypeName_TcPfw:将数值传感器类型转换为文本。