<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > OPC在小型倉(cāng)庫(kù)監(jiān)控系統(tǒng)上的應(yīng)用

          OPC在小型倉(cāng)庫(kù)監(jiān)控系統(tǒng)上的應(yīng)用

          作者: 時(shí)間:2011-05-23 來(lái)源:網(wǎng)絡(luò) 收藏

          5.2 程序設(shè)計(jì)
          用 VB編寫(xiě)了 OP C客戶(hù)端應(yīng)用程序,實(shí)現(xiàn)了上位管理軟件通過(guò)服務(wù)器可直接對(duì)s7-200控制器進(jìn)行各種操作。以貨物入庫(kù)操作為例說(shuō)明其實(shí)現(xiàn)過(guò)程,部分程序代碼如下:
          (1) 在公共窗口中聲明相關(guān)變量
          Di m My OP Cs e r v e r As 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 Gr 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) 在客戶(hù)端軟件載人 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)刷新

          本文引用地址:http://www.ex-cimer.com/article/187511.htm


          (3) 在客戶(hù)端軟件載人人庫(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ù)寫(xiě)入 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‘ 寫(xiě)入入庫(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é) 語(yǔ)

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


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();