乐趣区

关于传感器:Java通过socket和DTURTU连接工业传感器通信

当初做 DTU 传感器监测数据一块,给大家分享如何通过 socket 技术连贯到 DTU,并能和 DTU 上面的传感器通信的,分享一下本人的心得和领会。

总体架构图

先来看下整体网络结构图。

工业名称解释

传感器:可能采集数据机器,电脑端通过下发指令通过 DTU 发给传感器,传感器通过 DTU 返回相应的数据给电脑端,比方雨量计能实时反馈雨量,这很好了解。
RTU:近程传输单元,能够是一台 plc(程序过程管制),艰深了解就是可能编程的还能够将数据传输服务器的工具。RTU 外部是蕴含通信模块的,RTU 仪表配置服务器后,他能够通过 socket 将采集器的数据转发到服务器。咦?你方才不讲说的 DTU 吗?当初怎么是 DTU 了,接下来咱们看看。
DTU:数据传输单元,他次要的性能是能将 IP 数据和串口数据进行等价转化。比照下面 RTU 的性能,如果说 RTU 能进行数据处理和数据传输,那么 DTU 就只能进行数据传输了。像 DTU 因为没有任何的数据处理动作,所以个别业界叫“透传”即通明传输。所以 RTU 的价格个别比 DTU 贵很多,因为有软件编程的老本。
RS485:RS485 是一个物理接口,DTU 和传感器就是通过 RS485 接口进行连贯的。
Modbus 协定:规范的串行工业协定。能够反对 RS485,RS232 接口。那既然是协定,就须要遵循肯定的标准,举个简略的例子,读取雨量计的命令是 16 进制的 0E04000000027134
那么 0E 04 00 00 00 02 71 34 别离对应的该传感器的通信 id,性能码等。如下图,这是一串指令,可能读取雨量的具体数据。
网络:DTU 能够配置服务器,通过 socket 技术通信。
服务器:服务器解析数据并存入数据库。

当然,雨量传感器也能返回一串规范 16 进制数据 DTU,0E0404326640BCDA52,具体解析格局如下,如果返回正确咱们须要读取 5,6 字节进行解析。

这个是我任意举的一个案例,是为了更好阐明 Modbus 协定的。只有反对能 modbus 的传感器都相似,须要咱们对照具体的传感器通信协定文档进行转化解析,个别都会有阐明。

思路整顿

楼主在刚开始接到工作不了解这些工业,接口,协定的概念,走了一些弯路。因为咱们我的项目是须要从 RTU 换成 DTU 做数据采集的,已有我的项目 RTU 是可能被动推送数据到服务器的,过后比拟困惑有几个点,顺便整顿下思路。
DTU 可能被动推送数据给你吗?如果不能,我须要如何做?
不能,DTU 既然是透传的,阐明咱们须要通过 DTU 给传感器下发指令。‘
发什么指令?
这里的指令就是 modbus 指令,下面有相似指令阐明,指令须要到相应的传感器通信协议去获取,个别都有阐明,如果是老手,就找传感器厂家反对下,顺便说一句,他们都是搞硬件的,软件他们可能也不太分明,这个时候就须要你的正确方向的判断了。
如何下发指令?如何调试下发指令正确性?
我因为过后是老手,我只懂程序,调试都是通过本人写的程序调试的,始终执行程序没有调试进去,最终才晓得 usb 连贯串口转 485 工具再间接连贯传感器,通过串口工具就能够间接发送命令,返回对应的数据,高深莫测,串口工具我用的是 sscom。这个问题给我的感触很深,能够先不写代码,间接先在工具上剖析后果。我次要用的是上面这三个工具。

如何买通 socket 和 DTU 连贯的传感器?
最初一步就比较简单了,通过 socket,拿到二进制数据后间接转 16 进制进行解析失去后果,我贴局部代码。

结尾

好的,明天就到这里,心愿这边文章能对您有所帮忙,有不懂的中央能够给博主留言哦,分享让咱们独特成长,喜爱的请点赞加关注哦。点关注,不迷路,我是【叫练】公众号,微信号【jiaolian123abc】边叫边练。

退出移动版