1.概述
SIMATIC S7- 300有2种类型的计数器,一个是COUNTER类型,另一个是IEC_TC类型。
STEP 7将COUNTER以二进制数字存储在字(16位)中。下图1给出该参数类型的格式,输入格式:C#xx,显示的数据是BCD码格式。
图1Counter格式
2.在Step7中使用计数器
2.1 在Step7中使用COUNTER计数器
在Step7中,如图2所示,举例,从计数器指令库拖拽指令S_CUD(双向计数器)放入程序段中,给管脚填写相关参数。
图2Step7添加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 | 计数器状态 |
表1S_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放入程序段中,给管脚填写相关参数。
图4Step7添加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) |
表2SFB2的管脚参数说明
下载程序,给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放入程序段中,给管脚填写相关参数。
图6TIA Step7添加COUNTER计数器指令
该使用操作与Step7中的一样,这里就不再过多赘述。
3.2 TIA Step7中使用IEC_TC计数器
如图7所示,TIA Step7中的CTUD与Step7的SFB2稍有不同,没有管脚EN和ENO。但是管脚使用操作与Step7中的也是一样,这里就不再过多赘述。
图7TIA Step7添加IEC计数器指令
审核编辑:刘清
-
计数器
+关注
关注
32文章
2256浏览量
94575 -
BCD编码
+关注
关注
0文章
9浏览量
6021 -
S7-300
+关注
关注
8文章
225浏览量
34301
原文标题:S7-300 计数器的使用
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论