admin管理员组

文章数量:1586229

2024年3月30日发(作者:)

如何使用WinCC中的原始数据类型

使用情况:PLC一次需要传递大量数据给HMI;反之亦然!

当然了,这也是WinCC的一个小漏洞,就是在Tags点数有限的情况

下,可以使用这种方法来扩展点数。

提醒:此方式下。PLC与HMI只能使用“字节”进行交互。

以下重点阐述“浮点数”交互的问题!关于“DINT”或“INT”,大家

可以参照“浮点数”的交互方式。其实“浮点数”交互时,依据的也

就是“DINT”型数据。

举例:REAL:A(保留小数点后两位)

DINT:B

推导:B= REAL_To_DINT(A*100.0)

A= DINT_To_REAL(B)/100.0

通过上述,我们很容易得出一个结论:可以操作的“浮点数”范围应

限制在“-21474836.48~21474836.47”内,也就是其扩大100倍后,

在一个“DINT”范围内。

这里建议大家将“浮点数”范围限制在“-20000000.00~20000000.00”,

当超出范围时,HMI和PLC中应有相应的防护、报警措施。(以下文

中并没有具体给出防护、报警措施)

数据交互时,为了保证数据的有效性,①这里还简单的做了一下“和

校验”,当然亦可以扩展其他的校验方式。(校验必须要有)②还需要

增加检验 “PLC与HMI”是否断线从而保证交互数据的有效性!

“PLC与HMI”之间断线判断方法:PLC发送递增数据至HMI,判断“当

前周期数据”与“上一周期数据”是否不一样:①“不相等”,即通

讯正常;②“相等”,且持续“一段时间”(5~10秒),即通讯异常!

反之:HMI发送递增数据至PLC,判断方法和上面一样!

一、数据方向:PLC To HMI(HMI From PLC)

1、PLC工作:

PLC创建“DB1”数据块,注意创建的数据类型是“DINT”;

将浮点数转换为双整数,并存入DB1中。(这里将要传递的数据,逐

一转换后,存入DB1中)

定义:REAL:A(保留小数点后两位) DINT:B

推导:B= REAL_To_DINT(A*100.0)

本文标签: 数据浮点数交互使用