《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 跨平臺(tái)的上位機(jī)監(jiān)控系統(tǒng)中數(shù)據(jù)通信的實(shí)現(xiàn)
跨平臺(tái)的上位機(jī)監(jiān)控系統(tǒng)中數(shù)據(jù)通信的實(shí)現(xiàn)
2017年電子技術(shù)應(yīng)用第10期
王毅璇,豐大軍,王 皓,張曉莉
華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083
摘要: 針對(duì)國(guó)產(chǎn)PLC實(shí)現(xiàn)上位機(jī)監(jiān)控系統(tǒng)時(shí)系統(tǒng)平臺(tái)與開(kāi)發(fā)軟件強(qiáng)耦合不易實(shí)現(xiàn)跨平臺(tái)數(shù)據(jù)通信的問(wèn)題,提出了一種跨平臺(tái)的數(shù)據(jù)通信實(shí)現(xiàn)方案。在對(duì)數(shù)據(jù)通信進(jìn)行功能分析的基礎(chǔ)上,通過(guò)對(duì)系統(tǒng)整體設(shè)計(jì)及對(duì)模塊局部拆分,實(shí)現(xiàn)底層網(wǎng)絡(luò)和上層應(yīng)用的分離。在底層網(wǎng)絡(luò)通信中,綜合應(yīng)用數(shù)據(jù)包大小動(dòng)態(tài)調(diào)整、大文件智能壓縮、過(guò)載選擇型丟包的技術(shù)手段,對(duì)數(shù)據(jù)通信進(jìn)行整體優(yōu)化。采用Qt平臺(tái)的本地Socket消息封裝技術(shù)實(shí)現(xiàn)Linux系統(tǒng)的進(jìn)程間以及機(jī)器間的消息通信,并且在接口級(jí)與Windows的消息通信兼容。在不同操作系統(tǒng)平臺(tái),采用各自最優(yōu)的文件共享策略,實(shí)現(xiàn)機(jī)器間文件的類(lèi)本機(jī)文件操作。
中圖分類(lèi)號(hào): TN99
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.179019
中文引用格式: 王毅璇,豐大軍,王皓,等. 跨平臺(tái)的上位機(jī)監(jiān)控系統(tǒng)中數(shù)據(jù)通信的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(10):94-98.
英文引用格式: Wang Yixuan,F(xiàn)eng Dajun,Wang Hao,et al. Implementation of data communicationin cross-platform supervisory control and data acquisition system[J].Application of Electronic Technique,2017,43(10):94-98.
Implementation of data communicationin cross-platform supervisory control and data acquisition system
Wang Yixuan,F(xiàn)eng Dajun,Wang Hao,Zhang Xiaoli
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: Aiming at the problem that the system platform and the development software are not easy to realize the cross-platform data communication, a cross-platform data communication scheme is proposed. On the basis of the functional analysis of data communication, it designs the whole system, splits the system modules, realizes the separation of the underlying network and the upper application. In the underlying network communication, through the application of the data packet size dynamic adjustment, large file intelligent compression and overload selective packet loss technical means, it realizes the overall optimization of the data communication. The local Socket message encapsulation technology is used in Qt platform to achieve inter-process and machine message communication, and realize the Windows message compatibility at the interface level. In different operating system platform,using their own optimal file sharing strategy, the file operation between machines is realized.
Key words : cross-platform;supervisory control and data acquisition software system;data communication

