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

基于OPC通信技術(shù)實現(xiàn)以C#編寫客戶端與S7-1200PLC通訊

2018-06-11 12:04:14楊國興
信息記錄材料 2018年6期

萬 丹,楊國興

(西安石油大學 陜西 西安 710065)

1 引言

近年來,隨著西門子S7-1200 PLC的大力推廣,在部分工業(yè)現(xiàn)場技術(shù)方案的設(shè)計上,尤其是小的工業(yè)項目上,優(yōu)先選擇S7-1200PLC,可見S7-1200是很受歡迎。如果項目的監(jiān)控需要通過HMI設(shè)備完成,則監(jiān)控畫面可與PLC程序同時在TIA Portal集成環(huán)境里進行開發(fā)。[1]此外,也可以選擇用C#編寫客戶端來監(jiān)視和讀寫,本文介紹基于OPC通信技術(shù)實現(xiàn)以C#編寫客戶端與S7-1200PLC通信,通過編寫的客戶端監(jiān)測實時數(shù)據(jù)和過程動態(tài)。

2 技術(shù)簡介

2.11200 PLC

SIMATIC S7-1200的通訊接口符合工業(yè)通訊的最高標準,且具有全面的集成工藝功能,可以作為一個組件集成在完整的綜合自動化解決方案中。S7-1200配備了CM模塊支持RS232/485以及自身以太網(wǎng)口通訊,可以通過開放的以太網(wǎng)協(xié)議支持與第三方設(shè)備的通訊,我們可以和大量的第三方進行自定義字符通訊。[2]

2.2 OPC技術(shù)

OPC全稱是OLE for Process Control,是一個工業(yè)標準。采用這項標準后,開發(fā)商可開發(fā)統(tǒng)一的OPC接口程序,減輕了用戶和軟件開發(fā)商不必要的工作負擔。[3]

2.3 C#語言

C#是由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、語言特性和面向組件編程的支持,成為.NET開發(fā)的首選語言。[4]

3 軟件簡介

3.1 TIA Portal軟件

TIA:Totally Integrated Automation的簡稱,即全集成自動化。TIA Portal分為2部分:Step7與WinCC。由于Portal集成特點,在模擬上有一定優(yōu)勢,可以在一個項目中同時模擬人機與PLC程序通訊,效果更加直觀。并且未來西門子主推TIA Portal,它可以對西門子所有的PLC產(chǎn)品進行編程、開發(fā)、集成。在此項目中使用的是TIA V13 SP1版本。

3.2 SIMATIC NET軟件

SIMATIC NET軟件是用于西門子工業(yè)網(wǎng)絡(luò)通訊的軟件。[1]用SIMATIC NET提供OPC Server通訊速度更快,通過VB、VC等第三方軟件訪問SIMATIC NET提供的OPC Server,讀寫的速度可以達到200ms之內(nèi),甚至更快。本文采用UA Server + C#+PLC,即通過訪問UA Server提供的OPC Server為OPC.SimaticNet.S7進行數(shù)據(jù)讀寫。[5]在此項目中使用的是SIMATIC NET 8.2版本。

3.3 Microsoft Visual Studio軟件

Microsoft Visual Studio(簡稱VS)是一個基本完整的開發(fā)工具集。所寫的目標代碼適用于微軟支持的所有平臺。在此項目中使用的是VS 2015版。

4 PLC組態(tài)及PC站的配置

4.1 PLC硬件組態(tài)

本文以1214C AC/DC/RLY型CPU模塊為例,PLC硬件配置過程在此不做敘述。

4.2 PC站組態(tài)

(1)點擊TIA,打開組態(tài)的工程,選擇主菜單->“添加新設(shè)備”->插入PC站,命名為:“PC Station”。[6]

(2)進入PC Station硬件組態(tài)界面。在“通訊模塊”下,雙擊IE General,自動插入對應(yīng)的卡槽。

在“用戶應(yīng)用程序”欄中,添加一個OPC Sever的應(yīng)用。因為本文使用的是SIMATIC NET 8.2版本,所以通過選中“更改設(shè)備類型”,選擇8.2版本OPC服務(wù)器。

4.3 OPC Server屬性設(shè)置

在OPC服務(wù)器屬性中設(shè)置相關(guān)的信息。選擇“PC station”,在屬性中OPC變量選擇“全部”。

