參考價: | 面議 |
- 產(chǎn)品型號
- 品牌
- 經(jīng)銷商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):283更新時間:2017-11-20 13:39:17
西門子6ES7512-1SK00-0AB0性能參數(shù) 西門子6ES7512-1SK00-0AB0性能參數(shù)
6ES7512-1SK00-0AB0
***SPARE PART*** SIMATIC DP, CPU 1512SP F-1 PN FOR ET 200SP, CENTRAL PROCESSING UNIT WITH WORKING MEMORY 300 KB FOR PROGRAM AND 1 MB FOR DATA, 1. INTERFACE, PROFINET IRT WITH 3 PORT SWITCH, 48 NS BIT-PERFORMANCE, SIMATIC MEMORY CARD NECESSARY, BUSADAPTER NECESSARY FOR PORT 1 AND 2
公司名稱:上海朔川電氣設(shè)備有限公司
聯(lián) 系 人:吉夢琪
:
地址:上海市金山區(qū)涇波路129號
信譽(yù)*,客戶*是公司成立之初所確立的宗旨,在公司的嚴(yán)格要求和員工們不折不扣地貫徹執(zhí)行下發(fā)展延續(xù)至今。“假一罰十”一直是我公司的主動承諾。
承諾一:1、保證全新*
承諾二:2、保證安全準(zhǔn)時發(fā)貨
承諾三:3、保證售后服務(wù)質(zhì)量
流程一:1、客戶確認(rèn)所需采購產(chǎn)品型號
流程二:2、我方會根據(jù)詢價單型號查詢價格以及交貨期,擬一份詳細(xì)正規(guī)報價單
流程三:3,客戶收到報價單并確認(rèn)型號無誤后訂購產(chǎn)品
流程四:4、報價單負(fù)責(zé)人根據(jù)客戶提供型號以及數(shù)量擬份銷售合同
流程五:5、客戶收到合同查閱同意后蓋章回傳并按照合同銷售額匯款到公司開戶行
流程六:6、我公司財務(wù)查到款后,業(yè)務(wù)員安排發(fā)貨并通知客戶跟蹤運單
您隨口的一問多少錢,我就立馬放下筷子趕緊回話。
您隨口的一句有沒有現(xiàn)貨,我就立馬進(jìn)去系統(tǒng)拼命地找。
您隨口問了問能優(yōu)惠不?我就到處想辦法。
您很隨便,我卻很當(dāng)真;您不知道我的回答,只為得到您的滿意..……
只因為我和您不止是客戶的關(guān)系,而是把您當(dāng)我的朋友,在全力以赴做到我能做到的
您的選擇您的支持是我zui大的動力! ————致我親愛的客戶(好朋友)
產(chǎn)品簡述:質(zhì)保一年,一年內(nèi)因產(chǎn)品質(zhì)量問題免費更新產(chǎn)品不收取任何費用
哪里有賣 要多少錢 哪里有 哪里能買到 要在哪里買 在哪里有賣的 價格,參數(shù),型號,哪家便宜,比較便宜,哪里有,銷售,訂貨號,多少錢?哪家價格好? 廠家,性能,優(yōu)點,包裝,用途,售后服務(wù)!哪里有賣 代理商 總代理商
應(yīng)用
在加工行業(yè)中,經(jīng)常能發(fā)現(xiàn)危險的工序。這些危險可能來自需要加工的物料或者過程本身。如果對危險處理不當(dāng),可能會導(dǎo)致致命事故。在處理危險工序時,人員、機(jī)器和環(huán)境的安全性是zui重要的,但是使系統(tǒng)在確保安全性的同時不通過假跳閘影響生產(chǎn)過程也很重要。
為了實現(xiàn)這種安全性與故障容忍度相結(jié)合,就需要可靠的安全儀表系統(tǒng)(SIS),它可以在必要時讓系統(tǒng)進(jìn)入安全狀態(tài),而仍然符合加工行業(yè)的高可用性要求。
針對過程自動化的集成安全性為加工行業(yè)中的故障安全和故障容忍應(yīng)用提供了豐富的產(chǎn)品。
產(chǎn)品和特點
Enlarge
在過程控制系統(tǒng)中結(jié)合基本的過程控制系統(tǒng)和安全儀表系統(tǒng),SIMATIC PCS 7
集成控制和安全性
針對過程自動化的 SIMATIC Safety Integrated 可以為加工業(yè)提供全面的安全保護(hù)、容錯能力和高可用性的產(chǎn)品。所有的系統(tǒng)組件都根據(jù) IEC 61508 zui高到 SIL 3 標(biāo)準(zhǔn)通過了 TÜV 認(rèn)證,符合過程應(yīng)用的zui高安全等級。西門子的安全儀表系統(tǒng)包括了安全控制器、安全總線系統(tǒng)和 I/O 裝置,以及安全儀表,如壓力測量儀表等。Safety Integrated 可以用于為加工和制造業(yè)實現(xiàn)靈活、模塊式的集成解決方案。針對過程自動化的 Safety Integrated 可以提供把安全儀表系統(tǒng)集成到過程控制系統(tǒng)中*方式:基本過程控制系統(tǒng)(BPCS)和安全儀表系統(tǒng)基于共享硬件。Safety Integrated 的模塊結(jié)構(gòu)和靈活性允許單獨定義集成的等級。基本過程控制功能可以在一個控制器上執(zhí)行(自動化系統(tǒng))或者多個控制器上執(zhí)行
Enlarge
安全儀表系統(tǒng)在過程控制系統(tǒng)上的集成等級
使用通訊標(biāo)準(zhǔn),如 PROFIBUS 或以太網(wǎng)標(biāo)準(zhǔn),可以方便的把 Safety Integrated 系統(tǒng)集成到各種開放式的過程控制系統(tǒng)中。
與 SIMATIC PCS 7 相配合您可以發(fā)揮 Safety Integrated 的全部潛能:
一個針對過程控制和過程安全應(yīng)用的工程組態(tài)系統(tǒng)
SIMATIC PCS 7 過程控制系統(tǒng)和過程安全性的公共控制器平臺。
實現(xiàn) DCS 和 SIS 之間的直接無縫通訊
集成了針對基本過程控制和 safety-related 自動化的數(shù)據(jù)管理,包括過程可視化和診斷,避免了 DPCS 和 SIS 之間的復(fù)雜數(shù)據(jù)處理。
把安全相關(guān)的診斷功能自動化的集成在操作員界面上,并帶有時間戳
把安全相關(guān)硬件集成到 SIMATIC PCS 7 Asset Management,用于診斷和預(yù)防性維護(hù)
Enlarge
標(biāo)準(zhǔn)和安全相關(guān)數(shù)據(jù)通過同一根使用 PROFIsafe 的總線傳輸。
Safety Integrated 現(xiàn)場總線技術(shù):PROFIBUS 和 PROFIsafe
PROFIBUS 是 SIMATIC PCS 7 和 SIMATIC Safety Integrated 公共的通訊平臺。標(biāo)準(zhǔn)的 PROFIBUS 與 PROFIsafe 規(guī)范相結(jié)合可以用于自動化系統(tǒng)的 CPU 與 安全相關(guān)的過程 I/O 之間的安全相關(guān)通訊。
PROFIsafe 通過附加信息擴(kuò)展了報文,通過這些信息,PROFIsafe 通訊伙伴可以檢測并補(bǔ)償傳輸錯誤,如延遲、順序不正確、重發(fā)、丟失、故障處理或者數(shù)據(jù)失真。
PROFIsafe 是用于 PROFIBUS DP/PA 和 PROFINET 的經(jīng)過 IEC 61508 認(rèn)證的規(guī)范。由于滿足 EN 954-1 標(biāo)準(zhǔn)的 SIL 3 (安全集成級)和 Category 4,PROFIsafe 可以滿足加工和制造業(yè)zui高的安全要求。它可以在一根電纜上同時實現(xiàn)標(biāo)準(zhǔn)通訊和安全相關(guān)通訊。
Enlarge
Safety Matrix(安全矩陣):為發(fā)生的事件(原因)精確的分配預(yù)定義的影響(結(jié)果)。
SIMATIC Safety Matrix
SIMATIC Safety Matrix 是用于過程自動化的強(qiáng)大的因果工具,可以確實更快速、方便的組態(tài)安全應(yīng)用?;诰媒?jīng)驗證的因果矩陣原理,它*的適用于具體狀態(tài)需要具體的安全響應(yīng)的過程。在工廠的風(fēng)險分析方面,設(shè)計工程師可以精確的為過程中發(fā)生的事件(原因)分配預(yù)定義的反應(yīng)(結(jié)果)。不需要專門的編程技術(shù);設(shè)計工程師可以把注意力*集中到工廠的安全性要求上。
Enlarge
SIMATIC PCS 7 操作員站上的 Safety Matrix 的查看程序
SIMATIC Safety Matrix 還可以在運行過程中提供幫助:運行在 SIMATIC PCS 7 操作員站上的 SIMATIC Safety Matrix 的查看程序可以在運行期間為安全應(yīng)用提供簡單、直觀的操作和監(jiān)視功能。信號狀態(tài)在線顯示在因果矩陣(Cause & Effect Matrix)中。
Overview
- 用于故障安全SIMATIC S7系統(tǒng)的數(shù)字量輸入
- 對于連接:
- 開關(guān)和 2 線制接近開關(guān)
- NAMUR傳感器和機(jī)械觸點以及危險區(qū)域信號
- 具有安全集成功能,用于安全運行
- 用于故障安全操作
- 集中式:帶有 S7-31xF-2 DP
- ET200M 分布式:帶 SIMATIC IM 151-7 F-CPU、S7-31xF-2 DP、S7-416F-2 和 S7-400F/FH
- 在標(biāo)準(zhǔn)操作中,可以像 S7-300 模塊一樣使用
Area of application
故障安全型數(shù)字量輸入模塊適用于連接:
- 開關(guān)以及2線制接近開關(guān)(BERO)
- NAMUR傳感器和機(jī)械觸點以及危險區(qū)域信號
該模塊作為集中式與SIMATIC S7-31xF-2DP一起使用,并可在ET200M分布式I/O站中與 SIMATIC IM 151-7 F-CPU,S7-31xF-2 DP、S7-416F-2 和 S7-400F/FH 一起使用。它們也可以使用在非安全的標(biāo)準(zhǔn)模式下,并可像標(biāo)準(zhǔn)S7-300模塊進(jìn)行響應(yīng)。
Design
故障安全型數(shù)字量輸入模塊具有以下機(jī)械特點:
- 設(shè)計緊湊:
堅固的塑料機(jī)殼里包括:- 綠色LED指示輸入信號狀態(tài)
- 綠色 LED 指示安全模式
- 紅色 LED 顯示組出錯
- 通過前蓋保護(hù)的前連接器的插槽
- 前蓋上的標(biāo)簽區(qū)
- 安裝方便:
安裝方法與ET 200M的其它 I/O 模塊相同 - 通過前連接器進(jìn)行用戶友好接線
注意:
在危險區(qū)域運行 6ES7 326-1RF00-0AB0 故障安全數(shù)字量輸入模塊時需要電纜 6ES7 393-4AA10-0AA0。
Functions
故障安全型數(shù)字量輸入模塊把從過程發(fā)送來的外部數(shù)字信號電平轉(zhuǎn)換成SIMATIC S7 CPU內(nèi)部信號電平。
安全功能所需的故障安全操作集成在模塊中。
Technical Specifications
訂貨號 | 6ES7326-1RF01-0AB0 | 6ES7326-1BK02-0AB0 | |
---|---|---|---|
| SM326,8DE,DC24V,故障安全型模塊 | SM326,F(xiàn)-DI,24 X DC24V,故障安全型模塊 | |
一般信息 |
|
| |
產(chǎn)品型號標(biāo)識 | F-DI 8x24VDC Namur |
| |
電源電壓 |
|
| |
額定值 (DC) |
| 24 V | |
輸入電流 |
|
| |
從負(fù)載電壓 L+(空載),zui大值 | 160 mA | 450 mA | |
從背板總線 5 VDC,zui大值 | 90 mA | 100 mA | |
編碼器電源 |
|
| |
輸出點數(shù) | 8 | 4;浮地 | |
輸出電壓類型 | 8.2 VDC |
| |
輸出電流 |
|
| |
|
| 400 mA | |
功耗 |
|
| |
功耗,典型值 |
| 10 W | |
數(shù)字量輸入 |
|
| |
數(shù)字量輸入點數(shù) | 8 | 24 | |
可同時控制的輸入點數(shù) |
|
| |
所有安裝位置 |
|
| |
| 8 | 24 | |
| 8 | 24;(24 V 時)或 18(28.8 V 時) | |
輸入電壓 |
|
| |
| DC | DC | |
|
| 24 V | |
|
| -30 ~ +5 V | |
|
| +11 ~ +30 V | |
輸入電流 |
|
| |
| 0.35 ~ 1.2 mA | 2 mA | |
| 2.1 ~ 7 mA | 10 mA | |
輸入延時(額定輸入電壓時) |
|
| |
標(biāo)準(zhǔn)輸入時 |
|
| |
|
| 3.4 ms | |
|
| 3.4 ms | |
對于 NAMUR 輸入 |
|
| |
| 1.2 ~ 3 ms |
| |
| 1.2 ~ 3 ms |
| |
電纜長度 |
|
| |
| 200 m | 200 m | |
| 100 m | 100 m | |
編碼器 |
|
| |
可連接的編碼器 |
|
| |
|
| √;如果禁用了短路測試 | |
|
| 2 mA | |
中斷/診斷/狀態(tài)信息 |
|
| |
報警 |
|
| |
| √;可參數(shù)設(shè)置 | √ | |
診斷消息 |
|
| |
|
| √ | |
Ex(i) 特性曲線 |
|
| |
用于 Ex(i) 保護(hù)的模塊 | √ |
| |
輸入電路的zui大值(每個通道) |
|
| |
| 3 µF |
| |
| 13.9 mA |
| |
| 80 mH |
| |
| 33.1 mW |
| |
| 10 V |
| |
| 60 V DC/30 V AC |
| |
| 60 °C | 60 °C | |
浮地 |
|
| |
浮地數(shù)字量輸入 |
|
| |
| √ | √ | |
|
| 12 | |
| √ | √ | |
| √ |
| |
隔離 |
|
| |
絕緣測試方式 |
| 500 V DC/350 V AC | |
標(biāo)準(zhǔn),認(rèn)證 |
|
| |
安全模式下可實現(xiàn)的zui高安全等級 |
|
| |
|
| AK 6 | |
|
| Cat.4 | |
| SIL 2(單通道),SIL 3(雙通道) | SIL 3 | |
用于危險區(qū)域 |
|
| |
| 99 ATEX 2671 X |
| |
連接方式 |
|
| |
所需前連接器 | 1x 40 針 | 40 針 | |
外形尺寸 |
|
| |
寬 | 80 mm | 80 mm | |
高 | 125 mm | 125 mm | |
深 | 120 mm | 120 mm | |
重量 |
|
| |
重量,約 | 482 g | 442 g |
直流斬波器的工作原理(一)
斬波器是一種直流到直流的變換裝置,它將電壓恒定的直流電變?yōu)殡妷嚎烧{(diào)的直流電亦稱直流變換器,zui早用于電車、地鐵、蓄電池供電的機(jī)動車輛等的直流牽引電氣傳動。
1 斬波器的工作原理
斬波器是在直流電源與負(fù)載之間接一個直流開關(guān),以控制電路的接通與斷開,將恒定的直流“斬”成斷續(xù)(離散)的方波經(jīng)濾波后供給負(fù)載,其基本結(jié)構(gòu)和運行原理示于圖4.23。圖 (a)中.?dāng)夭ㄩ_關(guān)s用虛線框內(nèi)的一個晶閘管代表。在t on期間內(nèi),斬波開關(guān)導(dǎo)通,負(fù)載與電源端接通;在t off期間內(nèi),斬波開關(guān)關(guān)斷.負(fù)載電流i 0經(jīng)過續(xù)流二極管vD流通,負(fù)載端被短接,e 0=0
VC++6.0環(huán)境下的OPC通信設(shè)計及其在控制系統(tǒng)中的應(yīng)用
1 引言
隨著計算機(jī)技術(shù)和控制技術(shù)的不斷發(fā)展,現(xiàn)代工業(yè)過程控制系統(tǒng)逐漸發(fā)展成為現(xiàn)場設(shè)備管理,過程管理和商業(yè)管理三個層次組成的系統(tǒng),然而它們之間卻存在相互通信的問題,其主要問題是不同的計算機(jī)系統(tǒng)(DCS,MIS等)的接口不統(tǒng)一、不標(biāo)準(zhǔn),過程控制系統(tǒng)和信息系統(tǒng)各有技術(shù)接口以及API(應(yīng)用程序接口)。盡管可以編寫定制的驅(qū)動程序和接口程序,但因不同類型硬件及軟件包都需相互通信,使得驅(qū)動程序的種類迅速地增長,并且連接程序開發(fā)沒有一個統(tǒng)一、開放的標(biāo)準(zhǔn),不同程序間易相互沖突。這種情況不僅增加了用戶的負(fù)擔(dān),而且在實際上并不能真正解決不同系統(tǒng)的互操作性[1~2]。出于對上述問題的考慮,1996年8月,一個由自動化領(lǐng)域的公司組成的工作組在Microsoft公司幫助下提出了一個基于微軟OLE,COM,DCOM,XML,Internet及Net技術(shù)的開放的、靈活的、即插即用的工業(yè)標(biāo)準(zhǔn)OPC[3]。
2 OPC技術(shù)簡介
2.1 OPC背景
OPC(OLE for Process Control)是基于Microsoft公司的Distributed internet Application(DNA)構(gòu)架和Component Object Model(COM)技術(shù),根據(jù)易擴(kuò)展性而設(shè)計的。OPC規(guī)范定義了一個工業(yè)標(biāo)準(zhǔn)接口,該標(biāo)準(zhǔn)使得COM技術(shù)適用與過程控制和制造自動化等應(yīng)用領(lǐng)域。OLE原意即對象鏈接與嵌入,而現(xiàn)在的OLE包含了許多新的特征,如統(tǒng)一數(shù)據(jù)傳輸、結(jié)構(gòu)化存儲和自動化,已經(jīng)成為獨立于計算機(jī)語言、操作系統(tǒng)甚至硬件平臺的一種規(guī)范。
2.2 OPC接口結(jié)構(gòu)
OPC由兩套接口組成:客戶端和服務(wù)器程序員使用的OPC自定義接口(OPC COM Custom Interfaces);支持用商業(yè)應(yīng)用開發(fā)的客戶程序的OPC自動化接口(OPC OLE Automation Interfaces)。COM接口效率高,通過該接口,客戶能夠發(fā)揮OPC服務(wù)器的性能,采用C++語言的客戶一般采用COM接口方案;自動化接口使解釋性語言和宏訪問OPC服務(wù)器成為可能,采用VB語言的客戶一般采用自動化接口。自動化接口簡化客戶應(yīng)用程序的實現(xiàn),但運行時需要進(jìn)行類型檢查,犧牲了程序的運行速度。OPC自定義接口是服務(wù)器必須提供的,而自動化接口則不一定提供。典型的OPC體系結(jié)構(gòu)如圖1所示:
圖1 典型的OPC體系結(jié)構(gòu)圖
2.3 OPC界面關(guān)系
OPC技術(shù)是實現(xiàn)控制系統(tǒng)現(xiàn)場設(shè)備與過程管理級進(jìn)行信息交互,實現(xiàn)控制系統(tǒng)開放性的關(guān)鍵技術(shù)。OPC以O(shè)LE/COM機(jī)制作為應(yīng)用程序級的通信標(biāo)準(zhǔn),采用Client/ Server模式,把開發(fā)訪問接口的任務(wù)放在硬件生產(chǎn)廠商或第三方廠家。以Server的形式提供給Client,并規(guī)定了一系列的接口標(biāo)準(zhǔn),由Client負(fù)責(zé)創(chuàng)建Server的對象及訪問Server支持的接口,從而把硬件生產(chǎn)廠商與軟件開發(fā)人員有效的分離開來。在這種情況下,硬件制造商、軟件供應(yīng)商以及用戶都可得到*方便[3~4]。
2.4 OPC特點
OPC技術(shù)基于Microsoft公司組件對象模型COM(Component Object Modelcom)技術(shù),是為工業(yè)標(biāo)準(zhǔn)定義的特殊COM接口, OPC繼承了COM技術(shù),具有以下特點:
(1) OPC不是一種計算機(jī)語言。它與運行的機(jī)器(只要互相連接), 機(jī)器的操作系統(tǒng)(只要支持COM)以及軟件開發(fā)的語言無關(guān),而是任意兩個軟件組件之間可以相互通信的二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn)。
(2) OPC服務(wù)器是根據(jù)COM客戶的要求提供OPC SERVER的可執(zhí)行程序,作為Windows上可執(zhí)行的文件發(fā)布。
(3) COM組件可以以二進(jìn)制發(fā)布給用戶。
3 示例:基于OPC規(guī)范的連續(xù)碳酸化分解優(yōu)化控制系統(tǒng)設(shè)計
連續(xù)碳酸化分解過程(以下簡稱碳分過程)是燒結(jié)法氧化鋁生產(chǎn)過程的一個承前啟后的環(huán)節(jié),碳分過程優(yōu)化控制系統(tǒng)以專家優(yōu)化計算機(jī)EOC、實時監(jiān)控計算機(jī)RMC、現(xiàn)場可編程控制器PLC形成兩級控制結(jié)構(gòu)。專家優(yōu)化機(jī)與實時監(jiān)控機(jī)通過以太網(wǎng)連接,實現(xiàn)檢測數(shù)據(jù)和操作信息的實時交換;現(xiàn)場可編程控制器通過DH+與實時監(jiān)控機(jī)相連;而PLC通過輸入模塊(A/D、DI)實時采集碳分生產(chǎn)過程的檢測信息,又通過輸出模塊(D/A、D/O)自動調(diào)節(jié)進(jìn)料量、CO2通氣量的電動閥門,達(dá)到穩(wěn)定優(yōu)化控制的目的,總體結(jié)構(gòu)如圖2所示:
圖2 碳分過程優(yōu)化控制系統(tǒng)總體結(jié)構(gòu)示意圖
3.1 連續(xù)碳酸化分解系統(tǒng)結(jié)構(gòu)簡介
優(yōu)化控制軟件與現(xiàn)場控制器的數(shù)據(jù)通信流程如圖3所示。監(jiān)控機(jī)通過羅克韋爾公司提供的通信軟件Rslink直接與現(xiàn)場控制器的A/D模塊進(jìn)行數(shù)據(jù)交換;優(yōu)化機(jī)與監(jiān)控機(jī)通過以太網(wǎng)相連,兩者都安裝了組態(tài)軟件Rsview,優(yōu)化機(jī)通過組態(tài)軟件Rsview的OPC規(guī)范向監(jiān)控機(jī)讀寫數(shù)據(jù),實時監(jiān)控軟件同樣利用OPC規(guī)范向優(yōu)化機(jī)的Rsview讀寫數(shù)據(jù),zui終實現(xiàn)實時監(jiān)控軟件對現(xiàn)場參數(shù)的讀取,同時可以調(diào)節(jié)CO2、進(jìn)料量以及提料風(fēng)等電動閥門的開度,實現(xiàn)過程參數(shù)調(diào)節(jié)。
圖3 優(yōu)化軟件與現(xiàn)場可編程邏輯控制器數(shù)據(jù)通信示意圖
3.2 實時監(jiān)控機(jī)設(shè)置
設(shè)置監(jiān)控機(jī)作為OPC服務(wù)器:打開Rsview工程,首先設(shè)置節(jié)點類型。在編輯模式下點擊“系統(tǒng)”→“節(jié)點”;節(jié)點設(shè)置時將數(shù)據(jù)源設(shè)置成“直接驅(qū)動”的方式,節(jié)點名為Rsview的項目工程名,如本項目中Rsiew工程名為“tf.rsv”;其它為缺省項[5]。
然后設(shè)置允許數(shù)據(jù)讀取命令:在“編輯模式”下選擇“系統(tǒng)”選項,雙擊“系統(tǒng)”選項,雙擊“命令行”選項,選擇系統(tǒng)命令,彈出圖4所示對話框。拉動圖4右邊滑動條,找到“RTDataWriteEnbable”命令,如圖5所示。點擊“下一步”按鈕。選擇“寧靜-不顯示對話框(Q)”選項,再單擊“完成(F)”命令,完成參數(shù)設(shè)置。
圖4 命令行選擇對話框
圖5 命令行選擇對話框
3.3 專家優(yōu)化機(jī)設(shè)置
設(shè)置優(yōu)化機(jī)作為OPC客戶端:打開Rsview工程,在編輯模式下點擊“系統(tǒng)”→“節(jié)點”;節(jié)點設(shè)置時將數(shù)據(jù)源設(shè)置成“遠(yuǎn)程”的方式;節(jié)點名為Rsview項目工程名,服務(wù)器名為RSI.RSView32OPCTagServer, 服務(wù)計算機(jī)名或地址填服務(wù)器的網(wǎng)絡(luò)名,如在連續(xù)碳酸化分解系統(tǒng)中服務(wù)計算機(jī)名或地址為“USER”, 其它為缺省項[5]。
3.4 客戶端應(yīng)用程序的實現(xiàn)
在Visual C++環(huán)境中實現(xiàn)OPC客戶應(yīng)用程序,首先必須從OPC基金會站下載OPC頭文件("opcda_i.c"、"opcda.h" 、"opccomn_i.c"、"opccomn.h"),并在Visual C++工程的“Tool”→“Options”→“Directories”加載頭文件。然后再進(jìn)行登陸COM、連接服務(wù)器、數(shù)據(jù)讀寫等操作。在實際開發(fā)中,本文創(chuàng)建一個OPC通信類COPCComm,在需要通信的地方定義COPCComm類對象,然后進(jìn)行相應(yīng)的讀寫操作,其實現(xiàn)流程如圖6所示:
圖6 基于OPC規(guī)范的客戶端應(yīng)用程序的實現(xiàn)流程
下面詳細(xì)介紹通信類COPCComm的創(chuàng)建過程,并給出關(guān)鍵源代碼:
3.4.1 創(chuàng)建OPCComm.h
*步:在OPCComm.h中預(yù)定義_WIN32_DCOM,
#Ifndef _WIN32_DCOM
#define _WIN32_DCOM
#Endif
包含如下頭文件:"opcda_i.c"、"opcda.h"、 "opccomn_i.c"、"opccomn.h"
第二步:申明Iunknown、IOPCServer、IOPCItemMgt、IOPCSyncIO等關(guān)鍵變量為公共變量(public):
IUnknown *pUnknown;
IOPCServer *pServer;
IOPCItemMgt *pOPCItemMgt;
IOPCSyncIO *pOPCSync;
HRESULT *pErrors;
3.4.2創(chuàng)建OPCComm.cpp
*步:在構(gòu)造函數(shù)COPCComm::COPCComm()中登錄COM。
函數(shù)CoInitislize()可以完成此功能。從函數(shù)CoGetMalloc()得到一個指向COM內(nèi)存管理接口的指針。
HRESULT rl;
rl =CoInitialize(NULL);
rl =CoGetMalloc(MEMCTX_TASK,&g_pIMalloc);
第二步:添加函數(shù)HRESULT COPCComm::ConnectToServer(LPOLESTR ProgID, BOOL IsRemote, IUnknown **ppUnknown),并在函數(shù)中實現(xiàn)兩個功能:
(1) 將ProgID變換CLSID,每COM服務(wù)器有一個字符串類型的ProgID,通過它可以得到*CLISID。用CLSIDFromProgID()函數(shù)可以實現(xiàn)該轉(zhuǎn)換。
CLSID OPCCLSID;
HRESULT hRet=CLSIDFromProgID(ProgID,&OPCCLSID);
//如本系統(tǒng)中ProgID的值是“RSI.RSView 32OPCTagServer”。
(2) 建立與OPC服務(wù)器的連接,CoCreateInstance()函數(shù)創(chuàng)建一個OPC Sever類實例,其CLSID值設(shè)定如下:
hRet=CoCreateInstance(OPCCLSID,NULL,CLSCTX_LOCAL_SERVER,IID_IUnknown,(void **)ppUnknown);
return hRet;
該段程序的結(jié)果是得到一個指向服務(wù)器對象Iunkown接口的指針變量ppUnknown。
第三步:添加函數(shù)int COPCComm::Initial Communication(),并在函數(shù)中實現(xiàn)如下幾步:
(1) 請求其他接口指針:
從Iunkown接口,通過QueryInterface()方法得到一個指向服務(wù)器對象IOPCSever接口的指針變量pServer:
hRet=pUnknown->QueryInterface(IID_IOPCServer,(void **)&pServer);
// 得到一個指向服務(wù)器對象IOPCSVerser接口的指針(變量pServer)。
(2) 創(chuàng)建OPC組,
用IOPCSever接口方法AddGroup()實現(xiàn):
hRet=pServer->AddGroup(L"",TRUE,500,1235,&lTimeBias,&fTemp,0,&hOPCServerGroup, &dwActualRate,IID_IUnknown,&pUnknown);
// 創(chuàng)建一個有指向名稱和屬性的組。在返回的參數(shù)中,有一個指向所需要的進(jìn)程組對象IOPCItemMgt接口的指針(變量pUnknown )。
(3) 添加項:用IOPCItemMgt接口的AddItems()方法添加具有特殊屬性的數(shù)量的項:
hRet=pOPCItemMgt->AddItems(ItemNumber,ItemArray,(OPCITEMRESULT**)&pItemResult,(HRESULT **)&pErrors);
(4) 用OPC項執(zhí)行所需的操作,本系統(tǒng)采用同步通信,就需要指向IOPCSyncIO接口指針。
hRet=pUnknown->QueryInterface(IID_IOPCSyncIO,(void **)&pOPCSync);
第四步:添加COPCComm::ReadFromRsview(int AIItemNumber, float fData[]),實現(xiàn)讀取數(shù)據(jù)。
HRESULT hRet;
hRet=pOPCSync->Read(OPC_DS_CACHE, AIItemNumber, hServerAI, &pItemValue, &pErrors);
// OPC項的數(shù)據(jù)被送到客戶程序的IadviseSink接口。
for(int i=0;i<AIItemNumber;i++)
fData[i]=V_R4(&pItemValue[i].vDataValue);
其中,AIItemNumber為一次讀入數(shù)據(jù)的總個數(shù),pItemValue為服務(wù)器保存數(shù)據(jù)的數(shù)組,fData為客戶端讀取數(shù)據(jù)的數(shù)組。
第五步:添加COPCComm::WriteRsview(CString strSend, int iMark),實現(xiàn)數(shù)據(jù)寫入。
COleVariant WriteValue;
HRESULT hRet;
WriteValue = strSend;// strSend為待寫的數(shù)據(jù)
WriteValue.ChangeType(VT_R4);
hRet=pOPCSync->Write(1, &hServerAO[iMark], WriteValue, &pErrors);
//寫一個值,iMark表示執(zhí)行器標(biāo)號,可由用戶自己定義。
第六步:在析構(gòu)函數(shù)~COPCComm()中銷毀對象,釋放內(nèi)存,在程序停止運行之前,必須刪除已創(chuàng)建的OPC對象并釋放內(nèi)存。
pOPCSync->Release();
pOPCItemMgt->Release();
pServer->Release();
pUnknown->Release();
創(chuàng)建完通訊類后,則可以在需要通信的地方,調(diào)用相應(yīng)的函數(shù)(方法)即可。