以下部分对控制工具箱中的功能块进行概要描述。
大多数功能块的运行模式可通过该输入进行选择,从而支持以下运行模式:
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| eCTRL_MODE_IDLE | INT | 0 | 空闲模式 |
| eCTRL_MODE_PASSIVE | INT | 1 | 被动模式 |
| eCTRL_MODE_ACTIVE | INT | 2 | 主动模式 |
| eCTRL_MODE_RESET | INT | 3 | 复位模式 |
| eCTRL_MODE_MANUAL | INT | 4 | 手动模式 |
| eCTRL_MODE_TUNE | INT | 5 | 调试模式 |
| eCTRL_MODE_SELFTEST | INT | 6 | 自检模式 |
| eCTRL_MODE_SYNC_MOVEMENT | INT | 7 | 同步运动模式 |
| eCTRL_MODE_FREEZE | INT | 8 | 冻结模式 |
必要的参数通过此结构传递到功能块。所有参数结构中都包含变量 tTaskCycleTime 和 tCtrlCycleTime,它们的作用如下:
参数 tTaskCycleTime 指定功能块的调用周期。如果功能块在每个周期调用,则该值等于调用任务的周期时间;如果每隔一个周期调用一次,则该值应相应加倍。
参数 tCtrlCycleTime 指定控制回路的采样时间,该值必须大于或等于 tTaskCycleTime。如果tCtrlCycleTime 等于 tTaskCycleTime,则功能块在每次调用时执行。如果 tCtrlCycleTime 设定为 tTaskCycleTime 的 5 倍,则功能块仅在每 5 次调用中执行一次。这样可以在快速任务中实现慢速控制回路。
参数 tTaskCycleTime 和 tCtrlCycleTime 的数据类型为 TIME,因此不允许输入小于 1ms 的值。
为了在周期时间小于 1ms 的高速 PLC 任务中使用控制器,可以指定一个全局基准时间作为周期时间的参考。基准时间的使用将在以下示例中说明。
假设功能块在每个任务周期中都被调用。
| Task: Configuration | tTaskCycleTime | tCtrlCycleTime | Action |
|---|---|---|---|
| T#10ms | T#10ms | T#10ms | 控制回路以 10ms 的采样时间进行处理 |
| T#10ms | T#10ms | T#50ms | 控制回路以 50ms 的采样时间进行处理 |
| T#100ms | T#100ms | T#100ms | 控制回路以 100ms 的采样时间进行处理 |
| T#100ms | T#100ms | T#50ms | 错误,无法执行! |
| T#100ms | T#50ms | T#50ms | 错误,功能块已执行,但计算出的输出值不正确! |
此输出指示功能块的当前内部状态
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| eCTRL_MODE_IDLE | INT | 0 | 空闲状态 |
| eCTRL_MODE_PASSIVE | INT | 1 | 被动状态 |
| eCTRL_MODE_ACTIVE | INT | 2 | 主动状态 |
| eCTRL_MODE_RESET | INT | 3 | 复位状态 |
| eCTRL_MODE_MANUAL | INT | 4 | 手动状态 |
| eCTRL_MODE_TUNING | INT | 5 | 正在调试 |
| eCTRL_MODE_TUNED | INT | 6 | 调试完成 |
| eCTRL_MODE_SELFTEST | INT | 7 | 自检状态 |
| eCTRL_MODE_ERROR | INT | 8 | 错误状态 |
| eCTRL_MODE_SYNC_MOVEMENT | INT | 9 | 同步运动状态 |
| eCTRL_MODE_FREEZE | INT | 10 | 冻结状态 |
该布尔输出的TRUE,指示功能块中出现错误。
bError输出值为TRUE时,此处输出错误码。

控制器功能块 FB_3Point 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fSetpointValue | LREAL | |
| fActualValue | LREAL | |
| nManSyncValue | INT | |
| bSync | BOOL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_3PointParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| bPosOut | BOOL | |
| bNegOut | BOOL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_3PointParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fPosOutOn | LREAL | ||
| fPosOutOff | LREAL | ||
| fNegOutOn | LREAL | ||
| fNegOutOff | LREAL |

控制器功能块 FB_3PointExt 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fSetpointValue | LREAL | |
| fActualValue | LREAL | |
| fManSyncValue | LREAL | |
| bSync | BOOL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_3PointExtParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_3PointExtParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fOutOff | LREAL | ||
| fOutOn | LREAL | ||
| fGain | LREAL | ||
| fOffset | LREAL |

控制器功能块 FB_P 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fKp | LREAL |

