Java对接HJ212协议设备

一、前言

        最近收到一个对接HJ212协议设备数据的任务,安排和我对接的人不懂技术,就给了一个HJ212协议文档。文档详细地说明了协议的各项细则,文档如下。

污染物在线监控(监测)系统数据传输标准-Java文档类资源-CSDN文库

        通过协议文档,可以知道,该协议是环保设备数据传输的标准协议,数据的不是json格式,而是通过等号隔开的。

        我在网上找了半天没有找到关于对接HJ212协议设备的Java程序代码,大多都是讲 协议细则、对接说明、C++程序 等。找到的Java程序代码很凌乱,部分依赖没有,完全看不到。

        通过大致的浏览,可以确定,是通过Netty来接收数据,通过依赖的hj212插件来解析数据。既然如此,我就自己写一个Java程序,用Netty来接收数据,并把数据解析成JSON。

二、理论准备

2.1、HJ212消息内容

##0190ST=31;CN=2061;PW=123456;MN=7568770259402;Flag=0;CP=&&DataTime=20221008100000;B02-Min=1.6960,B02-Avg=3.0586,B02-Max=3.7704,B02-Cou=11010.8437;S01-Min=17.7469,S01-Avg=19.4636,S01-Max=19.6944&&7BC0

2.2、消息体格式 

 

 2.3、解析

因此,可以将消息解析成如下几个部分。

 其中,##为包头;190的数据长度是指从ST开始到末尾的&&;指令参数为两对&&之间的数据。

三、对接方案

仓库地址如下:

hj212: Java对接HJ212协议环保设备 (gitee.com)

代码说明

 测试效果

  • 16
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
### 回答1: Java对接OPC传输协议时,可以使用一些开源库或者框架来实现。 目前比较常用的是Java开源库jOpc,它是一个基于Java的开放式连接(OPC)通信库,可用于与OPC服务器进行数据通信。使用jOpc库可以方便地进行OPC数据读取和写入操作。 另外,Java也可以使用Native接口来直接对接OPC传输协议。通过Java的JNI(Java Native Interface)技术,可以调用OPC服务器提供的原生C/C++库或者DLL,进而实现与OPC服务器的通信。 无论是使用jOpc库还是Native接口,Java对接OPC传输协议的步骤大致相似。首先,需要建立与OPC服务器的连接,获取服务器的相关信息,例如服务器地址、端口号等。然后,根据需要,可以进行数据的读取或写入操作。读取操作可以获取OPC服务器上的数据值或者状态信息,写入操作可以向OPC服务器发送指令或者修改数据。最后,需要关闭与OPC服务器的连接,释放资源。 需要注意的是,在Java对接OPC传输协议之前,需要先了解OPC的相关知识和基本原理,熟悉OPC数据模型和OPC服务器的功能。另外,还需要了解所使用的OPC传输协议的规范和要求,以便正确配置和设置与OPC服务器的通信参数。 总之,Java对接OPC传输协议需要借助相关的开源库或者Native接口,并且需要根据OPC服务器的要求和规范进行配置和设置,以实现与OPC服务器的数据交互。 ### 回答2: Java对接OPC传输协议可以通过使用相关的第三方库或框架来实现。常用的是使用Apache NiFi、OPC Ua Java Stack或jopc等库。 首先,需要导入相应的第三方库或框架。例如,使用Apache NiFi时,需要下载并导入NiFi的jar包。然后可以在Java代码中引入相关的类和接口。 其次,需要建立与OPC服务器的连接。可以通过配置OPC服务器的IP地址和端口号来建立连接。使用相应的类和方法可以创建OPC存储库对象,并调用连接方法来建立连接。 连接建立后,可以对OPC服务器进行读写操作。例如,读取OPC服务器中的变量值,可以使用相应的方法来获取变量的值。而写操作可以使用相应的方法来设置变量的值。 在进行读写操作时,可以根据需要设置相应的参数。例如,可以设置读取或写入的变量的数据类型,或者设置操作的超时时间等。 在操作完成后,需要关闭与OPC服务器的连接。可以通过调用相应的方法来关闭连接,并释放相关的资源。 此外,还可以根据需要进行其他操作,例如订阅OPC服务器的数据变化或事件,以及处理相关的通知或异常等。 总之,Java对接OPC传输协议可以通过使用第三方库或框架来实现。通过建立连接、读写操作、参数设置、连接关闭等步骤,可以实现与OPC服务器的数据交互。 ### 回答3: Java对接OPC传输协议时,主要通过使用OPC规范和Java OPC库来实现。 首先,OPC(OLE for Process Control)是一种通信协议,它允许软件应用程序与过程控制领域的设备和系统进行通信。OPC分为两个部分:OPC数据访问(OPC DA)和OPC统一架构(OPC UA)。其中,OPC DA是早期的版本,主要用于实时数据传输,而OPC UA是基于Web服务的新一代协议,具备更强大的功能和更高的安全性。 在Java对接OPC传输协议时,我们可以使用一些第三方的Java OPC库来简化开发流程。这些库提供了与OPC服务器建立连接、读取和写入OPC服务器中的数据的功能。 具体步骤如下: 1. 导入Java OPC库:使用Maven或其他构建工具,将所需的Java OPC库添加到项目依赖中。 2. 建立连接:使用Java OPC库提供的API,通过指定OPC服务器的URL或IP地址、用户名和密码等信息,与OPC服务器建立连接。 3. 浏览OPC服务器:使用Java OPC库提供的方法,可以浏览OPC服务器上的节点,获取节点的详细信息,以便后续读取或写入数据。 4. 读取数据:使用Java OPC库的读取方法,可以读取OPC服务器上的数据,可以根据节点的路径或标签等信息进行读取操作。 5. 写入数据:使用Java OPC库的写入方法,可以将数据写入到OPC服务器中指定的节点上。 6. 断开连接:在使用完毕后,使用Java OPC库提供的方法,显式地关闭与OPC服务器的连接。 总结来说,在Java对接OPC传输协议,需要使用相应的Java OPC库来提供与OPC服务器的交互功能。通过建立连接、浏览节点、读取和写入数据等操作,可以实现与OPC服务器的通信,并实现数据的传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值