首先说下解决思路:

由于考虑到串口开发很麻烦,所以后来买了一个4g模块的dtu。

所以最后的解决方案是,plc串口设备与dtu相连,由于dtu是透传模式,使用java与4g模块进行通信就完事了。

虽然这样看着很简单,但是这段时候不少走弯路,颇有一种摸石过河、黑夜走路的感觉,什么东西都要自己摸索,又怕方向是错的,直到成功的那一刻才知道原来是这样,终于到了扒开了云雾,见到了太阳,然后回头看看才明白道路是那样的清晰。

但是:我要说的是不要畏惧困难,哪怕你不知道前路如何,哪怕不知道方向是否正确,但一定有静下心来去思考,一点点去尝试,最后一定能找到正确的道路。

经历的历程:

历程1:

拿到plc设备的那一刻,自己完全不知道该怎么办,我是谁?我在哪??我要做什么???但是被项目逼迫的我很快冷静下来,管他呢,先单独测试设备吧,先用指令把设备跑通了再说,这是历程1的主要目标。于是研究串口协议,研究modbus ASCII码协议、解析其每位16进制数据的含义、研究其校验码,花了3天左右的时间终于把协议搞明白了,协议搞明白了,写了串口指令,接下来我要怎么发送,请教懂行的人,下载了串口调试助手,反复试,终于第一条指令成功了,把我高兴的差点就流出了老父亲般激动的泪水。

历程2:

4g dtu模块,拿到后和plc的思路一样,先看4g模块是否通信正常,于是在厂家的官网找到配置调试文档,按着步骤调试、配置,最后把4g模块参数配置完成,主要这里的配置主要是给dtu设置服务器地址,就是4g模块最终要和谁通信,给dtu配置上服务器的ip地址和端口号。最后配置完成,在服务器上装上网络调试助手,发送信息测试成功,通信正常。

历程3:

经过1个多星期的工作,dut和plc已分别收服,接下来要测试,dut连接plc之后,给dtu发信息能否控制plc的运行。由于前期分别做测试时已经做了很多工作,所以两者在一起调试很顺利,很快就通上了信息,使用网络助手给dtu发送指令,dtu能顺利的把指令传给plc,从而达到控制plc的效果。那接下来就是怎么用java和dtu通信了。

历程4:

java与dtu的通信,讲真,这两者通信着实让我有点不知所措,不过后来回到家躺在床上灵光一闪,dtu不就用的sokect通信的吗?我现在写个socket的服务器来代替之前的网络助手发送指令是否可行呢?于是第二天早上一到公司就写了几行简易代码,丢到之前给dtu配置地址的那台服务器上实验,果然接收到了dtu的心跳包数据,这时我有点喜出望外,感觉写了几行指令实验,结果真的能行,终于历经了4个阶段后,整个流程都跑通了,解决方案也有了,剩下的就是怎么写代码的事了。

