
Private Sub Sample1_Click() '******************************************************************************* ' RS232C SAMPLE PROGRAM NO.1 ' セットコマンドの使用法 ' ' コマンドリストの<使用可能条件>を満足している状態において<コマンド>の書式通り ' に送信します。 '******************************************************************************* deli$ = Chr$(13) & Chr$(10) 'デリミタ定義 MSComm1.PortOpen = True 'ポートオープン MSComm1.Output = ":TDIV 1.E-3" & deli$ 'TIME/DIV 1msに設定 MSComm1.Output = ":SHOT 30" & deli$ '記録長を30DIVに設定 MSComm1.Output = ":TGSO OR" & deli$ 'トリガソース OR MSComm1.Output = ":TGKD CH1,LEVE" & deli$ 'レベルトリガ CH1 MSComm1.Output = ":PRTG 5" & deli$ 'プリトリガ 5% MSComm1.Output = ":TGLV CH1,0" & deli$ 'トリガレベル 0V MSComm1.Output = ":TGSL CH1,UP" & deli$ 'トリガスロープ UP MSComm1.Output = ":TGKD CH2,OFF" & deli$ 'CH2 OFF MSComm1.Output = ":START" & deli$ '実行処理 MSComm1.PortOpen = False 'クローズ End Sub
Private Sub Sample2_Click() '******************************************************************************* ' RS232C SAMPLE PROGRAM NO.2 ' クエリの使用法 ' ' ・コマンドリストの<使用可能条件>を満足している状態において<コマンド>の書式通 ' りに送信して、出力準備させます。 ' ・<クエリ>によって出力準備されるデータは、コマンドリストの<応答>記載されている ' 形式となります。 '******************************************************************************* deli$ = Chr$(13) & Chr$(10) 'デリミタ定義 MSComm1.PortOpen = True 'オープン MSComm1.Output = ":TIME?" & deli$ '現在時刻を問い合わせる Do tm$ = tm$ & MSComm1.Input '問い合わせ結果を変数にセット Loop Until InStr(1, tm$, Chr$(10)) Text1.Text = "TIME = " & tm$ MSComm1.PortOpen = False 'クローズ End Sub
Private Sub Sample3_Click()
'*******************************************************************************
' RS232C SAMPLE PROGRAM NO.3
' ストレージデータの出力法
'
' ・:MAXP?クエリによって、ストレージデータが入出力可能であるか調べます。
' ストレージされていない状態では、MAXP?による出力値が0となり、データの出力はできません。
' ・出力したいデータのチャネルとポイントを:POINTコマンドによって指定します。
' データを入出力すると自動的にポイントが移動していきます。連続したデータを取込
' む場合には、一度指定するだけで済みます。
' ・ASCII形式で取込む場合は、:ADATA?クエリ、電圧値形式の場合は:VDATA?クエリを使用します。
' まとめて出力できるデータ数は:ADATA?,VDATA?ともに1〜最大記録長×100個ですがバッファの
' 容量により、個数制限されます。
' ・より多くのデータをまとめて出力させるほど、処理全体の時間は短くなります。
' ・記録長10DIVでストレージされているデータのCH1のデータ1000個を取り込みます。
'*******************************************************************************
deli$ = Chr$(13) & Chr$(10) 'デリミタ定義
Dim d(1000) As Double
MSComm1.PortOpen = True 'オープン
MSComm1.Output = ":SHOT 10" & deli$ '記録長10DIVに設定
MSComm1.Output = ":TGMD SING" & deli$ 'トリガをSINGLEに設定
MSComm1.Output = ":START;*OPC;:STOP;*OPC?" & deli$ 'スタート処理
Do
o$ = o$ & MSComm1.Input
Loop Until InStr(1, o$, Chr$(10))
MSComm1.Output = ":MAXP?" & deli$ 'ストレージデータ数を読み出す
Do
mx$ = mx$ & MSComm1.Input
Loop Until InStr(1, mx$, Chr$(10))
If (Val(mx$) = 0) Then
MSComm1.PortOpen = False
Exit Sub
End If
MSComm1.Output = ":POINT CH1,0" & deli$ '出力データをCH1、ポイント0に設定
For i = 1 To 1000
vd$ = ""
MSComm1.Output = ":VDATA? 1" & deli$
Do
vd$ = vd$ & MSComm1.Input
Loop Until InStr(1, vd$, Chr$(10))
d(i) = Val(vd$)
Next
For i = 1 To 1000 'データ表示
Text1.SelText = Format(d(i), "Scientific") & deli$
Next
MSComm1.PortOpen = False 'クローズ
End Sub
Private Sub Sample4_Click() '******************************************************************************* ' RS232C SAMPLE PROGRAM NO.4 ' ストレージデータの入力法 ' ' ・:PREPAREによって、ストレージメモリ準備をします。 ' ・入力するデータのチャネルとポイントを:POINTコマンドによって指定します。 ' 指定後、:ADATAコマンドによって入力します。 '******************************************************************************* deli$ = Chr$(13) & Chr$(10) 'デリミタ定義 MSComm1.PortOpen = True 'オープン MSComm1.Output = ":SHOT 10" & deli$ '記録長10DIVに設定 MSComm1.Output = ":PREPARE;*OPC?" & deli$ 'ストレージメモリの準備 Do o$ = MSComm1.Input Loop Until InStr(1, o$, Chr$(10)) MSComm1.Output = ":POINT CH1,0" & deli$ '入力データをCH1、ポイント0に設定 For i = 0 To 1000 'SIN波のセット MSComm1.Output = ":ADATA " & Str$(Int(1600 * Sin(3.14 * i / 500))) & deli$ Next MSComm1.PortOpen = False 'クローズ End Sub
Private Sub Sample5_Click() '******************************************************************************* ' RS232C SAMPLE PROGRAM NO.5 ' ストレージされているデータをpcにSAVEする。 '******************************************************************************* deli$ = Chr$(13) & Chr$(10) 'デリミタ定義 na$ = "a:\sample.dat" 'Aドライブとファイル名を設定 MSComm1.PortOpen = True 'オープン MSComm1.Output = ":MAXP?" & deli$ 'ストレージされているデータ数を読み出す Do mx$ = mx$ & MSComm1.Input Loop Until InStr(1, mx$, Chr$(10)) If (Val(mx$) = 0) Then MSComm1.PortOpen = False Exit Sub End If Open na$ For Output As #1 MSComm1.Output = ":POINT CH1,0" & deli$ 'ストレージデータの出力ポイントを設定 Print #1, 10 For i = 0 To 10 MSComm1.Output = ":ADATA? 1" & deli$ 'ストレージデータを読み出す ad$ = "" Do ad$ = ad$ & MSComm1.Input Loop Until InStr(1, ad$, Chr$(10)) Print #1, Val(ad$) 'ファイルへ出力 Next Close #1 MSComm1.PortOpen = False 'クローズ End Sub
Private Sub Sample6_Click() '******************************************************************************* ' RS232C SAMPLE PROGRAM NO.6 ' SAMPLE PROGRAM NO.5で保存したファイルからデータを取出し、本体へセットする。 '******************************************************************************* deli$ = Chr$(13) & Chr$(10) 'デリミタ定義 na$ = "a:\sample.dat" 'Aドライブとファイル名を指定 MSComm1.PortOpen = True 'オープン MSComm1.Output = ":PREPARE;*OPC?" & deli$ 'ストレージデータの準備 Do o$ = MSComm1.Input Loop Until InStr(1, o$, Chr$(10)) Open na$ For Input As #1 MSComm1.Output = ":POINT CH1,0" & deli$ 'ストレージデータの入力ポイントを設定 Line Input #1, mx For i = 0 To mx Line Input #1, dt 'ファイルからデータを読み込む MSComm1.Output = ":ADATA " & Str$(dt) & deli$ 'ストレージメモリにデータを書込む Next Close #1 MSComm1.PortOpen = False 'クローズ End Sub
*8730,8731,MR8730,MR8731をHUBに繋げる場合は、ストレートケーブルをご使用下さい。
*8730,8731,MR8730,MR8731をパソコンと1対1で繋げる場合は、ストレートケーブル+クロス変換コネクタ
(または、クロスケーブル)をご使用下さい。
*8730,8731,MR8730,MR8731のIPアドレス等の設定は、8730,8731,MR8730,MR8731取説を参照して下さい
*例えば、ご使用のパソコンの、サブネットマスクが255.255.255.0であった場合、
8730,8731,MR8730,MR8731のサブネットマスクも255.255.255.0とし、IPアドレスの左から1,2,3桁までをパソコンの
IPアドレスと同じにし、4桁目のみを違う値にすると通信ができます。


