999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CIP協議的液壓型風力發電機組上位監控系統通信方法研究

2022-11-30 10:10:18張彥劉微容劉沛棟劉睿郭宏林劉婕
機床與液壓 2022年22期
關鍵詞:系統

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

(1.蘭州理工大學電氣工程與信息工程學院,甘肅蘭州 730050;2.大型電氣傳動系統與裝備技術國家重點實驗室,甘肅天水 741000)

0 前言

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

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

因此,針對實際液壓型風力發電機組上位監控系統通信效率低、資源占用多、成本高、針對性弱的問題[13],本文作者提出一種基于CIP協議的液壓型風力發電機組上位監控系統通信方法,通過Microsoft Visual Studio開發環境,結合CIP通信協議,采用C#語言實現上位監控系統與下位機的通信。它擁有自主產權,適用于特殊行業并且通信高效專業,為后續開發完整的液壓型風力發電機組上位監控軟件提供通信基礎。

1 通信方案設計

文中圍繞液壓型風力發電機組上位監控系統通信問題,依據“機制研究-實現設計-應用測試”的研究思路,采用如圖1所示的通信方法研究方案,展開具體研究:首先,依據EtherNet/IP網絡模型,結合液壓型風力發電機組的需求,建立對應的通信機制,并通過對液壓型風力發電機組傳輸數據進行正確分類,建立對應的傳輸通道,合理封裝報文;其次,通過建立通信、組織報文、發送命令的思路,設計基于CIP協議的液壓型風力發電機組上位監控系統通信應用程序;最后,通過應用測試,驗證此上位監控系統通信應用程序的正確性、有效性。

圖1 通信方法研究

1.1 網絡模型

為構建液壓型風力發電機組上位監控系統通信架構,結合液壓型風力發電機組的需求,探究EtherNet/IP網絡模型并確定網絡模型每層的通信協議。EtherNet/IP是一種針對工業控制環境的網絡。與傳統的現場總線相比,EtherNet/IP具有更快的通信速率和更強的資源共享能力,因此液壓型風力發電機組上位監控系統采用EtherNet/IP網絡構建通信架構。EtherNet/IP網絡的通信速率快可保證液壓型風力發電機組在大量數據傳輸時的高效性,而共享機制強能夠滿足隨液壓型風力發電機臺數的增加實現快速組網,增強可擴充性。

EtherNet/IP網絡模型遵循國際標準化組織(ISO)制定的通信系統間標準體系OSI七層參考模型,它與ISO/OSI參考模型中各個層的對應關系如圖2所示。EtherNet/IP的物理層和數據鏈路層均使用標準的IEEE802.3 EtherNet技術,為物理介質定義數據傳輸的幀格式并提供規范;網絡層遵循IP協議,通過路由實現網絡的互連功能;傳輸層遵循TCP(傳輸控制協議)協議和UDP(連接設備協議)協議,為應用程序提供通信;會話層、表示層和應用層均采用通用工業協議CIP。

圖2 EtherNet/IP網絡模型

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

1.2 通信機制

為劃分液壓型風力發電機組上位監控系統數據傳輸通道的傳輸類型,對液壓型風力發電機組的傳輸數據合理分類,探究通信機制并提出通信方法。EtherNet/IP應用層CIP協議報文通信有2種方式:基于非連接的通信和基于連接的通信。基于非連接的通信是一種最基本的通信方式,不需要建立設備間的連接,適合于網絡配置簡單、設備很少的場景。基于連接的通信首先需要通過基于非連接的通信方式建立設備間的連接,并保持連接激活狀態,適用于網絡配置復雜、設備較多的場景,可用來傳送I/O數據和顯式報文。

由于液壓型風力發電機組上位監控系統需要監控對實時性要求高的I/O數據以及對準確性要求高的組態信息、設備配置等非實時性數據,因此液壓型風力發電機組的上位監控系統選擇基于連接的通信方式來傳輸I/O數據和顯式報文。其中I/O連接主要用于應用程序之間的信號傳輸,通過UDP協議傳輸實時的I/O數據和控制信息,它無確認機制,具有單播、多播和廣播的功能。而顯式消息的連接主要針對組態信息、設備配置等非實時性信息的傳輸,通過TCP協議傳輸報文信息,其面向連接并具有確認機制,數據包經3次握手可確認建立連接。

1.3 報文封裝

為實現液壓型風力發電機組上位監控系統與下位機的數據傳輸,根據EtherNet/IP網絡模型的傳輸通道,分析報文形式并合理封裝報文。根據液壓型風力發電機組上位監控系統采用傳輸層協議(TCP/UDP)建立連接的不同,CIP協議對傳輸報文具有不同的封裝形式。EtherNet/IP應用層的CIP協議有2種封裝形式的報文:顯式報文和隱式報文。顯示報文是將通用數據包格式用封裝層封裝之后,依次逐層封裝上TCP、IP、EtherNet報頭。其中CIP報文封裝結構如表1所示,由一個24字節的固定長度的封裝頭部和通用數據包組成。隱式報文不經過封裝層,直接將通用數據包依次逐層封裝上UDP、IP、EtherNet報頭。對于液壓型風力發電機組上位監控系統傳輸的I/O數據等實時性要求高的數據用隱式報文的封裝結構,而傳輸的組態信息、診斷數據、設備配置數據等準確性要求高的數據用顯式報文的封裝結構。

