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