在實(shí)際應(yīng)用過程中,經(jīng)常有學(xué)員問道:上位機(jī)怎么與MES進(jìn)行信息交互?
今天跟大家介紹一下,上位機(jī)與MES對接的幾種常用的方式。
數(shù)據(jù)庫交互
數(shù)據(jù)庫是任何一個(gè)開發(fā)人員都必須掌握的技能,因此,對于一些簡單的交互,通過數(shù)據(jù)庫應(yīng)該是雙方都能夠接受的,這里要注意,盡量避免操作生產(chǎn)數(shù)據(jù)表,可以根據(jù)實(shí)際業(yè)務(wù)場景,通過新增一個(gè)專門用于交互的數(shù)據(jù)表,來減少操作失誤。
文件交互
有的時(shí)候,上位機(jī)也可以通過文件來與MES交互,可以是各種格式的文件,文本文件、excel、xml都可以。比如,上位機(jī)或MES定時(shí)生成文本文件,對方檢測文件的生成時(shí)間,來判斷是否流程完成,進(jìn)而實(shí)現(xiàn)后續(xù)流程。
TCP通信交互
這里的TCP指的是傳輸層TCP,雙方約定好協(xié)議內(nèi)容,通過Socket連接,發(fā)送和接收,來實(shí)現(xiàn)數(shù)據(jù)通信。
通信協(xié)議交互
應(yīng)用層TCP包括一些確定的應(yīng)用層協(xié)議,比如ModbusTCP、MQTT、OPCUA等。
KepServer
有一些廠家的開發(fā)人員,為了方便,會使用KepServer來做數(shù)據(jù)交互,KepServer本身不僅可以走OPC,還支持?jǐn)?shù)據(jù)庫或Iot Gateway插件等一些方式。
WebService
WebService是一個(gè)SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,不依賴于平臺,可以實(shí)現(xiàn)不同的語言(通過 xml 描述)間的相互調(diào)用,通過Internet進(jìn)行基于Http協(xié)議的網(wǎng)絡(luò)應(yīng)用間的交互。通過SOAP在Web上提供的軟件服務(wù),使用WSDL文件進(jìn)行說明,并通過UDDI進(jìn)行注冊。
WebApi
WebApi是一個(gè)簡單的構(gòu)建HTTP服務(wù)的新框架。在.Net平臺上WebApi是一個(gè)開源的、理想的、構(gòu)建REST-ful服務(wù)的技術(shù),可以部署在應(yīng)用程序和IIS上。
當(dāng)然,我們也可以通過Http協(xié)議來實(shí)現(xiàn)對接,畢竟WebApi的本質(zhì)也是Http協(xié)議。
WCF
WCF也是基于SOAP的,數(shù)據(jù)格式是XML,WCF是Web Service(ASMX)的進(jìn)化版,可以支持各種各樣的協(xié)議,像TCP,HTTP,HTTPS,Named Pipes, MSMQ。但是WCF的主要問題是,它配置起來特別的繁瑣,所以WCF使用越來越少了。