上位机与MES数据交互的常用方案
一、前言
随着工业自动化水平的不断提高,我们在做上位机开发的时候,会经常涉及到与MES进行数据交互。
上位机与MES(Manufacturing Execution System,制造执行系统)之间的数据交互,大多数情况下都是MES提供数据接口,上位机按照MES的要求进行实施。
今天跟大家分享一下上位机与MES交互的常用方案。
二、文件方式
文件方式是一种较为传统的数据交互方式,其优点是简单、易于实现。上位机或 MES 可以定时生成文本文件或 Excel、XML 等格式的文件,然后对方通过文件夹检测或者FTP等方式获取到指定文件,根据文件内容进行相应的处理。
文件方式的缺点是传输效率较低,且容易出错。此外,文件的格式、传输方式等都需要双方进行严格的规定,否则容易出现数据丢失或不一致的情况。
三、数据库方式
数据库方式是利用关系型数据库(如SQLServer、MySQL、Oracle等)实现上位机与MES 的数据交互。上位机或 MES 可以通过 SQL 语句对数据库进行读写操作,实现数据的共享。
数据库方式的优点是数据存储规范、易于管理。此外,通过数据库事务处理,可以确保数据的完整性和一致性。缺点是数据库的部署和维护成本较高,对网络带宽有一定的要求。
这里要注意,尽量避免操作生产数据表,可以根据实际业务场景,通过新增一个专门用于交互的数据表,来减少操作失误。
四、TCP/IP方式
TCP/IP 方式是指上位机与 MES 通过 TCP/IP 协议进行数据交互。上位机或 MES 可以采用 Socket 编程,实现数据的双向传输。
TCP/IP 方式的优点是传输速度快、效率高。缺点是需要双方约定数据格式和传输协议,且网络不稳定时可能会出现数据丢失或不一致的情况。
五、通信协议
这个的通信协议指的是一些应用层的协议,比如ModbusTCP、MQTT、OPCUA等。这种方式的本质仍然是TCP/IP,只是不需要人为约定协议数据格式,我们只需要把注意力放到变量地址或变量名上。
通信协议方式的优点是传输速度快、效率高。缺点是需要均对该协议有足够的了解。
六、OPC方式
对于一些IT出身的人来说,为了方便,会使用KepServer来做数据交互,KepServer本身不仅可以走OPC,还支持数据库或Iot Gateway插件等一些方式。
OPC方式的优点就是简单便捷,但是缺点也很明显,首先就是收费的问题,KepServer的授权费用较为昂贵,并且通信效率要相对较低。
七、WebService方式
WebService 是一种基于 XML 的服务架构,它不受语言和平台限制,可以实现不同语言之间的相互调用。上位机和 MES 可以通过 WebService 进行数据交互,实现跨平台、跨语言的数据共享。
WebService 方式的优点是跨平台、跨语言,易于集成。缺点是需要对 WebService 进行详细的定义和部署,实现起来相对复杂。
八、WebApi方式
RESTful API 是一种基于 HTTP 协议的轻量级 WebService 架构,它简单、易于实现。上位机和 MES 可以通过 RESTful API 进行数据交互,实现数据的共享。
RESTful API 方式的优点是简单、易于实现。缺点是需要对 RESTful API 进行详细的定义和部署,实现起来相对复杂。
这个也是目前比较主流的一种交互方式。
上位机与MES数据交互的常用方案的更多相关文章
- 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据)
首先安装网络监听软件 运行这个软件 这个软件安装到电脑上,默认是监听咱电脑上的网络通信 咱们先监听电脑的软件的网络通信数据,然后再说怎么监听Wi-Fi和APP的软件的网络通信数据 咱就监听咱基础篇的 ...
- 上位机-串口通信详解(以RS232为例))
1.什么是串口通信? 写这个的时候我在想应该怎么解释串口通信,因为串口通信很多朋友不了解的原因是涉及到硬件的知识,对于没有相关专业知识的朋友很难理解串口通信.所以我这里只做部分的解释,需要了解更多硬件 ...
- 2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片 解决串口接收数据丢字节丢包问题
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9490616.html 本文用的是VS2013MFC写串口数据接收: 第一步:首先建立一个MFC ...
- ROS常用库(二) Serial库(单片机和上位机串口通讯)
比如我们做了个单片机,在win里面用串口调试助手接收和下发数据,那么在ubuntu里用ros怎么实现?换个说法,怎么实现上位机和下位机的通讯? 首先,用python自带的库就可以实现这个功能. 安装p ...
- WPF 界面布局、常用控件入门教程实例 WPF入门学习控件快速教程例子 WPF上位机、工控串口通信经典入门
WPF(Windows Presentation Foundation)是一种用于创建 Windows 桌面应用程序的框架,它提供了丰富的控件库和灵活的界面布局,可以创建现代化的用户界面.下面是 WP ...
- Protobuf 完整解析 - 公司最常用的数据交互协议
Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关.语言无关.可扩展,可用于通讯协议和数据存储等领域. 数据交互xml.json.pro ...
- 快速设计一个简单的WPF串口上位机
最近一直在学习UWP,其中有的技术参考了WPF,所以又回头再来学习WPF,感觉学的东西很杂,必须记录一下,不然时间长了还得忘掉,于是申请开始写博客,将学习的心得记录一下,以备后用.这次是因为公司内训, ...
- 【实验室笔记】C#上位机学习笔记
用C#编写上位机,基本流程是[1]串口配置,[2]串口发送数据,[3]串口接收数据. [1]串口配置 串口的属性配置包括: No.1串口端口号 No.2串口波特率 No.3串口数据位 No.4串口停止 ...
- C#上位机串口控制12864显示
实现的效果 上面是用Proteus仿真的,,对了如果自己想用proteus仿真需要安装下面这个软件 再看一下实物显示效果 先做上位机部分........... 为了程序一启动就把电脑上能用的串口号显示 ...
- 医疗器械c#上位机开发指引教程
此教程面向的读者:对医疗器械上位机编程有兴趣,或者急需了解医疗器械(尿常规.血液分析.生化.心电.B超等医疗下位仪器)的编程流程.编程细节的程序员. 1.得到仪器协议 当我们需要与医疗器械等下位机数据 ...
随机推荐
- ServiceMesh 2:控制面和数据面的职责(图文总结)
★ ServiceMesh系列 1 Service Mesh介绍 之前的章节我们详细介绍了ServiceMesh的基础知识. ServiceMesh 是最新一代的微服务架构,作为一个基础设施层,能够与 ...
- excel江湖异闻录--◆K
网名◆K,按照群里同学的说法,K神和老大kluas,以及一个名为KKK的VBA强人,都是K字头家族的高手. 因为函数实力极强,时常碾压难题,被群里同学们冠以了"K神"的称号. 用笔 ...
- pip下载太慢,换源
1.安装pqi pip install pqi 2.改变pip源 比如换成清华源: pqi use tuna 3.显示当前源
- Java日期时间API系列33-----Jdk8中java.time包中的新的日期时间API类应用,格式化常用模板大全,新增Excel常用格式。
从Java日期时间API系列10-----Jdk8中java.time包中的新的日期时间API类的DateTimeFormatter中可以知道常用字符有超过20几种,各种组合结果非常多.但常用的组合就 ...
- Java日期时间API系列23-----Jdk8中java.time包中的新的日期时间API类,获取准确开始时间00:00:00,获取准确结束时间23:59:59等
有时候,往往需要统计某个时间区间的销量等问题,这就需要准确的起始时间,获取准确开始时间00:00:00,获取准确结束时间23:59:59.下面增加了一一些方法,获取当天起始时间,昨天起始时间,当前月第 ...
- C#的Skip 和 Take 方法
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...
- CMDB实践指南:项目规划与实施策略解析
随着现代企业IT系统的日益复杂,如何有效管理这些庞大的IT资产和资源,成为每个企业必须面对的重要问题.CMDB应运而生,帮助企业集中管理IT资源,维护系统的稳定性,并支持故障排查与决策制定.本文将深入 ...
- 什么是APP原生开发
什么是APP原生开发?原生App实际上是一种基于智能手机本地操作系统如Android.IOS并且使用原生程序编写运行的第三方移动应用程序.开发原生App软件需要针对不同智能手机的操作系统来选择不同的A ...
- Games 101 作业1
1 坐标系 关于坐标系,坐标系其实就是空间信息.有了坐标系我们可以非常详细的描述这个世界,为了方便一般为一个观测者生成一个坐标系. 坐标系以观测者所在的位置为原点.就像我们常说的前面三米,我们对世界的 ...
- mysql skip-name-resolve 的解释
PHP交流群 717902309 为PHP广大爱好者提供技术交流,有问必答,相互学习相互进步! mysql连接很慢,登陆到服务器上查看mysql日志:IP address 'XX.XX.XX.XX' ...