0 引言

    目前國(guó)產(chǎn)PLC上位機(jī)監(jiān)控軟件廠(chǎng)家有西門(mén)子、施耐德、歐姆龍、三菱、橫河、臺(tái)達(dá)等,各類(lèi)軟件均有各自的優(yōu)勢(shì),在國(guó)內(nèi)PLC市場(chǎng)占有較大的份額。然而針對(duì)不同系統(tǒng)平臺(tái)和開(kāi)發(fā)軟件所開(kāi)發(fā)出的上位機(jī)監(jiān)控系統(tǒng)之間兼容性較差,不能實(shí)現(xiàn)跨平臺(tái)數(shù)據(jù)通信。這是由于系統(tǒng)平臺(tái)和開(kāi)發(fā)軟件之間的耦合性較強(qiáng)造成的。

    在上位機(jī)監(jiān)控軟件系統(tǒng)的最底層(即網(wǎng)絡(luò)層),通信子系統(tǒng)負(fù)責(zé)與控制器間的數(shù)據(jù)通信以及操作員站之間的數(shù)據(jù)同步。通信子系統(tǒng)根據(jù)上位機(jī)監(jiān)控軟件系統(tǒng)中配置子系統(tǒng)提供的系統(tǒng)構(gòu)成信息,通過(guò)以太網(wǎng)完成系統(tǒng)中各個(gè)站點(diǎn)之間的狀態(tài)監(jiān)控、組態(tài)同步、進(jìn)程控制、文件維護(hù)等工作。而不同的PLC上位機(jī)監(jiān)控系統(tǒng)中配置子系統(tǒng)提供的系統(tǒng)構(gòu)成信息卻因系統(tǒng)平臺(tái)和開(kāi)發(fā)軟件的不同而不同。

    數(shù)據(jù)通信子系統(tǒng)接管上位機(jī)監(jiān)控軟件系統(tǒng)內(nèi)部上層應(yīng)用軟件需要的所有數(shù)據(jù)通信和文件傳輸,并能夠以消息方式通知上層應(yīng)用軟件。如果系統(tǒng)的構(gòu)成信息有差異,則會(huì)導(dǎo)致上位機(jī)之間傳輸數(shù)據(jù)的紊亂。

    對(duì)此,文獻(xiàn)[1]、[2]均通過(guò)在不同上位機(jī)軟件之間建立公共的Modbus協(xié)議來(lái)實(shí)現(xiàn)上位機(jī)之間通信數(shù)據(jù)的兼容。雖然Modbus在上位機(jī)通信當(dāng)中使用較多,但中間需將數(shù)據(jù)轉(zhuǎn)換成公共“可識(shí)別”的數(shù)據(jù),降低了通信效率。文獻(xiàn)[3]則是在不同的上位機(jī)之間建立以太網(wǎng),把每個(gè)上位機(jī)系統(tǒng)當(dāng)作自己的下層系統(tǒng),從而實(shí)現(xiàn)數(shù)據(jù)的兼容轉(zhuǎn)換和傳輸。此種方法對(duì)以太網(wǎng)的傳輸效率和系統(tǒng)架構(gòu)要求較高,不易實(shí)現(xiàn)。文獻(xiàn)[4]是在每個(gè)上位機(jī)監(jiān)控系統(tǒng)中加裝GPRS通信模塊來(lái)實(shí)現(xiàn)快平臺(tái)的通信。GPRS由于其傳輸距離和本身可靠性的限制,在跨平臺(tái)的通信中較少應(yīng)用。文獻(xiàn)[5]提出使用第三方監(jiān)控軟件作為公共數(shù)據(jù)轉(zhuǎn)換平臺(tái),這種方法和文獻(xiàn)[2]的方法類(lèi)似,對(duì)第三方的系統(tǒng)要求較高且網(wǎng)絡(luò)架構(gòu)較為復(fù)雜。

    本文采用面向?qū)ο笤O(shè)計(jì)的方法實(shí)現(xiàn)跨平臺(tái)開(kāi)發(fā)的上位機(jī)監(jiān)控軟件系統(tǒng)中的數(shù)據(jù)通信子系統(tǒng)。首先對(duì)數(shù)據(jù)通信子系統(tǒng)進(jìn)行了功能分析,然后進(jìn)行了整體設(shè)計(jì),并對(duì)子系統(tǒng)進(jìn)行化整為零的模塊拆分,最后對(duì)各模塊的實(shí)現(xiàn)方式、方法提出參考方案,并進(jìn)行較為詳細(xì)的闡述。

1 系統(tǒng)功能分析

    數(shù)據(jù)通信子系統(tǒng)需要完成監(jiān)控軟件系統(tǒng)中上層應(yīng)用軟件需要的所有數(shù)據(jù)通信和文件傳輸,并能夠以消息方式通知上層應(yīng)用軟件。數(shù)據(jù)通信內(nèi)容包括站間狀態(tài)數(shù)據(jù)包、實(shí)時(shí)數(shù)據(jù)表數(shù)據(jù)包、歷史數(shù)據(jù)數(shù)據(jù)包、命令包、請(qǐng)求包等所有需要網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包,文件傳輸包含組態(tài)文件、配置文件、日志文件等所有需要網(wǎng)絡(luò)傳輸和同步的文件。

    數(shù)據(jù)通信子系統(tǒng)通過(guò)進(jìn)程控制命令包方式,對(duì)其他站的進(jìn)程進(jìn)行帶參數(shù)啟動(dòng)、定時(shí)啟動(dòng)、定時(shí)停止、監(jiān)視等操控,通過(guò)站點(diǎn)控制命令包方式,對(duì)其他操作員站進(jìn)行啟動(dòng)在線(xiàn)、定時(shí)啟動(dòng)在線(xiàn)、定時(shí)停止在線(xiàn)等操控。支持一對(duì)一和一對(duì)多的點(diǎn)對(duì)點(diǎn)通信,根據(jù)需要,分別提供可靠的TCP傳輸方式和非連接的UDP傳輸方式。TCP方式用于大數(shù)據(jù)塊的復(fù)制和同步,UDP用于少量數(shù)據(jù)的傳輸。原則是周期性數(shù)據(jù)用UDP,事件性的數(shù)據(jù)用TCP。支持優(yōu)先級(jí)控制,不同的優(yōu)先級(jí)數(shù)據(jù)包發(fā)送時(shí)按照高優(yōu)先級(jí)先發(fā)送原則進(jìn)行處理,保證重要數(shù)據(jù)優(yōu)先發(fā)送。當(dāng)數(shù)據(jù)包很大時(shí),需分包處理,并自行控制以太網(wǎng)的網(wǎng)絡(luò)負(fù)荷。以太網(wǎng)網(wǎng)絡(luò)負(fù)荷最高不超過(guò)20%,以10%以下為佳。

