简洁高效的设备稼动率采集系统(一)

前言:

        在自动化生产行业,每个公司都需要一款高效的生产设备,那我们怎么体现出设备的高效呢?

        可以采集设备的状态,经过成熟的算法,得到设备的稼动率。设备稼动率是衡量生产设备在一定时间内真正处于生产状态的时间比例,反映了设备的有效利用程度。只有当我们真正的工作数据暴露出来,才能在原来不足的地方,加以调整,效率步步高升。

主题:搭建一套简易的设备状态采集系统

问题复现

        生产车间有4台CNC加工设备,原来已有采集盒子,但因CNC加工设备存在一些未知问题,导致采集盒子读不到CNC加工设备的状态。

问题分析

        排查网络问题

                网络连接方式:采集盒子通过RJ45(网线)连接CNC加工设备。

                        1. 通过摇摆、轻微拉拽网线连接处,检查网络设备的连接指示灯是否熄灭。

                         检查结果:物理连接层无问题;

                        2. 通过Windows自带命令窗口,持续ping设备IP地址,检查网络是否联通,是否存在丢包现象。

                        检查结果:经过多次长时间测试,未发现存在丢包现象,系统层无问题。

                         3. 检查采集盒子回传消息。

                        检查结果:采集盒子发送给服务器的数据没有问题,软件层无问题。

        排查设备问题

                因设备结构质量比较优越、硬件保养比较及时,很有可能是控制器的问题。

                        1.  利用排除法,将没有问题的机台网线连接至有问题的机台上,观察一段时间。

                        检查结果:还是存在读不到CNC加工设备的情况。

        结论

                经排查,为控制器问题。因设备未从厂家购买,不能享受三包。

        解决方案

                        维修方案1:联系外部维修公司,回复未必能完全修好;

                        维修方案2:更换全新控制器,供应商报价15k/台,如果4台全部更换,需要60k;

                        维修方案3:自行增加采集设备。

处理过程

        树莓派采集

                成本<1000RMB

                在树莓派上安装操作系统,部署MQTT服务,使用Python代码读取树莓派的GPIO引脚采集设备的状态,并上传采集盒子。

                但因本人未有类似项目经验,导致计划泡汤。

        ESP32采集

                成本<30RMB

                利用ESP32的GPIO引脚采集设备状态,使用Python代码进行处理、转发,经过几次尝试后,计划泡汤。

        PLC采集

                成本<2500RMB

                使用S7-1212CPU采集设备状态,经过本地逻辑判断出设备状态,存储到指定寄存器。联系采集盒子供应商对CPU寄存器数据进行读取,转发给服务器,达到采集目的。

                因为有多年自动化经验加持,最后取得了成功!

结论

        维修方案1:一旦采取像个黑洞,不保成功,不可取;

        维修方案2:成本太高,不值得;

        维修方案3:最终选择了使用PLC采集,成本相对来说比较可观,花小钱办大事,粗略估计省57k。

        

总结

        每个人的经历不一样,

        每个人的想法不一样,

        每个人的能力不一样,

        每个人的措施不一样,

        导致结局的各种各样。

        如果没有往年夜以继日对技术能力的渴望,面对现在的问题又有什么对策呢?

下集预告

        经过这次的问题处理,脑海中闪现一个念头,S7-1212CPU自带Web服务器,我们可以使用这个功能将里面数据读取出来,搭配一台低配置电脑(2k左右)来存储设备的历史工作状态,最后通过HTML5代码将设备的稼动率体现出来,一套简洁高效的设备稼动率采集系统只要5000块硬件成本。(文章标题源自此处)

将不同行业的知识像搭积木一样拼接起来,会有出乎意料的收获!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/50606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django学习(二)

get请求 练习&#xff1a; views.py def test_method(request):if request.method GET:print(request.GET)# 如果链接中没有参数a会报错print(request.GET[a])# 使用这个方法&#xff0c;当查询不到参数时&#xff0c;不会报错而是返回你设置的值print(request.GET.get(c,n…

ElasticSearch(三)—文档字段参数设置以及元字段

一、 字段参数设置 analyzer&#xff1a; 指定分词器。elasticsearch 是一款支持全文检索的分布式存储系统&#xff0c;对于 text类型的字段&#xff0c;首先会使用分词器进行分词&#xff0c;然后将分词后的词根一个一个存储在倒排索引中&#xff0c;后续查询主要是针对词根…

echarts使用案例