4.4 IE general屬性設(shè)置

配置網(wǎng)卡地址并新建一個以太網(wǎng),選中“IE General卡>屬性>常規(guī)”,配置此項目IP地址設(shè)置為:192.168.0.35。

(1)將PC機的IP地址也設(shè)置為192.168.0.35。

(2)PLC和PC Station等其他設(shè)備的IP地址一定要在同一個域中,否則無法通訊成功。配置PLC的以太網(wǎng)地址,設(shè)備視圖中選中“1200PLC>屬性>常規(guī)>以太網(wǎng)地址”,接口連接到“PN/IE_1”,將PLC的IP地址也設(shè)置為192.168.0.30。

4.5 網(wǎng)絡(luò)配置

點擊“網(wǎng)絡(luò)視圖”的圖標,進入網(wǎng)絡(luò)配置,添加“S7連接”,鼠標左鍵長按選中OPC服務(wù)器接口拖至1200PLC以太網(wǎng)接口,會出現(xiàn)“PN/IE_1”變成“S7_Connection_1”且信號線變高亮,則表明連接成功。

選擇S7_Connection_1“屬性”配置連接參數(shù),在常規(guī)中可以看到連接路徑中配置的信息。在地址詳細信息中可以看到配置的地址信息。設(shè)置 S7 連接屬性及TSAP地址 Connection properties,TSAP。

4.6 建立數(shù)據(jù)DB塊

在PLC程序塊中新建一個DB塊命名為“Database to OPC”。選中“DB塊>屬性”,取消優(yōu)化的塊訪問,這樣OPC就能對DB塊中信息訪問和讀寫。

把項目中需要監(jiān)視的數(shù)據(jù)在“Database to OPC”DB塊中定義,或者在其他DB塊中直接選取。在此專門建立的部分數(shù)據(jù),為了方便我們在OPC Scout V10中監(jiān)控。

4.7 SIMATIC NET組態(tài)PC Station

在網(wǎng)絡(luò)視圖模式下,選擇“PC station>屬性>生成XDB文件>編譯PC station”,對應(yīng)的文件夾中自動生成一個PC station.xdb文件,這樣在組態(tài)Station Configuration Editor時可直接將生成的XDB文件導入,而不用手動添加。

雙擊圖標,進入“Station Configuration Editor”中,添加導入PC station.xdb。導入成功后,status的狀態(tài)會顯示我們添加成功。

5 下載組態(tài)

(1)PLC組態(tài)下載:設(shè)備中選中PLC,開始下載PLC的硬件和軟件信息,選擇對應(yīng)的接口/子網(wǎng)的連接。

(2)PC Station組態(tài)下載:選中PC Station,開始下載IE general_1,選擇對應(yīng)的接口/子網(wǎng)的連接,將“顯示所有兼容的設(shè)備”前的對號取消。

6 在OPC Scout V10中監(jiān)控

打開OPC Scout V10軟件,按照菜單依次打開“UA server>OPC.SimaticNET.S7>Objects”,“SYM>S7-1200station_1>PLC1>Database to OPC”。在DB塊中將我們要檢測的數(shù)據(jù)拖入DA view 1欄中。

啟動在線監(jiān)視,可以觀察到“Monitoring ON”開始讀條,從Result欄顯示GOOD,表明點是好點,反之亦然。Value欄中顯示了檢測變量當前的數(shù)值,說明OPC通訊正常。

7 VS編程

7.1 OPC Server的結(jié)構(gòu)

OPC系統(tǒng)由OPC服務(wù)器和OPC客戶端構(gòu)成。OPC Server共分為三層:OPC Server,OPCGroup和OPCItem。OPCItem可對應(yīng)到實際的硬件裝置上的channel或port;每個OPCGroup包含多個OPCItem并定義這些OPCItem更新的時間、方式,以及提供讀取OPC Item值的接口;而每個OPC Server包含若干OPCGroup,且提供操作這些OPCGroup的接口。

7.2 OPC的讀寫方式

OPC技術(shù)適合于應(yīng)用在很短時間內(nèi)更新大量過程數(shù)據(jù)的工業(yè)場合。在實際應(yīng)用中,主要包括對現(xiàn)場數(shù)據(jù)的讀寫操作。OPC客戶端讀取數(shù)據(jù)方式:同步、異步、訂閱。[3]

