浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
SIEMENS/西门子6ES7221-1BH22-0XA8

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


发布时间:2023-10-26
展开全文
优质商家推荐 拨打电话