记录一次技术调研 4.17--4.26

上个月16号,领导找到我,说有一个技术调研,去浙江一家客户那里,调研我们的产品接硬件设备的可行性。

第二天就出发,同去的还有我们的需求和另一位开发经理。于是赶紧订第二天的机票。

17号中午,我们三个人来到了机场,坐上了北京到杭州的飞机。下了飞机打车去火车站,做了两个小时的火车到达目的地--长兴。

因为已经有几个项目上线,所以那边有我们公司的人,到达后正好赶上吃晚饭。

饭后,又去了县政府前面的大广场溜达了一圈,悲催的是,我感冒了。。。

4.18,坐上客户的车,我们直接来到了位于郊区的水泥厂,见到了我们要主要调研的设备--定值灌装。

此行的目的也是为了它,要把设备集成进我们的系统,由于我们的系统是java开发的,也就是要用java读取和控制设备,在来之前,虽然也大概了解了一下,但由于之前一点经验都没有,根本就没有头绪,幸好同行的同事来之前让我们售前唐博士大概培训了一下,大概知道是什么东西,重要的是,他给了我们一个以前做过这方面东西的一位朋友的电话。

于是当天晚上,同事就给唐博士的这位朋友打了电话,大体知道了可能用到的协议--设备是PLC控制的,协议主要有modbus,profibus,opc,上网找了下java相关的jar包,还真找到几个--modbus有modbus4j,opc的有org.openscada.utgard项目。

4.19,去了客户的另一个厂子,调研船运相关的设备(分支任务,但客户迫切需要)。

4.20中午,去现场看到定值灌装设备是用西门子的opc server控制的,于是拿出找到的 org.openscada.utgard ,测试---不成功,始终就是连不上。

4.20晚上(周五),找到一个opc server模拟器,再测试--还是不行,难道是org.openscada.utgard有问题。

因为很晚,并且已经很急躁,脑子也已经乱了,加上第二天周六,客户现场去不了,于是睡觉。

4.21(周六)起床后就上网找其他的java连接opc的jar包,又找到一个----jeasyopc。

测试--不通--看异常--修改测试-------竟然通了,把模拟opcserver的数读出来了!

又尝试写数据--失败,查看了一下异常,原来是选择的命令是只读的。换了一个,通了!

模拟的出来了,现场的又会怎样呢?? 由于赶上周六,不能去现场,下午和同事在长兴逛了一下,晚上又打了会牌。

周日一天就大概修改了一下demo程序,学习了一下modbus、plc的知识。

4.23---去客户现场,测试opc的读数、折腾了20分钟后,读出来了!

开始尝试控制,定值灌装主要有 放料口上升、下降、放料等几个操作,我们决定选择一个危险性较低的--上升,可是尝试了几次都失败了,因为要写的寄存器地址是个bit[64]的数组,我们不知道这个数组的结构,于是尝试用控制机柜上的按钮来操作--上升、下降---查看opc server的数据是否改变,但这时悲剧发生了--在快下降到地面后,又上升的时候,突然咔吧一声,吊起放料口的钢丝绳断了! 放料口(大概几百斤)直接自由落体下来,幸好中间有个大铁管连着,在离地面半米左右的地方停住了。我和同事当时有点蒙,于是给在这边的公司的顾问打电话,说明了情况。后来厂里来人检查后得出结论,由于设备没有保护,在下降到一定程度后,钢丝绳会绞到一起,在上升后,就会拉断。调试时调试不了了,我们灰溜溜的就回来了。

最终的结果是设备维修,我们需要等待几天,客户很好,领导问了下人员安全和设备损失后说修好后再让我们去调试,让我们不要有心理负担。


4.24 再次去船运的厂子调研船运的设备---当然没敢控制,只是读数。但是也查看了他们的控制命令-。

经过测试,四个设备有两个设备使用opc server,一个设备使用了串口,这三个设备直接把数都读出来了,最后一个设备用的是modbus协议,用网上找到的例子也连接上并读出数据了---但是看不懂。

4.25(周三)再次去看modbus设备,通过打电话找人请教才知道原来是需要计算的,由于暂时无法找到如何计算,modbus的设备就此作罢。

4.25日中午,经过沟通,我们下午可以去定值灌装的厂子了。于是怀着一颗忐忑的心,我们又来到了我们弄坏的设备那里,这次学乖了,通过前几天的讨论,我们一致认定:不调试上升下降了,找个更安全了,最终我们选择了除尘器,命令简单-开、关。危险性小--实际上就是一个抽风机。

通过观察,找到了开关的命令--测试、失败。修改--测试,只听轰的一声,除尘器开了!!!!当时的心情简直。。。。

一分钟后,我发了一条只有5个字的微博:除尘器动了!

其实这次去 一共用了不到20分钟就调通了,结果也在我的意料之中--因为之前补习了不少知识。但听到除尘器开了的那一霎那,心情还是免不了激动。

回去后,就订了回程的机票。至此,主要任务完成,分支任务(船运设备)4个成功3个,剩下一个也连上了,遗憾的是没在现场把需要的数读出来。

总结一下经验教训:

1.连接硬件,特别是控制,一定要小心。

2.一定要尽可能多的了解要调研的东西,虽然这次也大致完成任务。但是这其中也有很多运气的成分(博士的朋友给我们指明了大方向、网上有modbus和opc相关的jar包)。

通过这次侥幸的成功,最大的收获就是学习了不少PLC的知识,为以后的调研硬件设备积累了经验。

猜你喜欢

转载自suigara.iteye.com/blog/1513004