以下のサンプルプログラムは、Visual Basicに付属のWinsock コントロールを用いて作成しました。
プログラムを実行するには、次のことをする必要があります。
(1)Visual Basic メニューの、プロジェクト−コンポーネントを開き、Winsock Control をチェック
してOKボタンを押して下さい。Winsock コントロールが登録されます。(ネットワークのアイコン)
(2)フォームに、Winsock コントロールを貼り付けて下さい。
(3)「IPアドレス」入力用のテキストボックスを、txtIPという名前で作成して下さい。
IPアドレスは、8730,8731,MR8730,MR8731の通信画面で設定してある値を入力します。
(4)「ポート番号」入力用のテキストボックスを、txtPortという名前で作成して下さい。
ポート番号は、8730,8731,MR8730,MR8731の通信画面で設定してある一番右のXにあたる桁を2にして入力します。
(5)「コマンド実行」用のボタンを、Command1という名前で作成して下さい。Command1_Click()関数に対応します。
(6)「接続」用のボタンを、Command2という名前で作成して下さい。Command2_Click()関数に対応します。
(7)「切断」用のボタンを、Command3という名前で作成して下さい。Command3_Click()関数に対応します。
(8)「Text1」結果出力用のテキストボックスを、Text1という名前で作成して下さい。
(9)「Text2」接続状態用のテキストボックスを、Text2という名前で作成して下さい。
(10)下記プログラムを入力して下さい。
(11)プログラムを実行して、「接続」ボタンを押すと、Command2_Click()に記述された処理が行われ、
Text2のボックスに「LAN接続完了」と表示されます。
「LAN接続待ち」と表示されたままでしたら、ケーブルの接続、IPアドレス、ポート番号等を確認して下さい。
(12)「コマンド実行」ボタンを押すと、Command1_Click()に記述された処理が行われます。
(13)最後に、「切断」ボタンを押すと、Command3_Click()に記述された処理が行われ、「LAN切断完了」
と表示されれば終わりです。