2 系統(tǒng)總體設(shè)計(jì)

    如圖1所示,數(shù)據(jù)通信子系統(tǒng)總體劃分為3個(gè)模塊:數(shù)據(jù)交互模塊、網(wǎng)絡(luò)操作模塊和網(wǎng)絡(luò)通信模塊。數(shù)據(jù)交互模塊管理數(shù)據(jù)的發(fā)送和接收,負(fù)責(zé)完成站與站之間TCP/UDP數(shù)據(jù)和文件的傳送,發(fā)送隊(duì)列管理和接收數(shù)據(jù),并通知進(jìn)程;網(wǎng)絡(luò)通信模塊用于上位機(jī)監(jiān)控軟件站間各應(yīng)用程序與傳送數(shù)據(jù)時(shí)的網(wǎng)絡(luò)通信接口,主要是發(fā)送接口函數(shù)、接收接口函數(shù);網(wǎng)絡(luò)操作模塊主要完成提供遠(yuǎn)程登陸、獲取網(wǎng)絡(luò)地址、指定站狀態(tài)功能,該模塊主要提供兩個(gè)接口函數(shù),分別是獲取指定站的網(wǎng)絡(luò)連接狀態(tài)和獲取網(wǎng)絡(luò)地址。由于數(shù)據(jù)通信子系統(tǒng)同時(shí)支持Windows平臺(tái)和Linux平臺(tái),為了解決平臺(tái)差異性和實(shí)現(xiàn)系統(tǒng)的低耦合性,網(wǎng)絡(luò)操作模塊和網(wǎng)絡(luò)通信模塊均采用動(dòng)態(tài)鏈接庫(kù)形式實(shí)現(xiàn)。

tx2-t1.gif

    當(dāng)應(yīng)用程序有數(shù)據(jù)、文件或者命令要發(fā)送到目的站時(shí),先調(diào)用網(wǎng)絡(luò)操作動(dòng)態(tài)庫(kù)中的相關(guān)函數(shù),打通路徑;再調(diào)用網(wǎng)絡(luò)通信動(dòng)態(tài)庫(kù)的相關(guān)函數(shù)將數(shù)據(jù)按照優(yōu)先級(jí)放到不同的隊(duì)列中。數(shù)據(jù)交互模塊按照優(yōu)先級(jí)算法查詢(xún)各個(gè)隊(duì)列,將各個(gè)隊(duì)列的數(shù)據(jù)發(fā)送到目的地址;當(dāng)數(shù)據(jù)通信收到來(lái)自上位機(jī)監(jiān)控系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)時(shí),先辨別是哪一類(lèi),如果是輸出型模擬量、輸出型數(shù)字量等數(shù)據(jù),則將數(shù)據(jù)放到接口輸入隊(duì)列;如果是命令,則即刻通知目標(biāo)應(yīng)用程序;如果是給應(yīng)用程序的內(nèi)存數(shù)據(jù),則將數(shù)據(jù)放到接收內(nèi)存隊(duì)列,并馬上通知上層應(yīng)用程序來(lái)接收處理。校時(shí)數(shù)據(jù)由歷史站主站周期發(fā)送給全網(wǎng),其他站被動(dòng)接收數(shù)據(jù)并修改自身的時(shí)鐘與歷史站主站保持一致。

    當(dāng)上位機(jī)監(jiān)控軟件系統(tǒng)出現(xiàn)錯(cuò)誤時(shí),數(shù)據(jù)交互模塊會(huì)調(diào)用整個(gè)系統(tǒng)錯(cuò)誤管理程序提供的接口函數(shù)顯示錯(cuò)誤提示。發(fā)送和接收錯(cuò)誤信息一律記入日志文件。為了保證整個(gè)系統(tǒng)的安全性,如果發(fā)生數(shù)據(jù)包太多、超過(guò)處理能力時(shí),則依據(jù)數(shù)據(jù)包中的重要性信息丟棄一部分不重要的數(shù)據(jù),但用于操作PLC的數(shù)字量信息包永遠(yuǎn)不被丟棄。

