上位机与MES对接的几种方式
前言
在实际应用过程中,经常有学员问道:上位机怎么与MES进行信息交互?
今天跟大家介绍一下,上位机与MES对接的几种常用的方式。
数据库
数据库是任何一个开发人员都必须掌握的技能,因此,对于一些简单的交互,通过数据库应该是双方都能够接受的,这里要注意,尽量避免操作生产数据表,可以根据实际业务场景,通过新增一个专门用于交互的数据表,来减少操作失误。
文件
有的时候,上位机也可以通过文件来与MES交互,可以是各种格式的文件,文本文件、excel、xml都可以。比如,上位机或MES定时生成文本文件,对方检测文件的生成时间,来判断是否流程完成,进而实现后续流程。
传输层TCP
这里的TCP指的是传输层TCP,双方约定好协议内容,通过Socket连接,发送和接收,来实现数据通信。
应用层TCP
应用层TCP包括一些确定的应用层协议,比如ModbusTCP、MQTT、OPCUA等。
KepServer
有一些厂家的开发人员,为了方便,会使用KepServer来做数据交互,KepServer本身不仅可以走OPC,还支持数据库或Iot Gateway插件等一些方式。
WebService
WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言(通过 xml 描述)间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
WebApi
WebApi是一个简单的构建HTTP服务的新框架。在.Net平台上WebApi是一个开源的、理想的、构建REST-ful服务的技术,可以部署在应用程序和IIS上。
当然,我们也可以通过Http协议来实现对接,毕竟WebApi的本质就是Http协议。
WCF
WCF也是基于SOAP的,数据格式是XML,WCF是Web Service(ASMX)的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ。但是WCF的主要问题是,它配置起来特别的繁琐,所以WCF使用越来越少了。