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年之间基本上一直在 ...
随机推荐
- Linux的VMWare中Centos7文件系统挂载和开启网卡及简单命令
一.路径 挂载磁盘/etc/fastab 开启网卡 vi .bash_profile ---更改PATH环境变量 可设置 mysql提示符 cd /etc/yum.rep ...
- Pytest单元测试框架:插件-allure-pytest环境搭建并在本地生成一个测试报告
之前写了allure-pytest的官方文档啃的内容,有些交流的朋友,实践起来没什么头绪,所以就有了这篇文章,也给自己填个坑 第一步:搭建Allure.JDK环境 1. 搭建JDK环境 不装jdk你会 ...
- 社区版Intelij IDEA快速创建一个spring boot项目(找不到sping Initializer选项)
首先作为一个初学spring boot的小白,在学习过程中肯定会遇到各种问题... So,问题出现:在我想快速创建spring boot项目时,却在新建列表中找不到sping Initializer这 ...
- 微信公众号如何将PDF上传到公众号?
微信公众号如何将PDF上? 我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众号中添加附件. 以下是公众号添加 ...
- 从零搭建Spring Boot脚手架(3):集成mybatis
1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文集成了一些基础的功能,比如统一返回体.统一异常处理.快速类型转换.参数校验等常用必备功能,并编写了一些单元测试进行验证,今天 ...
- SpringBoot_MyBatisPlus快速入门小例子
快速入门 创建一个表 我这里随便创建了一个air空气表 idea连接Mysql数据库 点击右侧database再点击添加数据库 找到Mysql 添加用户名,密码,数据库最后点击测试 测试成功后在右侧就 ...
- Arm pwn学习
本文首发于“合天智汇”公众号 作者:s0xzOrln 声明:笔者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关! 刚刚开始学习ARM pwn,下面如有错 ...
- C# ASP JS引用路径不正确导致的错误
假设JS包放在根目录下的Scripts文件夹下 当前页的路径在另一个文件夹下,那么他引用JS应该:<script src="../Scripts/jquery-1.4.1.min.js ...
- HTML学习第三天
超链接: <a href=""></a> target链接打开方式 1._blank新窗口打开 2._self当前窗口打开 ...
- JS实例-01
输入成绩(0-100),不同的分数段奖励不同while(true){var a=prompt('请输入成绩');if (a>=0&&a<=100){ break;}}if ...