3 數(shù)據(jù)交互模塊

    該模塊主要接管上位機(jī)監(jiān)控軟件系統(tǒng)與計(jì)算機(jī)之間數(shù)據(jù)的交互工作,包括命令、內(nèi)存、文件的傳送。對(duì)TCP/UDP通信的發(fā)送和接收端口進(jìn)行管理,進(jìn)行點(diǎn)對(duì)點(diǎn)的通信。

    接收到內(nèi)存數(shù)據(jù)后,判斷數(shù)據(jù)類(lèi)型再做處理:需要寫(xiě)到共享內(nèi)存隊(duì)列的,發(fā)送消息通知實(shí)時(shí)數(shù)據(jù)處理進(jìn)程,包括操作數(shù)據(jù)包;如果是操作包,并且本機(jī)是歷史站的主站,則加上時(shí)間標(biāo)簽放到操作數(shù)據(jù)隊(duì)列,通知實(shí)時(shí)數(shù)據(jù)處理模塊處理數(shù)據(jù),另外還要將這個(gè)操作包放到數(shù)字量、模擬量輸出隊(duì)列,等待PLC驅(qū)動(dòng)模塊處理,并調(diào)用數(shù)據(jù)通信模塊將其分發(fā)到其他機(jī)器上;需要寫(xiě)到共享內(nèi)存的數(shù)據(jù),不需要通知應(yīng)用程序;其他內(nèi)存數(shù)據(jù),送到后,先放到一個(gè)緩存,并通知對(duì)方接收數(shù)據(jù);對(duì)于消息和命令,傳送至目標(biāo)后直接發(fā)送到應(yīng)用程序。接收到命令后先放到程序內(nèi)部緩存,然后直接用消息通知給應(yīng)用程序。

    文件傳輸直接采用Linux/Windows平臺(tái)的文件拷貝命令或者文件序列化的方法。超過(guò)一定大小的文件需要先進(jìn)行文件壓縮,然后再發(fā)送壓縮后的文件,并由目標(biāo)機(jī)在其本地解壓縮。為防止變更集數(shù)據(jù)丟失,對(duì)重要數(shù)據(jù)傳輸采用TCP方式。全網(wǎng)傳送使用UDP組播或廣播方式。管理遠(yuǎn)程登錄連接,文件傳送完畢要關(guān)閉連接,但為了防止反復(fù)的打開(kāi)和關(guān)閉連接,使用超時(shí)機(jī)制,超時(shí)時(shí)間到才關(guān)閉連接。連接信息放在共享內(nèi)存中。傳送以字節(jié)為單位進(jìn)行,不修改數(shù)據(jù)包原來(lái)的數(shù)據(jù)精度。對(duì)于PC間內(nèi)存同步數(shù)據(jù),采用UDP傳送,數(shù)據(jù)包有可能丟失,但是同步數(shù)據(jù)每秒同步,下一秒的數(shù)據(jù)到來(lái)可以彌補(bǔ)丟失數(shù)據(jù)[6-8]

4 網(wǎng)絡(luò)通信模塊

    提供本機(jī)進(jìn)程間的消息通信機(jī)制,調(diào)用公共函數(shù)可以在進(jìn)程間任意發(fā)消息通知。該模塊提供發(fā)送通知、發(fā)送文件、發(fā)送內(nèi)存、發(fā)送操作數(shù)據(jù)表、通知目標(biāo)任務(wù)接收數(shù)據(jù)、接收數(shù)據(jù)的接口函數(shù)。如果數(shù)據(jù)發(fā)送失敗,采用消息方式通知調(diào)用任務(wù)(此功能在數(shù)據(jù)交互模塊中)。UDP數(shù)據(jù)包分為大包、中包和小包。TCP數(shù)據(jù)包沒(méi)有這些限制。數(shù)據(jù)通信與上位機(jī)監(jiān)控軟件系統(tǒng)其他應(yīng)用程序的接口包括3種:消息、內(nèi)存和動(dòng)態(tài)庫(kù)[9-12]

