菜单

技术说明

功能块

FB_CTRL_TempController

温度控制器功能块 FB_CTRL_TempController 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。

接口

VAR_INPUT

名称 类型 初始化 描述
eCtrlMode ControlToolBox.E_CtrlMode 操作模式: passive, activ, check
bSelSetpoint BOOL FALSE = fW1, TRUE = fW2
fW1 LREAL 设定点
fW2 LREAL 备选设定点,一般低于fW1
fX LREAL 实际值
fYManual LREAL 手动模式下的控制值
bOpenThermocouple BOOL TRUE: 热电偶断线,硬件反馈信号
bReverseThermocouple BOOL TRUE: 热电偶接线错误
bBackVoltage BOOL TRUE: 热电偶接线错误
bLeakage BOOL TRUE: 加热单元检测到漏电流,硬件反馈信号
bShortCircuit BOOL TRUE: 加热单元检测到短路,硬件反馈信号
bOpenCircuit BOOL TRUE: 加热单元检测到断路,硬件反馈信号
sParaControllerExternal ST_CTRL_ParaController 外部控制器参数

VAR_IN_OUT

名称 类型 初始化 描述
sControllerParameter ST_CTRL_TempCtrlParameter 一般参数(采样时间等)

VAR_OUTPUT

名称 类型 初始化 描述
fYAnalog LREAL 模拟控制值
bYPWMPos BOOL 脉宽调制,加热模式
bYPWMNeg BOOL 脉宽调制,冷却模式
bYDigPos BOOL 三点式:数字控制值,正向
bYDigNeg BOOL 三点式:数字控制值,负向
dwAlarm DWORD 最多可以监控32个独立报警状态
fMaxOverShoot LREAL 最大超调量,反映控制质量
tStartUpTime TIME 启动时间
eCtrlState ControlToolBox.E_CtrlState ControlToolBox.E_CtrlState.eCTRL_STATE_IDLE 控制器状态
sParaControllerInternal ST_CTRL_ParaController 内部控制器参数集
bError BOOL 错误状态
eErrorId ControlToolBox.E_CtrlErrorCode 错误标识码
fYP LREAL 0.0 比例环节控制值
fYI LREAL 0.0 积分环节控制值
fYD LREAL 0.0 微分环节控制值
fTempVelo LREAL 温度变化速率

使用要求

开发环境 目标平台 需要包含的PLC 库
MetaFacture PC ZKSDTempControl

结构体定义

ST_CTRL_TempCtrlParameter

