サンプルプログラムの場所 : (GP-Pro EXのDVD-ROM内)\WinGP\SDK\Pro-SDK\DotNet\EasySmpl
Imports ProEasyDotNet
' ProEasyオブジェクトをインポートします。
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows フォームデザイナで生成されたコード"
Public Sub New()
MyBase.New()
' この呼び出しはWindows フォームデザイナで必要です。
InitializeComponent()
' ProEasy 初期化.。InitializeComponent()呼び出しの後に初期化を追加します。
Dim iResult As Integer = ProEasy.EasyInit() ' WinGP SDK を最初に一度だけ初期化します。
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
End If
End Sub
' Form は、コンポーネント一覧に後処理を実行するためにdispose をオーバーライドします。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
~中略(以下のWindows フォームデザイナで生成されたコードは省略します)~
#End Region
Private Sub ReadBit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadBit.Click
End Sub
Private Sub Read16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Read16.Click
Try
' 読み込みデータ.
Dim nDataAry(1) As Short
' 読み込み.
Dim iResult As Integer = ProEasy.ReadDevice16("#WinGP", "Buf_16", nDataAry, 1)
' ここではGP-Pro EXで設定した"Buf_16"(USR201)というシンボルを使用しています。
' デバイスアドレスを直接指定することもできます。
' 38.5.2.2 デバイスアドレスを直接指定する方法
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Me.Buf_16.Text = CStr(nDataAry(0))
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Read32_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Read32.Click
Try
' 読み込みデータ.
Dim nDataAry(1) As Integer
' 読み込み.
Dim iResult As Integer = ProEasy.ReadDevice32("#WinGP", "Buf_32", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Me.Buf_32.Text = CInt(nDataAry(0))
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ReadBCD16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadBCD16.Click
Try
' 読み込みデータ.
Dim nDataAry(1) As Short
' 読み込み.
Dim iResult As Integer = ProEasy.ReadDeviceBCD16("#WinGP", "Buf_BCD16", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Me.Buf_BCD16.Text = CShort(nDataAry(0))
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ReadBCD32_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadBCD32.Click
Try
' 読み込みデータ.
Dim nDataAry(1) As Integer
' 読み込み.
Dim iResult As Integer = ProEasy.ReadDeviceBCD32("#WinGP", "Buf_BCD32", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Me.Buf_BCD32.Text = CInt(nDataAry(0))
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ReadFloat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadFloat.Click
Try
' 読み込みデータ.
Dim nDataAry(1) As Single
' 読み込み.
Dim iResult As Integer = ProEasy.ReadDeviceFloat("#WinGP", "Buf_Float", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Me.Buf_Float.Text = CSng(nDataAry(0))
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ReadDouble_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadDouble.Click
Try
' 読み込みデータ.
Dim nDataAry(1) As Double
' 読み込み.
Dim iResult As Integer = ProEasy.ReadDeviceDouble("#WinGP", "Buf_Double", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Me.Buf_Double.Text = CDbl(nDataAry(0))
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ReadStr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadStr.Click
Try
' 読み込みデータ.
Dim nDataAry As String
' 読み込み.
Dim iResult As Integer = ProEasy.ReadDeviceStr("#WinGP", "Buf_Str", nDataAry, 10)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Me.Buf_Str.Text = nDataAry
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub ReadVariant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadVariant.Click
End Sub
Private Sub ReadSymbol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ReadSymbol.Click
End Sub
Private Sub WriteBit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
WriteBit.Click
Try
' 書き込みデータ.
Dim nDataAry(1) As Short
nDataAry(0) = CShort(Val(Me.WBuf_Bit.Text))
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDeviceBit("#WinGP", "Buf_16", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Write16_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Write16.Click
Try
' 書き込みデータ.
Dim nDataAry(1) As Short
nDataAry(0) = CShort(Val(Me.WBuf_16.Text))
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDevice16("#WinGP", "Buf_16", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub Write32_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Write32.Click
Try
' 書き込みデータ.
Dim nDataAry(1) As Integer
nDataAry(0) = CInt(Val(Me.WBuf_32.Text))
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDevice32("#WinGP", "Buf_32", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub WriteBCD16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
WriteBCD16.Click
Try
' 書き込みデータ.
Dim nDataAry(1) As Short
nDataAry(0) = CShort(Val("&h" + Me.WBuf_BCD16.Text))
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDevice16("#WinGP", "Buf_BCD16", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub WriteBCD32_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
WriteBCD32.Click
Try
' 書き込みデータ.
Dim nDataAry(1) As Integer
nDataAry(0) = CInt(Val("&h" + Me.WBuf_BCD16.Text))
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDeviceBCD32("#WinGP", "Buf_BCD32", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub WriteFloat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
WriteFloat.Click
Try
' 書き込みデータ.
Dim nDataAry(1) As Single
nDataAry(0) = CSng(Val(Me.WBuf_Float.Text))
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDeviceFloat("#WinGP", "Buf_Float", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub WriteDouble_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
WriteDouble.Click
Try
' 書き込みデータ.
Dim nDataAry(1) As Double
nDataAry(0) = CDbl(Val(Me.WBuf_Double.Text))
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDeviceDouble("#WinGP", "Buf_Double", nDataAry, 1)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub WriteString_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
WriteString.Click
Try
' 書き込みデータ.
Dim nDataAry As String
nDataAry = Me.WBuf_Str.Text
' 書き込み.
Dim iResult As Integer = ProEasy.WriteDeviceStr("#WinGP", "Buf_Str", nDataAry, 10)
If iResult Then
Dim sErrMsg As String
ProEasy.EasyLoadErrorMessageEx(iResult, sErrMsg)
MsgBox(sErrMsg)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub WriteVariant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles WriteVariant.Click
' VB.NET ではVariant型が廃止されObject型を使うようになります。
' それに伴いWriteDeviceVariant()はWriteDeviceEasyObject() に変更されました。
End Sub
Private Sub WriteSymbol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
WriteSymbol.Click
' WriteSymbol系はWriteSymbolVariant() しか見当たらない.
End Sub
End Class