S7-300 计数器的使用

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(双向计数器)放入程序段中,给管脚填写相关参数。

2 Step7添加COUNTER计数器指令

S_CUD 指令管脚参数如下表1

参数

数据类型

存储区

描述

C编号

COUNTER

C

计数器标识号;其范围依赖于CPU

CU

BOOL

IQMLD

升值计数输入

CD

BOOL

IQMLD

降值计数输入

S

BOOL

IQMLD

为预设计数器设置输入

PV

WORD

IQMLD

或常数

将计数器值以"C#<>"的格式输入(范围0999)

R

BOOL

IQMLD

复位输入

CV

WORD

IQMLD

当前计数器值,十六进制数字

CV_BCD

WORD

IQMLD

当前计数器值,BCD

Q

BOOL

IQMLD

计数器状态

1 S_CUD的管脚参数说明

给指令的 S 管脚发脉冲,将预设值 PV 传到 C0CVCV_BCD 中。给 CU 管脚发脉冲进行增计数,给 CD 管脚发脉冲进行减计数,CV 以十进制记录当前计数器值。如图3所示

3执行计数器C0工作

2.2               Step7中使用IEC_TC计数器

IEC _TC计数器一共有3种(SFB0SFB1SFB2),如图4所示。拖拽指令SFB2 放入程序段中,给管脚填写相关参数。

4 Step7添加IEC_TC计数器指令

SFB2 功能块管脚参数如下表2

参数

声明

数据类型

存储区

描述

CU

INPUT

BOOL

IQMDL

常数

递增计数输入。

CD

INPUT

BOOL

IQMDL

常数

降值计数输入

R

INPUT

BOOL

IQMDL

常数

重置输入。R优先于LOAD

LOAD

INPUT

BOOL

IQMDL

常数

加载输入。LOAD优先于CU

CD

PV

INPUT

INT

IQMDL

常数

预设值。LOAD输入的信号级别为1时,将把

计数器设置为

预设值PV

QU

OUTPUT

BOOL

IQMDL

递增计数器的状态:QU具有下列值:1,如果CV >PV

0,其它情况

QD

OUTPUT

BOOL

IQMDL

递减计数器的状态:QD具有下列值:

1,如果CV < 0

0,其它情况

CV

OUTPUT

INT

IQMDL

当前计数值

(允许值:-32 76832 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计数器指令