CTD(递减计数器)
检测到输入开关量的 1 个上升沿,输出计数值减 1。
参数
输入参数 | 数据类型 | 功能描述 | 参数值说明 |
---|---|---|---|
CD | BOOL | 上升沿检测 | 一次上升沿CV减1 |
LOAD | BOOL | 初始化 | LOAD为 TRUE 时计数变量 CV 初始化为 PV |
PV | INT | 设定值 | -32768~32767 |
输出参数 | 数据类型 | 功能描述 | 参数值说明 |
---|---|---|---|
Q | BOOL | 计数标志输出 | 当CV 小于等于 0 时,Q输出 TRUE |
CV | INT | 计数输出 | 当前CV计数值 |
详细说明
递减计数器(CTD)实现当输入 CD 存在上升沿时计数值递减功能,输入端 CD、LOAD、输出端 Q均为 BOOL 型变量,输入端 PV、输出端 CV 均为INT 型变量,详细描述如下:
初始化功能:
当 LOAD 为 TRUE 时,计数变量 CV 将被初始化为上限 PV。
递减计数功能:
如果 CD 有从 FALSE 到 TRUE 的上升沿时,计数输出 CV 递减 1,递减到-32768后不再递减。当 CV 小于等于 0 的时候,Q 输出 TRUE。
使用举例
通过下面的组态,可实现:
当LOAD= FALSE → TRUE时,Q输出FALSE,CV输出302。
此时 LOAD变为FALSE,CD= FALSE → TRUE , Q输出TRUE,CV输出301;CD每发生一次 FALSE → TRUE ,CV输出减1。
直至CV =0,Q输出TRUE。
内容 | 图例 |
---|---|
变量定义 | |
组态语言(CFC) | |
组态语言(IL) | |
组态语言(LD) | |
组态语言(ST) |
CTD_INT(递减计数器)
该指令与CTD指令实现的功能完全一致。
CTD_DINT(递减计数器)
该指令与CTD指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为DINT。
CTD_UINT(递减计数器)
该指令与CTD指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为UINT。
CTD_UDINT(递减计数器)
该指令与CTD指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为UDINT。
CTU(递增计数器)
检测到输入开关量的 1 个上升沿,输出计数值加 1。
参数
输入参数 | 数据类型 | 功能描述 | 参数值说明 |
---|---|---|---|
CU | BOOL | 上升沿检测 | 一次上升沿CV加1 |
RESET | BOOL | 初始化 | RESET为 TRUE 时计数变量 CV 初始化为 0 |
PV | INT | 设定值 | -32768~32767 |
输出参数 | 数据类型 | 功能描述 | 参数值说明 |
---|---|---|---|
Q | BOOL | 计数标志输出 | 当CV 值大于或者等于 PV 时,Q 输出 TRUE |
CV | INT | 计数输出 | 当前CV计数值 |
详细说明
递增计数器(CTU)实现当输入 CU 存在上升沿时计数递加功能,输入变量 CU 和 RESET、输出变量 Q 都为 BOOL 类型,输入变量 PV 和输出变量 CV 都为 INT 类型,详细描述如下:
初始化功能:
当 RESET为 TRUE 时,计数输出 CV 初始化为 0。
递增计数功能:
如果 CU 有从 FALSE 到 TRUE 的上升沿时,计数输出 CV 递增 1,递增至32767后不再递增。当 CV 大于等于设定值 PV时,Q 输出 TRUE。
使用举例
通过下面的组态,可实现:
当RESET= FALSE, CU= FALSE → TRUE时,Q输出FALSE,CV输出1。CU每发生一次 FALSE → TRUE , CV输出加1,直至CV ≥ PV,Q输出TRUE。
RESET变为TRUE,Q输出FALSE,CV输出0。
内容 | 图例 |
---|---|
变量定义 | |
组态语言(CFC) | |
组态语言(IL) | |
组态语言(LD) | |
组态语言(ST) |
CTU_INT(递增计数器)
该指令与CTU指令实现的功能完全一致。
CTU_DINT(递增计数器)
该指令与CTU指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为DINT。
CTU_UINT(递增计数器)
该指令与CTU指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为UINT。
CTU_UDINT(递增计数器)
该指令与CTU指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为UDINT。
CTUD(递增/递减计数器)
检测到不同输入开关量的 1 个上升沿,输出计数值增 1 或者减 1。
参数
输入参数 | 数据类型 | 功能描述 | 参数值说明 |
---|---|---|---|
CU | BOOL | 上升沿检测(递增) | |
CD | BOOL | 上升沿检测(递减) | |
RESET | BOOL | 复位输入 | RESET 为 TRUE 时计数变量 CV 初始化为 0,优先级高。 |
LOAD | BOOL | 初始化 | LOAD为 TRUE 时计数变量 CV 初始化为 PV,优先级低。 |
PV | INT | 设定值 |
输出参数 | 数据类型 | 功能描述 | 参数值说明 |
---|---|---|---|
QU | BOOL | 计数标志输出 | 当CV 值大于或者等于 PV 时,QU 输出 TRUE |
QD | BOOL | 计数标志输出 | 当CV 值小于或者等于0 时,QD 输出 TRUE |
CV | INT | 计数输出 |
详细说明
递加/递减指令详细功能描述如下:
初始化功能:
当 RESET 为 1 时,计数输出 CV 初始化为 0;当 Load 为 1 时,计数输出 CV 初始化为 PV。
递加/递减计数功能:
如果 CU 有从 FALSE 到 TRUE 的上升沿时,CV 加 1。如果 CD 有从 FALSE 到 TRUE 的上升沿时,CV 减1。
当 CV 大于等于 PV 时,QU 输出 TRUE。
当 CV 小于等于 0 时,QD 输出 TRUE。
使用举例
通过下面的组态,可实现:
当RESET、LOAD都为 FALSE, CU= FALSE → TRUE时,CV输出1,CU每发生一次 FALSE → TRUE , CV输出加1,直至CV 大于等于 PV,QU输出TRUE。
当RESET、LOAD都为 FALSE, CD= FALSE → TRUE时,CV输出-1,CD每发生一次 FALSE → TRUE , CV输出减1,直至CV 小于等于 0,QD输出TRUE。
LOAD变为TRUE,CV = PV,QU输出TRUE。
RESET变为TRUE,Q输出FALSE,CV输出0。
内容 | 图例 |
---|---|
变量定义 | |
组态语言(CFC) | |
组态语言(IL) | |
组态语言(LD) | |
组态语言(ST) |
CTUD_INT(递增/递减计数器)
该指令与CTUD指令实现的功能完全一致。
CTUD_DINT(递增/递减计数器)
该指令与CTUD指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为DINT。
CTUD_UINT(递增/递减计数器)
该指令与CTUD指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为UINT。
CTUD_UDINT(递增/递减计数器)
该指令与CTUD指令实现的功能完全一致,唯一区别是这里的参数CV 和PV的数据类型为UDINT。