名称 类型 初始化 描述
iMode E_CTRL_ControlMode 1=加热模式, 2=冷却模式, 3=加热和冷却模式
iReactionOnFailure E_CTRL_ReactionOnFailure 0=控制器关闭, 1=手动操作, 2=yMin, 3=yMax
bSelCtrlParameterSet BOOL FALSE = 内部参数, TRUE = 外部参数
dwAlarmSupp DWORD 警报抑制
tCtrlCycleTime TIME 控制器采样时间
tTaskCycleTime TIME plc任务周期
iTuningMode E_CTRL_TuneMode 仅加热、仅冷却、先加热后冷却或相反
tTuneStabilisation TIME TIME#20s0ms 等待系统稳定
fEndTunePercentHeating LREAL 80.0 当 X > 0.8*W 时,切换到闭环控制
fYTuneHeating LREAL 调整过程中施加阶跃信号
fYStableHeating LREAL 调整操作
fEndTunePercentCooling LREAL 20.0 当 X < 0.2*W 时,切换到闭环控制
fYTuneCooling LREAL 调整过程中施加阶跃信号
fYStableCooling LREAL 调整操作
fScalingFactor LREAL 1.0 KP 加热/冷却的比例系数缩放因子
fWMin LREAL 设定值下限
fWMax LREAL 设定值上限
bEnableSoftStart BOOL FALSE = 无软启动, TRUE = 软启动
bEnableRamping BOOL FALSE = 无斜坡调整, TRUE = 斜坡调整
fWStartUp LREAL 软启动平台设定值
tStartUp TIME 软启动等待时间
bStartUpRamping BOOL 在启动阶段启用斜坡调整
fWStartUpVeloPos LREAL 启动阶段设定值增加的最大斜率
fWStartUpVeloNeg LREAL 启动阶段设定值减少的最大斜率
fWVeloPos LREAL 设定值增加的最大斜率
fWVeloNeg LREAL 设定值减少的最大斜率
bFilter BOOL 启用滤波器
tFilter TIME 实际值滤波器的时间常数
bDeadband BOOL 死区参数
fEDeadband LREAL 死区正值(K)
bDeadbandOnInput BOOL 默认情况下,死区作用于输入;如果为FALSE,死区作用于输出
bMinimizeOvershoot BOOL 超调最小化参数
fEDelta LREAL 最小化控制误差
fYMinimizeOvershoot LREAL 最小化超调量
fYMin LREAL 控制值下限
fYMax LREAL 控制值上限
fYManual LREAL 手动操作控制值
fYOnFailure LREAL 故障时控制值
bPWMCool BOOL FALSE 启用特殊冷却PWM
tPWMCycleTime TIME PWM 周期
tPWMMinOffTime TIME PWM 最小关断时间
tPWMMinOnTime TIME PWM 最小开启时间
tPWMWaitingTime TIME not yet implemented !!!!
tPWMCycleTimeCool TIME 冷却设备PWM 周期
tPWMMinOffTimeCool TIME 冷却设备PWM 最小关断时间
tPWMMinOnTimeCool TIME 冷却设备PWM 最小开启时间
tPWMWaitingTimeCool TIME not yet implemented !!!!
fYThresholdOff LREAL 三点式:关闭阈值
fYThresholdOn LREAL 三点式:开启阈值
nCyclesForSwitchOver INT 100 切换参数集周期数
bEnablePreController BOOL 启用前馈控制器
bEnableZones BOOL 启用开环控制直到接近设定值
fEnableZoneClosedLoopZone LREAL 100.0 启用闭环控制设定值周围阈值
bEnableCVFilter BOOL 启用控制值滤波器(类型参见 iFilterType)
iFilterType E_CTRL_FilterType 控制值(CV)滤波器的滤波类型
iControllerType E_CTRL_ControllerType 常用控制器为PID控制器
bAlternateParameter BOOL 切换至备用参数集 — not yet supported
nAlternateParameterSet ControlToolBox.E_CtrlParameterRecord 备用参数集数量 — not yet supported
bPPartInFeedbackPath BOOL 比例反馈控制
bDPartInFeedbackPath BOOL 微分反馈控制
TempLow LREAL 低温报警
TempLowLow LREAL 极低温报警
TempHigh LREAL 高温报警
TempHighHigh LREAL 极高温报警
TempAbsoluteHigh LREAL 绝对高温上限
TempAbsoluteLow LREAL 绝对低温下限
fTuneKp LREAL 1.2 比例增益调节参数
fTuneTn LREAL 2.0 积分时间常数调节参数
fTuneTv LREAL 0.42 前馈时间常数调节参数
fTuneTd LREAL 0.25 微分时间常数调节参数

ST_CTRL_ParaController

名称 类型 初始化 描述
KpHeat LREAL 加热模式,比例增益参数
TnHeat TIME 加热模式,积分时间常数
TvHeat TIME 加热模式,前馈时间常数
TdHeat TIME 加热模式,微分时间常数
KpCool LREAL 冷却模式,比例增益参数
TnCool TIME 冷却模式,积分时间常数
TIME E_CTRL_TuneMode 冷却模式,前馈时间常数
TdCool TIME 冷却模式,微分时间常数

ST_CTRL_RingBuffer

名称 类型
RingBuffer ARRAY \[0..RingBufferLen] OF LREAL
RingBufferPos INT

ENUM:

ERROR

名称 类型
NO_ERROR INT
TIME_OUT INT

E_CTRL_ControllerStateInternal

名称 类型 初始化
E_CTRL_ControllerStateInternalHeating INT 1
E_CTRL_ControllerStateInternalCooling INT 2

E_CTRL_ControllerType

