虚拟设备与表达式
# 进阶
本节学习当真实的设备无法满足客户的需求时,如何使用虚拟设备或者表达式来实现客户的需求。
# 项目一
# 项目需求
某项目安装了三个温湿度设备分别为温湿度#2、温湿度#3、温湿度#4。其设备号分别为130、131、132
需要在一个设备中同时获取三个温湿度设备的温度数据
若温湿度#2的温度比温湿度#3的温度高5度则报警。
# 操作步骤
添加三个温湿度设备
添加三个温湿度设备
添加虚拟设备
操作步骤
在添加设备页面点击手动添加。
填入设备名称。
选择驱动文件GWVirtualEquip.STD.dll。
填入其它必填项
点击确认按钮
为刚添加的虚拟设备添加三个遥测量,遥测量的操作命令应填入对应真实设备的设备号,操作参数,应填入对应真实设备测点的测点号。
操作步骤
添加测点后可以在全部设备中的虚拟设备中看到三个温湿度温度的实时值。
添加一个虚拟数值计算设备
操作步骤
在添加设备页面点击手动添加。
填入设备名称。
选择驱动文件GWExpression.STD。
填入其它必填项
点击确认按钮
为刚添加的虚拟数值计算设备添加遥信量。遥信量的操作命令里填入表达式 $C1(233,1)-$C1(235,1)<=5其中 $C1(233,1) 表示233号设备的1号遥测点不带单位的数值,$C1(235,1) 表示235号设备的1号遥测点不带单位的数值。
操作步骤
添加遥遥信量后,通过设置“温湿度#133”设备的温度为99度,效果如下所示:
# 附:敢为物联网平台中的表达式:
有效的一元运算符: -,~,!
有效的二元运算符:*,/,%,+, - ,<,<=,>,> =,==,=,&,^,&&,||。
括号是最优先的运算
说明:
$E(8)---表示8号设备的实时状态:返回值意义0(不通讯),1(通讯正常),2(有报警),3(正在进行设置),4(正在初始化),5(撤防)
$C(3,2)---表示3号设备2号测点的实时模拟量(包括单位)。
$C1(3,2)---表示3号设备2号测点的实时模拟量(不包括单位)。
$C2(3,2)---表示3号设备2号测点的实时模拟量(包括测点名称+单位)。
$ASC(3,2)---表示3号设备2号测点的报警状态。(报警为true)
$X(1,3)---表示1号设备3号测点的实时状态量(包括测点名称)。
$X1(1,3)---表示1号设备3号测点的实时状态量(不包括测点名称)。
$ASX(1,3)---表示1号设备3号测点的报警状态。(报警为true)
至此通过实现使用虚拟设备和表达式来实现真实设备不能满足的客户需求,学习了虚拟设备和表达式的使用方法。