4.1 本地消息實(shí)現(xiàn)

    鑒于上位機(jī)監(jiān)控軟件系統(tǒng)既要運(yùn)行在Linux下又要運(yùn)行在Windows下,但是兩個(gè)操作系統(tǒng)對(duì)消息的定義不同,所以采用Qt的本地Socket技術(shù)封裝上位機(jī)監(jiān)控軟件自己的消息機(jī)制,實(shí)現(xiàn)進(jìn)程間的消息通信,其對(duì)外接口形式采用近似Windows的消息方式。

    本地消息通知分兩種,一種是傳遞消息值及消息參數(shù),另一種是傳遞消息值及一小塊內(nèi)存數(shù)據(jù)。實(shí)現(xiàn)時(shí)采用QlocalSocket類(lèi),封裝上述兩個(gè)函數(shù)并提供類(lèi)對(duì)象,上位機(jī)監(jiān)控軟件系統(tǒng)的所有進(jìn)程都可以加載網(wǎng)絡(luò)通信動(dòng)態(tài)庫(kù),即可具備本地進(jìn)程間的消息通知功能。發(fā)送通知的進(jìn)程調(diào)用類(lèi)對(duì)象的發(fā)送命令的函數(shù)發(fā)送通知,接收通知的進(jìn)程只需定義本地接收通知的信號(hào)及對(duì)應(yīng)信號(hào)處理函數(shù)即槽函數(shù),即可收到并處理通知。通知傳送處理流程如圖2所示。

4.2 機(jī)器間的消息實(shí)現(xiàn)

    機(jī)器間的消息通知亦采用Qt的Socket技術(shù)封裝上位機(jī)監(jiān)控軟件自己的消息機(jī)制,實(shí)現(xiàn)不同機(jī)器進(jìn)程間的消息通知。機(jī)器間消息通知亦分兩種,一種是傳遞消息值及消息參數(shù),另一種是傳遞消息值及一小塊內(nèi)存數(shù)據(jù)。實(shí)現(xiàn)時(shí)采用QUdpSocket類(lèi),封裝上述兩個(gè)函數(shù)并提供類(lèi)對(duì)象,上位機(jī)監(jiān)控軟件系統(tǒng)的所有進(jìn)程都可以加載網(wǎng)絡(luò)通信動(dòng)態(tài)庫(kù),即可具備機(jī)器間進(jìn)程的消息通知功能。發(fā)送通知的進(jìn)程調(diào)用類(lèi)對(duì)象的發(fā)送命令的函數(shù)發(fā)送通知,接收通知的進(jìn)程只需定義遠(yuǎn)程接收信號(hào)及對(duì)應(yīng)槽函數(shù),即可收到并處理通知。通知傳送處理流程如圖2所示。

tx2-t2.gif

4.3 機(jī)器間文件的發(fā)送實(shí)現(xiàn)

    因?yàn)樯衔粰C(jī)監(jiān)控軟件系統(tǒng)既要運(yùn)行在Linux下又要運(yùn)行在Windows下,所以機(jī)器間的文件傳送采用操作系統(tǒng)自身的遠(yuǎn)程文件拷貝功能,需要根據(jù)操作系統(tǒng)的不同,采用不同的實(shí)現(xiàn)機(jī)制。在Windows平臺(tái)下,在上位機(jī)監(jiān)控軟件系統(tǒng)安裝配置時(shí),就創(chuàng)建上位機(jī)監(jiān)控軟件專(zhuān)用的管理員賬戶(hù),此賬戶(hù)所有計(jì)算機(jī)都一樣,利用系統(tǒng)默認(rèn)的CS、DS等默認(rèn)共享,如同操作本機(jī)文件一樣在各臺(tái)機(jī)器之間拷貝文件。在Linux平臺(tái)下,在上位機(jī)監(jiān)控軟件系統(tǒng)中設(shè)置相同的root用戶(hù)密碼,并在系統(tǒng)啟動(dòng)時(shí),利用腳本打通各個(gè)機(jī)器之間的訪(fǎng)問(wèn)路徑,然后如同操作本機(jī)文件一樣在各臺(tái)機(jī)器之間拷貝文件[13]

