跳到主要内容

设备接入

概述

Janus提供多种设备数据接入方式,实现不同类型设备数据的互联互通,并基于数据开发不同的数据应用。

创建设备

进入Janus系统,点击左侧菜单栏 设备接入 - 设备列表 ,进入设备列表页,点击右上角 新增设备

填入设备信息,完成后点击 确认 即可完成设备创建。

  • 序列号:序列号是Janus系统识别设备的唯一编号,可选 自动生成手动选择
    • 自动生成:创建设备时由Janus自动生成设备序列号;
    • 手动选择:选中时,需选择序列号;
  • 设备名称:填写描述该设备的名称;
  • 设备分组:设置该设备所属的分组;
  • 设备类型:设置设备的设备类型(关联 数据定义)。
  • 所属团队:设置设备的所属团队(关联 用户管理)。
  • 标签:设置设备的标签,若输入多个请按回车键分隔;
  • 设备位置:点击并在地图上标定设备的位置信息;
  • 设备描述:填写描述该设备的备注内容;
  • 使用FTP推送流程图:若勾选,则通过FTP协议推送流程图,适用于接入固高控制器的场景;
  • 同步设备数据到Neptune:若勾选,则该设备的数据经Janus系统同步发送到Neptune(需要Janus保持接入英特网);
  • 保存设备数据:若勾选,则将设备数据保存在Janus本地服务器中。

创建完成后,请根据下方文档操作提示完成设备接入。

支持接入协议

目前支持协议如下:

方式或协议备注
Modbus协议适用于支持Modbus TCP/RTU连接的设备。
串口数据适用于支持串口连接,并且可通过串口传输数据的设备,如欧姆龙的PLC。
s7 server适用于西门子s7 DAserver接入协议的设备。
OPC UA适用于支持OPC UA协议的设备。
MQTT适用于可作为MQTT客户端接入的设备。
TCP/UDP Socket适用于可通过网络并支持通过TCP/UDP协议交换数据的设备。
HTTP适用于可通过HTTP协议进行数据交换的设备。
BACnet该协议一般用于智能楼宇设备;

目前支持的设备品牌及型号如下:

  • Fanuc CNC: 0i-MA/0i-MB/0i-MC/0i-MD/0i-MF/15-MB/15i-MA/16-MB/16-MC/16i-MA/18-MC/18-MC/18i-MB/21i-MB/30i-MA/30i-MB/31i-MA/31i-MB/32i-MA/32i-MB/35i-MB
  • Mitsubishi Machining Center & Lathe System: Series E80 / Series C6 C64 C80 / Series M70 M70V M700 M700V 系列部分型号
  • Citizen: 使用了三菱控制器的型号
  • Siemens Sinumerik: Series 740D / 828D
  • Heidenhain: iTNC 530 TNC 320/620/640/426/430 系列部分型号
  • Mazak: 640T NEXUS / 640M NEXUS / MATRIX E0 C4B D4 C3 D3 C9 D1 D2 / MATRIX NEXUS D4 及使用了三菱控制器的型号
温馨提示
  • 上述品牌部分需要厂家开通授权后方可使用,开通授权涉及费用
  • 同一型号由于生产日期不同或执行过客户定制,可读取数据各有不同,需要现场实际确认

不同的设备/PLC接入到Janus时,根据所支持的协议按照步骤接入即可。

功能路径

登录Janus边缘计算平台,点击左侧菜单栏 设备接入 - 设备列表 ,列表中点击 设备详情

进入设备详情页,找到 设备接入方式 页面模块,点击右上角 修改

在弹出的对话窗口中选择设备要使用的接入方式,根据相关协议配置信息接入设备或填写连接信息。

Triton

Triton是运行于控制端操作系统上的可执行程序,配置Triton相关信息即可接入数据到Janus。

强烈推荐用户通过Triton客户端接入到Janus平台中。

Triton目前提供Windows/Linux/Windows CE 6各个平台的版本,相关的说明请参考 Triton工业设备客户端部署文档

MQTT协议

设备使用MQTT协议接入时,配置MQTT协议相关信息连接接入到Janus,然后发送Json数据格式至Janus。

  1. 点击 MQTT 标签页;
  2. 根据协议配置信息,在MQTT客户端连接配置中填入协议配置信息;
  3. 点击 确认 ,系统识别设备接入方式为MQTT。

使用MQTT传输数据时,数据传输采用key/value模式(即编号/值),故要为每个需要传输的变量定义一个在本设备中唯一的编号,建议编写具有阅读性、便于理解的编号。其中uuidtoken为必须编号(编号名称不可修改),是设备传输数据的身份标识;