經(jīng)過分析,采用OPC異步讀寫方式進行客戶端軟件實現(xiàn),因為異步通訊效率更高。見圖1~3。

圖1 OPC客戶端與OPC服務(wù)器通訊異步讀取主線

圖2 OPC客戶端與OPC服務(wù)器通訊異步讀取支線1

圖3 OPC客戶端與OPC服務(wù)器通訊異步讀取支線2

7.3 C#編寫客戶端

OPC 標準提供了兩種接口:自動化接口和自定義接口。自動化接口是為基于腳本語言開發(fā)定義的標準接口,一般使用Visual Basic、Delphi 等語言開發(fā)OPC客戶端應(yīng)用;自定義接口是為基于高級語言開發(fā)定義的標準接口,一般使用C++、C#等語言開發(fā)OPC客戶端應(yīng)用,本文在客戶端的開發(fā)中使用自定義接口,使用C#語言開發(fā)。

(1)添加引用

using OPCSiemensDAAutomation;

OPC Server是以O(shè)PC服務(wù)的形式提供服務(wù),要使用OPC服務(wù),首先引入動態(tài)庫。

(2)創(chuàng)建OPC.SimaticNet 的OPC服務(wù)的實例

MyOpcServer = new OPCServer();

MyOpcServer.Connect("OPC.SimaticNET","192.168.0.35");

(3)為服務(wù)實例添加OPCGroup 組

MyOpcGroup = MyOpcServer.OPCGroups.Add("MyGroup1");

MyOpcGroup.IsActive = true;

MyOpcGroup.IsSubscribed = true;

MyOpcGroup.DeadBand = 0;

MyOpcGroup.UpdateRate = 1000;

(4)為異步讀取添加服務(wù)

ServerHandle[0] = MyOpcItem1.ServerHandle;

MyOpcGroup.AsyncWriteComplete += new DIOPCGroupEvent_AsyncWriteCompleteEventHandler(MyOp cGroup_WriteComplete);

MyOpcGroup.AsyncReadComplete += new DIOPCGroupEvent_AsyncReadCompleteEventHandler(MyOpc Group_ReadComplete);

MyOpcGroup.AsyncCancelComplete += new DIOPCGroupEvent_AsyncCancelCompleteEventHandler(MyO pcGroup_CancelComplete);

MyOpcGroup.DataChange += new DIOPCGroupEvent_Da taChangeEventHandler(MyOpcGroup_DataChange);

(5)OPCGroup 組中添加需要讀寫的OPCItem數(shù)據(jù)

M y O p c I t e m1 = M y O p c G r o u p.O P C I t e m s.AddItem("S7-1200 station_1.PLC_1.Database to OPC.A Motor speed", 1);//以一個數(shù)據(jù)為例

(6)定時讀取事件

int[] handle = new int[1];

handle[0] = ServerHandle[0];

Array MyServerHandles = (Array)handle;

Array errors;

int cancelID;

MyOpcGroup.AsyncRead(1,ref MyServerHandles, out errors, READASYNC_ID, out cancelID);

(7)異步讀取完成事件

void MyOpcGroup_ReadComplete(int TrainsactionID,int NumItems,ref System.Array ClientHandles, ref System.Array ItemValues,ref System.Array Qualities,ref System.Array TimeStamps,ref System.Array Errors)

