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年之间基本上一直在 ...
随机推荐
- Android中Activity启动模式探索
Android中启动模式(launchMode)分为standard, singleTop, singleTask, singleInstance四种,可通过AndroidManifest.xml文件 ...
- Maven打包方式
转自:https://blog.csdn.net/qq_26597927/article/details/80170073 Maven打包三种方法(推荐第三种) 2018年05月02日 18:30:2 ...
- Hive对字段进行urlDecode
最近项目中需要对埋点日志hive表进行分析,并且按一定的规则统计出来满足要求的用户pin.本来以为是一件比较简单的事,结果在查看导出的词表时发现很多带有"%"的明显具有url en ...
- Surface Pro 6 遇到的一系列问题
当屏幕很烫的时候,触摸屏会部分失灵,越烫越明显,但是 Surface Pen 仍然可以使用,建议这个时候关机,等它冷静了再开机 不过不排除更新导致的触控失灵(新的更新没有考虑到老的硬件,微软也许之后永 ...
- 2020重新出发,JAVA入门,关键字&保留字
关键字 & 保留字 关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用. 关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用.例如, cl ...
- Markdown上手
Markdown 学习日记 标题 二级标题 两个#+空格 快捷键:Ctrl + 2 三级标题 三个#+空格 快捷键:Ctrl + 3 最多支持六级标题 字体 加粗 文字 两个 *+文字+两个 * 快捷 ...
- Quartz.Net的基础使用方法,单任务执行
1.先创建一个控制台应用程序 2.应用Quartz的NuGet包 3.编写执行任务代码 using System; using System.Threading.Tasks; using Quar ...
- C#LeetCode刷题之#507-完美数(Perfect Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3879 访问. 对于一个 正整数,如果它和除了它自身以外的所有正因 ...
- C#LeetCode刷题之#4-两个排序数组的中位数(Median of Two Sorted Arrays)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4005 访问. 给定两个大小为 m 和 n 的有序数组 nums1 ...
- kereas 实现鸢尾花分类
import tensorflow as tf from sklearn import datasets import numpy as np x_train=datasets.load_iris() ...