1.配置legend icon 根据点击事件动态更换样式 <template><div ref"chart" style"width: 600px; height: 400px;"></div></template><script>import * as echarts from echarts;export default {name: EchartsExample,data(…

C语言第三天笔记

变量 概念 表面&#xff1a;程序运行过程中取值可以改变的数据 实质&#xff1a;变量其实代表了一块内存区域/单元/空间。变量名可视为该区域的标识。 整个变量分为三部分&#xff1a; 变量名&#xff1a;这个只是变量的一个标识&#xff0c;我们借助变量名来存取数据。 变…

Element快速学习

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;JavaWeb关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 什么是Element&#xff1f; Element&#xff1a;它是由饿了么团队开发的一个…

盛元广通实验室自动化生物样本库质量控制管理系统

随着我国生物医学研究的不断深入和精准医疗的快速发展&#xff0c;对高质量生物样本的需求日益增长。近年来&#xff0c;我国生物样本库建设取得了显著进展。各级政府、高校和医院纷纷投入资源建设生物样本库&#xff0c;推动了生物样本资源的有效整合和利用。生物样本库的质量…

Footprint Analytics 助力 Core 区块链实现数据效率突破

Core 是一个基于比特币并兼容 EVM 的 Layer 1 区块链&#xff0c;正通过其创新解决方案引革新特币金融。作为首个引入非托管 BTC 质押协议及全球首个发行收益型 BTC ETP 产品的区块链&#xff0c;Core 站在了区块链技术的最前沿。通过利用超过 50% 的比特币挖矿哈希算力&#x…

QEMU源码全解析 —— CPU虚拟化(11)

接前一篇文章: 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社 《深度探索Linux系统虚拟化原理与实现》—— 王柏生 谢广军, 机械工业出版社 特此致谢! 前边几回又再次讲了一下VMX,本回开始讲解VCPU…

vue3 使用Mock

官网: http://mockjs.com/ 安装 npm install mockjs -Dsteps1: main.js 文件引入 import /api/mock.jssteps2: src/api/mock.js import Mock from mockjs import homeApi from ./mockData/home /*** 1.拦截的路径:mock拦截了正常NetWork/网络请求,数据正常响应* 2.方法* …

【苍穹】完美解决由于nginx更换端口号导致无法使用Websocket

一、报错信息 进行到websocket开发的过程中&#xff0c;遇到了前端报错&#xff0c;无法连接的提示&#xff1a; 经过F12排查很明显是服务端和客户端并没有连接成功。这里就涉及到之前的坑&#xff0c;现在需要填上了。 二、报错原因和推导 应该还记得刚开苍穹的第一天配置前…

Java集合——Array、ArrayList、LinkedList

1. ArrayList和Array的区别 1. 大小和自动扩容 Array&#xff1a;创建时指定大小&#xff0c;大小固定。若数组被创建&#xff0c;其大小不能更改 ArrayList&#xff1a;动态数组实现&#xff0c;可以动态增长或缩小。在不断添加元素时&#xff0c;ArrayList会自动进行扩容 …

MySQL大框架总结

1.DDL,DML,DQL,DCL的区别 &#xff08;由于DCL是关乎用户的&#xff0c;以下内容重点讲述数据库&#xff0c;表与数据的操作&#xff0c;所以对DCL不详细赘述&#xff09; DDL DML DQL DCL 中文/英文 数据库定义语言 data definition language 数据库操作语言 data mani…

为什么多数大数据治理项目都是失败的?Gartner调查失败率超过90%

引言&#xff1a;随着数据规模的爆发式增长、数据价值的凸显以及数据治理的必要性。在政策的推动、市场需求的拉动以及技术进步的支撑下&#xff0c;大数据治理正成为推动企业数字化转型、提升数据价值的重要手段。企业希望通过大数据治理提升数据利用率和数据价值&#xff0c;…

19 Python常用内置函数——range()

range() 是 Python 开发中非常常用的一个内置函数。该函数返回具有惰性求值特点的 range 对象&#xff0c;其中包含左闭右开区间 [start, end) 内以 step 为步长的整数。 参数 start 默认为 0&#xff0c;step 默认为 1。 print(range(5)) print(list(range(5))) print(list(r…

2024中国大学生算法设计超级联赛(2)

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;彩笔ACMer一枚。 &#x1f3c0;所属专栏&#xff1a;杭电多校集训 本文用于记录回顾总结解题思路便于加深理解。 &#x1f4e2;&#x1f4e2;&#x1f4e2;传送门 A - 鸡爪解题思…

华为高品质万兆园区体验保障技术白皮书

华为高品质万兆园区体验保障技术白皮书 - 华为企业业务 re 音视频会议已经成为企业办公的核心应用系统&#xff0c;尤其是高层会议的质量对企业的运营效率有很大影响&#xff0c;相 关的体验问题也是员工投诉的重灾区。但不同于传统的网络通断类问题,体验类问题涉及的范围大、…

vue3 暴露网络地址,以及修改端口号

一般情况下这里的地址是隐藏的 这里加上 --host 可以暴露网络地址&#xff0c;再加上 --8080 就可以将端口号修改为8080&#xff08;修改为其它的当然也可以&#xff09;

[AI科普] 2024人工智能指数报告解读

1. 前言&#xff1a; 本周分享了&#xff0c;关于斯坦福以人为本人工智能研究室发布的&#xff0c;《2024年人工智能指数报告》的解读&#xff0c;主要是结合了快刀青衣哥的一些解读。在此基础上&#xff0c;又增加了一些国内外的AI发展现状&#xff0c;欧洲杯中体现的人工智能…

草图也能秒变完整画稿?三星 Galaxy Z Fold6 、Flip6硬件升级

在科技的不断进步中&#xff0c;智能手机行业的竞争愈发激烈&#xff0c;各大厂商纷纷推出创新产品以吸引消费者。 最近&#xff0c;三星在 Galaxy Unpacked 发布会上就带来了 Galaxy Z Fold6 和 Flip6 两款手机新品&#xff0c;这两款设备不仅在硬件上有所突破&#xff0c;更…