Java通过socket和DTU,RTU连接工业传感器通信

作者: 叫练

现在做DTU传感器监测数据一块,给大家分享如何通过socket技术连接到DTU,并能和DTU下面的传感器通信的,分享一下自己的心得和体会。

总体架构图


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

{u8e57548e}

工业名称解释


传感器: 能够采集数据机器,电脑端通过下发指令通过DTU发给传感器,传感器通过DTU返回相应的数据给电脑端,比如雨量计能实时反馈雨量,这很好理解。{u7ed780f1} RTU :远程传输单元,可以是一台plc(程序过程控制),通俗理解就是能够编程的还可以将数据传输服务器的工具。RTU内部是包含通讯模块的,RTU仪表配置服务器后,他可以通过socket将采集器的数据转发到服务器。咦?你刚才不讲说的DTU吗?现在怎么是DTU了,接下来们看看。{ud87187da} DTU :数据传输单元,他主要的功能是能将IP数据和串口数据进行等价转化。对比上面RTU的功能,如果说RTU能进行数据处理和数据传输,那么DTU就只能进行数据传输了。像DTU因为没有任何的数据处理动作,所以一般业界叫"透传"即透明传输。所以RTU的价格一般比DTU贵很多,因为有软件编程的成本。{uf8149bf6} RS485 :RS485是一个物理接口,DTU和传感器就是通过RS485接口进行连接的。 Modbus协议 :标准的串行工业协议。可以支持RS485,RS232接口。那既然是协议,就需要遵循一定的规范,举个简单的例子,读取雨量计的命令是16进制的0E04000000027134{u53164b40}

那么0E 04 00 00 00 02 71 34 分别对应的该传感器的通信id,功能码等。如下图,这是一串指令,能够读取雨量的具体数据。 网络 :DTU可以配置服务器,通过socket技术通信。 服务器: 服务器解析数据并存入数据库。 {u573468b7}

当然,雨量传感器也能返回一串标准16进制数据DTU,0E0404326640BCDA52, 具体解析格式如下,如果返回正确们需要读取5,6字节进行解析。{ud4e729f3} {u41ff17d6}

这个是任意举的一个案例,是为了更好说明Modbus协议 只要支持能modbus的传感器都类似,需要们对照具体的传感器通讯协议文档 进行转化解析,一般都会有说明。{u6893c51b}

思路整理


楼主在刚开始接到任务不理解这些工业,接口,协议的概念,走了一些弯路。因为们项目是需要从RTU换成DTU做数据采集的,已有项目RTU是能够主动推送数据到服务器的,当时比较困惑有几个点,顺便整理下思路。{u98f56a09}

  1. DTU能够主动推送数据给你吗?如果不能,需要如何做?

不能,DTU既然是透传的,说明们需要通过DTU给传感器下发指令。'

  1. 发什么指令?

这里的指令就是modbus指令,上面有类似指令说明,指令需要到相应的传感器通信协议去获取,一般都有说明,如果是新手,就找传感器厂家支持下,顺便说一句,他们都是搞硬件的,软件他们可能也不太清楚,这个时候就需要你的正确方向的判断了。{u573f0378}

  1. 如何下发指令?如何调试下发指令正确性?

因为当时是新手,只懂程序,调试都是通过自己写的程序调试的,一直执行程序没有调试出来,最终才知道usb连接串口转485工具再直接连接传感器,通过串口工具就可以直接发送命令,返回对应的数据,一目了然,串口工具用的是sscom。这个问题给的感触很深,可以先不写代码,直接先在工具上分析结果。主要用的是下面这三个工具。{u7df46498} {u128e9282}

  1. 如何打通socket和DTU连接的传感器?

最后一步就比较简单了,通过socket,拿到二进制数据后直接转16进制进行解析得到结果,贴部分代码。 {u7591b234}

结尾


好的,今天就到这里,希望这边文章能对您有所帮助,有不懂的地方可以给博主留言哦,分享让们共同成长,喜欢的请点赞加关注哦。点关注,不迷路, 是【叫练公众号 ,微信号【jiaolian123abc】 边叫边练。{u853ee70d} {ubdf35a78}

