亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CIP協(xié)議的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信方法研究

        2022-11-30 10:10:18張彥劉微容劉沛棟劉睿郭宏林劉婕
        機(jī)床與液壓 2022年22期
        關(guān)鍵詞:IP地址發(fā)電機(jī)組上位

        張彥,劉微容,劉沛棟,劉睿,郭宏林,劉婕

        (1.蘭州理工大學(xué)電氣工程與信息工程學(xué)院,甘肅蘭州 730050;2.大型電氣傳動(dòng)系統(tǒng)與裝備技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,甘肅天水 741000)

        0 前言

        風(fēng)能是一種資源豐富、利用率高、潛力很大的新能源,且清潔環(huán)保、可再生[1]。我國(guó)西部地區(qū)的風(fēng)能資源儲(chǔ)量巨大,風(fēng)能發(fā)電已逐步成為我國(guó)新能源的支柱產(chǎn)業(yè)之一[2]。近年來,液壓型風(fēng)力發(fā)電機(jī)組由于其電能質(zhì)量高、低電壓穿越能力強(qiáng)、負(fù)載轉(zhuǎn)矩低、機(jī)艙質(zhì)量輕等優(yōu)點(diǎn)[3],逐漸成為風(fēng)力發(fā)電機(jī)組一個(gè)新的發(fā)展方向。液壓型風(fēng)力發(fā)電機(jī)組的上位監(jiān)控系統(tǒng)是液壓型風(fēng)力發(fā)電機(jī)組進(jìn)行工業(yè)控制不可或缺的部分,上位監(jiān)控系統(tǒng)提供人機(jī)交互界面,實(shí)現(xiàn)液壓型風(fēng)力發(fā)電機(jī)組數(shù)據(jù)的監(jiān)視和遠(yuǎn)程控制等功能。作者所在團(tuán)隊(duì)已設(shè)計(jì)了液壓型風(fēng)力發(fā)電機(jī)組試驗(yàn)機(jī)型的工控系統(tǒng)[4],該試驗(yàn)機(jī)型主控器為羅克韋爾的1769CompactLogix控制器,為保證監(jiān)控系統(tǒng)及存儲(chǔ)數(shù)據(jù),所以選用羅克韋爾系列產(chǎn)品FactoryTalk View Studio和數(shù)據(jù)庫(kù)Microsoft SQL Server 2008作為上位監(jiān)控系統(tǒng)。該上位監(jiān)控系統(tǒng)通信效率低,資源占用多,成本高且針對(duì)性弱,因此,亟需自主開發(fā)一個(gè)擁有自主產(chǎn)權(quán)、適用于特殊行業(yè)、高效專業(yè)的上位監(jiān)控軟件,此監(jiān)控軟件重點(diǎn)是解決上位監(jiān)控系統(tǒng)的通信問題。

        為實(shí)現(xiàn)對(duì)液壓型風(fēng)力發(fā)電機(jī)組自動(dòng)化過程信號(hào)的采集與監(jiān)控,國(guó)內(nèi)外研究人員開展了許多研究。針對(duì)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)的通信問題,國(guó)內(nèi)外相關(guān)學(xué)者從通信協(xié)議及通信方法展開研究,采用基于OPC(OLE(Object Linking and Embeding)for Process Control)的通信方法[5-6]可實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的通信,但需要應(yīng)用OPC服務(wù)器,如KepServer等,導(dǎo)致通信成本較高,資源占用多;采用基于串行的通信方法[7-9]實(shí)現(xiàn)簡(jiǎn)單且能夠遠(yuǎn)距離通信,在現(xiàn)代工業(yè)控制中應(yīng)用廣泛,但它傳輸速度慢,并不適合于對(duì)實(shí)時(shí)性要求高的環(huán)境;采用控制器單一支持的公開協(xié)議的通信方法[10]可實(shí)現(xiàn)上位監(jiān)控系統(tǒng)與下位機(jī)的通信,但它僅針對(duì)某一類型的PLC實(shí)現(xiàn)通信,并不具備普適性和可移植性。通用工業(yè)協(xié)議(Common Industry Protocol,CIP)是一種應(yīng)用在工業(yè)自動(dòng)化并且獨(dú)立于任何介質(zhì)與平臺(tái)的通信協(xié)定[11]。該協(xié)議與其他設(shè)備通信時(shí)不需要額外安裝軟件,更為靈活高效,具有更快的速度和更少的資源占用,有助于使工程和現(xiàn)場(chǎng)安裝的開銷最小化[12]。

        因此,針對(duì)實(shí)際液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信效率低、資源占用多、成本高、針對(duì)性弱的問題[13],本文作者提出一種基于CIP協(xié)議的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信方法,通過Microsoft Visual Studio開發(fā)環(huán)境,結(jié)合CIP通信協(xié)議,采用C#語言實(shí)現(xiàn)上位監(jiān)控系統(tǒng)與下位機(jī)的通信。它擁有自主產(chǎn)權(quán),適用于特殊行業(yè)并且通信高效專業(yè),為后續(xù)開發(fā)完整的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控軟件提供通信基礎(chǔ)。

        1 通信方案設(shè)計(jì)

        文中圍繞液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信問題,依據(jù)“機(jī)制研究-實(shí)現(xiàn)設(shè)計(jì)-應(yīng)用測(cè)試”的研究思路,采用如圖1所示的通信方法研究方案,展開具體研究:首先,依據(jù)EtherNet/IP網(wǎng)絡(luò)模型,結(jié)合液壓型風(fēng)力發(fā)電機(jī)組的需求,建立對(duì)應(yīng)的通信機(jī)制,并通過對(duì)液壓型風(fēng)力發(fā)電機(jī)組傳輸數(shù)據(jù)進(jìn)行正確分類,建立對(duì)應(yīng)的傳輸通道,合理封裝報(bào)文;其次,通過建立通信、組織報(bào)文、發(fā)送命令的思路,設(shè)計(jì)基于CIP協(xié)議的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信應(yīng)用程序;最后,通過應(yīng)用測(cè)試,驗(yàn)證此上位監(jiān)控系統(tǒng)通信應(yīng)用程序的正確性、有效性。

        圖1 通信方法研究

        1.1 網(wǎng)絡(luò)模型

        為構(gòu)建液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信架構(gòu),結(jié)合液壓型風(fēng)力發(fā)電機(jī)組的需求,探究EtherNet/IP網(wǎng)絡(luò)模型并確定網(wǎng)絡(luò)模型每層的通信協(xié)議。EtherNet/IP是一種針對(duì)工業(yè)控制環(huán)境的網(wǎng)絡(luò)。與傳統(tǒng)的現(xiàn)場(chǎng)總線相比,EtherNet/IP具有更快的通信速率和更強(qiáng)的資源共享能力,因此液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)采用EtherNet/IP網(wǎng)絡(luò)構(gòu)建通信架構(gòu)。EtherNet/IP網(wǎng)絡(luò)的通信速率快可保證液壓型風(fēng)力發(fā)電機(jī)組在大量數(shù)據(jù)傳輸時(shí)的高效性,而共享機(jī)制強(qiáng)能夠滿足隨液壓型風(fēng)力發(fā)電機(jī)臺(tái)數(shù)的增加實(shí)現(xiàn)快速組網(wǎng),增強(qiáng)可擴(kuò)充性。

        EtherNet/IP網(wǎng)絡(luò)模型遵循國(guó)際標(biāo)準(zhǔn)化組織(ISO)制定的通信系統(tǒng)間標(biāo)準(zhǔn)體系OSI七層參考模型,它與ISO/OSI參考模型中各個(gè)層的對(duì)應(yīng)關(guān)系如圖2所示。EtherNet/IP的物理層和數(shù)據(jù)鏈路層均使用標(biāo)準(zhǔn)的IEEE802.3 EtherNet技術(shù),為物理介質(zhì)定義數(shù)據(jù)傳輸?shù)膸袷讲⑻峁┮?guī)范;網(wǎng)絡(luò)層遵循IP協(xié)議,通過路由實(shí)現(xiàn)網(wǎng)絡(luò)的互連功能;傳輸層遵循TCP(傳輸控制協(xié)議)協(xié)議和UDP(連接設(shè)備協(xié)議)協(xié)議,為應(yīng)用程序提供通信;會(huì)話層、表示層和應(yīng)用層均采用通用工業(yè)協(xié)議CIP。

        圖2 EtherNet/IP網(wǎng)絡(luò)模型

        CIP協(xié)議是由ODVA(Open DeviceNet Vendor Association)和CI(ControlNet International)聯(lián)合制定的應(yīng)用層標(biāo)準(zhǔn)協(xié)議。該協(xié)議與設(shè)備可直接通信,不需借助其他通信軟件,具有速度快、資源占用少、高效靈活的特點(diǎn),并且CIP協(xié)議最重要的一個(gè)特性就是與介質(zhì)無關(guān)性,可移植到不同的網(wǎng)絡(luò)環(huán)境和不同的操作系統(tǒng)平臺(tái)中。由于液壓型風(fēng)力發(fā)電機(jī)組采用OPC等通信方法、使用FactoryTalk View Studio等專用軟件、并借助其他中間通信軟件,往往導(dǎo)致通信效率低、成本高、資源占用多,因此文中擬采用EtherNet/IP應(yīng)用層的CIP協(xié)議作為液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)的通信協(xié)議。對(duì)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)傳輸實(shí)時(shí)性要求高的如I/O數(shù)據(jù)等,通過UDP通道進(jìn)行傳輸;對(duì)準(zhǔn)確性要求高的如組態(tài)信息等,通過TCP通道進(jìn)行傳輸。

        1.2 通信機(jī)制

        為劃分液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)數(shù)據(jù)傳輸通道的傳輸類型,對(duì)液壓型風(fēng)力發(fā)電機(jī)組的傳輸數(shù)據(jù)合理分類,探究通信機(jī)制并提出通信方法。EtherNet/IP應(yīng)用層CIP協(xié)議報(bào)文通信有2種方式:基于非連接的通信和基于連接的通信。基于非連接的通信是一種最基本的通信方式,不需要建立設(shè)備間的連接,適合于網(wǎng)絡(luò)配置簡(jiǎn)單、設(shè)備很少的場(chǎng)景。基于連接的通信首先需要通過基于非連接的通信方式建立設(shè)備間的連接,并保持連接激活狀態(tài),適用于網(wǎng)絡(luò)配置復(fù)雜、設(shè)備較多的場(chǎng)景,可用來傳送I/O數(shù)據(jù)和顯式報(bào)文。

        由于液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)需要監(jiān)控對(duì)實(shí)時(shí)性要求高的I/O數(shù)據(jù)以及對(duì)準(zhǔn)確性要求高的組態(tài)信息、設(shè)備配置等非實(shí)時(shí)性數(shù)據(jù),因此液壓型風(fēng)力發(fā)電機(jī)組的上位監(jiān)控系統(tǒng)選擇基于連接的通信方式來傳輸I/O數(shù)據(jù)和顯式報(bào)文。其中I/O連接主要用于應(yīng)用程序之間的信號(hào)傳輸,通過UDP協(xié)議傳輸實(shí)時(shí)的I/O數(shù)據(jù)和控制信息,它無確認(rèn)機(jī)制,具有單播、多播和廣播的功能。而顯式消息的連接主要針對(duì)組態(tài)信息、設(shè)備配置等非實(shí)時(shí)性信息的傳輸,通過TCP協(xié)議傳輸報(bào)文信息,其面向連接并具有確認(rèn)機(jī)制,數(shù)據(jù)包經(jīng)3次握手可確認(rèn)建立連接。

        1.3 報(bào)文封裝

        為實(shí)現(xiàn)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)與下位機(jī)的數(shù)據(jù)傳輸,根據(jù)EtherNet/IP網(wǎng)絡(luò)模型的傳輸通道,分析報(bào)文形式并合理封裝報(bào)文。根據(jù)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)采用傳輸層協(xié)議(TCP/UDP)建立連接的不同,CIP協(xié)議對(duì)傳輸報(bào)文具有不同的封裝形式。EtherNet/IP應(yīng)用層的CIP協(xié)議有2種封裝形式的報(bào)文:顯式報(bào)文和隱式報(bào)文。顯示報(bào)文是將通用數(shù)據(jù)包格式用封裝層封裝之后,依次逐層封裝上TCP、IP、EtherNet報(bào)頭。其中CIP報(bào)文封裝結(jié)構(gòu)如表1所示,由一個(gè)24字節(jié)的固定長(zhǎng)度的封裝頭部和通用數(shù)據(jù)包組成。隱式報(bào)文不經(jīng)過封裝層,直接將通用數(shù)據(jù)包依次逐層封裝上UDP、IP、EtherNet報(bào)頭。對(duì)于液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)傳輸?shù)腎/O數(shù)據(jù)等實(shí)時(shí)性要求高的數(shù)據(jù)用隱式報(bào)文的封裝結(jié)構(gòu),而傳輸?shù)慕M態(tài)信息、診斷數(shù)據(jù)、設(shè)備配置數(shù)據(jù)等準(zhǔn)確性要求高的數(shù)據(jù)用顯式報(bào)文的封裝結(jié)構(gòu)。

        表1 CIP報(bào)文封裝結(jié)構(gòu)

        2 基于CIP協(xié)議的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信實(shí)現(xiàn)設(shè)計(jì)

        依據(jù)上述針對(duì)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)確定的通信協(xié)議、通信機(jī)制以及報(bào)文封裝形式,為實(shí)現(xiàn)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)與下位機(jī)的通信,文中基于CIP協(xié)議,利用一款功能強(qiáng)大、實(shí)用便捷、可視化的集成開發(fā)環(huán)境Microsoft Visual Studio,采用簡(jiǎn)單、高效的C#語言,按照建立通信、組織報(bào)文、發(fā)送命令的思路設(shè)計(jì)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)。

        2.1 建立連接

        依據(jù)第1.2節(jié)針對(duì)液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)提出的基于連接的通信方式,引入Socket應(yīng)用編程接口,建立液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)與下位機(jī)的通信連接。為標(biāo)識(shí)網(wǎng)絡(luò)的進(jìn)程,利用TCP/IP協(xié)議族的IP地址、協(xié)議和端口這個(gè)三元組來標(biāo)識(shí)網(wǎng)絡(luò)的進(jìn)程,使得網(wǎng)絡(luò)中的進(jìn)程通信利用這個(gè)標(biāo)志與其他進(jìn)程進(jìn)行交互;為實(shí)現(xiàn)網(wǎng)絡(luò)進(jìn)程之間的通信,引入應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層Socket應(yīng)用編程接口,通過Socket組織數(shù)據(jù)實(shí)現(xiàn)網(wǎng)絡(luò)進(jìn)程之間的通信。

        液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信建立連接步驟如下:

        首先,創(chuàng)建一個(gè)負(fù)責(zé)通信的Socket客戶端,一個(gè)網(wǎng)絡(luò)終結(jié)點(diǎn)(IP地址和端口號(hào))以及一個(gè)IP地址對(duì)象,具體代碼如下:

        private Socket clientSocket;//創(chuàng)建負(fù)責(zé)通信的Socket客戶端對(duì)象

        pivate IPEndPoint ipport;//創(chuàng)建網(wǎng)絡(luò)終結(jié)點(diǎn)

        private IPAddress ip;//創(chuàng)建IP地址對(duì)象

        其次,在窗體加載時(shí)對(duì)Socket進(jìn)行初始化,將端口號(hào)和IP地址賦值并初始化。具體代碼如下:

        Private void Form1_Load(object sender,EventArg e)

        {

        int port = int.Parse(textBox2.Text);//將端口號(hào)賦值

        ip = IPAddress.Parse(textBox1.Text);//將IP地址賦值

        ipport = new IPEndPoint(ip,port);//初始化

        }

        最后,將傳輸層協(xié)議(以TCP協(xié)議為例)作為Socket客戶端的通信協(xié)議,通過網(wǎng)絡(luò)終結(jié)點(diǎn)(IP地址和端口號(hào))Socket客戶端即可建立連接。代碼如下所示:

        clientSocket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

        clientSocket.Connect(ipport);

        2.2 CIP報(bào)文組織

        依據(jù)第1.3節(jié)CIP協(xié)議的報(bào)文封裝形式,結(jié)合液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)傳輸?shù)臄?shù)據(jù)類型,合理組織報(bào)文。液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)根據(jù)對(duì)傳輸數(shù)據(jù)實(shí)時(shí)性、準(zhǔn)確性要求的不同,采用CIP協(xié)議報(bào)文不同的封裝形式。對(duì)于液壓型風(fēng)力發(fā)電機(jī)組的I/O數(shù)據(jù),如模擬量、開關(guān)量等對(duì)實(shí)時(shí)性要求高的數(shù)據(jù),其上位監(jiān)控系統(tǒng)采用CIP協(xié)議隱式報(bào)文的組織形式;對(duì)于液壓型風(fēng)力發(fā)電機(jī)組的故障診斷信息、組態(tài)信息等準(zhǔn)確性要求高的數(shù)據(jù),其上位監(jiān)控系統(tǒng)采用CIP協(xié)議的顯式報(bào)文的組織形式。此外,為保證數(shù)據(jù)傳輸?shù)恼_性和完整性,需要對(duì)故障診斷信息、組態(tài)信息等準(zhǔn)確性要求高的數(shù)據(jù)進(jìn)行CRC校驗(yàn)(循環(huán)冗余校驗(yàn)碼)。

        文中以顯式報(bào)文為例,讀數(shù)據(jù)服務(wù)請(qǐng)求報(bào)文組織如下,報(bào)文由Header、CommandSpecificData字節(jié)、以及CIP消息3部分組成。

        public byte[] Header = new byte[24] // 頭部 Header 24個(gè)字節(jié)

        {

        0x6F,0x00,//命令 2byte

        0x28,0x00,//長(zhǎng)度 2byte(總長(zhǎng)度-Header的長(zhǎng)度)=40

        0x00,0x00,0x00,0x00,//會(huì)話句柄 4byte預(yù)留

        0x00,0x00,0x00,0x00,//狀態(tài)默認(rèn)0 4byte

        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//發(fā)送方描述默認(rèn)0 8byte

        0x00,0x00,0x00,0x00,//選項(xiàng)默認(rèn)0 4byte

        };

        Public byte[] CommandSpecificData = new byte[16] // 16個(gè)字節(jié)

        {

        0x00,0x00,0x00,0x00,//接口句柄 CIP默認(rèn)為0x00000000 4byte

        0x01,0x00,//超時(shí)默認(rèn)0x0001 4byte

        0x02,0x00,//項(xiàng)數(shù)默認(rèn)0x0002 4byte

        0x00,0x00,//空地址項(xiàng)默認(rèn)0x0000 2byte

        0x00,0x00,//長(zhǎng)度默認(rèn)0x0000 2byte

        0xb2,0x00,//未連接數(shù)據(jù)項(xiàng)默認(rèn)為 0x00b2

        0x18,0x00,//后面數(shù)據(jù)包的長(zhǎng)度

        };

        public byte[] CipMessage = new byte[10] //CIP消息(由讀取的標(biāo)簽生成)

        {

        0x52,0x02,//服務(wù)默認(rèn)0x52 請(qǐng)求路徑大小0x20,0x06,0x24,0x01,//請(qǐng)求路徑

        0x0A,0xF0,//超時(shí)默認(rèn)0xF00A 4byte

        0x0A,0x00,//CIP指令長(zhǎng)度

        0x4C,//讀取服務(wù)標(biāo)識(shí)固定為0x4C 1byte

        0x03,// 節(jié)點(diǎn)長(zhǎng)度 2byte 規(guī)律為 (標(biāo)簽名的長(zhǎng)度+2)/2

        0x91,//擴(kuò)展符號(hào) 默認(rèn)為 0x91

        0x04,//標(biāo)簽名的長(zhǎng)度0x54,0x41,0x47,0x31,//標(biāo)簽名

        };

        public byte[] Common = new byte[6]

        {

        0x01,0x00,//服務(wù)命令指定數(shù)據(jù),默認(rèn)為0x0001

        0x01,0x00,0x01,0x00//最后一位是PLC的槽號(hào)

        };

        public byte[] WrCommon = new byte[4]

        {

        0x01,0x00,0x01,0x00//最后一位是PLC的槽號(hào)

        };

        2.3 發(fā)送命令

        在第2.1節(jié)已建立通信連接的基礎(chǔ)上,為使液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)與下位機(jī)進(jìn)行數(shù)據(jù)傳輸,利用第2.2節(jié)已組織完成的CIP數(shù)據(jù)報(bào)文,發(fā)送讀寫命令,實(shí)現(xiàn)液壓型風(fēng)力發(fā)電機(jī)組上下位通信。具體過程為:首先,通過Socket客戶端發(fā)送注冊(cè)會(huì)話請(qǐng)求報(bào)文,并接收注冊(cè)應(yīng)答會(huì)話報(bào)文;然后,根據(jù)接收到的注冊(cè)應(yīng)答會(huì)話報(bào)文提取其中的會(huì)話句柄,并將它嵌入請(qǐng)求數(shù)據(jù)包的會(huì)話報(bào)文中,通過Socket客戶端發(fā)送讀寫命令的請(qǐng)求數(shù)據(jù)包報(bào)文并接收返回報(bào)文;最后,進(jìn)行報(bào)文解析并顯示接收到的數(shù)據(jù)。文中以讀取操作命令為例,部分代碼如下:

        private void button2_Click(object sender,EventArgs e)

        {

        clientSocket.Send(cip.Registercmd);//Socket客戶端發(fā)送CIP的注冊(cè)會(huì)話ID

        textBox7.AppendText(GetCurrentTime() + " " + BitConverter.ToString(cip.Registercmd) + " ");//文本框顯示當(dāng)前時(shí)間,注冊(cè)會(huì)話ID

        Thread.Sleep(2);

        byte[] read_data = new byte[100];

        int number = clientSocket.Receive(read_data,read_data.Length,0);

        byte[] x = new byte[number];

        Array.Copy(read_data,0,x,0,number);

        textBox7.AppendText(GetCurrentTime() + " " + BitConverter.ToString(x) + " ");

        byte[] Tagname = class1.Read(textBox3.Text);

        Tagname[4] = read_data[4];Tagname[5] = read_data[5];Tagname[6] = read_data[6];Tagname[7] = read_data[7];

        clientSocket.Send(Tagname);//Socket客戶端發(fā)送標(biāo)簽名稱

        textBox7.AppendText(GetCurrentTime() + " " + BitConverter.ToString(Tagname) + " ");

        Thread.Sleep(2);

        number = clientSocket.Receive(read_data,read_data.Length,0);

        byte[] rec = new byte[number];

        Array.Copy(read_data,0,rec,0,number);

        textBox7.AppendText(GetCurrentTime() + " " + BitConverter.ToString(rec) + " ");

        textBox4.Text = class1.Value(rec);

        }

        3 測(cè)試結(jié)果

        3.1 實(shí)驗(yàn)設(shè)置

        為驗(yàn)證基于CIP協(xié)議的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)與下位機(jī)的通信效果,根據(jù)第2節(jié)中建立通信連接、組織CIP報(bào)文、發(fā)送命令的思路,利用Microsoft Visual Studio開發(fā)軟件采用C#語言設(shè)計(jì)基于CIP協(xié)議的上位監(jiān)控系統(tǒng)。此設(shè)計(jì)開發(fā)硬件環(huán)境為Intel(R) Core(TM) i5-3210 CPU、4 GB內(nèi)存、64位操作系統(tǒng),軟件環(huán)境為Microsoft Visual Studio Community 2017、Windows10 系統(tǒng)。

        3.2 測(cè)試參數(shù)設(shè)置及結(jié)果

        依據(jù)第2節(jié)設(shè)計(jì)的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng),文中針對(duì)600 kW液壓型風(fēng)力發(fā)電試驗(yàn)機(jī)組項(xiàng)目具體控制設(shè)備AB PLC的1769CompactLogix控制器,以第2.2節(jié)中的顯式報(bào)文為例進(jìn)行通信測(cè)試。具體測(cè)試過程為:首先,通過IP地址和端口號(hào)建立通信連接,將上位機(jī)的通信IP地址與PLC的IP地址設(shè)置在同一網(wǎng)段,文中測(cè)試的上位機(jī)IP地址設(shè)置為192.168.1.140,PLC的IP地址為192.168.1.15,端口號(hào)為44818;其次,通過分別輸入標(biāo)簽名稱star和TAG1讀取和寫入相應(yīng)的標(biāo)簽值并顯示發(fā)送和接收的報(bào)文信息。

        文中通信測(cè)試結(jié)果如圖3所示,其中圖3(a)為讀取測(cè)試結(jié)果,圖3(b)為寫入測(cè)試結(jié)果。此外,文中方法與其他通信方法的對(duì)比如表2所示。實(shí)驗(yàn)測(cè)試與對(duì)比分析結(jié)果表明:采用基于CIP協(xié)議的通信方法能夠?qū)崿F(xiàn)與下位機(jī)的通信,與使用OPC及串行的通信方法相比,提高了通信效率,并且不需要使用專用的通信軟件以及不借助任何中間通信軟件,減少了資源占用、降低了成本、增強(qiáng)了針對(duì)性。

        圖3 通信測(cè)試結(jié)果

        表2 不同通信方法對(duì)比

        4 結(jié)論

        針對(duì)600 kW液壓型風(fēng)力發(fā)電試驗(yàn)機(jī)組所采用的FactoryTalk View Studio上位監(jiān)控軟件通信效率低、資源占用多、成本高、針對(duì)性弱的問題,文中提出基于CIP協(xié)議的液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)通信方法。利用Microsoft Visual Studio開發(fā)環(huán)境實(shí)現(xiàn)了上下位的通信,提高了通信效率,節(jié)約了資源,降低了成本,增強(qiáng)了針對(duì)性;同時(shí),為下一步進(jìn)行600 kW液壓型風(fēng)力發(fā)電機(jī)組上位監(jiān)控系統(tǒng)的完整開發(fā)提供通信基礎(chǔ)。

        猜你喜歡
        IP地址發(fā)電機(jī)組上位
        煤氣發(fā)電機(jī)組DEH控制系統(tǒng)的優(yōu)化
        山東冶金(2022年4期)2022-09-14 08:59:30
        鐵路遠(yuǎn)動(dòng)系統(tǒng)幾種組網(wǎng)方式IP地址的申請(qǐng)和設(shè)置
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
        黑龍江電力(2017年1期)2017-05-17 04:25:16
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        基于PLC控制柴油發(fā)電機(jī)組3D 模型
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        八鋼歐冶爐TRT發(fā)電機(jī)組成功并網(wǎng)發(fā)電
        新疆鋼鐵(2015年3期)2015-02-20 14:13:56
        國(guó)內(nèi)首臺(tái)65MW超高壓中間再熱發(fā)電機(jī)組并網(wǎng)發(fā)電
        97人人超碰国产精品最新o| 亚洲精品中文字幕免费专区| 亚洲精品第一国产综合精品| 老熟妻内射精品一区| 中文字幕人妻中文| 一道本中文字幕在线播放| 丁香婷婷在线成人播放视频| 国产精品久久久国产盗摄| 欧美一片二片午夜福利在线快| 无码视频一区=区| 亚洲av在线观看播放| 日韩不卡无码三区| 69精品国产乱码久久久| 伊人久久大香线蕉av色| 国产精品国产三级国av| 国产精品国产三级国产AvkTV| 国产午夜精品视频在线观看| 欧美多人片高潮野外做片黑人| 色婷婷欧美在线播放内射| 日本精品视频一视频高清| 亚州av高清不卡一区二区| 亚洲av永久无码精品漫画| 欧美黑人巨大xxxxx| 爱v天堂在线观看| 国模91九色精品二三四| 亚洲av无码专区在线播放| 五月天欧美精品在线观看| 中文字幕一区二区三区四区久久| 亚洲国产高清精品在线| 免费精品一区二区三区第35| 91孕妇精品一区二区三区| 亚洲av永久一区二区三区| 亚洲性久久久影院| 国产精品第一二三区久久蜜芽| 青青手机在线视频观看| 亚洲处破女av日韩精品中出| 亚洲日韩成人av无码网站| 老色鬼永久精品网站| 少妇精品偷拍高潮少妇在线观看| 成年女人a级毛片免费观看| 大地资源中文第三页|