{try;

{if (TrainsactionID == READASYNC_ID);

{if (Convert.ToInt32(ClientHandles.GetValue(1)) == 1);

{if (Convert.ToInt32(Errors.GetValue(1)) == 0);

{OpID = ItemValues.GetValue(1).ToString();

}

}

Application.DoEvents();

}

}

catch (System.Exception error);

{MessageBox.Show(error.Message, "Result-異步讀", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

8 實際運行效果

點擊開始監(jiān)視,與OPC建立通訊,軟件開始進行數(shù)據(jù)讀取,并且按照定時器設(shè)定的時間實時刷新。如圖4所示。

圖4 客戶端窗口

若數(shù)據(jù)出現(xiàn)壞點或者超限,可以進行報警記錄。也可以將系統(tǒng)某時間點的實時數(shù)據(jù)導出成為EXCEL表格,方便我們打印和記錄。如圖5所示。更進一步也可將數(shù)據(jù)實時傳入數(shù)據(jù)庫中,方便管理,在此不做進一步介紹。

圖5 導出的EXCEL表格

9 結(jié)語

本文內(nèi)容是實際工程項目的應(yīng)用總結(jié),該方法已經(jīng)成功應(yīng)用于項目中,系統(tǒng)運行穩(wěn)定、可靠,效果良好。此技術(shù)可以應(yīng)用于有些項目沒有采用HMI設(shè)備,項目不大且預(yù)算較少,簡化了開發(fā)過程,可以用C#編寫自己滿意的風格畫面,具有很大的應(yīng)用靈活性。高效的數(shù)據(jù)采集、傳輸、顯示、存貯和應(yīng)用,提升了企業(yè)生產(chǎn)效率,并降低生產(chǎn)成本。

[1] 段潤群,謝云山.上位機軟件與S7-1200 PLC的OPC通信研究[J].自動化與儀器儀表,2014:13-15,19.

[2] 西門子(中國)有限公司.深入淺出西門子S7-1200PLC[M].北京航空航天大學出版社,2009-11-01.

[3] How to accomplish data accessing through OPC by C#.下載網(wǎng)址:https://support.industry.siemens.com/cs/document/109481353

[4] csdn網(wǎng).c#多線程參考與實例.下載網(wǎng)址:http://download.csdn.net/detail/emeralddream/2683238

[5] 西門子(中國)自動化與驅(qū)動集團.通過ETHERNET建立SIMATIC NET OPC服務(wù)器與PLC的S7連接[M].北京: 2005.

[6] 西門子S7-1200PLC技術(shù)參考Version 3.3.下載網(wǎng)址:http://www.ad.siemens.com.cn/download.文檔編號:A0426.

主站蜘蛛池模板: 一区二区三区在线不卡免费| 亚洲熟女中文字幕男人总站| 亚洲精品自在线拍| 曰韩人妻一区二区三区| 亚洲无码免费黄色网址| 国产精品天干天干在线观看| 波多野结衣无码AV在线| 国产91高清视频| 九色91在线视频| 亚洲天堂2014| 青青青国产在线播放| 婷婷伊人久久| 日韩第一页在线| 欧美性精品| 日韩a级片视频| 国产一级在线观看www色| 欧美专区日韩专区| 国产夜色视频| 久久久久国产一区二区| 国产美女免费| 国产91麻豆视频| 国产真实乱子伦精品视手机观看 | 国内老司机精品视频在线播出| 国产呦视频免费视频在线观看| 怡春院欧美一区二区三区免费| 亚洲中文字幕国产av| 久久精品视频亚洲| h网址在线观看| 免费三A级毛片视频| 色婷婷国产精品视频| 在线欧美a| 红杏AV在线无码| 91精品啪在线观看国产| 精品国产香蕉伊思人在线| 日本免费精品| 国产视频 第一页| 国产精品xxx| 青青草91视频| 国产亚洲精| 91丨九色丨首页在线播放| 四虎永久在线精品国产免费| 亚洲高清在线播放| 久久综合九色综合97婷婷| 欧美一级色视频| 国产av无码日韩av无码网站| 国内精品伊人久久久久7777人| 亚洲黄色片免费看| 欧美午夜视频在线| 男人天堂亚洲天堂| 日本精品视频一区二区| 91极品美女高潮叫床在线观看| 在线播放精品一区二区啪视频| 天天做天天爱天天爽综合区| 欧美色视频在线| 久久国产精品娇妻素人| 波多野结衣一二三| v天堂中文在线| 日韩欧美中文| 国产嫖妓91东北老熟女久久一| 亚洲精品欧美重口| www亚洲天堂| 在线观看免费国产| 美女扒开下面流白浆在线试听| 国产在线观看91精品| 日韩在线观看网站| 成人国产一区二区三区| 欧美黄网在线| 99热这里只有精品在线观看| 国产乱人伦AV在线A| 午夜无码一区二区三区在线app| 亚洲欧美日本国产综合在线| 中文字幕一区二区视频| AV无码无在线观看免费| 国产成人精品男人的天堂下载 | 亚洲动漫h| 国产乱人乱偷精品视频a人人澡| 国产99免费视频| 成人免费网站久久久| 亚洲一区二区无码视频| 在线播放91| 三级毛片在线播放| 中国精品久久|