表1 CIP報文封裝結構

2 基于CIP協議的液壓型風力發電機組上位監控系統通信實現設計

依據上述針對液壓型風力發電機組上位監控系統確定的通信協議、通信機制以及報文封裝形式,為實現液壓型風力發電機組上位監控系統與下位機的通信,文中基于CIP協議,利用一款功能強大、實用便捷、可視化的集成開發環境Microsoft Visual Studio,采用簡單、高效的C#語言,按照建立通信、組織報文、發送命令的思路設計液壓型風力發電機組上位監控系統。

2.1 建立連接

依據第1.2節針對液壓型風力發電機組上位監控系統提出的基于連接的通信方式,引入Socket應用編程接口,建立液壓型風力發電機組上位監控系統與下位機的通信連接。為標識網絡的進程,利用TCP/IP協議族的IP地址、協議和端口這個三元組來標識網絡的進程,使得網絡中的進程通信利用這個標志與其他進程進行交互;為實現網絡進程之間的通信,引入應用層與TCP/IP協議族通信的中間軟件抽象層Socket應用編程接口,通過Socket組織數據實現網絡進程之間的通信。

液壓型風力發電機組上位監控系統通信建立連接步驟如下:

首先,創建一個負責通信的Socket客戶端,一個網絡終結點(IP地址和端口號)以及一個IP地址對象,具體代碼如下:

private Socket clientSocket;//創建負責通信的Socket客戶端對象

pivate IPEndPoint ipport;//創建網絡終結點

private IPAddress ip;//創建IP地址對象

其次,在窗體加載時對Socket進行初始化,將端口號和IP地址賦值并初始化。具體代碼如下:

Private void Form1_Load(object sender,EventArg e)

{

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

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

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

}

最后,將傳輸層協議(以TCP協議為例)作為Socket客戶端的通信協議,通過網絡終結點(IP地址和端口號)Socket客戶端即可建立連接。代碼如下所示:

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

clientSocket.Connect(ipport);

2.2 CIP報文組織

依據第1.3節CIP協議的報文封裝形式,結合液壓型風力發電機組上位監控系統傳輸的數據類型,合理組織報文。液壓型風力發電機組上位監控系統根據對傳輸數據實時性、準確性要求的不同,采用CIP協議報文不同的封裝形式。對于液壓型風力發電機組的I/O數據,如模擬量、開關量等對實時性要求高的數據,其上位監控系統采用CIP協議隱式報文的組織形式;對于液壓型風力發電機組的故障診斷信息、組態信息等準確性要求高的數據,其上位監控系統采用CIP協議的顯式報文的組織形式。此外,為保證數據傳輸的正確性和完整性,需要對故障診斷信息、組態信息等準確性要求高的數據進行CRC校驗(循環冗余校驗碼)。

文中以顯式報文為例,讀數據服務請求報文組織如下,報文由Header、CommandSpecificData字節、以及CIP消息3部分組成。

public byte[] Header = new byte[24] // 頭部 Header 24個字節

{

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

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

0x00,0x00,0x00,0x00,//會話句柄 4byte預留

0x00,0x00,0x00,0x00,//狀態默認0 4byte

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//發送方描述默認0 8byte

0x00,0x00,0x00,0x00,//選項默認0 4byte

};

Public byte[] CommandSpecificData = new byte[16] // 16個字節

{

0x00,0x00,0x00,0x00,//接口句柄 CIP默認為0x00000000 4byte

0x01,0x00,//超時默認0x0001 4byte

0x02,0x00,//項數默認0x0002 4byte

0x00,0x00,//空地址項默認0x0000 2byte

0x00,0x00,//長度默認0x0000 2byte

0xb2,0x00,//未連接數據項默認為 0x00b2

0x18,0x00,//后面數據包的長度

};

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

{

0x52,0x02,//服務默認0x52 請求路徑大小0x20,0x06,0x24,0x01,//請求路徑

0x0A,0xF0,//超時默認0xF00A 4byte

0x0A,0x00,//CIP指令長度

0x4C,//讀取服務標識固定為0x4C 1byte

0x03,// 節點長度 2byte 規律為 (標簽名的長度+2)/2

0x91,//擴展符號 默認為 0x91

0x04,//標簽名的長度0x54,0x41,0x47,0x31,//標簽名

};

public byte[] Common = new byte[6]

{

0x01,0x00,//服務命令指定數據,默認為0x0001

0x01,0x00,0x01,0x00//最后一位是PLC的槽號

};

public byte[] WrCommon = new byte[4]

{

0x01,0x00,0x01,0x00//最后一位是PLC的槽號

};

2.3 發送命令