控制器功能块 FB_PI 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fSetpointValue | LREAL | 设定值 |
| fActualValue | LREAL | 实际值 |
| fManSyncValue | LREAL | 手动模式或同步模式下的输出值 |
| bSync | BOOL | 上升沿设置输出为nManSyncValue |
| eMode | E_CtrlMode | 控制模式 |
| bHold | BOOL | 积分保持 |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PIParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | 控制输出 |
| bARWactive | BOOL | fOut 达到限制值 |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PIParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| tTn | TIME | ||
| fKp | REAL | ||
| fOutMaxLimit | LREAL | ||
| fOutMinLimit | LREAL | ||
| bARWOnIPartOnly | BOOL |

控制器功能块 FB_PID 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fSetpointValue | LREAL | 设定值 |
| fActualValue | LREAL | 实际值 |
| fManSyncValue | LREAL | 手动模式或同步模式下的输出值 |
| bSync | BOOL | 上升沿设置输出为nManSyncValue |
| eMode | E_CtrlMode | 控制模式 |
| bHold | BOOL | 积分保持 |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PIDParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | 控制输出 |
| bARWactive | BOOL | fOut 达到限制值 |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PIDParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fKp | LREAL | ||
| tTn | TIME | ||
| tTv | TIME | ||
| tTd | TIME | ||
| fOutMaxLimit | LREAL | ||
| fOutMinLimit | LREAL | ||
| bPInTheFeedbackPath | BOOL | ||
| bDInTheFeedbackPath | BOOL | ||
| bARWOnIPartOnly | BOOL |

控制器功能块 FB_PIDSplitRange 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fSetpointValue | LREAL | 设定值 |
| fActualValue | LREAL | 实际值 |
| eParameterRecord | E_CtrlParameterRecord | |
| fManSyncValue | LREAL | 手动模式或同步模式下的输出值 |
| bSync | BOOL | 上升沿设置输出为nManSyncValue |
| eMode | E_CtrlMode | 控制模式 |
| bHold | BOOL | 积分保持 |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PIDSplitRangeParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOutPos | LREAL | |
| fOutNeg | LREAL | |
| fOut | LREAL | 控制输出 |
| bARWactive | BOOL | fOut 达到限制值 |
| bParameterChangeActive | BOOL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PIDSplitRangeParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fKp_heating | LREAL | 0 | |
| tTn_heating | TIME | TIME#0ms | |
| tTv_heating | TIME | TIME#0ms | |
| tTd_heating | TIME | TIME#0ms | |
| fKp_cooling | LREAL | 0 | |
| tTn_cooling | TIME | TIME#0ms | |
| tTv_cooling | TIME | TIME#0ms | |
| tTd_cooling | TIME | TIME#0ms | |
| nParameterChangeCycleTicks | UDINT | ||
| fOutMaxLimit | LREAL | 1E+38 | |
| fOutMinLimit | LREAL | -1E+38 | |
| bPInTheFeedbackPath | BOOL | FALSE | |
| bDInTheFeedbackPath | BOOL | FALSE | |
| bARWOnIPartOnly | BOOL | FALSE |

控制器功能块 FB_PIDExtSplitRange 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fSetpointValue | LREAL | 设定值 |
| fActualValue | LREAL | 实际值 |
| eParameterRecord | E_CtrlParameterRecord | |
| fManSyncValue | LREAL | 手动模式或同步模式下的输出值 |
| bSync | BOOL | 上升沿设置输出为nManSyncValue |
| eMode | E_CtrlMode | 控制模式 |
| bHold | BOOL | 积分保持 |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PIDExtSplitRangeParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOutPos | LREAL | |
| fOutNeg | LREAL | |
| fOut | LREAL | 控制输出 |
| fOut_WithoutDeadband | LREAL | 无死区限制控制值 |
| bARWactive | BOOL | fOut 达到限制值 |
| bParameterChangeActive | BOOL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PIDEXTSplitRangeParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fKp_heating | LREAL | 0 | |
| tTn_heating | TIME | TIME#0ms | |
| tTv_heating | TIME | TIME#0ms | |
| tTd_heating | TIME | TIME#0ms | |
| fKp_cooling | LREAL | 0 | |
| tTn_cooling | TIME | TIME#0ms | |
| tTv_cooling | TIME | TIME#0ms | |
| tTd_cooling | TIME | TIME#0ms | |
| nParameterChangeCycleTicks | UDINT | ||
| fDeadBandInput | LREAL | 0.0 | |
| fDeadBandOutput | LREAL | 0.0 | |
| fInnerWindow | LREAL | 0.0 | |
| fOuterWindow | LREAL | 0.0 | |
| fOutMaxLimit | LREAL | 1E+38 | |
| fOutMinLimit | LREAL | -1E+38 | |
| bPInTheFeedbackPath | BOOL | FALSE | |
| bDInTheFeedbackPath | BOOL | FALSE | |
| bARWOnIPartOnly | BOOL | FALSE |

