• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于C#語(yǔ)言的工業(yè)計(jì)算機(jī)與S7-300的OPC通訊

      2011-11-18 08:02:36黃希敏
      重型機(jī)械 2011年5期
      關(guān)鍵詞:數(shù)據(jù)通訊機(jī)架通訊

      黃希敏

      (陜西教育學(xué)院,陜西 西安 710100)

      1 前言

      OPC(OLE for Process Control)是一種用于工業(yè)數(shù)據(jù)通訊的標(biāo)準(zhǔn)協(xié)議,使開(kāi)發(fā)人員能夠方便的按照OPC協(xié)議編程實(shí)現(xiàn)OPC客戶端程序與OPC服務(wù)器之間的通訊。為了實(shí)現(xiàn)工業(yè)計(jì)算機(jī)與S7-300的實(shí)時(shí)數(shù)據(jù)通訊,本文以西門(mén)子公司的SIMATIC NET作為OPC服務(wù)器,使用C#語(yǔ)言編程實(shí)現(xiàn)OPC客戶端程序與SIMATIC NET OPC服務(wù)器之間的數(shù)據(jù)通訊。

      2 SIMATIC NET OPC服務(wù)器及連接配置

      SIMATIC NET是西門(mén)子在工業(yè)控制系統(tǒng)提供的一個(gè)開(kāi)放的、多元的通訊系統(tǒng),可以實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)的PLC、主機(jī)、工作站和個(gè)人電腦聯(lián)網(wǎng)通訊。通訊的網(wǎng)絡(luò)包括了工業(yè)以太網(wǎng)、PROFIBUS、PROFIBUS-PA等。SIMATIC NET OPC服務(wù)器不但提供了數(shù)據(jù)訪問(wèn)的接口,同時(shí)還提供了報(bào)警和事件的接口等多種功能。

      為了能夠讓SIMATIC NET系統(tǒng)正常的工作,必須安裝SIMATIC NET軟件。網(wǎng)絡(luò)通訊方式為工業(yè)以太網(wǎng)。按照OPC接口的規(guī)定,C或C++語(yǔ)言編寫(xiě)的客戶機(jī)應(yīng)用程序可以使用自定義接口和自動(dòng)化接口。其他的編程語(yǔ)言(如VB,Delphi,C#等)編寫(xiě)的客戶機(jī)應(yīng)用程序只能使用自動(dòng)化接口。

      2.1 安裝軟件

      工業(yè)計(jì)算機(jī)的操作系統(tǒng)為XP系統(tǒng),SIMATIC NET軟件的版本為SIMATIC.NET 2006,編程環(huán)境為Microsoft Visual Studio 2008。當(dāng)SIMATIC NET軟件安裝成功后,在桌面上可以看到Station Configuration、SIMATIC Manager等的快捷圖標(biāo)。

      2.2 OPC服務(wù)器與S7-300連接通訊

      首先,打開(kāi) SIMATIC NET軟件的 Station Configuration Editor窗口進(jìn)行PC硬件機(jī)架的配置,在打開(kāi)的窗口中依次在第一行和第三行插入OPC Server和IE General,同時(shí)還需要對(duì)工業(yè)計(jì)算機(jī)的網(wǎng)絡(luò)進(jìn)行配置,以保證PC站的IP地址與S7-300的IP地址屬于同一IP段。以上操作完成后,點(diǎn)擊“Station Name”按鈕來(lái)給PC指定一個(gè)名稱,例如:“ethernetOPC”。圖1為PC硬件機(jī)架的配置界面截圖。

      圖1 PC硬件機(jī)架的配置Fig.1 configuration of PC hardware chassis

      其次,打開(kāi)Configuration Console窗口對(duì)控制臺(tái)進(jìn)行配置。在打開(kāi)的窗口中首先可以查看到以太網(wǎng)的模式已經(jīng)從PG mode切換到Configuration mode,然后單擊“Access Points”把S7ONLINE的指向選項(xiàng)選為“PC internal(local)”。

      最后,打開(kāi) SIMATIC Manager窗口,通過(guò)“File→New”創(chuàng)建一個(gè)新項(xiàng)目,如:“S7300OPC”。通過(guò)“Insert→Station→Simatic PC Station”插入一個(gè)PC站,并且命名與上述命名的PC站名稱相同,本文中即“ethernetOPC”。創(chuàng)建成功后,雙擊Configuration進(jìn)入PC Station組態(tài),從硬件目錄串口選擇與已安裝的SIMATIC NET軟件版本相符的硬件插入到與上述PC硬件機(jī)架對(duì)應(yīng)的位置。雙擊“Configure Network”進(jìn)行NetPro配置,選擇OPC Server連接表的第一行,通過(guò)“Insert→New Connection”來(lái)建立一個(gè)新的連接,在彈出的連接屬性畫(huà)面中,選擇“S7 connection”屬性。然后在“S7 connection”屬性窗口中按照提示輸入S7-300與工業(yè)計(jì)算機(jī)的IP地址,雙擊“Address Details”設(shè)置符合S7-300的機(jī)架號(hào)0和插槽號(hào)2。上述操作完成后,編譯無(wú)誤后保存。

      上述步驟完成后,就實(shí)現(xiàn)了S7-300與SIMATIC NET OPC服務(wù)器的數(shù)據(jù)通訊,可以通過(guò)OPC Scout來(lái)檢查連接是否正常。圖2為OPC Scout的運(yùn)行界面截圖。

      圖2 OPC Scout的運(yùn)行界面截圖Fig.2 Screenshot of running interface of OPC Scout

      圖2 中,Item Names項(xiàng)為S7 PLC站的變量地址。例如:S7:[S7 connection_1]DB400,INT44中,S7為協(xié)議ID,這是S7協(xié)議規(guī)定的;[S7 connection_1]為連接名,這是用戶定義的OPC連接字符串標(biāo)識(shí)名;DB400為數(shù)據(jù)塊,INT44為變量的類型和地址。OPC Scout要能夠正常的訪問(wèn)S7 PLC站的變量地址,必須嚴(yán)格按照上述的變量編址方式。

      3 OPC客戶端程序的軟件實(shí)現(xiàn)

      本文研究的OPC客戶端與SIMATIC NET OPC服務(wù)器的數(shù)據(jù)通訊,實(shí)際是為了實(shí)現(xiàn)S7-300與工業(yè)計(jì)算機(jī)的數(shù)據(jù)通訊。在已經(jīng)配置好的SIMA-TIC NET OPC服務(wù)器的基礎(chǔ)上,確定了OPC Server名“OPC.SIMATICNET”和采用自動(dòng)化接口,并且嚴(yán)格按照S7 PLC站的變量編址方式,可以編程實(shí)現(xiàn)基于C#編程語(yǔ)言的OPC客戶端程序與SIMATIC NET OPC服務(wù)器通訊。圖3為實(shí)現(xiàn)OPC客戶端與OPC服務(wù)器連接通訊的程序流程圖。

      (1)添加引用。OpcRcw.DA和OpcRcw.Comn是西門(mén)子提供的關(guān)于OPC通訊的兩個(gè)動(dòng)態(tài)鏈接庫(kù)文件。在C#編程環(huán)境中引用這兩個(gè)文件,調(diào)用這兩個(gè)動(dòng)態(tài)連接庫(kù)中的接口函數(shù)。

      圖3 OPC客戶端與OPC服務(wù)器通訊程序流程圖Fig.3 Flow chart of communication between OPC client and OPC server

      using OpcRcw.Comn;

      using OpcRcw.Da;

      (2)定義OPC相關(guān)變量。在進(jìn)行與OPC服務(wù)器的連接之前,首先要定義OPC相關(guān)的變量,其中包括:OPC的服務(wù)器名,OPC服務(wù)器的對(duì)象名等。

      internal const string SERVER_ NAME =“OPC.SIMATICNET“;//OPC服務(wù)器名

      private IOPCServer pIOPCServer;//定義OPCServer對(duì)象

      (3)實(shí)現(xiàn)與OPC服務(wù)器的連接。public bool ConnectServer(string node_name,out string error),其中node_name為OPC服務(wù)器的計(jì)算機(jī)名稱,連接過(guò)程中的錯(cuò)誤信息捕捉給error輸出。函數(shù)返回true和false,分別代表成功和失敗。具體的步驟:創(chuàng)建服務(wù)器對(duì)象創(chuàng)建OPC組對(duì)象-向組對(duì)象中添加多項(xiàng)OPC客戶端讀寫(xiě)操作。

      (4)創(chuàng)建服務(wù)器對(duì)象。pIOPCServer=(IOPCServer)System.Activator.CreateInstance(svr-Componenttyp)

      (5)創(chuàng)建OPC組對(duì)象。public bool AddGroup(string groupName,int bActive,int updateRate,out string error),其中g(shù)roupName為創(chuàng)建組對(duì)象的組名,bActive為組的激活狀態(tài),updateRate為組的刷新頻率,創(chuàng)建組對(duì)象過(guò)程中的錯(cuò)誤信息捕捉給error輸出。函數(shù)返回true和false,分別代表成功和失敗。

      (6)向組對(duì)象中添加多項(xiàng)。public bool AddItems(string[]itemsName,int[]itemsID,out string error),其中itemsName為要添加的項(xiàng)的名稱,是一個(gè)字符串?dāng)?shù)組,itemsID為與字符串?dāng)?shù)組相對(duì)應(yīng)的序號(hào)數(shù)組。添加項(xiàng)對(duì)象過(guò)程中的錯(cuò)誤信息捕捉給error輸出。函數(shù)返回true和false,分別代表成功和失敗。

      (7)OPC客戶端讀寫(xiě)操作。OPC客戶端進(jìn)行讀寫(xiě)操作之前,首先要根據(jù)通訊方式是同步還是異步,從而實(shí)例化指針I(yè)OPCSyncIO/IOPCAsyncIO接口。本文的OPC客戶端通訊采用同步方式。

      實(shí)際應(yīng)用過(guò)程中,IOPCSyncIO接口分別提供了讀、寫(xiě)的方法,即 IOPCSyncIO.READ和IOPCSyncIO.WRITE。

      (8)斷開(kāi)與OPC服務(wù)器的連接。public bool Close(out string error),其中,斷開(kāi)連接過(guò)程中的錯(cuò)誤信息捕捉給error輸出。函數(shù)返回true和false,分別代表成功和失敗。在程序斷開(kāi)與OPC服務(wù)器的連接之前,必須先刪除已經(jīng)創(chuàng)建的OPC對(duì)象并且釋放內(nèi)存。

      上述利用C#編程語(yǔ)言實(shí)現(xiàn)OPC客戶端程序與SIMATIC NET OPC服務(wù)器的數(shù)據(jù)通訊,在OPC通訊客戶端系統(tǒng)界面上實(shí)時(shí)顯示了數(shù)據(jù)的讀寫(xiě)情況。圖4為OPC通訊客戶端運(yùn)行界面截圖。

      圖4 OPC通訊客戶端程序運(yùn)行界面Fig.4 program running interface for client of OPC communication

      4 結(jié)束語(yǔ)

      以SIMATIC NET OPC為服務(wù)器,S7-300與SIMATIC NET OPC服務(wù)器連接配置,采用C#計(jì)算機(jī)編程語(yǔ)言實(shí)現(xiàn)了OPC客戶端程序與OPC服務(wù)器的數(shù)據(jù)讀寫(xiě)操作。通過(guò)多次的應(yīng)用測(cè)試證明,OPC客戶端程序運(yùn)行可靠,操作簡(jiǎn)單,符合現(xiàn)場(chǎng)對(duì)實(shí)時(shí)監(jiān)控的要求。

      [1] Christian Nagel Bill Evjen Jay Glynn著,李銘譯.C#高級(jí)編程(6版)[M].北京:清華大學(xué)出版社,2008,11.

      [2] 羅斌,羅順文.Visual C#2005編程技巧大全[M].北京:中國(guó)水利水電出版,2007.

      [3] 蔣秀鳳,何鳳英.Oracle 9i數(shù)據(jù)庫(kù)管理教程[M].北京:清華大學(xué)出版社,2005.

      [4] 滕永昌.Oracle 9i數(shù)據(jù)庫(kù)管理員使用大全[M].北京:清華大學(xué)出版社,2004.

      [5] 陽(yáng)憲惠.工業(yè)數(shù)據(jù)通訊與控制網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2003.

      猜你喜歡
      數(shù)據(jù)通訊機(jī)架通訊
      《茶葉通訊》簡(jiǎn)介
      茶葉通訊(2022年2期)2022-11-15 08:53:56
      《茶葉通訊》簡(jiǎn)介
      茶葉通訊(2022年3期)2022-11-11 08:43:50
      通訊報(bào)道
      機(jī)器視覺(jué)系統(tǒng)與PLC的數(shù)據(jù)通訊
      別忽略它的存在!“意大利新一代架皇”BAS Accordeon(雅歌頓)XL4 2.0發(fā)燒機(jī)架
      通訊簡(jiǎn)史
      熱軋拉矯機(jī)機(jī)架加工討論
      基于C#的船舶電力推進(jìn)監(jiān)控系統(tǒng)的數(shù)據(jù)通訊設(shè)計(jì)
      智能電能表數(shù)據(jù)通訊安全性分析
      雙機(jī)架平整機(jī)板形控制算法及其應(yīng)用
      上海金屬(2013年6期)2013-12-20 07:58:02
      江阴市| 武汉市| 股票| 宣城市| 曲周县| 山丹县| 湘潭县| 高邮市| 长汀县| 高要市| 巩义市| 惠来县| 河源市| 扶沟县| 河津市| 东阿县| 漯河市| 泗洪县| 沭阳县| 高陵县| 永平县| 南宫市| 道孚县| 萍乡市| 专栏| 玉环县| 永寿县| 奉新县| 茌平县| 镇原县| 巴马| 南丰县| 江达县| 扎兰屯市| 郑州市| 阳泉市| 丹棱县| 晋城| 浮山县| 江源县| 云安县|