搜索
bottom↓
回复: 17

如何提高数据采集产品的兼容性和适用性,减少工作量

[复制链接]

出0入4汤圆

发表于 2018-1-4 10:47:32 | 显示全部楼层 |阅读模式
公司开发一款数据采集类产品,对多路模拟量输出传感器 和 多路串口传感器进行数据采集 并传输至服务器。根据不同的项目需求 传感器路数不太一样  串口传感器的协议也有可能不一样 输出的数据格式也不太一样 这样做的结果就是来一个项目做一套板子和一套程序 重复劳动很多 容易出问题 产品也不易做稳定。

初步想法是硬件上做足够多的路数 把核心的代码 和外围接口的代码分开,修改时只修改外围接口代码。 如何实现 还没想太明白 ?

大家还有什么好的经验 分享一下。

核心宗旨是 提高软硬件复用性 把研发人员解放出来

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2018-1-4 11:19:19 | 显示全部楼层
我们也在做这样的事情。

出0入0汤圆

发表于 2018-1-4 11:21:11 | 显示全部楼层
本帖最后由 liansh2002 于 2018-1-4 11:28 编辑

我的想法,借鉴面向对象,把不同传感器的公有属性提取出来,用struct封装,大概就这样
typedef struct{
        void *const pData;                        //数据在RAM中存储的位置
        unsigned char ucDataSize;                //数据在RAM中占用字节数
        unsigned char ucSenseInfo;                //传感器的相关信息
        void (*const vUart)();                        //通讯方法
        void (*const vConver);                        //数据转换(原始数据与实际值间的变化)
}
核心程序调用vUart()获取数据,需要使用时调用vConver()获取实际值,这样核心不要关心传感器,只需要关心数据,做到了外围和核心分离

出0入1209汤圆

发表于 2018-1-4 11:29:31 | 显示全部楼层
软件定义协议。以串口为例,硬件上只实现串口的读写时许。至于串口发什么数据给传感器以及从传感器读回来的数据是啥,硬件都不管,全部传输到后台上,后台去解析。这样前端硬件通用,增加传感器就只修改后台的协议就行。

出0入0汤圆

发表于 2018-1-4 14:13:14 来自手机 | 显示全部楼层
整理需求,模块化设计,硬件模块化,软件模块化。

出0入4汤圆

 楼主| 发表于 2018-1-10 09:54:42 | 显示全部楼层
谢谢大家!

出0入137汤圆

发表于 2018-1-10 10:35:14 | 显示全部楼层
以前也做过采集器的项目,当时也是几种做法:1.数字量不管啥全部给上位机处理,模拟量硬件做的全一点即可。2.底层硬件解析协议,尽量把现场要采集的数字量协议都写进去。2.采用远程升级代码的方式,如果有新设备要采集,远程升级采集器的firmware.

出0入4汤圆

发表于 2018-1-10 11:07:46 | 显示全部楼层
做成CAN采集模块,做很多的模块,然后CAN总线通讯。有一个模块接收CAN数据负责通讯。

出0入0汤圆

发表于 2018-1-10 11:28:37 来自手机 | 显示全部楼层
物联网的东西吧

出0入4汤圆

 楼主| 发表于 2018-1-16 21:02:16 | 显示全部楼层
tjjack 发表于 2018-1-10 11:28
物联网的东西吧

差不多吧,现在都这么叫

出0入0汤圆

发表于 2018-2-15 18:14:02 | 显示全部楼层
嵌入脚本,比如lua等等,后台处理也用脚本,比如python nodejs

出0入0汤圆

发表于 2018-2-15 18:52:58 来自手机 | 显示全部楼层
工业上用can很好用,公司内部可以制定通用的协议,以后慢慢维护

出0入0汤圆

发表于 2018-2-15 22:55:07 来自手机 | 显示全部楼层
速度速度速度很重要,要是不要速度很简单,做一个信号切换板轻松搞定。

出0入0汤圆

发表于 2018-2-16 18:46:04 来自手机 | 显示全部楼层
modbus rtu

出0入4汤圆

发表于 2018-2-16 22:30:41 来自手机 | 显示全部楼层
不同的地方全部上位机处理即可

出0入0汤圆

发表于 2018-2-17 09:46:33 | 显示全部楼层
协议制定得好,麻烦事会少很多,参考protobuf

出0入4汤圆

 楼主| 发表于 2018-2-19 07:42:40 | 显示全部楼层
yj_yulin 发表于 2018-2-17 09:46
协议制定得好,麻烦事会少很多,参考protobuf

谢谢 看看 学习一下

出0入0汤圆

发表于 2018-2-19 08:59:43 来自手机 | 显示全部楼层
这方面是需要好好学习的!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 10:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表