一、前言

随着工业自动化水平的不断提高,我们在做上位机开发的时候,会经常涉及到与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. 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据)

    首先安装网络监听软件 运行这个软件 这个软件安装到电脑上,默认是监听咱电脑上的网络通信 咱们先监听电脑的软件的网络通信数据,然后再说怎么监听Wi-Fi和APP的软件的网络通信数据 咱就监听咱基础篇的 ...

  2. 上位机-串口通信详解(以RS232为例))

    1.什么是串口通信? 写这个的时候我在想应该怎么解释串口通信,因为串口通信很多朋友不了解的原因是涉及到硬件的知识,对于没有相关专业知识的朋友很难理解串口通信.所以我这里只做部分的解释,需要了解更多硬件 ...

  3. 2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片 解决串口接收数据丢字节丢包问题

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9490616.html 本文用的是VS2013MFC写串口数据接收: 第一步:首先建立一个MFC ...

  4. ROS常用库(二) Serial库(单片机和上位机串口通讯)

    比如我们做了个单片机,在win里面用串口调试助手接收和下发数据,那么在ubuntu里用ros怎么实现?换个说法,怎么实现上位机和下位机的通讯? 首先,用python自带的库就可以实现这个功能. 安装p ...

  5. WPF 界面布局、常用控件入门教程实例 WPF入门学习控件快速教程例子 WPF上位机、工控串口通信经典入门

    WPF(Windows Presentation Foundation)是一种用于创建 Windows 桌面应用程序的框架,它提供了丰富的控件库和灵活的界面布局,可以创建现代化的用户界面.下面是 WP ...

  6. Protobuf 完整解析 - 公司最常用的数据交互协议

    Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关.语言无关.可扩展,可用于通讯协议和数据存储等领域. 数据交互xml.json.pro ...

  7. 快速设计一个简单的WPF串口上位机

    最近一直在学习UWP,其中有的技术参考了WPF,所以又回头再来学习WPF,感觉学的东西很杂,必须记录一下,不然时间长了还得忘掉,于是申请开始写博客,将学习的心得记录一下,以备后用.这次是因为公司内训, ...

  8. 【实验室笔记】C#上位机学习笔记

    用C#编写上位机,基本流程是[1]串口配置,[2]串口发送数据,[3]串口接收数据. [1]串口配置 串口的属性配置包括: No.1串口端口号 No.2串口波特率 No.3串口数据位 No.4串口停止 ...

  9. C#上位机串口控制12864显示

    实现的效果 上面是用Proteus仿真的,,对了如果自己想用proteus仿真需要安装下面这个软件 再看一下实物显示效果 先做上位机部分........... 为了程序一启动就把电脑上能用的串口号显示 ...

  10. 医疗器械c#上位机开发指引教程

    此教程面向的读者:对医疗器械上位机编程有兴趣,或者急需了解医疗器械(尿常规.血液分析.生化.心电.B超等医疗下位仪器)的编程流程.编程细节的程序员. 1.得到仪器协议 当我们需要与医疗器械等下位机数据 ...

随机推荐

  1. Scala编程语言基本常识

    ​ 本文参考来源: Scala编程语言基本常识 – 萌面人博客 ​ 一 基本常识 Scala被称为大数据的黄金语言,它的发明人是马丁奥德斯基(Martin Odersky) 2001年诞生,融合了Ja ...

  2. 【赵渝强老师】Kafka的持久化

    一.Kafka持久化概述 Kakfa 依赖文件系统来存储和缓存消息.对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式.同时 Kafka 基于 ...

  3. USB-A, Micro, lightning and USB-C

  4. 墨天轮最受DBA欢迎的数据库技术文档-监控篇

    好久不见,<墨天轮最受欢迎的技术文档>系列文章回归啦!本期主题数据库监控篇,希望能够帮助到大家!此外,为感谢大家支持,原文文末也给大家带来了返场福利,欢迎大家进入原文参与~ 数据库监控是许 ...

  5. C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  6. hasOwnProperty()方法

    hasOwnProperty()方法可以检测对象是否有某个属性 var man = { legs:2, hands:2, heads:1 } man.hasOwnProperty("head ...

  7. LeetCode题目练习记录 _数组和链表02 _20211008

    LeetCode题目练习记录 _数组和链表02 _20211008 11. 盛最多水的容器 难度中等2834 给你 n 个非负整数 a1,a2,...,a``n,每个数代表坐标中的一个点 (i, ai ...

  8. linux下时间时区详解

    首先我们要明白,"时间"和"时区"是两个东西. 时间是指从某个时间点开始到另一个时间点经过的"长度",是"纵向"距离,一 ...

  9. SSH通过本地开端口打远程隧道

    ssh -R 你想让别人连得端口:带外IP:22 root@内网跳板机 -p内网跳板机端口 例如: ssh -R 8888:172.22.200.1:22 root@10.11.11.11 -p202 ...

  10. 使用PYNQ生成PWM波控制舵机/步进电机/机械臂

    使用PYNQ生成PWM波控制舵机/步进电机/机械臂 在开始这个工程之前,你需要PYNQ-Z2的板卡文件,约束文件,原理图作为参考,你可以在我上传的资源里下载. 当然,这个工程也适用于PYNQ-Z1,只 ...