4G DTU模块和串口设备连接的方式的更多相关文章

  1. 4G DTU模块的功能和作用是什么

    4G DTU模块我们可以简单将它理解为使用4G无线通信网络来进行远距离无线传送的终端设备.4G DTU模块基于4G方式进行远距离的数据传输,是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据 ...

  2. 使用MQTT协议的4G DTU模块具有什么优势

    什么是MQTT协议 要了解使用MQTT协议的4G DTU模块具有哪些优势,首先我们需要了解什么是MQTT协议,MQTT协议最早是IBM开发的一个即时通讯协议,它的主要是为大量计算能力有限且工作在低带宽 ...

  3. 4G DTU模块带有MQTT协议吗?

    DTU作为一种通讯设备,其应用场合十分广泛.从广义上讲,在进行通信时,传输数据链路两端负责发送数据信息的模块单元都称之为DTU,在它的作用下对所传信息格式转换和数据整理校验.在狭义上的定义,DTU一般 ...

  4. 4G DTU模块的工作原理

    DTU是无线数据传输模块,4G DTU又被称4G模块,是4G网络进行远距离传输的设备,即串口服务器的无线版,其功能与串口服务器类似.         4G DTU是一种物联网无线数据终端,利用公用运营 ...

  5. 4G DTU的数据透传功能如何实现

    准备将众山科技4G DTU进行数据透传之前,先将电脑串口连接到4G DTU串口上.如果是没有硬件串口的电脑,可以通过USB转RS232串口转换线进行连接. 连接成功后,按照说明书中提供的初始参数进行设 ...

  6. 4g物联网模块的原理

    4G DTU模块也可以被称之为是含有第四代移动通信技术的模块,是随着科技不断发展进步下物联网和移动互联网发展下的又一产物.而4G技术包括TD-LTE和FDD-LTE两种制式.集3G与WLAN于一体并能 ...

  7. 4G DTU的使用方法和应用领域

    4G DTU是一种数据传输单元,通俗理解就是,用来传输数据的一种硬件.既然是用来传输数据的,那就能将它视为一个管道,也就是说,指令同过它传给设备,而管道是不对这些指令做出响应的. 4G DTU如何使用 ...

  8. 4G DTU数据传输终端的功能介绍

    4G DTU是基于4G网络的自动化数据传输终端,是一种物联网无线数据传输设备,使用公用运营商的4G网络为用户提供无线远距离数据传输功能,使用工业级32位的高性能通信处理器和工业级无线模块,以嵌入式实时 ...

  9. 4G DTU无线数据透明传输终端

    4G DTU是基于4G网络的远程无线数据透明传输终端,是一种物联网无线数据传输设备,使用公用运营商的4G网络为用户提供无线远距离数据传输功能,使用工业级32位的高性能通信处理器和工业级无线模块,以嵌入 ...

随机推荐

  1. 从 ES6 高阶箭头函数理解函数柯里化

    前言:第一次看到多个连续箭头函数是在一个 react 项目中,然鹅确认了下眼神,并不是对的人,因为看得一脸懵逼.em......于是开始各种搜索,先是知道了多个连续箭头函数就是 es6 的多次柯里化的 ...

  2. C语言普通写法实现:针对多次同步失败的节能处理机制

    程序不美, 不来一一整理了. 以后有时间可以把这个功能封装为一个类的对象来操作.即使不封装为类,至少也该封装为一个独立的函数吧... 关键代码摘要如下: 无线同步信号发射端,每分钟发一次,每次发射的时 ...

  3. 《RESTful Web APIs》书中有一段POST API示例,现实中我们如何测试这个示例?书中没有说,Let's try it!

    <RESTful Web APIs>书中有一段POST API示例: I then send the filled-out template as part of an HTTP POST ...

  4. 谈谈数据库的事务ACID

    在数据库中新建一个字段并且设置为索引列,还有删除整张表的数据,类似这些操作都是一系列操作的组合,执行后不能出现中间状态,也就是不会出现新建了字段却不是索引的情况,也不会出现只有一部分数据被删除的情况. ...

  5. Code Test(1)

    0922test 最小数Time Limit: 1 Sec Memory Limit: 128 MB文件名:a.cppDescription给定一个正整数n,请去掉其中的m个数字,使其剩下的数字按原先 ...

  6. c++ 动态库的加载

    转载:https://blog.csdn.net/ztq_12345/article/details/99677769 使用ide是vs, 使用Windows.h下的3个函数对动态库进行加载第一个:H ...

  7. CentOS 7 系统的安装

    1.进入安装界面 2.选择"Install CentOS 7" 3.进入欢迎界面,默认语言为"English",点击"Continue" 进 ...

  8. MySQL数据库之索引、事务、存储引擎详细讲解

    一.索引 1.1 索引的概念 索引是一个排序的列表,存储着索引值和这个值所对应的物理地址 无须对整个表进行扫描,通过物理地址就可以找到所需数据 (数据库索引类似书中的目录,通过目录就可以快速査找所需信 ...

  9. js 基础概念

    一 执行上下文 和 执行上下文栈 执行上下文:一段javascript代码执行前的准备工作 问题一:js引擎遇到怎样一段代码才会做"准备工作呢"? 可执行代码类型:全局代码.函数代 ...

  10. centos7.5安装gcc7.2.0

    参考https://www.cnblogs.com/lazyInsects/p/9778910.html cd /usr/src wget https://mirrors.tuna.tsinghua. ...