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之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)
FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...
- LeetCode 87,远看是字符串其实是搜索,你能做出来吗?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第54篇文章,我们一起来看LeetCode 87题,Scramble String(爬行字符串). 这题的官方难度 ...
- Linux本地套接字(Unix域套接字)----SOCK_DGRAM方式
目录 简述 创建服务端代码: 创建客户端代码 接收函数封装 发送封装 服务端测试main函数 客户端测试main函数 编译运行结果 简述 这里介绍一下Linux进程间通信的socket方式---Loc ...
- CI4框架应用六 - 控制器应用
这节我们来分析一下控制器的应用,我们看到系统提供的控制器都是继承自一个BaseController,我们来分析一下这个BaseController的作用 use CodeIgniter\Control ...
- Python安装工具
1.官网下载地址是:https://www.python.org/downloads/ 默认下载安装时记得勾选配置PATH路径 PIP工具包(我是选择Python 3.5的) 2.Windows 下 ...
- 最适合做C/C++开发的IDE
一.Windows Windows没什么好说的了,铁定vs(下载链接:https://visualstudio.microsoft.com/zh-hans/), 因为如果不用vs,做Qt时会有奇妙的错 ...
- 【Spring注解驱动开发】使用@PropertySource加载配置文件,我只看这一篇!!
写在前面 很多小伙伴都在问:冰河,你的Spring专题更新完了吗?怎么感觉像是写了一半啊?我:没有更新完呀,整个专题预计会有70多篇.那怎么更新了一半就去写别的了呢?那是因为有很多其他的小伙伴在后台留 ...
- XCTF-WEB-高手进阶区-Web_python_template_injection-笔记
Web_python_template_injection o(╥﹏╥)o从这里开始题目就变得有点诡谲了 网上搜索相关教程的确是一知半解,大概参考了如下和最后的WP: http://shaobaoba ...
- 设计模式:装饰者模式介绍及代码示例 && JDK里关于装饰者模式的应用
0.背景 来看一个项目需求:咖啡订购项目. 咖啡种类有很多:美式.摩卡.意大利浓咖啡: 咖啡加料:牛奶.豆浆.可可. 要求是,扩展新的咖啡种类的时候,能够方便维护,不同种类的咖啡需要快速计算多少钱,客 ...
- java多线程:线程同步synchronized(不同步的问题、队列与锁),死锁的产生和解决
0.不同步的问题 并发的线程不安全问题: 多个线程同时操作同一个对象,如果控制不好,就会产生问题,叫做线程不安全. 我们来看三个比较经典的案例来说明线程不安全的问题. 0.1 订票问题 例如前面说过的 ...