数据传输示例如下:

  • 设备端上传数据格式规范:
{
"uuid": "设备UUID", // uuid为必须栏位
"token": "设备令牌", // token为必须栏位
"time": "20180310142505336", // 数据产生的时间:格式为yyyyMMddHHmmssSSS, 如该栏位为空,则取当前时间
// 数据列表
"speed": "10", // 速度=10
"temperature": 36.5, // 温度=36.5 .
"key_10": "test"
}
  • 设备端上传数据示例:
{
"uuid":"CNC_10001",
"token": "DD6A-FB32-434F-01DB",
"MachineType": "E-CNC-PP2", // 机床型号
"Type": "主轴:高精度主轴轴承,适应高刚性", // 规则
"Company": "GOOGOL", // 品牌
}
  • Janus下发数据示例:
{
"action": "data",
"data": {
// 下发的数据列表
"speed": "10.35", // 下发的速度=10.35,
"temperature": "30.5" // 下发的温度=30.5
},
"uuid": "7CFE-51EF-55AB-27FB" // 设备序列号
}

PLC协议

设备作为Modbus Master接入

设备作为Modbus Master接入时,Janus会在本地启动一个Modbus Slave的实例,设备 (Master)根据逻辑写数据至Janus (Slave), Janus (Slave)会定时读取本身的数据作为设备数据。由于Modbus协议不同,设备作为Modbus Master接入分为两类:Modbus TCP和Modbus RTU。

采用Modbus TCP协议

  • Slave ID:Janus Slave的ID
  • 端口号:Janus Slave提供给Master连接的端口号
  • 定时读取:Janus会按照用户设定频率定时读取Slave上的数据
  • 数据读取:Janus可批量设置要读取Slave中哪些数据(详见数据接入说明)

采用Modbus RTU协议

  • Slave ID:Janus Slave的ID
  • 定时读取:Janus会按照用户设定频率定时读取Slave上的数据
  • Modbus Rtu配置信息:Janus Slave提供给Master的通讯参数
  • 数据读取:Janus可批量设置要读取Slave中哪些数据(详见数据接入说明)

设备作为Modbus Slave接入

设备作为Modbus Slave接入时,Janus自动创建Modbus Master实例,连接设备(Slave) 。定时读取设备(Slave)的数据作为设备数据。由于Modbus协议不同,设备作为Modbus Slave接入分为两类:Modbus TCP和Modbus RTU。

采用Modbus TCP协议接入

  • IP地址:设备Slave的IP地址
  • Slave ID:当前接入设备Slave的ID
  • 端口号:当前接入设备Slave的端口号
  • 定时读取: Janus会按照用户设定频率定时读取设备(Slave)的数据
  • 数据读取:支持批量设定读取数据(相见数据接入说明)

采用Modbus RTU协议:

  • Slave ID:Janus Slave的ID
  • 定时读取:Janus会按照用户设定频率定时读取Slave上的数据
  • Modbus Rtu配置信息:Janus Slave提供给Master的通讯参数
  • 数据读取:Janus可批量设置要读取Slave中那些数据

查看【调试面板】,即可查看读取的设备数据。设备数据为固定格式:

格式解析:

{
"action": "data",
"uuid": "898F-EFRD-34RD-09OK", // 设备UUID
"data": {
"3_40001": 105, // 设备数据项,示例代表Modbus Slave 3 区第1位数据
"3_40002": 0, // 设备数据项,示例代表Modbus Slave 3 区第2位数据
"3_40003": 0, // 设备数据项,示例代表Modbus Slave 3 区第3位数据
"3_40004": 0, // 设备数据项,示例代表Modbus Slave 3 区第4位数据
"3_40005": 0, // 设备数据项,示例代表Modbus Slave 3 区第5位数据
"3_40006": 0, // 设备数据项,示例代表Modbus Slave 3 区第6位数据
"3_40007": 0, // 设备数据项,示例代表Modbus Slave 3 区第7位数据
"3_40008": 0, // 设备数据项,示例代表Modbus Slave 3 区第8位数据
"3_40009": 0, // 设备数据项,示例代表Modbus Slave 3 区第9位数据
"3_40010": 0, // 设备数据项,示例代表Modbus Slave 3 区第10位数据
}
}

设备作为串口接入

Janus支持串口接入,定时发送密令至设备,读取设备数据:

  • 串口设置:配置串口波特率,校验位等信息
  • 定时发送: Janus会定时发送密令至串口设备,可发送多组密令
  • 数据格式:发送和接收都同时支持ASCII和HEX数据格式

