1. 概述
SIMATIC S7- 300 有2种类型的计数器,一个是COUNTER类型,另一个是IEC_TC类型。
STEP 7将 COUNTER 以二进制数字存储在字(16位)中。下图1给出该参数类型的格式,输入格式:C#xx,显示的数据是 BCD 码格式。
图 1Counter格式
2.1 在Step7中使用COUNTER计数器
在Step7中,如图2所示,举例,从计数器指令库拖拽指令 S_CUD(双向计数器)放入程序段中,给管脚填写相关参数。
图 2 Step7添加COUNTER计数器指令
S_CUD 指令管脚参数如下表1。
参数 | 数据类型 | 存储区 | 描述 |
C编号 | COUNTER | C | 计数器标识号;其范围依赖于CPU |
CU | BOOL | I、Q、M、L、D | 升值计数输入 |
CD | BOOL | I、Q、M、L、D | 降值计数输入 |
S | BOOL | I、Q、M、L、D | 为预设计数器设置输入 |
PV | WORD |
I、Q、M、L、D 或常数 |
将计数器值以"C#<值>"的格式输入(范围0至999) |
R | BOOL | I、Q、M、L、D | 复位输入 |
CV | WORD | I、Q、M、L、D | 当前计数器值,十六进制数字 |
CV_BCD | WORD | I、Q、M、L、D | 当前计数器值,BCD码 |
Q | BOOL | I、Q、M、L、D | 计数器状态 |
表 1 S_CUD的管脚参数说明
给指令的 S 管脚发脉冲,将预设值 PV 传到 C0、CV和CV_BCD 中。给 CU 管脚发脉冲进行增计数,给 CD 管脚发脉冲进行减计数,CV 以十进制记录当前计数器值。如图3所示
图 3执行计数器C0工作
2.2 Step7中使用IEC_TC计数器
IEC _TC计数器一共有3种(SFB0、SFB1、SFB2),如图4所示。拖拽指令SFB2 放入程序段中,给管脚填写相关参数。
图 4 Step7添加IEC_TC计数器指令
SFB2 功能块管脚参数如下表2。
参数 | 声明 | 数据类型 | 存储区 | 描述 |
CU | INPUT | BOOL |
I、Q、M、D、L、 常数 |
递增计数输入。 |
CD | INPUT | BOOL |
I、Q、M、D、L、 常数 |
降值计数输入 |
R | INPUT | BOOL |
I、Q、M、D、L、 常数 |
重置输入。R优先于LOAD。 |
LOAD | INPUT | BOOL |
I、Q、M、D、L、 常数 |
加载输入。LOAD优先于CU 和CD。 |
PV | INPUT | INT |
I、Q、M、D、L、 常数 |
预设值。LOAD输入的信号级别为1时,将把 计数器设置为 预设值PV。 |
QU | OUTPUT | BOOL | I、Q、M、D、L |
递增计数器的状态:QU具有下列值:1,如果CV >PV 0,其它情况 |
QD | OUTPUT | BOOL | I、Q、M、D、L |
递减计数器的状态:QD具有下列值: 1,如果CV < 0 0,其它情况 |
CV | OUTPUT | INT | I、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.1 TIA Step7中使用COUNTER计数器
在TIA Step7中,如图6所示,举例,从计数器操作指令库拖拽指令 S_ODTS放入程序段中,给管脚填写相关参数。
图 6 TIA Step7添加COUNTER计数器指令
该使用操作与Step7中的一样,这里就不再过多赘述。
3.2 TIA Step7中使用IEC_TC计数器
如图7所示,TIA Step7 中的 CTUD 与 Step7 的 SFB2 稍有不同,没有管脚 EN 和 ENO。但是管脚使用操作与Step7中的也是一样,这里就不再过多赘述。
图 7 TIA Step7添加IEC计数器指令
全部0条评论
快来发表一下你的评论吧 !