1 概述
SIMATIC S7-300 有2 种类型的计数器,一种是COUNTER 型,另一种是IEC_TC 型。
STEP 7 将COUNTER 以二进制数形式存储在字(16 位)中。下面的图1 显示了该参数类型的格式。输入格式为:C#xx。显示数据为BCD码格式。
图1 计数器格式
2.
在步骤7 中使用计数器
2.1 在Step7中使用COUNTER计数器
步骤7,如图2所示,将计数器指令库中的指令S_CUD(双向计数器)拖入程序段中,并填写管脚的相关参数。
图2Step7 添加COUNTER计数器指令
S_CUD指令管脚参数如表1所示。
参数数据类型存储区描述C号COUNTERC计数器标识号;其范围取决于CPUCUBOLI,Q、M、L、D 递增计数输入CDBOOLI、Q、M、L、D 递减计数输入SBOOLI、Q、M、L、D 为预置计数器设置输入PVWORDI、Q、M、L ,D
或者常数输入“C#值”格式的计数器值(范围0 到999) RBOOLI, Q, M, L, D 复位输入CVWORDI, Q, M, L, D 当前计数器值,十六进制数CV_BCDWORDI, Q, M、L、D 当前计数器值、BCD 码QBOOLI、Q、M、L、D 计数器状态表1S_CUD 引脚参数说明
对指令的S 引脚施加脉冲,并将预设值PV 传送到C0、CV 和CV_BCD。向CU引脚发送脉冲进行加计数,向CD引脚发送脉冲进行减计数,CV以十进制形式记录当前计数器值。如图3所示
图3 执行计数器C0工作
2.2 在步骤7中使用IEC_TC计数器
IEC _TC 计数器共有三种类型(SFB0、SFB1、SFB2),如图4 所示。将命令SFB2 拖入程序段中,并填写引脚的相关参数。
图4Step7 添加IEC_TC计数器指令
SFB2功能块引脚参数如表2所示。
参数声明数据类型存储区域说明CUINPUTBOOLI、Q、M、D、L、
恒定递增计数输入。 CDINPUTBOOLI,Q,M,D,L,
恒定向下计数输入RINPUTBOOLI、Q、M、D、L、
恒定复位输入。 R 优先于LOAD。 LOADINPUTBOLI,Q,M,D,L,
恒定负载输入。 LOAD 优先于CU
和CD。 PVINPUTINTI,Q,M,D,L,
常数默认值。当LOAD输入信号电平为1时,
计数器设置为
0,其他情况下QDOUTPUTBOOLI,Q、M、D、L递减计数器状态:QD有以下值:
如果CV 0,则为1
0,其他情况为CVOUTPUTINTI、Q、M、D、L的当前计数值
(允许值:-32 768 至32 767) 表2 SFB2 引脚参数说明
下载程序,发送脉冲到LOAD(M200.4),并将预设值PV传送到CV(MW202)。向CU(M200.0)引脚发送脉冲进行加计数,向CD(M200.1)引脚发送脉冲进行减计数,CV(MW202)以十进制形式记录当前计数器值。如图5所示。
图5 执行定时器SFB2工作情况
3. 在TIA Step7中使用计数器
3.1TIA中使用COUNTER计数器Step7
在TIA Step 7中,如图6所示,将计数器操作指令库中的指令S_ODTS拖放到程序段中,并填写管脚的相关参数。
图6TIA Step7 添加COUNTER计数器指令
操作与步骤7相同,此处不再赘述。
3.2在TIA Step7中使用IEC_TC计数器
如图7所示,TIA Step7中的CTUD与Step7中的SFB2略有不同,并且没有引脚EN和ENO。不过引脚的使用操作与步骤7相同,这里不再赘述。
图7TIA Step7 添加IEC计数器指令
审稿人:刘庆