《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > OPC在小型倉(cāng)庫(kù)監(jiān)控系統(tǒng)上的應(yīng)用
OPC在小型倉(cāng)庫(kù)監(jiān)控系統(tǒng)上的應(yīng)用
摘要: 介紹了利用S7-200PCAccess作為OPC服務(wù)器實(shí)現(xiàn)了S7-200PLC同時(shí)和以WinCC為OPC客戶端的監(jiān)控軟件,、以VB為客戶端的上位庫(kù)存管理軟件之間的通訊實(shí)現(xiàn)方法,。
Abstract:
Key words :

1   前 言 

    隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,, PC機(jī)已越來越多地應(yīng)用于自動(dòng)化立體倉(cāng)庫(kù)控制系統(tǒng)中,,作為上位機(jī)實(shí)時(shí)地進(jìn)行集中監(jiān)控,完成可視化人機(jī)操作界面,、圖形顯示,、數(shù)據(jù)庫(kù)、通訊及聯(lián)網(wǎng)等功能,。而下位機(jī) PLC(可編程邏輯控制器) 則循環(huán)地讀入設(shè)備信號(hào),, 并進(jìn)行邏輯判斷操作,輸出控制信號(hào),, 控制設(shè)備執(zhí)行。因此,, 在自動(dòng)化控制系統(tǒng)中,,實(shí)現(xiàn)PLC和PC機(jī)之間的通信是非常重要的 。本文設(shè)計(jì)了一個(gè)三巷道自動(dòng)化立體倉(cāng)庫(kù),, 現(xiàn)對(duì)該倉(cāng)庫(kù)的系統(tǒng)組成,、監(jiān)控管理系統(tǒng)軟件以及上位機(jī)與 PLC的通信問題進(jìn)行較詳細(xì)的介紹 。

 2   系統(tǒng)構(gòu)成及 OP C技術(shù)
2.1 系統(tǒng) 組成
    系統(tǒng)的下位機(jī)由 3個(gè) S7 — 200 (CPU226) 和 1個(gè)TP070觸控屏以及多臺(tái)直流調(diào)速器等組成,,上位機(jī)是 l臺(tái)安裝有 WindowsXP,、 S7—200  PC   Access、 WinCC6. OSP2和VB 
等軟件的普通 P C機(jī),。上位機(jī)作為主站,, 下位的 3個(gè)PLC都是從站并且站地址不同,上位機(jī)利用 RS232   PPI 智能電纜和下位機(jī) 3個(gè) s7-200通訊,。 
2.2 OPC技 術(shù)
    OPC是一個(gè)基于COM技術(shù)的接口標(biāo)準(zhǔn),,提高了工業(yè)自動(dòng)化軟件與硬件,以及軟件之間的互操作業(yè),。OPC采用客戶/眼務(wù)器結(jié)構(gòu),, 使得多個(gè) OPC客戶程序可與一個(gè)廠商提供的OP C服務(wù)器連接,并通過OPC服務(wù)器,, 從數(shù)據(jù)源存取數(shù)據(jù),。 
    正是由于 OP C標(biāo)準(zhǔn)化的接口能夠顯著節(jié)省昂貴的、用于人力和時(shí)間的投資,,再加上使用經(jīng)濟(jì)型的PPI電纜連接,、下位機(jī),使得整個(gè)系統(tǒng)在保證功能的前提下變得十分經(jīng)濟(jì)實(shí)用.

3   S7-200 PC Access與 S7-200的通訊
3.1 S7-200  PC Access簡(jiǎn)介
    s7-200 PC Access是s7-200 PLC的一種OPC服務(wù)器,,是唯一專供小型 PLC使用的低成本OPC工具,,可與任何標(biāo)準(zhǔn) OPC客戶機(jī)配合使用,也可和Micro/WIN同時(shí)聯(lián)機(jī)使用,。s7-200 PC Access 使用 PPI ,、 以太網(wǎng)或調(diào)制解調(diào)器與 PLC通訊,,可同時(shí)從 8個(gè) PLC讀取數(shù)據(jù), 并且服務(wù)器讀取的項(xiàng)目數(shù)是沒有限制的 ,。 
3.2 使 用 S7 ~ 200   PC   Access 構(gòu)建 OPC服務(wù)器
    (1) 連接 PLC: 在樹形圖 中添加 一個(gè)新 PLC連接,。 然后配置通訊協(xié)議 : 選擇 PG/PC接 口將接口配置為PC/PPI電纜(PPI),并為 s7-200  PC  Access 選擇 網(wǎng)絡(luò)地址和波特率,, 在新建PLC的“ PLC屬性 PPI 通訊” 屬性對(duì)話框 中,, 輸入 P L C名稱和站地址( 須與實(shí)際的設(shè)置一致)。 
    (2) 建立 OPC項(xiàng) 目: 右擊 PLC圖標(biāo),, 選擇“ 新” 一“ 項(xiàng)目”,,然后在項(xiàng)目屬性中填寫“ 地址” 和“ 數(shù)據(jù)類型”,地址和類型與 s7-200 PLC用于監(jiān)控的變量相對(duì)應(yīng) ,,例如 :“ MBO ” 和“ byte ”,。
