我们提供安全,免费的手游软件下载!
前一段时间,一位擅长Java技术栈的朋友咨询我,希望快速对接现有的无人值守称重系统。这里的对接指的是替代现有系统,而非软件层面的对接。也就是说,利用现有的硬件开发一套取代现有软件的自动化系统。主要设备包括地磅秤、道闸、红外对射传感器、摄像头、小票打印机、LED显示屏等。全程使用LED显示屏提示操作状态。
业务流程:
① 摄像头识别车牌号
② 开启前入磅道闸
③ 红外监测车辆是否抵达称重区域
④ 采集地磅重量,自动判断仪表读数稳定
⑤ 摄像头抓拍现场图像,同时并发采集多路摄像头形成现场档案
⑥ 数据打包上传到MES系统
⑦ 打印小票
⑧ 开启后出磅道闸
这位朋友通过Java技术栈研究了一段时间,但进展较慢。通过某个园子联系到我,我们进行了简单沟通,确定使用IoTBrowser进行开发。尽管前期没有界面的展示需求,但保留了UI控制的扩展性。最主要的是使用html+js进行开发简单高效。我提供硬件层的驱动和js接口,他来实现上层业务逻辑控制。
由于项目处于前期技术验证阶段,所以我们拿了两款硬件进行测试。第一款是地磅秤,据了解地磅秤仪表使用耀华A9,IoTBrowser已经自带实现,并提供了js示例,无需二次开发。第二个是控制道闸的开启与关闭,这部分尚未实现,因此需要重点突破这一设备。
为了进行硬件对接,首先需要了解接口形式和数据协议,通过以下三步:
第一步,找到设备的品牌和型号;
第二步,快速在官网找到说明书,通过了解这块设备是施耐德品牌C2000型号,一款以太网型开关量模块,向下使用RS485接入道闸的串口,向上提供Modbus-TCP协议可以远程控制。
第三步,通过说明书找到具体的控制协议,然而Modbus协议是使用原始的16进制描述,并没有线圈相关的介绍。
找到了对应的协议,下一步就是着手工作。由于朋友在宁夏,而我在长沙,因此代码开发和调试无法在他的机器上进行。这样很不方便,所以使用代理软件将设备的Modbus端口临时转发出来,这样就能通过网络在地理位置上相距千里的地方联调设备。
经过几个小时的摸索,成功实现了设备的开启和关闭。中间过程还算顺利,只是在使用NModbus时需要进行Int参数的进制转换,这里浪费了一点时间。
上层封装了js和简单的UI参考示例,我的工作就顺利交付了。
IoTBrowser平台开源地址:https://gitee.com/yizhuqing/IoTBrowser/
热门资讯