名称 类型 初始化 描述
eCTRL_ControllerType_PID INT 1
eCTRL_ControllerType_PI INT no D-Part !
eCTRL_ControllerType_PID_Pre INT
eCTRL_ControllerType_PIDD2 INT

E_CTRL_ControlMode

名称 类型 初始化
eCTRL_ControlMode_HEATING INT 1
eCTRL_ControlMode_COOLING INT
eCTRL_ControlMode_HEATING_COOLING INT

E_CTRL_FilterType

名称 类型 初始化
eCTRL_FilterType_FIRSTORDER INT 1
eCTRL_FilterType_AVERAGE INT

E_CTRL_ReactionOnFailure

名称 类型 初始化
eCTRL_ReactionOnFailure_NoFailure INT 0
eCTRL_ReactionOnFailure_StopController INT
eCTRL_ReactionOnFailure_SetManMode INT
eCTRL_ReactionOnFailure_SetYMax INT
eCTRL_ReactionOnFailure_SetYMin INT
eCTRL_ReactionOnFailure_SetYMean INT

E_CTRL_STATE_TUNING

名称 类型 初始化 描述
eCTRL_STATE_TUNING_INIT INT 0 初始化状态
eCTRL_STATE_TUNING_IDLE INT 1 空闲状态
eCTRL_STATE_TUNING_PULSE INT 4 重启,脉冲激励状态
eCTRL_STATE_TUNING_STEP INT 5 手动操作,阶跃激励状态
eCTRL_STATE_TUNING_READY INT 6 整定完成状态
eCTRL_STATE_TUNING_ERROR INT 7 整定错误状态

E_CTRL_TuneMode

名称 类型 初始化 描述
eCTRL_TuneMode_HEATING INT 1 阶跃响应整定:仅加热
eCTRL_TuneMode_COOLING INT 阶跃响应整定:仅冷却
eCTRL_TuneMode_HEATING_COOLING INT 阶跃响应整定:先加热,再冷却
eCTRL_TuneMode_COOLING_HEATING INT 阶跃响应整定:先冷却,再加热
eCTRL_TuneMode_OSCILLATION INT 动态振荡整定

报警位掩码

名称 类型 初始化 描述
硬件报警
nAlarmOpenThermocouple DWORD 2#1 热电偶开路警告
nAlarmReverseThermocouple DWORD 2#10 热电偶反接警告
nAlarmBackVoltage DWORD 2#100 反向电压警告
nAlarmLeakageCurrent DWORD 2#1000 漏电流警告
nAlarmShortCircuit DWORD 2#10000 短路警告
nAlarmOpenCircuit DWORD 2#100000 断路警告
软件报警
nAlarmLimitLow DWORD 2#100000000 低温警告
nAlarmLimitLowLow DWORD 2#1000000000 极低温警告
nAlarmLimitHigh DWORD 2#10000000000 高温警告
nAlarmLimitHighHigh DWORD 2#100000000000 极高温警告
nAlarmAbsoluteHigh DWORD 2#1000000000000 绝对高温警告
nAlarmAbsoluteLow DWORD 2#10000000000000 绝对低温警告
nAlarmSlopeMin DWORD 2#10000000000000000 最小斜率警告
nAlarmSlopeMax DWORD 2#100010000000000000 最大斜率警告

使用要求

开发环境 目标平台 需要包含的PLC 库
MetaFacture PC ZKSDTempControl

全局常量

名称 类型 初始化 描述
RingBufferLen INT 10 RingBuffer global variables
MAX_LOGBUFFER_LEN INT 1000 log data

例程和库下载

此产品的示例代码和配置获取链接:<链接>\[待插入]。在那里,您可以选择克隆存储库或下载包含示例的ZlP文件。

存在以下示例:

名称 <产品>版本 描述
--.project -- CODESYS例程
ZKSDTempControl.compiled-library V1.0.0.0 温度控制算法库
ControlToolBox.compiled-library V1.1.3.0 控制工具库

使用要求

开发环境 目标平台 需要包含的PLC 库
MetaFacture PC ZKSDTempControl
最近修改: 2025-04-28