控制器功能块 FB_PIDSplitRangeParameterSwitch 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fManipulatedVariable | LREAL | |
| bDisableHeating | BOOL | |
| bDisableCooling | BOOL | |
| nManSyncValue | INT | |
| bSync | BOOL | 上升沿设置输出为nManSyncValue |
| eMode | E_CtrlMode | 控制模式 |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PIDSplitRangeParameterSwitchParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| eParameterRecord | E_CtrlParameterRecord | |
| fOutMaxLimit | LREAL | |
| fOutMinLimit | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PIDSplitRangeParameterSwitchParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fThreshold | LREAL | ||
| fOutMaxLimit | LREAL | ||
| fOutMinLimit | LREAL | ||
| bMinWaitTime | TIME |

VAR_INPUT
| 名称 | 类型 | 初始化 |
|---|---|---|
| Excute | BOOL | FALSE |
VAR_IN_OUT
| 名称 | 类型 | 初始化 |
|---|---|---|
| stParams | ST_CoEReadParams |
VAR_OUTPUT
| 名称 | 类型 | 初始化 |
|---|---|---|
| Done | BOOL | FALSE |
| Busy | BOOL | FALSE |
| Error | BOOL | FALSE |
| ErrorId | ETC_CO_Error | ETC_CO_ERROR.ETC_CO_NO_ERROR |
ST_CoEReadParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| wIndex | WORD | 0 | |
| bySubindex | BYTE | 0 | |
| pBuffer | CAA.PVOID | 0 | |
| szSize | CAA.SIZE | ||
| pETCSlave | POINTERV TO ETCSlave |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| Excute | BOOL | 上升沿触发 |
| ResetType | USINT | bit0:复位轴报警 bit1:复位轴状态 bit2:复位驱动器状态 bit3:复位总线状态 |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| Axis | AXIS_REF_SM3 | 轴名称 |
| Drive | ETCSlave | 驱动器名称 |
| Master | IoDrvEtherCAT | 主站名称 |
VAR_OUTPUT
| 名称 | 类型 | 初始化 |
|---|---|---|
| Done | BOOL | FALSE |
| Busy | BOOL | FALSE |
| Error | BOOL | FALSE |
| ErrorId | UINT |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| Excute | BOOL | 上升沿触发 |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| Busy | ARRAY\[0..(MAX_NUM_NODE_MASTER-1),0..(MAX_NUM_NODE_SLAVE-1)] OF BOOL | 执行中 |
| Done | ARRAY\[0..(MAX_NUM_NODE_MASTER-1),0..(MAX_NUM_NODE_SLAVE-1)] OF BOOL | 复位完成 |
| Error | ARRAY\[0..(MAX_NUM_NODE_MASTER-1),0..(MAX_NUM_NODE_SLAVE-1)] OF BOOL | |
| ErrorId | ARRAY\[0..(MAX_NUM_NODE_MASTER-1),0..(MAX_NUM_NODE_SLAVE-1)] OF UINT | |
| NodesValid | BOOL | 硬件树信息可用 |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| Excute | BOOL | 上升沿触发 |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| Busy | ARRAY\[0..(MAX_NUM_NODE_MASTER-1)] OF BOOL | 执行中 |
| Done | ARRAY\[0..(MAX_NUM_NODE_MASTER-1)] OF BOOL | 复位完成 |
| Error | ARRAY\[0..(MAX_NUM_NODE_MASTER-1)] OF BOOL | |
| ErrorId | ARRAY\[0..(MAX_NUM_NODE_MASTER-1)] OF UINT | |
| NodesValid | BOOL | 硬件树信息可用 |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_DeadBandParams |
VAR_OUTPUT
| 名称 | 类型 | 初始化 |
|---|---|---|
| fOut | LREAL | |
| bInIsUnderThreshold | BOOL | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_DeadBandParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fThreshold | LREAL |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_LimiterParams |
VAR_OUTPUT
| 名称 | 类型 | 初始化 |
|---|---|---|
| fOut | LREAL | |
| bMinLimit | BOOL | |
| bMaxLimit | BOOL | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_LimiterParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fMinOutput | LREAL | ||
| fMaxOutput | LREAL |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fPwmIn | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PWMOutParams |
VAR_OUTPUT
| 名称 | 类型 | 初始化 |
|---|---|---|
| bPwmOutBitPos | BOOL | |
| bPwmOutBitNeg | BOOL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PWMOutParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tTaskCycleTime | TIME | TIME#0ms | |
| tPWMPeriod | TIME | ||
| bInstantPWMUpdate | BOOL |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fPwmIn | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PWMOutExtParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| bPwmOutBitPos | BOOL | |
| bPwmOutBitNeg | BOOL | |
| bWaitTimeActive | BOOL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PWMOutExtParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tTaskCycleTime | TIME | TIME#0ms | |
| tPWMPeriod | TIME | ||
| tMinOnTime | TIME | ||
| tMinOffTime | TIME | ||
| tMinWaitTime | TIME |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fManSyncValue | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_NoiseGeneratorParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_NoiseGeneratorParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fAmplitude | LREAL | 0 |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| bEnable | LREAL | |
| fStart | LREAL | |
| fTarget | LREAL |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_RampParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| fVeloOut | LREAL | |
| bValueReached | BOOL | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_RampParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| fVeloPos | LREAL | ||
| fVeloNeg | LREAL |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| nStepointIndex | INT | |
| fManValue | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_SetPointGeneratorParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| bValueReached | BOOL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_SetPointGeneratorParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| pDataTable_ADR | POINTER TO LREAL | 0 | |
| pDataTable_SIZEOF | UINT | 0 | |
| pDataTable_NumberOfRows | UINT | 0 | |
| fVeloPos | LREAL | ||
| fVeloNeg | LREAL | ||
| bDisableRamping | BOOL | FALSE |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fManValue | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_SignalGeneratorParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_SignalGeneratorParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| eSignalType | E_CtrlSignalType | ||
| tCycleDuration | TIME | ||
| fAmplitude | LREAL | ||
| fOffset | LREAL | 0.0 | |
| fStart | TIME | TIME#0ms |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL | |
| fManValue | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_DigitalFilterParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_DigitalFilterParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | |
| tTaskCycleTime | TIME | TIME#0ms | |
| nFilterOrder | USINT | ||
| pCoefficientsArray_a_ADR | POINTER TO LREAL | ||
| nCoefficientsArray_a_SIZEOF | UINT | ||
| pCoefficientsArray_b_ADR | POINTER TO LREAL | ||
| nCoefficientsArray_b_SIZEOF | UINT | ||
| pDigitalFilterData_ADR | POINTER TO ST_DigitalFilterData | ||
| nDigitalFilterData_SIZEOF | UINT |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL | |
| fManSyncValue | LREAL | |
| bSync | BOOL | |
| eMode | E_CtrlMode | |
| bHold | BOOL |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_MovingAverageFilterParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_MovingAverageFilterParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | 控制周期时间 |
| tTaskCycleTime | TIME | TIME#0ms | 任务周期时间 |
| nSamplesToFilter | UINT | 采样个数 | |
| pWorkArray | POINTER TO LREAL | 0 | 缓冲区数组地址 |
| nWorkArraySize | UINT | 0 | 缓冲区数组大小 |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL | |
| fManValue | LREAL | |
| eMode | E_CtrlMode |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_NotchFilterParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_NotchFilterParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | 控制周期时间 |
| tTaskCycleTime | TIME | TIME#0ms | 任务周期时间 |
| fNotchFreq | LREAL | 0 | 频率 |
| fBandwidth | LREAL | 0 | 带宽 |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL | |
| fManSyncValue | LREAL | |
| bSync | BOOL | |
| eMode | E_CtrlMode | |
| bHold | BOOL |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PT1Params |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PT1Params
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | 控制周期时间 |
| tTaskCycleTime | TIME | TIME#0ms | 任务周期时间 |
| fKp | LREAL | 0 | |
| tT1 | TIME | TIME#0ms |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL | |
| fManValue | LREAL | |
| eMode | E_CtrlMode | |
| bHold | BOOL |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PT2Params |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PT2Params
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | 控制周期时间 |
| tTaskCycleTime | TIME | TIME#0ms | 任务周期时间 |
| fKp | LREAL | 0 | |
| tT1 | TIME | TIME#0ms | |
| tT2 | TIME | TIME#0ms |

VAR_INPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fIn | LREAL | |
| fManValue | LREAL | |
| eMode | E_CtrlMode | |
| bHold | BOOL |
VAR_IN_OUT
| 名称 | 类型 | 描述 |
|---|---|---|
| stParams | ST_PTnParams |
VAR_OUTPUT
| 名称 | 类型 | 描述 |
|---|---|---|
| fOut | LREAL | |
| eState | E_CtrlState | |
| eErrorId | E_CtrlErrorCode | |
| bError | BOOL |
ST_PTnParams
| 名称 | 类型 | 初始化 | 描述 |
|---|---|---|---|
| tCtrlCycleTime | TIME | TIME#0ms | 控制周期时间 |
| tTaskCycleTime | TIME | TIME#0ms | 任务周期时间 |
| nOrder | UINT | ||
| fKp | LREAL | 0 | |
| tT1 | TIME | TIME#0ms |
该库的功能块只与FLOAT数据类型一起工作。该数据类型在附加库中定义为 LREAL 或 REAL 。