把所有想要監(jiān)控的變量添加后便在 s7-200 PC。Access 下建立了 s7-200的 OPC Server,。 
    (3) 通信測(cè)試: S7-200  PC  Access 軟件本身帶有測(cè)試客戶機(jī),,可以方便地了解客戶機(jī)與眼務(wù)器的通訊情況.將建立完的項(xiàng) 目拖放至測(cè)試客戶饑窗口內(nèi),單擊 S7-200 PC Access 工具條中的“ 狀態(tài)” 按鈕,,在窗口中就可顯示出項(xiàng)目連接狀態(tài)和項(xiàng)目值,。 

4   使用 Wi n CC開發(fā) OP C客戶端監(jiān)控系統(tǒng)

4.1 WinCC客戶端與 S7-200 PC Access 服務(wù)器的通訊連接由于 s7-200 PC Access是 s7-200的 OPC服務(wù)器,因此可將 WinCC配置為 OPC客戶端通過 OPC接口訪問s7-200 PC Access 服務(wù)器,。只要將 OPC服務(wù)器中的項(xiàng)目添加到 WinCC的變量管理器中便可在組態(tài)中使用了,,具體方法如下: 
    (1) 在 Wincc變量管理器中添加一個(gè)新 的驅(qū)動(dòng)程序,新的驅(qū)動(dòng)程序選擇 OPC.CHN,。在 OPC Groups 通道標(biāo)簽上右鍵,,選擇“ 系統(tǒng)參數(shù)” 進(jìn)入 OP C條目管理對(duì)話框。 
    (2) 在對(duì)話框中點(diǎn)擊“ Local” 條目前的加號(hào),, 此時(shí)會(huì)顯示出本地計(jì)算機(jī)上的所有 OPC服務(wù)器列表,, 選擇“s7 200.OPC Server” 后點(diǎn)擊“瀏覽服務(wù)器” 按鈕,便可看到在 s7-200 PC Access中添加的所有OPC項(xiàng) ,,選擇所需的項(xiàng)添加到 WinCC的變量管理器 中,。 
    (3) 建立 以上 OPC通道下的邏輯連接后命名為OPC Server 。 
4.2 WinCC客戶端監(jiān)視系統(tǒng)
    WINCC提供了非常豐富而友好的人機(jī)交互界面,,通過對(duì)OPC通道中變量的讀寫完成了對(duì)立體庫(kù)設(shè)備狀態(tài)的監(jiān)控,。監(jiān)控站 以交互形式進(jìn)行各類畫面的調(diào)用與切換,完成過程控制功能,,而且在動(dòng)態(tài)畫面中顯示設(shè)備各部分的主要參數(shù)及工作狀態(tài),,如堆垛機(jī)運(yùn)行參數(shù)、貨叉位置,、出入庫(kù)控制,,以及故障診斷等,。


5   使用 VB開發(fā) OPC客戶端庫(kù)存管理軟件系統(tǒng)
    由于在WinCC中不便于開發(fā)庫(kù)存管理軟件,而VB恰好為開發(fā)庫(kù)存管理軟件提供了一個(gè)良好的平臺(tái),, 在VB中容易實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接,,完成如記錄出入庫(kù)物品的詳細(xì)情況、出入庫(kù)時(shí)間,、歷史查詢,、報(bào)表打印等功能,以s7-200  PC  Access為 OPC服務(wù)器使用VB編寫OPC客戶端庫(kù)存管理軟件也可完成對(duì)立體庫(kù)的各項(xiàng)操作,。 
5.1 安裝 OPC自動(dòng)化接 口服務(wù)
    若要用 VB開發(fā) OPC應(yīng)用程序,, 必須安裝 OPC自動(dòng)化接口服務(wù),在 VB環(huán)境中,, 按“T程” 的子菜單“引用…”后,,選擇其中的“Siemens  OPC  DAAutomation2.0” 項(xiàng),這樣才能使用自動(dòng)化接口,。 
