三、设备/因子虚拟化
3.1 设计概要
任何跟工控机连接的仪器,我们都称为设备,包括分析仪、温湿度计、流量计、UPS等。设备种类多种多样,但工控机对其的操作其实只有两个:读和写。读的话,可能是读取测量的值、仪器的状态等;写的话,可能是启动仪器测量、修改仪器的参数等。在高级编程语言里面,有一个属性的概念,属性包含getter和setter。那么,工控机对于仪器的任何操作,都可以看成是工控机对仪器某项或多项属性的操作。我们把这种“属性”称为因子。因子分为几种类别:
(1)数值因子。代表了一个测量值,一般只读。
(2)状态因子。代表了仪器的某项状态,可读可写。
(3)反控因子。代表对仪器的一项控制命令,一般只写。
在设备和因子虚拟化以后,在协仪层之上,统一通过“设备名.因子名”的方式访问因子。“设备名.因子名”直接代表了因子的值,而“设备名.因子名=值”则代表了对设备的一个控制命令。
3.2 设备/因子信息
设备信息
基础 | ID |
|
名称 |
| |
分组 |
| |
顺序索引 | 表达在列表中的顺序,以及遍历的顺序 | |
因子列表 |
| |
链路 | 链路ID |
|
从机地址 | 只用于串口通信 | |
协议 | 使用协议 |
|
回复等待时间 | 超出此时间,判定通信失败 |
因子信息
基础 | ID |
|
名称 |
| |
值 |
| |
顺序索引 | 表达在列表中的顺序,以及遍历的顺序 | |
协议 | 地址 | 使用Modbus地址,多个地址用逗号隔开。一般地址连续,用-代替后续地址。如: 40001, 00011,00012 20003-- |
表达式 |
| |
读/写 |
| |
显示 | 转换器 | 数值转换,枚举转换,字符串转换 |
单位 |
| |
小数位数 |
| |
数据库 | 是否存储 |
|
统计类型 | 默认AVG,可选SUM、MAX等 |