CHARCURVE
- 位置
sys_utils.aclib
- 功能说明
将输入信号映射到特征曲线上
特征曲线由一组点给出,这些点包括一组x值及其对应的y值。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
IN | DINT | 输入信号 | × | × |
N | BYTE | 定义特征曲线的点数:2 <= N <= 11 | ✔ | × |
输入输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
P | ARRAY[0..10] OF POINT | 描述特征曲线的点阵列 | ✔ | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
OUT | DINT | 输出变量,包含操作值 | ✔ | × |
ERR | BYTE | 0:无错误1: P中的错误:错误序列(完全测试,仅当in等于P的最大x值时)2: IN在P的极限之外4: N无效,点数不在允许范围内2..11 | × | × |
- 示例
CFC示例
ST示例
LD示例
IL示例
RAMP_INT
- 位置
sys_utils.aclib
- 功能说明
将某值的斜率限制在某一特定值
坡度的限制是由最大上升值ascend和最大下降值descend以及一个时间基准TIMEBASE定义上升或下降的保持时间。
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
IN | INT | 输入值 | × | × |
ASCEND | INT | 加速限制:每个时间基准上升的最大值。例如:ASCEND:= 25 and TIMEBASE:= t#1s =>每秒上升的最大值是25 | ✔ | × |
DESCEND | INT | 减速限制:每个时间基准下降的最大值(descent>0)。例如:descent:= 20 and TIMEBASE:= t# 500ms =>每500毫秒内下降的最大值是20 | ✔ | × |
TIMEBASE | TIME | 关于ASCEND/DESCEND的参考: t#0:每次调用定义ASCEND/DESCEND 否则:按指定时间定义ASCEND/DESCEND 如果TIMEBASE = t#0,则时间基准等于任务周期时间。在这种情况下,限制是指任务周期。 通常,这恰好对应于对函数块RAMP_INT的一次调用。请注意: 如果TIMEBASE小于任务周期时间,则会违反采样定理,可能导致输出信号信息丢失。 | ✔ | × |
RESET | BOOL | TRUE:停止内部计算并重新初始化函数块。维护OUT中的最后一个计算出的输出值,以便在函数块下次重新启动时使用它启动内部计算。FALSE:在输出端OUT输出平滑的输入信号。 | ✔ | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
OUT | INT | 这个值被存储在内部,用于计算输入信号的上升和下降。 | ✔ | × |
- 示例
CFC示例
ST示例
LD示例
IL示例
RAMP_REAL
- 位置
sys_utils.aclib
- 功能说明
将某值的斜率限制在某一特定值
函数块类似于RAMP_INT,不同的是输入IN、ASCEND、DESCEND和输出OUT都是REAL类型。RAMP_REAL需要更多的计算时间,但比RAMP_INT计算更精确。
注意:
对函数块进行复位(reset = TRUE),停止计算并保持最后一个输出值OUT。因此,如果之后斜坡被RESET = FALSE重新启动,它将以这个最后的输出值开始!
- 参数说明
输入参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
IN | REAL | 输入值 | × | × |
ASCEND | REAL | 最大正斜率 | ✔ | × |
DESCEND | REAL | 最大负斜率(非负!) | ✔ | × |
TIMEBASE | TIME | 关于ASCEND/DESCEND的参考:t#0:每次调用定义ASCEND/DESCEND否则:按指定时间定义ASCEND/DESCEND | ✔ | × |
RESET | BOOL | 重置功能块 | × | × |
输出参数 | 数据类型 | 描述 | 掉电保持 | 常量 |
---|---|---|---|---|
OUT | REAL | 具有有限斜率的函数值 | ✔ | × |
- 示例
CFC示例
ST示例
LD示例
IL示例