自动化网-工控人家园官网移动版

主页 > 工控品牌 > 西门子 >

怎样在WinCC项目中监控S7300/400PLC的定时器及计数器

WinCC中变量的数据类型可能会不同于自动化系统中所使用的数据类型。因此,当组态外部变量时,除了要定义该变量的数据类型,还必须对所有数字型数据类型执行类型转换。类型转换定义如何从WinCC格式转换到AS格式,该定义适用于双向传送。
下表显示哪些WinCC数据类型支持类型转换: 数据类型 类型转换 二进制变量  无符号8位数  有符号8位数  无符号16位数  有符号16位数  无符号32位数  有符号32位数  浮点数32位IEEE 754  浮点数64位IEEE 754  文本变量8位字符集  文本变量16位字符集  原始数据类型 

有关类型转换的详细信息,您可在WinCC信息系统中的“通讯”>“过程通讯”>“WinCC过程通讯”>“外部变量”中找到。
下面我们分别说明如何利用WinCC的类型转换功能来实现在WinCC项目中监控300/400plc中的TIME,S5TIME数据类型变量及定时器和计数器的值。

1.在WinCC项目中监控S7 300/400 PLC中的TIME类型变量

1.1关于TIME数据类型
TIME为带符号的32位IEC时间数据类型,时间增量为1ms,取值范围为T#-24D_20H_31M_23S_648MS至T#24D_20H_31M_23S_647MS。

1.2具体步骤

(1) 在Step中创建PLC站的DB1,并在DB中创建TIME类型的变量T,如下图所示:

图 1.2.1

(2) 在WinCC项目中创建变量Time1,数据类型为“有符号32位数”, 调整格式为“LongToSignedDword”。选择对应PLC变量的地址DB1,DD0。此时的变量单位为毫秒,为了使该变量对应单位为分钟,设置相应线性转换参数,如下图所示:


图 1.2.2

(3) 在WinCC画面中创建用于访问该变量的I/O域,设置如下图所示:


图 1.2.3

(4) 运行效果如下图所示:


图 1.2.4

(5) 如果需要在WinCC项目中以浮点数格式来监控PLC中的TIME类型变量,则在创建WinCC变量时应选择“浮点数32位IEEE754”,调整格式为“FloatToSignedDword”, 选择对应PLC变量的地址DB1.DD0。具体设置如下图所示:

图 1.2.5

在WinCC画面中创建用于访问该变量的I/O域,设置如下图所示:

图 1.2.6

运行效果如下图所示:

图 1.2.7

2. 在WinCC项目中监控300/400PLC中的S5TIME类型变量

2.1 关于S5TIME数据类型
S5TIME为无符号16位S5时间数据类型,由3位BCD码时间值(0-999)和时基组成,如下图所示:

图 2.1.1

时间基准定义将时间值递减一个单位所用的时间间隔。最小的时间基准是10毫秒;最大的时间基准是10秒。如下表所示:

用于S5TIME的通用格式对范围和分辨率的限制如下:

2.2 具体步骤

(1) 在Step中创建PLC站的DB1,并在DB中创建S5TIME类型的变量ST,如下图所示:


    图 2.2.1

(2) 在WinCC项目中创建变量S5time,数据类型为“无符号32位数”, 调整格式为“DwordToSimaticBCDTimer”。选择对应PLC变量的地址DB1,DW4。此时的变量单位为毫秒,为了使该变量对应单位为秒,设置相应线性转换参数,如下图所示:


图 2.2.2

(3) 在WinCC画面中创建用于访问该变量的I/O域,设置如下图所示:


     图 2.2.3

(4) 运行效果:


图 2.2.4

(5) 如果需要在WinCC项目中以浮点数格式来监控PLC中的S5TIME类型变量,则在创建WinCC变量时应选择“浮点数32位IEEE754”,调整格式为“FloatToSimaticBCDTimer”, 选择对应PLC变量的地址DB1,DW4。具体设置如下图所示:

 

     图 2.2.5

在WinCC画面中创建用于访问该变量的I/O域,设置如下图所示:


     图 2.2.6

运行效果为:


    图 2.2.7

2.3定时器的监控
S7 300/400 PLC为定时器保留了一片存储区域。每个定时器由一个16位的字和一个二进制位组成,定时器的字使用的是S5TIME类型,用来存放当前的定时时间值,定时器的位状态用于存放触点的状态。
用定时器地址(T和定时器号,例如T10)存取它的时间值和定时器位,PLC中使用带位操作数的指令存取定时器位,使用带字操作数的指令存取定时器的时间值。在WinCC中我们可以定义变量来监控定时器的当前值,其方法同监控S5TIME类型变量相同:


     图 2.3.1

3.在WinCC项目中监控S7 300/400 PLC中的计数器值

3.1 关于计数器
S7 300/400 PLC为计数器保留了一片存储区域。每个计数器由一个16位的字和一个二进制位组成,计数器的字用来存放它当前的计数值,计数器的位状态用于存放触点的状态。
用计数器地址(C和计数器号,例如C10)存取当前的计数值和计数器位,PLC中使用带位操作数的指令存取计数器位,使用带字操作数的指令存取计数器的计数值。在WinCC中我们可以定义变量来监控计数器的当前值。
计数字的0-11位是计数值的BCD码,计数值的范围为0-999。二进制格式的计数值只占用计数器值的0-9位,如下图所示:


图 3.1.1

3.2 具体步骤

(1) 在WinCC项目中创建变量Counter1,数据类型为“无符号16位数”, 调整 格式为“WordToSimaticBCDCounter”, 选择对应PLC变量的地址C8(显示为Z8)。如下图所示:


图 3.2.1

(2) 在WinCC画面中创建用于访问该变量的I/O域,设置如下图所示:


图 3.2.2

(3) 运行效果:


图 3.2.3

(责任编辑:admin)