4.4 機(jī)器間內(nèi)存同步實(shí)現(xiàn)

    機(jī)器間的共享內(nèi)存同步,采用Qt的QUdpSocket技術(shù)封裝,實(shí)現(xiàn)不同機(jī)器間共享內(nèi)存數(shù)據(jù)的同步。實(shí)現(xiàn)時(shí)采用QUdpSocket類(lèi),封裝上述函數(shù)并提供類(lèi)對(duì)象,上位機(jī)監(jiān)控軟件系統(tǒng)的所有進(jìn)程都可以加載網(wǎng)絡(luò)通信動(dòng)態(tài)庫(kù),即可具備機(jī)器間共享內(nèi)存的同步功能。需要同步共享內(nèi)存的進(jìn)程調(diào)用類(lèi)對(duì)象的發(fā)送內(nèi)存接口函數(shù)發(fā)送內(nèi)存數(shù)據(jù),函數(shù)根據(jù)數(shù)據(jù)區(qū)的大小,在最短的時(shí)間內(nèi)分包發(fā)送數(shù)據(jù),并且每個(gè)分包中都帶有此數(shù)據(jù)包內(nèi)數(shù)據(jù)相對(duì)于原始共享內(nèi)存頭部的偏移地址及分包的大小。接收發(fā)送內(nèi)存通知的進(jìn)程只需定義發(fā)送內(nèi)存通知信號(hào)及對(duì)應(yīng)信號(hào)處理函數(shù)(即槽函數(shù))就能收到并處理內(nèi)存數(shù)據(jù),收到的內(nèi)存數(shù)據(jù)根據(jù)偏移地址和大小,可以直接覆蓋本機(jī)的共享內(nèi)存中對(duì)應(yīng)部分的數(shù)據(jù),實(shí)現(xiàn)內(nèi)存的同步[14]

4.5 機(jī)器間發(fā)送操作數(shù)據(jù)包實(shí)現(xiàn)

    機(jī)器間發(fā)送操作數(shù)據(jù)包,采用Qt的QUdpSocket技術(shù)封裝并提供類(lèi)對(duì)象,可以實(shí)現(xiàn)不同機(jī)器間操作數(shù)據(jù)包的發(fā)送。待發(fā)送操作數(shù)據(jù)包的進(jìn)程調(diào)用類(lèi)對(duì)象的發(fā)送操作數(shù)據(jù)接口函數(shù)來(lái)發(fā)送操作數(shù)據(jù)包。網(wǎng)絡(luò)上接收計(jì)算機(jī)上的進(jìn)程只需定義接收操作數(shù)據(jù)的信號(hào)及該信號(hào)對(duì)應(yīng)的信號(hào)處理函數(shù)即槽函數(shù),即可收到并處理操作數(shù)據(jù)包。模擬量的畫(huà)面下發(fā)操作的數(shù)據(jù)包和數(shù)字量的置數(shù)操作的數(shù)據(jù)包采用不同的結(jié)構(gòu)[15-16]

    其中包類(lèi)型可以用于讓通信模塊識(shí)別來(lái)決定放到輸入接口隊(duì)列還是輸出接口隊(duì)列,數(shù)字量操作隊(duì)列有兩種:即畫(huà)面數(shù)字量操作包類(lèi)型和非畫(huà)面數(shù)字量操作包類(lèi)型,非畫(huà)面數(shù)字量操作包類(lèi)型指的是人工置數(shù)數(shù)字量點(diǎn)。畫(huà)面操作包需要為之做輸出型數(shù)字量清零處理,非畫(huà)面操作包不能清零。這兩個(gè)數(shù)據(jù)包由操作員所在的操作員站寫(xiě)入,但是時(shí)間標(biāo)簽由歷史站主站打包數(shù)據(jù)時(shí)寫(xiě)入,過(guò)程如圖3所示。

tx2-t3.gif

5 結(jié)論

    本文主要介紹了基于國(guó)產(chǎn)PLC、支持跨平臺(tái)的上位機(jī)監(jiān)控軟件系統(tǒng)中數(shù)據(jù)通信的實(shí)現(xiàn)方法。在實(shí)驗(yàn)中對(duì)系統(tǒng)進(jìn)行模塊拆分,并應(yīng)用對(duì)每個(gè)模塊提出的新方法,實(shí)現(xiàn)了跨平臺(tái)的上位機(jī)數(shù)據(jù)通信。在對(duì)系統(tǒng)進(jìn)行的長(zhǎng)時(shí)段高負(fù)荷的運(yùn)行驗(yàn)證中,整個(gè)通信網(wǎng)絡(luò)表現(xiàn)出較強(qiáng)的穩(wěn)定性、實(shí)時(shí)性和可靠性。

參考文獻(xiàn)

[1] 王雪艷.基于PLC和工控機(jī)的監(jiān)控系統(tǒng)設(shè)計(jì)[J].煤炭技術(shù),2012,31(1):63-64.

[2] 韓令斗,趙亮,張栗,等.基于PLC重鋪機(jī)組遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2017,7(2):92-94.

[3] 高雪蓮,張國(guó)平,林光源,等.基于以太網(wǎng)的智能庫(kù)房監(jiān)控系統(tǒng)上位機(jī)設(shè)計(jì)[J].電氣自動(dòng)化,2017,7(2):92-94.

