<< Click to Display Table of Contents >> マニュアル > サーバ作成ガイド > インターフェース編 > IPLinkインターフェース > IPLinkクライアントライブラリ > 接続方法 |
概要
VisualBasic等の開発アプリケーションからIPLink接続を行うための入門的な手順について解説します。
ここで紹介する手順としては、大きく分けて以下の3ステップです。
タグ登録設定を行います。 |
|
OCXの設定等を行います。 |
|
VBアプリケーションからの接続を確認します。 |
|
VBアプリケーションから値の読み書きを行います。 |
|
VBアプリケーションでタグの値をリアルタイムに表示させます。 |
なお、サンプル及び詳細の説明は、VB.Net2010で行います。
なお、基本的な開発フローは以下の様な流れになります。
AddTag |
通信を行うタグの登録を宣言します。 タグの登録はオンライン後でも可能です。 |
|
NetWorkParame Online = True |
オンラインがTrueの間、サーバとの通信が行えます。
|
|
Update = True ValueChanged |
UpdateプロパティをTrueにすると、自動更新を開始します。 タグ値が変化した時にValueChangedイベントが発生します。 値変化による動的な処理の実装はこのイベントを利用します。 |
|
ReadVal WriteVal |
メソッドを利用したタグの読み書きを行います。
|
|
Update = False Online = False |
通信の終了処理はフォームを閉じると自動的に行われます。 従って、通常は終了処理を意識する必要はありません。
|
コンパイルは32bit(x86)/64bit(x64)どちらにも対応しています。 |
タグの設定
Panel Serverを起動して以下の手順に従ってタグの設定を行って下さい。ここでは、PLCの代わりに仮想デバイスを使用します。もし、PLCが手元にあれば、PLCのタグを設定しても構いません。
1.ユニットを追加します。
画面左側のツリーから「Driver」を右クリックしてメニューを表示し、「ユニット追加」を選択してください。
選択ダイアログが表示されるので、「メモリ」の「仮想通信」「仮想デバイス」を選択して、「OK」を押してください。
2.フォルダを追加します。
「U01」を右クリックしてメニューを表示し、「フォルダ追加」を選択します。
3.タグを追加します。
「F01」を右クリックしてメニューを表示し、「タグ追加」を選択します。 「T01」というタグが追加されます。
4.タグのプロパティを設定します。
リストから「T01」を右クリックしてメニューを表示し、「プロパティ」を選択します。「アドレス設定」タブから「04 - D データレジスタ」を選択し、「OK」を押してください。
以下は例として、D0000(ワードレジスタ)を数値タグとして設定しています。
インターフェースの設定
IPLinkインターフェースの設定を行います。
1.左側のツリーの「IPLink」を右クリックし「プロパティ」を選択します。
2.プロパティを設定します。
IPLinkサーバのIPアドレス及びポート番号を指定します。「インターフェースを有効にする」にチェックが入っていることを確認してください。
複数のネットワークカードが存在する場合など、PCに複数のIPアドレスがある場合を除き、IPアドレスを明記する必要は特にありません。アドレスの指定が無い場合、自動的にデフォルトIPアドレスが設定されます。また、ポート番号はシステム構成上使用が可能な任意の番号を指定してください。ここでは3000を指定します。
IPLinkサーバを同じPC内で複数起動させる場合には、各サーバがそれぞれ異なるポート番号となるように設定してください。 |
Visual Basicでクライアントアプリケーションの作成を行います。
1.Visual Basicを起動します。
2.ツールボックスで右クリックし、メニュー[アイテムの選択]を選択します。
3.「COMコンポーネント」の「Roboticsware IPLink Ver6.0」にチェックを付けて、「OK」をします。
4.コントロールをフォームに貼り付けます。
ツールバーから「IPLink」オブジェクトを選択し、フォームに貼り付けます。
5.プロパティを設定します。
IPLinkコントロールのプロパティに、以下の設定をおこないます。
NetworkParam : 「,3000,1000」
Online : 「True」
NetworkParamは「サーバIPアドレス,サーバポート番号,更新周期」の順にパラメータを設定します。IPアドレスに何も指定していない場合は、自動的に取得されたIPアドレスが使用されます。IPアドレスを指定する場合は固定値を設定してください。
OnlineをTRUEにすると、サーバと接続され通信可能な状態になります。
NetworkParamにて「サーバIPアドレス,サーバポート番号,更新周期」に続けて、「通信タイムアウト(秒),接続時タイムアウト(秒)」を設定できます。
例)「,3000,1000,10,10」
タイムアウトの設定のところで、「-1」を設定すると、OS依存でタイムアウト時間が決定されます。OS依存の場合10分以上待たされることもありますのでご注意ください。なにも設定しないとデフォルト値(通信タイムアウト:5、接続時タイムアウト:-1)になります。 |
IPLinkのコントロールはそのままコンパイルして実行すると画面上に表示されてしまいます。もし、非表示にしたい場合は、プロパティのVisibleをFalseに指定してください。
|
ここまでの設定で、IPLinkによる通信が正しく行われることを確認してみます。Visual Basicの開始ボタンを押して、プログラムを実行して下さい。「Number of Clients」には、現在接続されているクライアントの数が表示されます。この値が「1」になっている事で、接続が正しく行われていることが確認できます。
▪サーバ側 クライアント接続数を確認する
▪Visual Basic
実行ボタンを押して、アプリケーションを実行します。
※Visual Basicを開始する前にアプリケーションがオンライン(黄色ボタン)になっていることを確認して下さい。
「ReadVal」「WriteVal」メソッドを呼び出して、ボタンクリックによるタグの読み書きを行います。
1.コントロールを貼り付けます。
フォームに2つのボタンと2つのテキストボックスを貼り付けます。このボタンとテキストをタグの読み書きに使用します。
2.コードを記述します。
フォームのロード時、Readボタン押下時、Writeボタン押下時それぞれの処理を以下のように記述します。
Public Class Form1 '------------------------------------ ' Event - FormLoad '------------------------------------ Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load AxIPLink1.AddTag("U01.F01.T01", True) 'タグ登録 End Sub '------------------------------------ ' Read Button Click '------------------------------------ Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim vVal As Object = Nothing If Not AxIPLink1.ReadVal("U01.F01.T01", vVal, 1) Then TextBox1.Text = "Error!" Else TextBox1.Text = vVal End If End Sub '------------------------------------ ' Write Button Click '------------------------------------ Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click If Not AxIPLink1.WriteVal("U01.F01.T01", TextBox2.Text) Then TextBox2.Text = "Error!" End If End Sub End Class
3.プログラムを実行します。
Visual Basicの開始ボタンを押して、プログラムを開始して下さい。T01タグのランプが以下のように赤色に変わっていればタグへの接続が完了しています。タグの現在値は「現在値」の欄で確認できます。T01タグの値を更新してVisual Basic側の読み込みボタンを押し、値が取得できる事を確認してください。また、Visual Basicから値を更新して書き込みボタンを押し、T01タグに値が渡されることを確認してください。
「ValueChanged」イベントによるタグ値のリアルタイム表示を行います。リアルタイム表示とは、タグの変化に応じた画面の動的更新の事です。
1.コントロールを貼り付けます。
モニタ用のテキストを以下のように配置します。
2.IPLinkコントロールのプロパティの設定を行います。
CtlUpdateプロパティをTrueに設定してください
3.ValueChangedイベントの定義を行います。
コード入力画面からIPLinkコントロールを選択し、ValueChangedイベントを選択し、イベントをコードに追加してください。
4.コードを記述します。
「ValueChanged」イベントに以下のコードを記述してください。
'------------------------------------ ' Event - ValueChanged(AxIPLink1) '------------------------------------ Private Sub AxIPLink1_ValueChanged(sender As Object, e As AxIPLINKLib6._DClientIPLinkEvents_ValueChangedEvent) Handles AxIPLink1.ValueChanged Select Case e.tagPath Case "U01.F01.T01" TextBox3.Text = e.value End Select End Sub
5.プログラムを実行します。
Visual Basicの開始ボタンを押して、プログラムを開始して下さい。フォームが表示されると、テキストコントロール(Text3)にタグの現在値が表示されます。
Text2に任意の数値を書き込み、書き込みボタンを押してください。入力した数値がタグに書き込まれ、Text3の表示も伴って変化することを確認して下さい。