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