opc r参数 ua_连接协议-OpcUAClient

本文详细介绍了如何使用OpcUAClient连接OPC UA服务器,包括配置信息如服务器列表、设备信息和TSL(产品物模型描述)。内容涵盖了服务器连接地址、账户密码、超时设置等关键参数,以及设备节点的displayName。此外,还提供了设备三元组、配置和TSL的导入步骤,以及启动脚本。
摘要由CSDN通过智能技术生成

连接协议-OpcUAClient

更新时间:2018-07-13 19:13:36

一、框图

opcua driver:LinkEdge中负责连接opcua server,数据转换的模块

config:驱动配置信息,包含连接的server信息和设备信息,保存在配置中心,详见第二部分介绍

tsl:产品物模型描述信息,部分信息为opcua特有,保存在配置中心,详见第三部分介绍

二、config:

{

"DriverConfig":{

/******控制台需要自行录入部分******/

"ServerList":[ //----------------------------opcua服务器列表

{

"serverId":0, //------------------------服务器索引,由0顺序递增,用来设备与服务器关联

"url": "opc.tcp://localhost:4840", //---服务器连接地址

"userName": "", //----------------------登录用户名,如果没有账户和密码,填空字符串

"password": "", //----------------------账户密码,如果没有账户和密码,填空字符串

"secPolicy":"None",

"secMode":"None",

"certificate":"",

"privateKey":"",

"timeout":5 //--------------------------方法调用超时时间

}]

/********************************/

},

"DeviceList": [

{

"ProductKey":"",

"DeviceName":"",

"DeviceConfig":{

/****控制台需要自行录入部分****/

"serverId":0, //-----------------服务器索引,用来设备与服务器关联

"displayName":"" //-----------------设备节点的displayName

/****************************/

}

},

{

"ProductKey":"",

"DeviceName":"",

"DeviceConfig":{

/****控制台需要自行录入部分****/

"serverId":0, //-----------------服务器索引,用来设备与服务器关联

"displayName":"Objects" //-------设备节点的displayName

/****************************/

}

}]

}

三、TSL

{

"profile":{

"productKey": "0LAIGKYmweU"

},

"properties":

[

{

"identifier" : "battery",

"accessMode" : "r",

"dataType":{

"type" : "int",

"specs":{

"max":"100",

"min":"0",

"unit":"%"

}

},

"desc" : "电池电量",

"displayName":"Battery01" /****opcua特有:节点的displayName****/

},

{

"identifier" : "state",

"accessMode" : "r",

"dataType":{

"type" : "enum",

"specs":{

"0":"正常锁门",

"2":"门没有上锁",

"3":"门内反锁"

}

},

"desc" : "门状态",

"displayName":"DoorState" /****opcua特有:节点的displayName****/

}

],

"events":

[

{

"identifier" : "action",

"type" : "info",

"outputData":

[

{

"identifier" : "user_type",

"dataType":{

"type":"enum",

"specs":{

"0":"密码用户",

"1":"无线用户",

"3":"卡用户",

"4":"指纹用户"

}

},

"index":0 /****opcua特有:参数索引,在该事件下的序列编号****/

},

{

"identifier" : "state",

"dataType":{

"type":"enum",

"specs":{

"1":"锁门",

"2":"开门"

}

},

"index":1 /****opcua特有:参数索引,在该事件下的序列编号****/

}

],

"desc" : "门操作",

"displayName":"Action" /****opcua特有:节点的displayName****/

}

],

"services":

[

{

"identifier" : "get",

"inputData":

[

"ieee_addr",

"battery",

"state"

],

"outputData":

[

{

"identifier" : "battery",

"dataType":{

"type" : "int",

"specs":{

"max":"100",

"min":"0",

"unit":"%"

}

},

"desc" : "电池电量",

"displayName":"Battery01" /****opcua特有:节点的displayName****/

},

{

"identifier" : "state",

"dataType":{

"type" : "enum",

"specs":{

"0":"正常锁门",

"2":"门没有上锁",

"3":"门内反锁"

}

},

"desc" : "门状态",

"displayName":"DoorState" /****opcua特有:节点的displayName****/

}

],

"desc" : "获取属性"

},

{

"identifier" : "control",

"inputData":[

{

"identifier" : "action",

"dataType":{

"type":"enum",

"specs":{

"0":"close",

"1":"open"

}

},

"index":0 /****opcua特有:参数索引,在该方法下的序列编号****/

}

],

"outputData":[

],

"desc" : "门操作",

"displayName":"control" /****opcua特有:节点的displayName****/

}

]

}

四、部署步骤

导入设备三元组到配置中心

导入config到配置中心

导入tsl到配置中心

执行startOpcua.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值