当初做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】边叫边练。