[4] 蔡桂龍,劉海燕,李勇.GPRS網(wǎng)絡(luò)通信與配變遠(yuǎn)程監(jiān)控系統(tǒng)[J].電力需求側(cè)管理,2017(1):92-94,112.

[5] 張濤,陳志軍.第三方軟件與監(jiān)控系統(tǒng)遠(yuǎn)程數(shù)據(jù)交互的應(yīng)用[J].自動(dòng)化儀表,2005,7(5):52-55.

[6] 徐忠.地鐵綜合監(jiān)控系統(tǒng)中的數(shù)據(jù)交互共享方案研究[J].信息安全與技術(shù),2012(3):79-81.

[7] 廖備水.流域梯級(jí)電站多監(jiān)控系統(tǒng)數(shù)據(jù)交互模型的研究[D].西安:西安理工大學(xué),2003.

[8] 蔣俊俊.基于信息智能聯(lián)盟的監(jiān)控實(shí)時(shí)數(shù)據(jù)交互研究[D].南昌:華東交通大學(xué),2015.

[9] 趙丹丹.無(wú)人駕駛智能車(chē)遠(yuǎn)程監(jiān)控系統(tǒng)[D].西安:西安工業(yè)大學(xué),2014.

[10] 任海科.基于無(wú)線(xiàn)網(wǎng)絡(luò)通信的視頻監(jiān)控系統(tǒng)終端數(shù)據(jù)業(yè)務(wù)軟件設(shè)計(jì)[D].杭州:浙江大學(xué),2013.

[11] 王志曉.內(nèi)網(wǎng)中網(wǎng)絡(luò)通信行為監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2008.

[12] 方曉楠.基于網(wǎng)絡(luò)通信的JRU遠(yuǎn)程監(jiān)控系統(tǒng)[D].北京:北京郵電大學(xué),2014.

[13] 李潮,員天佑.基于Modbus協(xié)議的監(jiān)控系統(tǒng)網(wǎng)絡(luò)通信的實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(34):58-59.

[14] 毛建一,陳淵睿,伍堂順.基于Modbus協(xié)議的電能監(jiān)控系統(tǒng)網(wǎng)絡(luò)通信的實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2008,1(4):78-79.

[15] 榮建軍.基于ACE架構(gòu)的網(wǎng)站信息監(jiān)控系統(tǒng)[D].成都:電子科技大學(xué),2008.

[16] 許倫輝,鄺先驗(yàn).網(wǎng)絡(luò)通信與數(shù)據(jù)庫(kù)技術(shù)在交通監(jiān)控系統(tǒng)中的應(yīng)用研究[J].計(jì)算機(jī)與現(xiàn)代化,2005,1(12):35-38.



作者信息:

王毅璇,豐大軍,王  皓,張曉莉