[] ) [](top

原文创作:叫练

原文链接:https://www.cnblogs.com/jiaolian/p/15404231.html

文章列表

更多推荐

更多
  • AWS自动化机器学习-十一、MLSDLC 的持续集成、部署和训练 技术要求,编纂持续集成阶段,管理持续部署阶段,管理持续训练,延伸,构建集成工件,构建测试工件,构建生产工件,自动化持续集成流程,回顾构建阶段,回顾测试阶段,审查部署和维护阶段,回顾应用用户体验,创建新的鲍鱼调查数据,回顾持续训练流程,清
    Apache CN

  • AWS自动化机器学习-六、使用 AWS 步骤函数自动化机器学习过程 技术要求,介绍 AWS 步骤功能,使用 Step 函数 Data Science SDK for CI/CD,建立 CI/CD 渠道资源,创建状态机,解决状态机的复杂性,更新开发环境,创建管道工件库,构建管道应用构件,部署 CI/CD
    Apache CN

  • AWS自动化机器学习-第三部分:优化以源代码为中心的自动化机器学习方法 本节将向您介绍整体 CI/CD 流程的局限性,以及如何将 ML 从业者的角色进一步整合到管道构建流程中。本节还将介绍这种角色集成如何简化自动化过程,并通过向您介绍 AWS Step 函数向您展示一种优化的方法。本节包括以下章节:
    Apache CN

  • AWS自动化机器学习-一、AWS 上的自动化机器学习入门 技术要求,洗钱流程概述,洗钱过程的复杂性,端到端 ML 流程示例,AWS 如何使 ML 开发和部署过程更容易自动化,介绍 ACME 渔业物流,ML 的情况,从数据中获得洞察力,建立正确的模型,训练模型,评估训练好的模型,探索可能的后续步
    Apache CN

  • AWS自动化机器学习-二、使用 SageMaker 自动驾驶器自动化机器学习模型开发 技术要求,介绍 AWS AI 和 ML 前景,SageMaker 自动驾驶器概述,利用 SageMaker 自动驾驶器克服自动化挑战,使用 SageMaker SDK 自动化 ML 实验,SageMaker Studio 入门,准备实验
    Apache CN

  • AWS自动化机器学习-四、机器学习的持续集成和持续交(CI/CD) 四、机器学习的持续集成和持续交CI/CD技术要求,介绍 CI/CD 方法,通过 CI/CD 实现 ML 自动化,在 AWS 上创建 CI/CD 管道,介绍 CI/CD 的 CI 部分,介绍 CI/CD 的 CD 部分,结束循环,采取以部
    Apache CN

  • AWS自动化机器学习-九、使用 Amazon Managed Workflows 为 Apache AirFlow 构建 ML 工作流 技术要求,开发以数据为中心的工作流程,创建合成鲍鱼调查数据,执行以数据为中心的工作流程,构建和单元测试数据 ETL 工件,构建气流 DAG,清理, 在前面的年龄计算器示例中,我们了解了如何通过 ML 从业者和开发人员团队之间的跨职能
    Apache CN

  • AWS自动化机器学习-七、使用 AWS 步骤函数构建 ML 工作流 技术要求,构建状态机工作流,执行集成测试,监控管道进度,设置服务权限,创建 ML 工作流程, 在本章中,我们将从第六章中的 [处继续,使用 AWS 步骤函数自动化机器学习过程。您将从那一章中回忆起,我们正在努力实现的主要目标是简化
    Apache CN

  • AWS自动化机器学习-八、使用 Apache Airflow 实现机器学习过程的自动化 技术要求,介绍阿帕奇气流,介绍亚马逊 MWAA,利用气流处理鲍鱼数据集,配置 MWAA 系统的先决条件,配置 MWAA 环境, 当建立一个 ML 模型时,有一个所有 ML 从业者都知道的基本原则;也就是说,最大似然模型只有在数据被训练时
    Apache CN

  • AWS自动化机器学习-五、自动化 ML 模型的持续部署 技术要求,部署 CI/CD 管道,构建 ML 模型工件,执行自动化 ML 模型部署,整理管道结构,创建 CDK 应用,部署管道应用,查看建模文件,审查申请文件,查看模型服务文件,查看容器构建文件,提交 ML 工件,清理, 在 [第 4
    Apache CN

  • 近期文章

    更多
    文章目录

      推荐作者

      更多