以下のサンプルプログラムで$の付く変数は、文字列型です。
[例1]セットコマンドの使用法
Dim MsgFlg As Integer
Dim MsgBuf As String
Private Sub Command1_Click()
'*******************************************************************************
' 10BASE-T(LAN) SAMPLE PROGRAM NO.1
' セットコマンドの使用法
'
' コマンドリストの<使用可能条件>を満足している状態において<コマンド>の書式通り
' に送信します。
'*******************************************************************************
deli$ = Chr$(13) & Chr$(10) 'デリミタ定義
SendMsg ":TDIV 1.0E-3" & deli$ 'TIME/DIV 1msに設定
SendMsg ":SHOT 30" & deli$ '記録長を10秒に設定
SendMsg ":TGSO OR" & deli$ 'トリガソース OR
SendMsg ":TGKD CH1,LEVE" & deli$ 'レベルトリガ CH1
SendMsg ":PRTG 5" & deli$ 'プリトリガ 5秒
SendMsg ":TGLV CH1,0" & deli$ 'トリガレベル 0V
SendMsg ":TGSL CH1,UP" & deli$ 'トリガスロープ UP
SendMsg ":TGKD CH2,OFF" & deli$ 'CH2 OFF
SendMsg ":START" & deli$ '実行処理
End Sub
Private Sub Command2_Click()
Winsock1.Protocol = sckTCPProtocol 'プロトコル
Winsock1.RemoteHost = txtIP.Text 'IPアドレス
Winsock1.RemotePort = Val(txtPort.Text) 'ポート番号
Winsock1.Connect 'ソケット接続
Do While (Winsock1.State <> sckConnected)
If Winsock1.State = sckConnecting Then Text2.Text = "LAN接続待ち"
DoEvents
Loop
If Winsock1.State = sckConnected Then Text2.Text = "LAN接続完了"
End Sub
Private Sub Command3_Click()
Winsock1.Close 'ソケット切断
Do While (Winsock1.State <> sckClosed)
If Winsock1.State = sckConnected Then Text2.Text = "LAN切断待ち"
DoEvents
Loop
If Winsock1.State = sckClosed Then Text2.Text = "LAN切断完了"
End Sub
Private Sub SendMsg(strMsg As String)
Winsock1.SendData strMsg 'メッセージ送信
End Sub
Private Sub GetMsg(strMsg As String)
MsgFlg = 0 '受信完了フラグ初期化
Winsock1.SendData strMsg 'メッセージ送信
Do While (MsgFlg = 0) '応答受信まで待つ
DoEvents
Loop
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData MsgBuf, vbString '応答受信
MsgFlg = 1 '受信完了フラグセット
End Sub
Dim MsgFlg As Integer
Dim MsgBuf As String
Private Sub Command1_Click()
'*******************************************************************************
' 10BASE-T(LAN) SAMPLE PROGRAM NO.2
' クエリの使用法
'
' ・コマンドリストの<使用可能条件>を満足している状態において<コマンド>の書式通
' りに送信して、出力準備させます。
' ・<クエリ>によって出力準備されるデータは、コマンドリストの<応答>記載されている
' 形式となります。
'*******************************************************************************
deli$ = Chr$(13) & Chr$(10) 'デリミタ定義
GetMsg ":TIME?" & deli$ '現在時刻を問い合わせる
tm$ = MsgBuf
Text1.Text = "TIME = " & tm$
End Sub
Private Sub Command2_Click()
Winsock1.Protocol = sckTCPProtocol 'プロトコル
Winsock1.RemoteHost = txtIP.Text 'IPアドレス
Winsock1.RemotePort = Val(txtPort.Text) 'ポート番号
Winsock1.Connect 'ソケット接続
Do While (Winsock1.State <> sckConnected)
If Winsock1.State = sckConnecting Then Text2.Text = "LAN接続待ち"
DoEvents
Loop
If Winsock1.State = sckConnected Then Text2.Text = "LAN接続完了"
End Sub
Private Sub Command3_Click()
Winsock1.Close 'ソケット切断
Do While (Winsock1.State <> sckClosed)
If Winsock1.State = sckConnected Then Text2.Text = "LAN切断待ち"
DoEvents
Loop
If Winsock1.State = sckClosed Then Text2.Text = "LAN切断完了"
End Sub
Private Sub SendMsg(strMsg As String)
Winsock1.SendData strMsg 'メッセージ送信
End Sub
Private Sub GetMsg(strMsg As String)
MsgFlg = 0 '受信完了フラグ初期化
Winsock1.SendData strMsg 'メッセージ送信
Do While (MsgFlg = 0) '応答受信まで待つ
DoEvents
Loop
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData MsgBuf, vbString '応答受信
MsgFlg = 1 '受信完了フラグセット
End Sub
Dim MsgFlg As Integer
Dim MsgBuf As String
Private Sub Command1_Click()
'*******************************************************************************
' 10BASE-T(LAN) SAMPLE PROGRAM NO.3
' ストレージデータの出力法
'
' ・:MAXP?クエリによって、ストレージデータが入出力可能であるか調べます。
' ストレージされていない状態では、MAXP?による出力値が0となり、データの出力はできません。
' ・出力したいデータのチャネルとポイントを:POINTコマンドによって指定します。
' データを入出力すると自動的にポイントが移動していきます。連続したデータを取込
' む場合には、一度指定するだけで済みます。
' ・ASCII形式で取込む場合は、:ADATA?クエリ、電圧値形式の場合は:VDATA?クエリを使用します。
' まとめて出力できるデータ数は:ADATA?,:VDATA?ともに1〜最大記録長×100個ですがバッファの
' 容量により、個数制限されます。
' ・より多くのデータをまとめて出力させるほど、処理全体の時間は短くなります。
' ・記録長10DIVでストレージされているデータのCH1のデータ1000個を取り込みます。
'*******************************************************************************
deli$ = Chr$(13) & Chr$(10) 'デリミタ定義
Dim d(1000) As Double
SendMsg ":SHOT 10" & deli$ '記録長10DIVに設定
SendMsg ":TGMD SING" & deli$ 'トリガをSINGLEに設定
GetMsg ":START;*OPC;:STOP;*OPC?" & deli$ 'スタート処理
'注記
'":START;*OPC;:STOP;*OPC?"とすることによって、
'指定記録長分の取り込み終了を待つことができます。
o$ = MsgBuf
GetMsg ":MAXP?" & deli$ 'ストレージデータ数を読み出す
mx$ = MsgBuf
If (Val(mx$) = 0) Then
Exit Sub
End If
SendMsg ":POINT CH1,0" & deli$ '出力データをCH1、ポイント0に設定
For i = 1 To 1000
vd$ = ""
GetMsg ":VDATA? 1" & deli$
vd$ = MsgBuf
d(i) = Val(vd$)
Next
For i = 1 To 1000 'データ表示
Text1.SelText = Format(d(i), "Scientific") & deli$
Next
End Sub
Private Sub Command2_Click()
Winsock1.Protocol = sckTCPProtocol 'プロトコル
Winsock1.RemoteHost = txtIP.Text 'IPアドレス
Winsock1.RemotePort = Val(txtPort.Text) 'ポート番号
Winsock1.Connect 'ソケット接続
Do While (Winsock1.State <> sckConnected)
If Winsock1.State = sckConnecting Then Text2.Text = "LAN接続待ち"
DoEvents
Loop
If Winsock1.State = sckConnected Then Text2.Text = "LAN接続完了"
End Sub
Private Sub Command3_Click()
Winsock1.Close 'ソケット切断
Do While (Winsock1.State <> sckClosed)
If Winsock1.State = sckConnected Then Text2.Text = "LAN切断待ち"
DoEvents
Loop
If Winsock1.State = sckClosed Then Text2.Text = "LAN切断完了"
End Sub
Private Sub SendMsg(strMsg As String)
Winsock1.SendData strMsg 'メッセージ送信
End Sub
Private Sub GetMsg(strMsg As String)
MsgFlg = 0 '受信完了フラグ初期化
Winsock1.SendData strMsg 'メッセージ送信
Do While (MsgFlg = 0) '応答受信まで待つ
DoEvents
Loop
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData MsgBuf, vbString '応答受信
MsgFlg = 1 '受信完了フラグセット
End Sub
Dim MsgFlg As Integer
Dim MsgBuf As String
Private Sub Command1_Click()
'*******************************************************************************
' 10BASE-T(LAN) SAMPLE PROGRAM NO.4
' ストレージデータの入力法
'
' ・:PREPAREによって、ストレージメモリ準備をします。
' ・入力するデータのチャネルとポイントを:POINTコマンドによって指定します。
' 指定後、:ADATAコマンドによって入力します。
'*******************************************************************************
deli$ = Chr$(13) & Chr$(10) 'デリミタ定義
Text1.Text = "コマンド実行中"
SendMsg ":SHOT 10" & deli$ '記録長10DIVに設定
GetMsg ":PREPARE;*OPC?" & deli$ 'ストレージメモリの準備
o$ = MsgBuf
SendMsg ":POINT CH1,0" & deli$ '入力データをCH1、ポイント0に設定
For i = 1 To 1000 'SIN波のセット
SendMsg ":ADATA " & Str$(Int(1600 * Sin(3.14 * i / 50))) & deli$
Next
SendMsg ":SCRN MAIN" & deli$ '波形の表示
GetMsg "*OPC?" & deli$ '表示の確認
Text1.Text = "コマンド終了"
End Sub
Private Sub Command2_Click()
Winsock1.Protocol = sckTCPProtocol 'プロトコル
Winsock1.RemoteHost = txtIP.Text 'IPアドレス
Winsock1.RemotePort = Val(txtPort.Text) 'ポート番号
Winsock1.Connect 'ソケット接続
Do While (Winsock1.State <> sckConnected)
If Winsock1.State = sckConnecting Then Text2.Text = "LAN接続待ち"
DoEvents
Loop
If Winsock1.State = sckConnected Then Text2.Text = "LAN接続完了"
End Sub
Private Sub Command3_Click()
Winsock1.Close 'ソケット切断
Do While (Winsock1.State <> sckClosed)
If Winsock1.State = sckConnected Then Text2.Text = "LAN切断待ち"
DoEvents
Loop
If Winsock1.State = sckClosed Then Text2.Text = "LAN切断完了"
End Sub
Private Sub SendMsg(strMsg As String)
Winsock1.SendData strMsg 'メッセージ送信
End Sub
Private Sub GetMsg(strMsg As String)
MsgFlg = 0 '受信完了フラグ初期化
Winsock1.SendData strMsg 'メッセージ送信
Do While (MsgFlg = 0) '応答受信まで待つ
DoEvents
Loop
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData MsgBuf, vbString '応答受信
MsgFlg = 1 '受信完了フラグセット
End Sub
Dim MsgFlg As Integer
Dim MsgBuf As String
Private Sub Command1_Click()
'*******************************************************************************
' 10BASE-T(LAN) SAMPLE PROGRAM NO.5
' ストレージされているデータをAドライブにSAVEする。
'*******************************************************************************
deli$ = Chr$(13) & Chr$(10) 'デリミタ定義
Text1.Text = "コマンド実行中"
na$ = "a:\sample.dat" 'Aドライブとファイル名を設定
GetMsg ":MAXP?" & deli$ 'ストレージされているデータ数を読み出す
mx$ = MsgBuf
If (Val(mx$) = 0) Then
Exit Sub
End If
Open na$ For Output As #1
SendMsg ":POINT CH1,0" & deli$ 'ストレージデータの出力ポイントを設定
Print #1, Val(mx$)
For i = 1 To Val(mx$)
GetMsg ":ADATA? 1" & deli$ 'ストレージデータを読み出す
ad$ = MsgBuf
Print #1, Val(ad$) 'ファイルへ出力
Next
Close #1
Text1.Text = "コマンド終了"
End Sub
Private Sub Command2_Click()
Winsock1.Protocol = sckTCPProtocol 'プロトコル
Winsock1.RemoteHost = txtIP.Text 'IPアドレス
Winsock1.RemotePort = Val(txtPort.Text) 'ポート番号
Winsock1.Connect 'ソケット接続
Do While (Winsock1.State <> sckConnected)
If Winsock1.State = sckConnecting Then Text2.Text = "LAN接続待ち"
DoEvents
Loop
If Winsock1.State = sckConnected Then Text2.Text = "LAN接続完了"
End Sub
Private Sub Command3_Click()
Winsock1.Close 'ソケット切断
Do While (Winsock1.State <> sckClosed)
If Winsock1.State = sckConnected Then Text2.Text = "LAN切断待ち"
DoEvents
Loop
If Winsock1.State = sckClosed Then Text2.Text = "LAN切断完了"
End Sub
Private Sub SendMsg(strMsg As String)
Winsock1.SendData strMsg 'メッセージ送信
End Sub
Private Sub GetMsg(strMsg As String)
MsgFlg = 0 '受信完了フラグ初期化
Winsock1.SendData strMsg 'メッセージ送信
Do While (MsgFlg = 0) '応答受信まで待つ
DoEvents
Loop
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData MsgBuf, vbString '応答受信
MsgFlg = 1 '受信完了フラグセット
End Sub
Dim MsgFlg As Integer
Dim MsgBuf As String
Private Sub Command1_Click()
'*******************************************************************************
' 10BASE-T(LAN) SAMPLE PROGRAM NO.6
' SAMPLE PROGRAM NO.5で保存したファイルからデータを取出し、本体へセットする。
'*******************************************************************************
deli$ = Chr$(13) & Chr$(10) 'デリミタ定義
Text1.Text = "コマンド実行中"
na$ = "a:\sample.dat" 'Aドライブとファイル名を指定
GetMsg ":PREPARE;*OPC?" & deli$ 'ストレージデータの準備
o$ = MsgBuf
Open na$ For Input As #1
SendMsg ":POINT CH1,0" & deli$ 'ストレージデータの入力ポイントを設定
Line Input #1, mx
For i = 1 To mx
Line Input #1, dt 'ファイルからデータを読み込む
SendMsg ":ADATA " & Str$(dt) & deli$ 'ストレージメモリにデータを書込む
Next
Close #1
SendMsg ":SCRN MAIN" & deli$ '波形の表示
GetMsg "*OPC?" & deli$ '表示の確認
Text1.Text = "コマンド終了"
End Sub
Private Sub Command2_Click()
Winsock1.Protocol = sckTCPProtocol 'プロトコル
Winsock1.RemoteHost = txtIP.Text 'IPアドレス
Winsock1.RemotePort = Val(txtPort.Text) 'ポート番号
Winsock1.Connect 'ソケット接続
Do While (Winsock1.State <> sckConnected)
If Winsock1.State = sckConnecting Then Text2.Text = "LAN接続待ち"
DoEvents
Loop
If Winsock1.State = sckConnected Then Text2.Text = "LAN接続完了"
End Sub
Private Sub Command3_Click()
Winsock1.Close 'ソケット切断
Do While (Winsock1.State <> sckClosed)
If Winsock1.State = sckConnected Then Text2.Text = "LAN切断待ち"
DoEvents
Loop
If Winsock1.State = sckClosed Then Text2.Text = "LAN切断完了"
End Sub
Private Sub SendMsg(strMsg As String)
Winsock1.SendData strMsg 'メッセージ送信
End Sub
Private Sub GetMsg(strMsg As String)
MsgFlg = 0 '受信完了フラグ初期化
Winsock1.SendData strMsg 'メッセージ送信
Do While (MsgFlg = 0) '応答受信まで待つ
DoEvents
Loop
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData MsgBuf, vbString '応答受信
MsgFlg = 1 '受信完了フラグセット
End Sub