(華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲香蕉在线观看| 黄色资源网久久资源365| 午夜精品在线看| 国产欧美精品国产国产专区| 欧美一区免费视频| 欧美在线观看视频一区二区| 国产一区二区三区成人欧美日韩在线观看 | 亚洲国产精品传媒在线观看| 欧美高清视频一区| 亚洲特黄一级片| 亚洲欧美日韩一区二区三区在线观看| 蜜臀av国产精品久久久久| 亚洲国产日韩欧美在线动漫| 亚洲精品小视频| 国产精品一区在线播放| 麻豆成人在线| 久久性天堂网| 亚洲综合日本| 亚洲韩国精品一区| 亚洲国产精品成人| 亚洲午夜精品一区二区| 日韩亚洲一区二区| 狠狠色狠狠色综合日日91app| 欧美精品激情| 亚洲免费在线视频一区 二区| 久久精品99国产精品日本| 亚洲国产91| 亚洲国产精品一区二区www在线| 欧美亚州一区二区三区| 久久久久久久久岛国免费| av不卡在线观看| 性亚洲最疯狂xxxx高清| 亚洲精品免费看| 日韩视频亚洲视频| 在线精品亚洲一区二区| 国产精品视频区| 欧美福利视频网站| 欧美专区在线观看| 亚洲婷婷国产精品电影人久久| 欧美伊人久久| 亚洲国产精品成人精品| 亚洲人成亚洲人成在线观看| 亚洲欧洲av一区二区| 午夜视频在线观看一区二区三区 | 国外成人性视频| 欧美肉体xxxx裸体137大胆| 久久裸体视频| 欧美成人精品在线视频| 欧美日韩国产一区二区三区| 久久亚洲综合| 欧美激情亚洲国产| 国产精品一区二区三区久久| 红桃视频一区| 亚洲欧洲精品成人久久奇米网| 欧美日韩日日夜夜| 美女日韩在线中文字幕| 欧美激情一区二区三区四区| 欧美日韩中文字幕在线| 国产日韩在线不卡| 国产精品一区二区你懂的| 黑人极品videos精品欧美裸| 亚洲精品人人| 欧美亚洲视频| 一区二区三区鲁丝不卡| 亚洲靠逼com| 久久精品网址| 亚洲最黄网站| 久久精品国产欧美激情| 性做久久久久久免费观看欧美 | 亚洲视频在线看| 亚洲盗摄视频| 一区二区三区四区在线| 亚洲伦理在线观看| 欧美一区2区三区4区公司二百| 西瓜成人精品人成网站| 亚洲电影第1页| 亚洲综合色噜噜狠狠| 免费国产一区二区| 国产精品丝袜久久久久久app| 国产乱人伦精品一区二区| 韩国欧美国产1区| 亚洲图片欧洲图片av| 亚洲欧洲在线免费| 亚洲精品视频在线看| 欧美亚洲免费在线| 欧美日韩精品一区二区天天拍小说 | 99re这里只有精品6| 亚洲日本中文| 欧美与欧洲交xxxx免费观看| 欧美精品一区二区三区蜜臀| 国产日韩欧美综合| 亚洲大片免费看| 欧美日韩三级视频| 伊人久久av导航| 激情亚洲网站| 亚洲视频国产视频| 日韩视频一区二区三区| 久久精品国产99| 国产精品试看| 99精品国产高清一区二区| 亚洲国产高清自拍| 久久精品一本久久99精品| 久久理论片午夜琪琪电影网| 国产精品久久久久久久免费软件 | 欧美一区二区三区在| 欧美日韩激情网| 亚洲国产精品va在线看黑人动漫| 亚洲三级性片| 亚洲国产高清在线观看视频| 久久久国产精品一区二区中文| 老牛嫩草一区二区三区日本| 麻豆国产精品va在线观看不卡| 男女精品网站| 欧美另类videos死尸| 欧美视频福利| 亚洲三级网站| 99re视频这里只有精品| 欧美了一区在线观看| 最新日韩av| 一本色道久久| 欧美日韩亚洲一区在线观看| 亚洲精选91| 在线综合亚洲| 久久精品人人爽| 国产欧美一区二区精品忘忧草| 在线观看日韩av电影| 亚洲美女精品久久| 日韩视频在线一区| 欧美福利电影在线观看| 亚洲人成网站在线播| 日韩视频在线永久播放| 欧美精品久久久久久| 日韩一级视频免费观看在线| 亚洲一级电影| 国产精品欧美久久| 亚洲国产欧美日韩精品| 午夜精品婷婷| 久久精品91| 精品不卡一区| 亚洲日本中文字幕区| 欧美日本三级| 亚洲一区二区三区在线视频| 欧美诱惑福利视频| 一区二区三区在线观看国产| 亚洲国产日本| 欧美久久久久| 亚洲私人影院| 久久精品系列| 亚洲国产另类 国产精品国产免费| 亚洲欧美一区二区三区极速播放| 亚洲精品欧美日韩专区| 欧美精品国产一区二区| 亚洲色在线视频| 久久国产乱子精品免费女| 在线成人av网站| 亚洲视频在线观看| 国产欧美精品| 亚洲欧洲精品一区二区三区不卡 | 精品1区2区| 日韩视频不卡| 国产精品户外野外| 香蕉成人久久| 欧美高清视频免费观看| 中文网丁香综合网| 久久综合网络一区二区| 亚洲乱码国产乱码精品精天堂| 亚洲精品综合精品自拍| 欧美日韩中文在线观看| 午夜精品99久久免费| 免费日本视频一区| 亚洲香蕉网站| 欧美成人精品影院| 亚洲一区免费| 一本色道久久88综合亚洲精品ⅰ| 久久免费视频网站| 亚洲国产美女| 午夜视频在线观看一区二区| 在线日韩成人| 午夜精品一区二区三区在线播放 | 亚洲高清久久网| 欧美精品在欧美一区二区少妇| 在线观看的日韩av| 亚洲视频综合在线| 国产偷国产偷精品高清尤物| 日韩亚洲欧美成人| 国产日韩精品一区二区浪潮av| 亚洲综合电影一区二区三区| 玖玖精品视频| 亚洲欧美日韩人成在线播放| 欧美精品久久99| 午夜宅男欧美| 欧美午夜欧美| 91久久久亚洲精品| 国产精品一区久久久久| 99这里有精品| 一区福利视频| 久久er精品视频| 一区二区三区产品免费精品久久75| 亚洲在线视频网站| 欧美另类久久久品|