完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
项目背景:
最近公司接到一个农业方面的物联网项目,需求是需要采集土壤的各项参数以及根据温度、湿度来控制水肥和大棚卷膜的开关。提供的设备有各种传感器和plc控制类设备,其中一个最为头疼的就是要解决plc设备,很烦,不过功夫不负有心人,最后还解决了,这里允许我笑下,哈哈哈哈哈~ 下面开始正题 首先说下解决思路: 由于考虑到串口开发很麻烦,所以后来买了一个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个阶段后,整个流程都跑通了,解决方案也有了,剩下的就是怎么写代码的事了。 经过这段时间的研究学习了不少东西,也收获了很多,希望这个能帮助大家就到你们遇到的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
877浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 19:47 , Processed in 0.557449 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号