设为首页 加入收藏

TOP

串行化流式文件在地磅设备管理中的应用
2019-06-04 16:58:09 来源:http://www.scalesh.com 作者:http://www.scalesh.com 【 】 浏览:0次 评论:0

在衡器称重系统中, 通常不是一个孤立的设备在工作, 而是多种设备协同工作。如普通汽车衡系统中:有传感器、仪表、大屏幕等。在《汽车衡无人值守称重系统》中所涉更多———即在普通汽车衡系统的基础上, 增加了如:摄像头、IC卡读卡器、红外光栅、报警灯、地感线圈等等。如此众多的设备, 型号各一, 接口不同, 功能也不一样, 数量亦不固定, 管理好多种设备, 保证系统的稳定性是一个难题。况且每个客户需求不一样, 系统配置不尽相同。这就要求软件的管理逻辑具有一定的通用性, 可以灵活裁减, 进而提高系统稳定性。作者经过长期摸索, 提出使用串行化流式文件来管理衡器设备的思路。这种串行化存档的方法广泛应用于现代大型软件中, 如Auto CAD、Photoshop、各种编程工具的IDE等。

1 串行化流式设备管理架构

所谓串行化流式文件, 并不是一个新的技术, 实际上就是MFC中CArchive类串行化文档的应用。图1中的架构看起来比较复杂, 可以描述为:当CArchive类将对象存储到文件时, 对象的CRuntimeClass名称附加到这些对象后。然后, 当另一个存档将对象从文件加载到内存时, 将基于这些对象的CRuntimeClass动态地重新构造出CObject派生的对象。简单一点说:就是将不同的设备抽象化为对象类, 使用CArchive串行化来存档类的实例。在使用的时候, 再分别将其还原到内存中。无论是多么复杂的应用或者多大规模的软件, 都可从诸如此类小的技术点起步, 只是具体实现细节有所不同而已。

使用CArchive类来存储多种设备信息, 相较于传统的数据库方式有什么优势呢?首先要声明的是:数据库能胜任信息的存储, 但是数据库主要是对固定格式的, 字段数目固定的数据存储有优势, 对非定长记录 (即字段数目不固定, 数据类型不固定) , 则比较麻烦, 要事先创建足够多的备用字段或者多张表或者动态修改数据结构。这样做, 不仅会增加程序的复杂性, 而且对软件的性能、存储空间、可靠性都有损失。用串行化CArchive类则不存在这个问题。再者CArchive对类对象实例化的处理 (即反串行化) 也很方便, 需要开发人员考虑的底层细节相对较少, 仅专注自己的业务逻辑。

图1 串行化流式设备管理微架构

图1 串行化流式设备管理微架构  下载原图

2 设备串行化的基本过程

以“称重仪表”这一类设备为例, 首先抽象出“称重仪表”的这类设备的数据模型, 如下:

图2 设备管理界面

图2 设备管理界面  下载原图

图3 设备数据输入界面

图3 设备数据输入界面  下载原图

3 从串行化流式文件中创建设备并使用

第二节中的内容对应图1中的上半部分, 是衡器设备的串行化流式文件的生成过程。统一来说即静态化过程。对应的还有动态还原过程———即软件启动时, 将会在内存中创建设备并打开设备, 使其进入工作状态。对应图1中的下半部分。

要创建并操作设备, 作者在CScale3DCObject类的基础上, 中加入了OpenDev、ReadDev、WriteDev、Close Dev四个接口方法来操作设备, 将类名改为CScale3DCActive Object。然后通过线程及其消息队列来控制设备运行。设备采集的数据放到共享内存中, 供主程序模块或其他模块调用。实现流程如下 (如图4所示) :

“一机双秤” (如图5所示) 是汽车衡称重系统中常见的一种应用形式。使用串行化流式文件加树型设备的管理方式, 从用户使用的角度看, 很容易理解。Windows系统的设备管理器, 对作者启示很大。作者在多年的衡器行业工作过程中, 通过长期的摸索找到了这种汽车衡称重软件“应用流程再造”的高效方法。图5中的应用, 只是一个例子。理论上很容易扩展到“一机N秤”, 但限于软件界面空间 (受限于显示器宽度) 和实际现场环境, 一般只推荐用到“一机四秤”。在汽车衡系统中, 配套的设备既具有“多样性”, 也具有“重复性”, “一机多秤”主要是“称重仪表”的“重复性”的应用案例之一。

图4 设备的创建和控制过程

图4 设备的创建和控制过程  下载原图

图5 一机双秤应用

图5 一机双秤应用  下载原图

4 一些思考

在《汽车衡无人值守称重系统》中, 不能将所有的设备直连到电脑上 (接口类型和数量不匹配) , 需要开发一个控制板来完成这个工作 (有的公司是通过仪表来实现的, 称之为物联网仪表) 。这个控制板扩展出多种接口:如串口、RS485接口、USB口、网线口、IO开关量等, 然后籍由一根总线连到计算机中。这样, 上层软件将会大大减轻设备管理、通信方面的压力。板载数据通过固定的格式, 如Modbus或CAN等标准工业协议和称重软件系统交互。控制板的接口资源整合得好坏与否?关系到整个称重系统的稳定性。整合得越好, 系统稳定性就会越高, 性能和效率也会大大提升。比如:板子在上电时, 可巡检各个端口, 将当前连接的设备的型号和数量传入计算机系统中, 这样软件可以自动配置, 无需用户去设置软件的设备参数, 能减轻用户的工作量。要做到这一点, 并不容易, 需要硬件也采用标准接口, 开发人员需要和硬件厂家协商解决。

综上所述, 随着物联网 (Internet of things (IoT) ) 的概念越来越深入人心, 在衡器行业中也受到极大的关注, 已经成为行业“风口”。作为龙头企业的“宁波柯力”和“上海耀华”早就布局物联网战略, 并做出了喜人的成绩, 为行业进步注入了活力。《汽车衡无人值守称重系统》只是物联网产品之一。它是在传统的汽车衡称重系统的基础上, 加入“云”数据互联共享功能, 并结合移动端APP、PC端软件, 让设备的可控性和使用效率进一步提升。随着外围设备的增加, 造成客户端自身的不稳定性的因素, 也会成倍增加, 文中作者试图解决这一问题, 并在PC端做了试验, 达到了预期效果。

Tags:地磅 责任编辑:admin
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇:没有了 下一篇:自定位加卸荷测量装置校准地磅

相关栏目

最新文章

图片主题

热门文章

推荐文章

相关文章

广告位

安全联盟