5.2 程序設(shè)計(jì)
    用 VB編寫了 OP C客戶端應(yīng)用程序,實(shí)現(xiàn)了上位管理軟件通過OPC服務(wù)器可直接對(duì)s7-200控制器進(jìn)行各種操作,。以貨物入庫(kù)操作為例說明其實(shí)現(xiàn)過程,,部分程序代碼如下: 
    (1) 在公共窗口中聲明相關(guān)變量
    Di m  My OP Cs e r v e r   As   OPC Se r v e r 
    Di m  My g r o u p s   As   OP CGr o u ps 
    Di m  W i t h Ev e n t s   My Gr o u p   As   OPCGr o u p   ‘ 
    Di m  My i t e ms   As   OP Che ms 
    Di m  Mv I t e mS e r v e r Ha n dl e s ()As   Lo n g 
    (2) 在客戶端軟件載人 MDI 窗體時(shí)創(chuàng)建與 OPC服務(wù)器的連接
    ’獲取一個(gè)OP C服務(wù)器實(shí)例
    Set  My server =New  OPC Server 
    ’與s7-200 PC  Access的OP C服務(wù)器連接
    Call  Mv OPC server.Connect (“$7-200.OPC Server”) 
    Set   My groups =My server.OPC Groups 
    My g r o u p s . D e f a u l t Gmu p I s Ac t i v e : T r u e ’ 默認(rèn)組對(duì)象為激活狀態(tài)
     ’ 加入OP C   G r o u p對(duì)象“ Gr o u p   1 ” 
    S e t   My Gmu p :My g mu p s . Add ( “ Gr o upl ”) 
    My G r o u p . D e f a u l t G r o u p up d a t a R a t e = 5 0 0  設(shè)置數(shù)據(jù)刷新時(shí)間
    My G r o u p . I s A c t i v e = T r u e ’ 設(shè)置該 G r o u p為激活狀態(tài)
    My G r o u p . I s S u h s c r i b e d = T r u e ’ 設(shè)置該 G r o u p數(shù)據(jù)為后臺(tái)刷新 


    (3) 在客戶端軟件載人人庫(kù)子窗體時(shí)創(chuàng)建 O P C項(xiàng)目 
    Dim  i   As   L o n g 
    Dim  I t e mO b j   A s   O P C I t e m 
    Dim  he ml Ds ( 7)As   S t r i n g 
    Dim  I t e mCl i e n t Ha n d l e s ( 7)As   L o n g 
    ’加入 O P CI t e m對(duì)象
    Set   My ltems =My Group . OPC itemS 
    ’設(shè)置所要監(jiān)測(cè)的數(shù)據(jù)對(duì)應(yīng)于 s 7 — 2 0 0中的標(biāo)簽
    itemIDS (1) = “ 2, M1.5,, Bo o l ” 
    itemIDS (2) = “ 2. M2.1 . Bo o l ” 
    itemIDS (3) = “ 2,, M2 .2, Bo o I ” 
    itemIDS (4) =“ 2,, M2.4,, Bo o l ” 
    itemIDS (5) = “ 2, M2.6,, Bo o l ” 
    itemIDS (6) = “ 2,, MW0, Wo r d ” 
    itemIDS (7) = “ 2,, MW2. Wo r d ” 
    For i =1   To   7 
    ItemClientHandles (i) = i 
    Next 
    ’ 調(diào)用相應(yīng)方法在數(shù)據(jù)項(xiàng)組中加入以 定義的數(shù)據(jù)項(xiàng)
    Ca l l   My l t e ms . Ad dhe ms ( 2,,I t e ml Ds , 
    I t e mCl i e n t Ha n dl e s .Mv I t e mS e r v e r Ha n dI e s ,,Er r o r s) 
    ( 4 ) 同步數(shù)據(jù)寫入 P L C 
    Di m  r o w ,, c o l u mn   a s   L o n g 
    Di m  Va l u e s ( 7)As   Va r i a n t 
    Va l u e s ( 1 ) :1‘ 使 s 7 — 2 0 0中的變量 M1.5置位
    Va l u e s ( 2 ) = 0‘ 使 s 7 — 2 0 0中的變量 M2.1復(fù)位
    V a l u e s f 3 ) = 1‘ 使s 7 — 2 0 0中的變量 M2.2置位
    V a l u e s ( 4) = 1‘ 使s 7 — 2 0 0中的變量 M2.4囂位
    V a l u e s ( 5 ) = I‘ 使 S 7 — 2 0 0中的變量 M2.6置位
    v   ( 6 ) = r o w‘ 0 j 人入庫(kù)位置的行值
    V a 1 u e s ( 7 ) = c o l u mn‘ 寫入入庫(kù)位置的列值
    Ca l l My Gr o u 【   y n ( · w r i   r e ( 7, My l t e ms e r v e r Ha n ( 1 l e s ,, Va l u e s ,, E r r o r s ) 


6 結(jié) 語 

    本文解決了上位機(jī)與下位 s7-200 PLC的通訊問題,并且數(shù)據(jù)傳輸穩(wěn)定,,實(shí)時(shí)性好,,組態(tài)方便靈活,,調(diào)試簡(jiǎn)單由于OPC協(xié)議是通用協(xié)議,得到很多公司的支持,,通用性好,,并且可以通過局域網(wǎng)甚至是 Internet 實(shí)現(xiàn)多臺(tái)上位機(jī)參與控管理,極大地?cái)U(kuò)展了自動(dòng)監(jiān)控系統(tǒng)的使用范圍,。 
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。