在第2.1節已建立通信連接的基礎上,為使液壓型風力發電機組上位監控系統與下位機進行數據傳輸,利用第2.2節已組織完成的CIP數據報文,發送讀寫命令,實現液壓型風力發電機組上下位通信。具體過程為:首先,通過Socket客戶端發送注冊會話請求報文,并接收注冊應答會話報文;然后,根據接收到的注冊應答會話報文提取其中的會話句柄,并將它嵌入請求數據包的會話報文中,通過Socket客戶端發送讀寫命令的請求數據包報文并接收返回報文;最后,進行報文解析并顯示接收到的數據。文中以讀取操作命令為例,部分代碼如下:

private void button2_Click(object sender,EventArgs e)

{

clientSocket.Send(cip.Registercmd);//Socket客戶端發送CIP的注冊會話ID

textBox7.AppendText(GetCurrentTime() + " " + BitConverter.ToString(cip.Registercmd) + " ");//文本框顯示當前時間,注冊會話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客戶端發送標簽名稱

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 測試結果

3.1 實驗設置

為驗證基于CIP協議的液壓型風力發電機組上位監控系統與下位機的通信效果,根據第2節中建立通信連接、組織CIP報文、發送命令的思路,利用Microsoft Visual Studio開發軟件采用C#語言設計基于CIP協議的上位監控系統。此設計開發硬件環境為Intel(R) Core(TM) i5-3210 CPU、4 GB內存、64位操作系統,軟件環境為Microsoft Visual Studio Community 2017、Windows10 系統。

3.2 測試參數設置及結果

依據第2節設計的液壓型風力發電機組上位監控系統,文中針對600 kW液壓型風力發電試驗機組項目具體控制設備AB PLC的1769CompactLogix控制器,以第2.2節中的顯式報文為例進行通信測試。具體測試過程為:首先,通過IP地址和端口號建立通信連接,將上位機的通信IP地址與PLC的IP地址設置在同一網段,文中測試的上位機IP地址設置為192.168.1.140,PLC的IP地址為192.168.1.15,端口號為44818;其次,通過分別輸入標簽名稱star和TAG1讀取和寫入相應的標簽值并顯示發送和接收的報文信息。

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

圖3 通信測試結果

表2 不同通信方法對比

4 結論

針對600 kW液壓型風力發電試驗機組所采用的FactoryTalk View Studio上位監控軟件通信效率低、資源占用多、成本高、針對性弱的問題,文中提出基于CIP協議的液壓型風力發電機組上位監控系統通信方法。利用Microsoft Visual Studio開發環境實現了上下位的通信,提高了通信效率,節約了資源,降低了成本,增強了針對性;同時,為下一步進行600 kW液壓型風力發電機組上位監控系統的完整開發提供通信基礎。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 亚洲综合片| 国产精品男人的天堂| 美女被操91视频| 粉嫩国产白浆在线观看| 欧洲亚洲一区| 又黄又爽视频好爽视频| 色135综合网| 亚洲欧美国产视频| 国产一区二区三区在线无码| 国产精品久久久久久久久久久久| 男女精品视频| 日韩国产无码一区| 国产亚洲精品自在久久不卡 | 青青草91视频| 亚洲日本中文综合在线| 中文成人在线视频| 乱码国产乱码精品精在线播放| 最新国产你懂的在线网址| 久久99国产精品成人欧美| 国产日韩欧美视频| 日韩a级片视频| 中国国产一级毛片| 欧美区一区二区三| 男人天堂伊人网| av在线5g无码天天| 亚洲三级视频在线观看| 日韩精品一区二区三区中文无码| 日本成人一区| 992tv国产人成在线观看| 欧美综合成人| 在线色国产| 亚洲无限乱码一二三四区| 少妇精品在线| 成人在线综合| 一级毛片高清| 亚洲手机在线| 国产麻豆永久视频| 欧美精品啪啪| 国产久草视频| 国产在线观看一区精品| 欧美日韩在线成人| 97视频免费在线观看| 国产微拍精品| 国产呦精品一区二区三区下载| 久久精品国产精品国产一区| 国产Av无码精品色午夜| 亚洲女人在线| 亚洲最大情网站在线观看 | 91精品国产91久无码网站| 亚洲精品欧美日本中文字幕| 色婷婷在线播放| 成人国产免费| 巨熟乳波霸若妻中文观看免费| 99视频在线精品免费观看6| 综合五月天网| 秋霞国产在线| 日韩 欧美 国产 精品 综合| a级毛片网| 国产h视频在线观看视频| 国产无遮挡猛进猛出免费软件| 天天综合网站| 中文无码精品a∨在线观看| 国产综合无码一区二区色蜜蜜| 韩日无码在线不卡| 久久青草免费91线频观看不卡| 欧美激情视频二区| 99er这里只有精品| 亚洲综合精品香蕉久久网| 免费高清a毛片| 四虎永久在线| 日本午夜三级| 国产91熟女高潮一区二区| 中文字幕亚洲精品2页| 国产美女人喷水在线观看| 国产女同自拍视频| 久久午夜夜伦鲁鲁片无码免费 | 久久无码av三级| 色九九视频| 大香伊人久久| 色欲色欲久久综合网| 免费高清毛片| 国产午夜不卡|