HOME
OPCサーバー
製品情報
ダウンロード
サポート
OPCクライアント-VB.NETサンプル
OPCサーバを用いた最も簡単なサンプルプログラムを紹介します。
.NET系の開発言語からOPCサーバーにアクセスするには、COMと.NETの変換を行うラッパーが必要になります。
このサンプルは、OPCオートメーションラッパー(OPCDAAUTO.DLL)を使用していますので、VB6.0とほぼ同じコードになります。
宣言
Option Explicit Public OpcServer As IOPCServerDisp Public OpcItemMgt As IOPCItemMgtDisp Public OpcItem As IOPCItemDisp Private Const ItemMax = 8 Private Const OPC_DS_CACHE = 1 Private Const OPC_DS_DEVICE = 2 Dim ClientHandles(ItemMax) As Long Dim ServerHandles As Variant Dim bConnect As Boolean
OPCサーバーへの接続、グループ登録、アイテム登録
Private Sub CONNECT_Click() On Error GoTo err_hd Dim i% If bConnect Then CONNECT.Caption = "Connect" Set OpcServer = Nothing Set OpcItemMgt = Nothing Set OpcItem = Nothing bConnect = False READ_Button.Enabled = False WRITE_Button.Enabled = False For i% = ItemName.lbound To ItemName.ubound ItemName(i%).Enabled = True Next i% Exit Sub End If '*** OPCサーバー接続 *** Set OpcServer = CreateObject(Form1.ServerName.Text) If TypeName(OpcServer) = TypeName(Nothing) Then Return '*** OPCグループ登録 *** Dim UpdateRate As Long Dim ServerHdl As Long UpdateRate = UpdateRateSet.Text Set OpcItemMgt = OpcServer.AddGroup("Group One", True, UpdateRate, 22, 1, 0, ServerHdl, UpdateRate) If TypeName(OpcItemMgt) = TypeName(Nothing) Then Return '*** アイテム登録 *** Dim ItemIDs(ItemMax) As String Dim AccessPaths(ItemMax) As String Dim Active(ItemMax) As Boolean Dim Errors As Variant Dim ItemObjects As Variant Dim DataType(ItemMax) As Variant For i% = 0 To ItemMax - 1 Active(i%) = True ClientHandles(i%) = 22 + i% AccessPaths(i%) = "" ItemIDs(i%) = Form1.ItemName(i%).Text DataType(i%) = 2 Next i% OpcItemMgt.AddItems ItemMax, ItemIDs, Active,ClientHandles, ServerHandles, Errors, ItemObjects, AccessPaths, DataType Set OpcItem = ItemObjects(0) bConnect = True CONNECT.Caption = "DisConnect" READ_Button.Enabled = True WRITE_Button.Enabled = True For i% = ItemName.lbound To ItemName.ubound ItemName(i%).Enabled = False Next i% Exit Sub err_hd: MsgBox "Error connecting" For i% = 0 To ItemMax - 1 Form1.Value(i%) = "Error" Next i% End Sub
OPCサーバーからキャッシュ読出
Private Sub READ_Button_Click() Dim ReadValue As Variant Dim pQuality As Variant Dim pTimestamp As Variant Dim Errors As Variant Dim i% Dim io As IOPCSyncIODisp Set io = OpcItemMgt '*** 読出実行 *** io.OPCRead OPC_DS_CACHE, ItemMax, ServerHandles, ReadValue, pQuality, pTimestamp, Errors For i% = 0 To ItemMax - 1 Form1.Value(i%) = ReadValue(i%) pTimestamp(i%) = DateAdd("h", 9, pTimestamp(i%)) Form1.Time(i%) = pTimestamp(i%) Form1.Quality(i%) = pQuality(i%) Next i% End Sub
OPCサーバーへ同期書込
Private Sub WRITE_Button_Click() Dim WriteValue(ItemMax) As Variant Dim io As IOPCSyncIODisp Dim Errors As Variant Dim i% Set io = OpcItemMgt For i% = 0 To ItemMax - 1 WriteValue(i%) = Form1.Value(i%) Next i% '*** 書込実行 *** io.OPCWrite ItemMax, ServerHandles, WriteValue, Errors End Sub
OPCサーバー
トップページ
製品紹介(動画)
特長
一般仕様
PLC対応機種
通信速度性能
リリースノート
SCADAガイド
価格表
サンプル
ダウンロード
DAサーバー
トップページ
特長
一般仕様
オーバービュー
リリースノート
価格表
サンプル
ダウンロード
製品情報
OPCサーバー
DAサーバー
DxpLOGGER
RemoteLOGGER
SuperLOGGER
AZMiX
Cogent DataHub
ダウンロード
オンラインカタログ
販売情報
注文方法
支払方法
価格表
見積依頼書
注文書
非該当証明依頼書
価格問い合わせ
カタログ請求
取扱店・販売店
オンラインショップ
オンラインショップへ
初めての方へ
ショッピングガイド
利用規約
特定商取引法表示
ソフトウェア使用許諾書
困ったときは
サポートダイヤル
オンライン問合せ
ユーザー登録
サイトマップ
会社情報
takebishi.co.jpへ