如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器

n

WinCC中变量的数据类型可能会不同于自动化系统中所使用的数据类型。因此,当组态外部变量时,除了要定义该变量的数据类型,还必须对所有数字型数据类型执行类型转换。类型转换定义如何从WinCC格式转换到AS格式,该定义适用于双向传送。
下表显示哪些WinCC数据类型支持类型转换:n

数据类型 类型转换
二进制变量
无符号8位数
有符号8位数
无符号16位数
有符号16位数
无符号32位数
有符号32位数
浮点数32位IEEE 754
浮点数64位IEEE 754
文本变量8位字符集
文本变量16位字符集
原始数据类型

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

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。n

1.2具体步骤

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 1.2.1n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 1.2.2n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 1.2.3n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 1.2.4n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 1.2.5n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 1.2.6n

运行效果如下图所示:n

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 1.2.7n

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

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 2.1.1n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
   
用于S5TIME的通用格式对范围和分辨率的限制如下:n

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器

2.2 具体步骤

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
    图 2.2.1n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 2.2.2n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
     图 2.2.3n

(4) 运行效果:n

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 2.2.4n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器

     图 2.2.5n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
     图 2.2.6n

运行效果为:n

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
    图 2.2.7n

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
     图 2.3.1n

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

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 3.1.1

3.2 具体步骤

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 3.2.1

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

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 3.2.2

(3) 运行效果:

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
图 3.2.3

关键词
WinCC, 类型转换 , TIME, S5TIME, 定时器,计数器

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328636.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论