查看【调试面板】,即可查看读取的设备数据。设备数据为固定格式:

格式解析:

{
"action": "data",
"uuid": "898F-EFRD-34RD-09OK", // 设备UUID
"data": {
"3_40001": 105, // 设备数据项,示例代表Modbus Slave 3区第1位数据
"3_40002": 0, // 设备数据项,示例代表Modbus Slave 3 区第2位数据
"3_40003": 0, // 设备数据项,示例代表Modbus Slave 3 区第3位数据
"3_40004": 0, // 设备数据项,示例代表Modbus Slave 3 区第4位数据
"3_40005": 0, // 设备数据项,示例代表Modbus Slave 3 区第5位数据
"3_40006": 0, // 设备数据项,示例代表Modbus Slave 3 区第6位数据
"3_40007": 0, // 设备数据项,示例代表Modbus Slave 3 区第7位数据
"3_40008": 0, // 设备数据项,示例代表Modbus Slave 3 区第8位数据
"3_40009": 0, // 设备数据项,示例代表Modbus Slave 3 区第9位数据
"3_40010": 0, // 设备数据项,示例代表Modbus Slave 3 区第10位数据
}
}

设备作为s7 server接入

Janus支持s7 server接入,填入目标设备局域网IP及端口(默认为102),设置DB数据块号及开始/结束位置,选择合并数。

Socket协议

设备作为TCP/UDP Socket客户端接入

设备使用TCP/UDP协议时,由于二者使用方法类似,本文档以设备使用TCP协议接入为例进行讲解。

Janus内置TCP Socket Server,设备可作为TCP Socket客户端连接Janus,并发送数据至Janus;下发数据时,设备需主动发送r获取Janus下发的数据。

  • TCP服务器: 会根据Janus实际部署情况显示IP
  • TCP 端口: 可在Janus配置文件中配置
  • 数据格式:使用JSON数据格式,Janus会自动标记IP和端口号为该设备数据来源

使用TCP Socket传输数据时,数据传输采用key/value模式(即编号/值),故要为每个需要传输的变量定义一个在本设备中唯一的编号,建议编写具有阅读性、便于理解的编号。其中uuidtoken为必须编号(编号名称不可修改),是设备传输数据的身份标识;

设备作为TCP/UDP Server接入

设备内置TCP Server,Janus可作为TCP Socket Client接入设备,定时读取设备的数据

  • TCP Server:配置设备的IP以及端口号
  • 定时发送: Janus会定时发送密令至TCP Server,和设备进行交互
  • 16进制格式:支持发送16进制数据至设备,同时,也支持接收16进制数据格式

设备作为OPC UA TCP Server接入

使用OPC UA协议接入时,设备作为OPC UA Server接入时,配置OPC UA Server的连接信息,读取对应的数据到Janus。

  1. 选择 TCP Socket 标签页,点击 设备作为OPC UA TCP Server接入
  2. 端点设置:填入服务器配置信息(OPC Server地址、安全策略、验证方式)、定时读取频率;
  3. 数据读取:点击 搜索数据栏位 ,获取所有数据栏位字段;
  4. 配置需要读取数据的字段。

HTTP协议

设备作为HTTP Server接入

设备或第三方系统内置HTTP Server,Janus可使用HTTP协议发送数据至设备/第三方系统获取或下方数据。

  • HTTP Server地址:填写设备/第三方系统的IP信息
  • 请求类型:基于设备/第三方系统提供的接口配置对应的类型POST/GET
  • 请求参数:基于设备/第三方系统提供的接口文档配置请求数据需要的参数信息

设备使用HTTP发送数据到Janus

Janus内置HTTP Server,设备可使用HTTP协议发送数据至Janus。

  • HTTP地址:会根据Janus部署情况显示IP以及相关信息
  • 下发数据:HTTP接入时,支持下发数据至设备(需要设备提供HTTP数据下发接口)
  • 数据格式:HTTP接入时,需要设备按照特定的JSON格式发送数据

使用HTTP传输数据时,数据传输采用key/value模式(即编号/值),故要为每个需要传输的变量定义一个在本设备中唯一的编号,建议编写具有阅读性、便于理解的编号。其中uuidtoken为必须编号(编号名称不可修改),是设备传输数据的身份标识;

BACnet/IP协议

使用BACnet/IP协议接入时,设备作为Server接入时,配置Server的连接信息,读取对应的数据到Janus。

在接入协议配置页面。点击搜索属性栏位后,在显示页面上勾选需要读取的数据,勾选成功后,在设备数据调试面板可看到读取的实时数据。