系統(tǒng)接口基于以太網(wǎng)基礎(chǔ)上實(shí)現(xiàn)對(duì)接,首先先了解下網(wǎng)絡(luò)OSI參考模型。
物理層:建立、維護(hù)、斷開物理連接。(由底層網(wǎng)絡(luò)定義協(xié)議)
數(shù)據(jù)鏈路層:建立邏輯連接、進(jìn)行硬件地址尋址、差錯(cuò)校驗(yàn)等功能。(由底層網(wǎng)絡(luò)定義協(xié)議),將比特組合成字節(jié)進(jìn)而組合成幀,用MAC地址訪問介質(zhì),錯(cuò)誤發(fā)現(xiàn)但不能糾正。
TCP/IP協(xié)議:TCP/IP協(xié)議又名網(wǎng)絡(luò)通訊協(xié)議,是Internet最基本的協(xié)議、Internet國(guó)際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成。TCP/IP 定義了電子設(shè)備如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)。協(xié)議采用了4層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的協(xié)議來(lái)完成自己的需求。通俗而言:TCP負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號(hào),要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡亍6鳬P是給因特網(wǎng)的每一臺(tái)聯(lián)網(wǎng)設(shè)備規(guī)定一個(gè)地址。
對(duì)接方式:協(xié)議對(duì)接,數(shù)據(jù)庫(kù)對(duì)接,二次開發(fā)。
一.協(xié)議對(duì)接,所謂協(xié)議,就是指雙方遵循的規(guī)范:
1.Modbus協(xié)議
Modbus協(xié)議目前存在用于串口、以太網(wǎng)以及其他支持互聯(lián)網(wǎng)協(xié)議的網(wǎng)絡(luò)的版本。
Modbus協(xié)議分為Modbus TCP和Modbus Rtu,區(qū)別如下:
1) 概念不同:MODBUS是一種標(biāo)準(zhǔn)的工業(yè)控制數(shù)據(jù)交換協(xié)議,可以用RTU和ASCII兩種方式進(jìn)行協(xié)議數(shù)據(jù)的互傳,RTU是通過二進(jìn)制數(shù)據(jù)方式直接傳送數(shù)據(jù),而TCP是通過將每字節(jié)二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為固定兩位十六進(jìn)制字符串,再依次串聯(lián)在一起,以TCP碼形式進(jìn)行數(shù)據(jù)傳送,一般用得最多的還是RTU方式。
2) 通信方式不同: 以太網(wǎng),對(duì)應(yīng)的通信模式是MODBUS TCP。異步串行傳輸(各種介質(zhì)如有線RS-232-/422/485/;光纖、無(wú)線等),對(duì)應(yīng)的通信模式是MODBUS RTU或MODBUS ASCII。高速令牌傳遞網(wǎng)絡(luò),對(duì)應(yīng)的通信模式是Modbus PLUS。
Modbus協(xié)議作為工業(yè)控制應(yīng)用的常用協(xié)議,可以免費(fèi)對(duì)接。
2.OPC
OPC協(xié)議:OPC是一種利用微軟的COM/DCOM技術(shù)來(lái)達(dá)成自動(dòng)化控制的協(xié)定,采用典型的C/S模式,針對(duì)硬件設(shè)備的驅(qū)動(dòng)程序由硬件廠商完成,提供統(tǒng)一OPC接口標(biāo)準(zhǔn)的Server程序,軟件廠商只需按照OPC標(biāo)準(zhǔn)接口編寫Client程序就訪問Server程序進(jìn)行讀寫,即可實(shí)現(xiàn)與硬件設(shè)備的通信。
OPC協(xié)議是應(yīng)用層的數(shù)據(jù)協(xié)議,把自動(dòng)化采集數(shù)據(jù)以一定格式傳輸給客戶端(第三方平臺(tái)),在網(wǎng)絡(luò)的底層傳輸過程是基于TCP/IP協(xié)議得以進(jìn)行的。
在工業(yè)中OPC按點(diǎn)計(jì)量和收費(fèi)。
3.MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議)
是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。目前有很多的MQTT消息中間件服務(wù)器,都是MQTT協(xié)議的服務(wù)器端的實(shí)現(xiàn),所以MQTT目前已發(fā)展成為許多物聯(lián)網(wǎng)系統(tǒng)中使用的關(guān)鍵消息傳遞協(xié)議,是目前物聯(lián)網(wǎng)IOT的主流協(xié)議,基于TCP連接進(jìn)行數(shù)據(jù)推送。
目前實(shí)現(xiàn)MQTT的語(yǔ)言以JAVA比較流行和通用,客戶端基本為WEB端,多為BS架構(gòu)。
4.HTTP協(xié)議
http協(xié)議,就是瀏覽器和服務(wù)器之間進(jìn)行“溝通”的一種規(guī)范。我們?cè)诳纯臻g,刷微博...都是在使用http協(xié)議。
以上四種是協(xié)議,所謂通信協(xié)議,類似人類交談中的漢語(yǔ)、英語(yǔ)、俄語(yǔ)中的一種語(yǔ)言規(guī)范。
Modbus和OPC多用于工業(yè)控制應(yīng)用,MQTT多用于物聯(lián)網(wǎng)。HTTP是一種網(wǎng)站訪問通用協(xié)議。
二.數(shù)據(jù)庫(kù)形式。
通過寫入對(duì)方指定數(shù)據(jù)庫(kù),對(duì)方可以從數(shù)據(jù)庫(kù)中直接獲取平臺(tái)上的數(shù)據(jù)。
三.基于協(xié)議之外還有一些系統(tǒng)支持的語(yǔ)言和封裝樣式:
1)JavaScript 是 Web 的編程語(yǔ)言。所有現(xiàn)代的 HTML 頁(yè)面都使用 JavaScript。用戶可以在系統(tǒng)平臺(tái)上使用JavaScript庫(kù)進(jìn)行二次開發(fā)。
2)JSON是一種封裝格式,指的是 JavaScript 對(duì)象表示法(json是一種與語(yǔ)言無(wú)關(guān)的數(shù)據(jù)交換的格式),其以一種固定的數(shù)據(jù)結(jié)構(gòu)表示項(xiàng)、屬性和參數(shù)等,使用Json的格式與解析方便的可以表示一個(gè)對(duì)象信息。用戶可以直接使用JSON形式進(jìn)行數(shù)據(jù)交換,用戶可以讀取平臺(tái)封裝好的JSON形式直接解析。