1 前 言
隨著計算機技術的飛速發(fā)展, PC機已越來越多地應用于自動化立體倉庫控制系統(tǒng)中,作為上位機實時地進行集中監(jiān)控,完成可視化人機操作界面、圖形顯示、數(shù)據(jù)庫、通訊及聯(lián)網(wǎng)等功能。而下位機 PLC(可編程邏輯控制器) 則循環(huán)地讀入設備信號, 并進行邏輯判斷操作,輸出控制信號, 控制設備執(zhí)行。因此, 在自動化控制系統(tǒng)中,實現(xiàn)PLC和PC機之間的通信是非常重要的 。本文設計了一個三巷道自動化立體倉庫, 現(xiàn)對該倉庫的系統(tǒng)組成、監(jiān)控管理系統(tǒng)軟件以及上位機與 PLC的通信問題進行較詳細的介紹 。
2 系統(tǒng)構成及 OP C技術
2.1 系統(tǒng) 組成
系統(tǒng)的下位機由 3個 S7 — 200 (CPU226) 和 1個TP070觸控屏以及多臺直流調(diào)速器等組成,上位機是 l臺安裝有 WindowsXP、 S7—200 PC Access、 WinCC6. OSP2和VB
等軟件的普通 P C機。上位機作為主站, 下位的 3個PLC都是從站并且站地址不同,上位機利用 RS232 PPI 智能電纜和下位機 3個 s7-200通訊。
2.2 OPC技 術
OPC是一個基于COM技術的接口標準,提高了工業(yè)自動化軟件與硬件,以及軟件之間的互操作業(yè)。OPC采用客戶/眼務器結構, 使得多個 OPC客戶程序可與一個廠商提供的OP C服務器連接,并通過OPC服務器, 從數(shù)據(jù)源存取數(shù)據(jù)。
正是由于 OP C標準化的接口能夠顯著節(jié)省昂貴的、用于人力和時間的投資,再加上使用經(jīng)濟型的PPI電纜連接、下位機,使得整個系統(tǒng)在保證功能的前提下變得十分經(jīng)濟實用.
3 S7-200 PC Access與 S7-200的通訊
3.1 S7-200 PC Access簡介
s7-200 PC Access是s7-200 PLC的一種OPC服務器,是唯一專供小型 PLC使用的低成本OPC工具,可與任何標準 OPC客戶機配合使用,也可和Micro/WIN同時聯(lián)機使用。s7-200 PC Access 使用 PPI 、 以太網(wǎng)或調(diào)制解調(diào)器與 PLC通訊,可同時從 8個 PLC讀取數(shù)據(jù), 并且服務器讀取的項目數(shù)是沒有限制的 。
3.2 使 用 S7 ~ 200 PC Access 構建 OPC服務器
(1) 連接 PLC: 在樹形圖 中添加 一個新 PLC連接。 然后配置通訊協(xié)議 : 選擇 PG/PC接 口將接口配置為PC/PPI電纜(PPI),并為 s7-200 PC Access 選擇 網(wǎng)絡地址和波特率, 在新建PLC的“ PLC屬性 PPI 通訊” 屬性對話框 中, 輸入 P L C名稱和站地址( 須與實際的設置一致)。
(2) 建立 OPC項 目: 右擊 PLC圖標, 選擇“ 新” 一“ 項目”,然后在項目屬性中填寫“ 地址” 和“ 數(shù)據(jù)類型”,地址和類型與 s7-200 PLC用于監(jiān)控的變量相對應 ,例如 :“ MBO ” 和“ byte ”。
把所有想要監(jiān)控的變量添加后便在 s7-200 PC。Access 下建立了 s7-200的 OPC Server。
(3) 通信測試: S7-200 PC Access 軟件本身帶有測試客戶機,可以方便地了解客戶機與眼務器的通訊情況.將建立完的項 目拖放至測試客戶饑窗口內(nèi),單擊 S7-200 PC Access 工具條中的“ 狀態(tài)” 按鈕,在窗口中就可顯示出項目連接狀態(tài)和項目值。
4 使用 Wi n CC開發(fā) OP C客戶端監(jiān)控系統(tǒng)
4.1 WinCC客戶端與 S7-200 PC Access 服務器的通訊連接由于 s7-200 PC Access是 s7-200的 OPC服務器,因此可將 WinCC配置為 OPC客戶端通過 OPC接口訪問s7-200 PC Access 服務器。只要將 OPC服務器中的項目添加到 WinCC的變量管理器中便可在組態(tài)中使用了,具體方法如下:
(1) 在 Wincc變量管理器中添加一個新 的驅(qū)動程序,新的驅(qū)動程序選擇 OPC.CHN。在 OPC Groups 通道標簽上右鍵,選擇“ 系統(tǒng)參數(shù)” 進入 OP C條目管理對話框。
(2) 在對話框中點擊“ Local” 條目前的加號, 此時會顯示出本地計算機上的所有 OPC服務器列表, 選擇“s7 200.OPC Server” 后點擊“瀏覽服務器” 按鈕,便可看到在 s7-200 PC Access中添加的所有OPC項 ,選擇所需的項添加到 WinCC的變量管理器 中。
(3) 建立 以上 OPC通道下的邏輯連接后命名為OPC Server 。
4.2 WinCC客戶端監(jiān)視系統(tǒng)
WINCC提供了非常豐富而友好的人機交互界面,通過對OPC通道中變量的讀寫完成了對立體庫設備狀態(tài)的監(jiān)控。監(jiān)控站 以交互形式進行各類畫面的調(diào)用與切換,完成過程控制功能,而且在動態(tài)畫面中顯示設備各部分的主要參數(shù)及工作狀態(tài),如堆垛機運行參數(shù)、貨叉位置、出入庫控制,以及故障診斷等。
5 使用 VB開發(fā) OPC客戶端庫存管理軟件系統(tǒng)
由于在WinCC中不便于開發(fā)庫存管理軟件,而VB恰好為開發(fā)庫存管理軟件提供了一個良好的平臺, 在VB中容易實現(xiàn)與數(shù)據(jù)庫的連接,完成如記錄出入庫物品的詳細情況、出入庫時間、歷史查詢、報表打印等功能,以s7-200 PC Access為 OPC服務器使用VB編寫OPC客戶端庫存管理軟件也可完成對立體庫的各項操作。
5.1 安裝 OPC自動化接 口服務
若要用 VB開發(fā) OPC應用程序, 必須安裝 OPC自動化接口服務,在 VB環(huán)境中, 按“T程” 的子菜單“引用…”后,選擇其中的“Siemens OPC DAAutomation2.0” 項,這樣才能使用自動化接口。
5.2 程序設計
用 VB編寫了 OP C客戶端應用程序,實現(xiàn)了上位管理軟件通過OPC服務器可直接對s7-200控制器進行各種操作。以貨物入庫操作為例說明其實現(xiàn)過程,部分程序代碼如下:
(1) 在公共窗口中聲明相關變量
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 窗體時創(chuàng)建與 OPC服務器的連接
’獲取一個OP C服務器實例
Set My server =New OPC Server
’與s7-200 PC Access的OP C服務器連接
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 ’ 默認組對象為激活狀態(tài)
’ 加入OP C G r o u p對象“ 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ù)據(jù)刷新時間
My G r o u p . I s A c t i v e = T r u e ’ 設置該 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 ’ 設置該 G r o u p數(shù)據(jù)為后臺刷新
(3) 在客戶端軟件載人人庫子窗體時創(chuàng)建 O P C項目
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對象
Set My ltems =My Group . OPC itemS
’設置所要監(jiān)測的數(shù)據(jù)對應于 s 7 — 2 0 0中的標簽
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)用相應方法在數(shù)據(jù)項組中加入以 定義的數(shù)據(jù)項
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復位
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 人入庫位置的行值
V a 1 u e s ( 7 ) = c o l u mn‘ 寫入入庫位置的列值
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 結 語
本文解決了上位機與下位 s7-200 PLC的通訊問題,并且數(shù)據(jù)傳輸穩(wěn)定,實時性好,組態(tài)方便靈活,調(diào)試簡單由于OPC協(xié)議是通用協(xié)議,得到很多公司的支持,通用性好,并且可以通過局域網(wǎng)甚至是 Internet 實現(xiàn)多臺上位機參與控管理,極大地擴展了自動監(jiān)控系統(tǒng)的使用范圍。