DIAView组态软件笔记

1.为了节省成本,可以在PLC将多个开关量整合到同一个word中,这样关联的变量可以从原有的16个变成现在的一个。这样做带来的麻烦就是需要我们在脚本中自己来解析出数据,通过对2求余(mod 2)和对2整除( 2)可以轻松实现。在用户程序->时间脚本内添加我们的解析脚本,触发方式选择连续性,代码如下:

 1 Sub 时间脚本_Tick()
 2     'D800按位解析
 3     Var.双螺旋1过载 = Var.解析1 Mod 2
 4     Var.解析中间值 = Var.解析1  2
 5     Var.进料双螺旋过载 = var.解析中间值 Mod 2
 6     Var.解析中间值 = var.解析中间值  2
 7     Var.无轴单螺旋过载 = var.解析中间值 Mod 2
 8     Var.解析中间值 = var.解析中间值  2
 9     Var.三次输送过载 = var.解析中间值 Mod 2
10     Var.解析中间值 = var.解析中间值  2
11     Var.烘干筛选变频故障 = var.解析中间值 Mod 2
12     Var.解析中间值 = var.解析中间值  2
13     Var.泥沙输送1过载 = var.解析中间值 Mod 2
14     Var.解析中间值 = var.解析中间值  2
15     Var.泥沙输送2过载 = var.解析中间值 Mod 2
16     Var.解析中间值 = var.解析中间值  2
17     Var.泥沙输送3过载 = var.解析中间值 Mod 2
18     Var.解析中间值 = var.解析中间值  2
19     Var.供氧风机变频故障 = var.解析中间值 Mod 2
20     Var.解析中间值 = var.解析中间值  2
21     Var.搅拌电机过载 = var.解析中间值 Mod 2
22     Var.解析中间值 = var.解析中间值  2
23     Var.炉排电机过载 = var.解析中间值 Mod 2
24     Var.解析中间值 = var.解析中间值  2
25     Var.除渣电机1过载 = var.解析中间值 Mod 2
26     Var.解析中间值 = var.解析中间值  2
27     Var.除渣电机2过载 = var.解析中间值 Mod 2
28     Var.解析中间值 = var.解析中间值  2
29     Var.燃烧器1故障 = var.解析中间值 Mod 2
30     Var.解析中间值 = var.解析中间值  2
31     Var.燃烧器2故障 = var.解析中间值 Mod 2
32     Var.解析中间值 = var.解析中间值  2
33     
34 End Sub

我们需要在当前工程下变量词典中用于存储需要解析的数据的最大值要设为65535(若word中16位全部置1,其十进制数为65535),设置如下:

在当前工程下IO通信的变量关联表中我们的值变量类型选择 UWORD(无符号word保证最大值为65535),设置如下:

原文地址:https://www.cnblogs.com/isupersun/p/9500638.html