MES系统与喷涂设备软件基于文本文件的数据对接方案
产品在生产过程中除了记录产品本身的一些数据信息,往往还需要记录下生产设备的一些参数和状态,这也是MES系统的一个重要功能。客户的药物支架产品,需要用到微量药物喷涂设备,客户需要MES系统能完整记录下每个产品在做喷涂工艺时的设备参数和状态,这就要求MES系统能和喷涂设备做数据接口。客观条件所限,设备的供方只能做基于文本文件的数据交换,本以为可靠性不高的方案,几个月使用下来却异常稳定,没有反馈任何异常情况。引用自 mes.guru
使用场景描述
- 用户在MES喷涂界面扫描产品序列号,MES将序列号发送给喷涂设备。
- 喷涂设备读取序列号并开始工作,喷涂完成之后将喷涂数据发送给MES系统。
- MES系统保存数据,结束。
数据接口实现步骤
接口需要用到3个文件夹,分别为 MES2Pentu、Pentu2MES、BAK。
MES系统用户扫描序列号之后,MES系统先将MES2Pentu目录下的任何文件移动到Bak目录,然后创建一个以序列号为文件名的文件,如A00123.txt; MES系统界面显示等待喷涂作业,并通过时间轮询定时读取Pentu2MES文件夹下的文件。
喷涂设备通过时间轮询来读取MES2Pentu下的文件,一旦读取到文件,设备就开始工作,待工作结束,将数据按照约定的格式写到Pentu2MES文件夹,以序列号为文件名。最后将MES2Pentu下刚刚读取过的序列号文件移动到Bak目录。
MES系统扫完序列号之后,一直在通过时间轮询的方式监视Pentu2MES文件夹下的文件。一旦读取到扫描的序列号相同的文件,就按约定解析文件里的数据,然后保存到MES系统。同时将刚才读取过的文件移动到Bak目录。
就这几个步骤,一直在循环执行。
注意问题
文件读写冲突。解决办法:因为是时间轮询来读取,所以一旦碰到读取失败,直接跳过,等待下一个轮询再读取。 因为整个作业步骤都是一个人操作,而且本身在操作上有前后顺序,所以读写冲突本身是不容易发生的。
如果MES扫完序列号之后,MES系统开始轮询等待数据,而喷涂设备因为各种原因没有开始工作,那么MES系统就需要一个退出轮询,重新扫描序列号的功能。
如果MES扫完序列号之后,MES系统开始轮询等待数据,而这时因为各种原因MES系统退出了。因为喷涂设备完成之后会写数据到Pentu2MES文件夹,而且喷涂设备也不可能重新做一次。所以待MES重新运行,重新扫描未完成的序列号,必须要先读取Pentu2MES文件夹,看是否已经有回写的文件。如果有,则直接读取,如果没有,再执行上面讲的实现步骤里的第1部。
喷涂数据
- 喷涂产生的数据格式大致如下,因为喷涂设备有可能中途出现情况,所以数据格式里以“END”结尾,用来识别数据是否完整有效。
上升边沿时间 3
正电平时间 2
下降边沿时间 4
负电平时间 2
末端上升边沿时间 8
初始电平 0
正电平 80
负电平 -10
频率 35
气压 正常
槽丢失数 4
槽剔除总数 0
喷涂圈数 5
END
MES系统与喷涂设备软件基于文本文件的数据对接方案的更多相关文章
- 更多企业选择MES系统?这一款功能竟如此强大
很多制造业企业采用MES系统对制造生产的所有组成部分如订单.加工.质量.物料管理等进行集成,以实现产品生产的全过程管理,满足生产控制的需求,最终实现车间制造管理的信息化. MES系统不仅可以帮助企业提 ...
- 别忘了在使用MES系统之前,还有关键一步!
如果你是不熟悉工业自动化领域的专业人士,又或者是从IT或其他背景进入到操作技术(OT)领域的相关人士,那么我相信你不会后悔读到这篇文章. 我们都想做到智能化生产,想将MES系统,APS系统应用到生产过 ...
- MES系统学习
MES系统是当今制造型企业信息化的热点,而统一建模语言UML是面向对象建模的标准语言,在软件工程发挥着重要作用.MES系统如何进行UML建模呢,今天和大家重点讨论一下MES系统的UML建模方法,请看本 ...
- 企业信息化建PLM系统、ERP系统、MES系统是单个逐步建设好,还是同时上比较好?
企业信息化建PLM系统.ERP系统.MES系统肯定是单个逐步建设好啊,不仅仅是各个系统单独建设,系统内各模块的实施也应该先后逐步推进,切不可想着一口吃个大胖子,一股脑的全上,求全求快是很多系统实施失败 ...
- 【详解】ERP、APS与MES系统是什么?
ERP是什么?MES是什么?APS又是什么?无论他们有什么功能,对企业有什么意义,不过都是计算机在读写一些数据而已.实际上这一切的本质不过是数据在硬盘和内存中快速的读和写. ERP是--,APS是-- ...
- 听说你的MES系统又失败了?
前些日子,一位前同事跟我抱怨,他们做的MES系统,凉凉了.这样的话,我从不同人口中听到过不止一次. 我们做的系统,做到一半做不下去了...... 我们的系统,工人都不爱用...... 不只是MES,所 ...
- 【系统架构】软件核心复杂性应对之道-领域驱动DDD(Domain-Driven Design)
前言 领域驱动设计是一个开放的设计方法体系,目的是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题,本文将介绍领域驱动的相关概念. 一.软件复杂度的根源 1.业务复杂度(软件的 ...
- C#C/S框架演示 (MES系统)
之前做过一个MES系统,发一些里面的截图.如果有朋友也用这个框架.或者有兴趣可以一起学习学习.使用开发工具VS2013,数据库SqlServer2008和Oracle11C.插件dev15.2,开发模 ...
- “医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标 想做一个面对中小企业的专业上游软件供应商 台湾联发科技颠覆掉的是一个封闭的手机产业系统 解决方案,即AgileHIS.NET数字化医院基础方案
“医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标 我们做中国医疗信息化行业之中的联发科 ---我们在医疗行业中的定位及目标 从我个人来讲,我从2001年到现在这10年之间基本上一直在 ...
随机推荐
- RabbitMQ学习总结(4)-消息处理机制
1. 正常的消息流程 上面这张图,是一个正常的消息从生产到消息流程.在上一篇文章RabbitMQ学习总结(3)-集成SpringBoot中,代码里使用消息确认,消息回退机制,现在详细说一下. 2.1 ...
- PHP7 生产环境队列 Beanstalkd 正确使用姿势
应用场景 为什么要用呢,有什么好处?这应该放在最开头说,一件东西你只有了解它是干什么的,适合干什么,才能更好的与自己的项目相结合,用到哪里学到哪里,学了不用等于不会,我们平时就应该多考虑一些这样的问题 ...
- Python3.x+Fiddler抓取APP数据
随着移动互联网的市场份额逐步扩大,手机APP已经占据我们的生活,以往的数据分析都借助于爬虫爬取网页数据进行分析,但是新兴的产品有的只有APP,并没有网页端这对于想要提取数据的我们就遇到了些问题,本章以 ...
- javascript对象笔记
JS对象 对象是一个具体的事物 在JS中对象是一组无序属性和方法的集合例如字符串,数组,函数等等 对象是由属性和方法组成的 属性:是事物的特征,在对象中用属性来表示一般 ...
- 19、State 状态模式
“人有悲欢离合,月有阴晴圆缺”,包括人在内,很多事物都具有多种状态,而且在不同状态下会具有不同的行为,这些状态在特定条件下还将发生相互转换.就像水,它可以凝固成冰,也可以受热蒸发后变成水蒸汽,水可以流 ...
- 制作的excel表格如何放到微信公众号文章中?
制作的excel表格如何放到微信公众号文章中? 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众号中添加附件 ...
- 关于Springboot配置文件的理解
一.Springboot Springboot是用来简化Spring框架搭建和开发一款框架,可以理解为是一种Spring框架的简化版. 二.如何在IDEA里面初始化Springboot 主要可以分为两 ...
- C#开发笔记之02-什么时候使用OnXXX方法,这种命名是什么意思?
C#开发笔记概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/958 访问. 你也许经常会看到别人写的代码里有OnXX ...
- 性能分析(5)- 软中断导致 CPU 使用率过高的案例
性能分析小案例系列,可以通过下面链接查看哦 https://www.cnblogs.com/poloyy/category/1814570.html 前言 软中断基本原理,可参考这篇博客:https: ...
- JDK8 String类知识总结
一.概述 java的String类可以说是日常实用的最多的类,但是大多数时候都只是简单的拼接或者调用API,今天决定深入点了解一下String类. 要第一时间了解一个类,没有什么比官方的javaDoc ...