一、前言
随着工业自动化水平的不断提高,我们在做上位机开发的时候,会经常涉及到与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 进行详细的定义和部署,实现起来相对复杂。
这个也是目前比较主流的一种交互方式。