<< Click to Display Table of Contents >> マニュアル > はじめての接続 |
はじめてのアプリケーション作成
ここでは、PLCとの通信を行うための入門的な手順について解説します。ここで紹介する手順は、大きく分けて以下の2ステップです。
ステップ1 |
タグの設定
|
通信対象のPLCデバイスをタグとして登録します。 |
ステップ2 |
プログラミング
|
VisualBasicからの読み込み、書き込み、モニタリング(動的更新)のプログラム作成例を紹介します。 |
この手順を進めるにあたっては、以下の環境を準備して下さい。
•FA-Engine
•VisualBasic
仮想デバイスとは
現在FAシリーズは100機種との通信に対応しており、その対応機種の1つとして、「仮想デバイス」があります。「仮想デバイス」はPLCをシミュレートしたアドレス空間であり、特定のPLCとの通信を行わないという点を除き、標準的なPLCデバイスと同等に扱えます。本マニュアルでは、特定のPLCに限定して説明することを避けるため、「仮想デバイス」を用いて説明を進めます。「仮想デバイス」での扱いを理解すれば、その他の標準的なPLCでも同様の手順で設定が行えます。
仮想デバイス一覧
デバイス |
アドレス |
説明 |
サイズ |
読み |
書き |
入力リレー |
X0000~X9999 |
10進数 |
ビット |
○ |
○ |
出力リレー |
Y0000~Y9999 |
10進数 |
ビット |
○ |
○ |
内部リレー |
M0000~M9999 |
10進数 |
ビット |
○ |
○ |
特殊リレー |
SM0000~SM9999 (※1) |
10進数 |
ビット |
○ |
○ |
データレジスタ |
D0000~D9999 |
10進数 |
ワード |
○ |
○ |
特殊レジスタ |
SD0000~SD9999 (※2) |
10進数 |
ワード |
○ |
○ |
(※1)特殊リレー(SM)について |
|
SM0000 10msごとにOn/Off SM0001 50msごとにOn/Off。 SM0002 100msごとにOn/Off SM0003 500msごとにOn/Off
|
SM0004 1000msごとにOn/Off SM0005 2000msごとにOn/Off SM0006 3000msごとにOn/Off SM0007 5000msごとにOn/Off |
(※2)特殊レジスタ(SD)について |
|
SD0000 10msごとにインクリメント SD0001 50msごとにインクリメント SD0002 100msごとにインクリメント SD0003 500msごとにインクリメント |
SD0004 1000msごとにインクリメント SD0005 2000msごとにインクリメント SD0006 3000msごとにインクリメント SD0007 5000msごとにインクリメント |
SD0008~SD0015は、それぞれSD0000~SD0007の値を用い、0~100の間でサインカーブを描く。
ステップ1(タグ設定)
ここでは、仮想デバイスを用いてPLCをシミュレートするため、実機PLCは手元に必要ありません。PLCが手元にある環境であれば、実際のPLCのタグを設定してもかまいません。
1.タグエディタ(FA-Engine6.exe)を起動
2.左側のツリーの「Driver」を右クリックし「ユニット追加」を選択
3.「メモリ」の「仮想通信」「仮想デバイス」を選択し、「OK」を押す
4.「U01」を右クリックし「フォルダ追加」を選択する
5.「F01」を右クリックし「タグ追加」を選択
6.左側のリストから「T01」を右クリックし、「プロパティ」を選択
7.「アドレス設定」タブから「04-Dデータレジスタ」を選択し、「OK」を押す。以下の例では、D0000(ワードレジスタ)を数値タグとして設定しています。
8.設定を保存する
タグエディタの「ファイル」メニューから「名前を付けて保存」を選択して設定を保存してください。ここでは「c:\sample.txt」というファイル名で保存します。
ステップ2(プログラミング)
開発環境の準備
1.VisualBasicを起動する
2.「FA-Engine」をフォームへ貼り付ける
「FA-EngineをVisual Basic.Netに組み込む」に従って、「FA-Engine」をフォームへ貼り付けてください。
3.プロパティ設定
「FA-Engine」を右クリックし、メニューから「プロパティ」を選択後、以下のように設定します。
この設定により、「ステップ1」の作業で作成した設定ファイルが自動的に読み込まれるようになります。
ReadVal/WriteValを使った実装
1.コーディング
フォームに2つのボタンと2つのテキストボックスを貼り付けて、以下のコードを記述してください。
●VB.Net
読み込みボタン
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Not AxEng1.ReadVal("U01.F01.T01", a) Then TextBox1.Text = "Error!" Else TextBox1.Text = a End If End Sub |
書き込みボタン
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If Not AxEng1.WriteVal("U01.F01.T01", TextBox2.Text) Then TextBox2.Text = "Error!" End If End SubEnd Sub |
2.プログラム実行
VisualBasicの開始ボタンを押して、プログラムを開始してください。
画面から任意の数値を入力し、書き込みボタン及び読み込みボタンの操作を行います。操作によって表示内容が変化することを確認してください。
リアルタイムモニタ
1.コーディング
先ほど作成したフォームの下部に、モニター用のテキストコントロールを貼り付けてください。
2.自動更新プロパティの設定
FA-Engineのプロパティで、「自動的に更新を開始する」にチェックを入れてください。
3.ValueChangedイベントの追加
FA-Engine をダブルクリックし、「ValueChanged」イベントを追加してください。
「ValueChanged」イベントを追加後、以下のコードを記述します。
●VB.Net
Private Sub AxEng1_ValueChanged(ByVal sender As Object, ByVal e As AxFAENGINELib5._DFAEngineEvents_ValueChangedEvent) Handles AxEng1.ValueChanged Select Case e.tagPath Case "U01.F01.T01" TextBox3.Text = e.value End Select End Sub |
4.プログラム実行
VisualBasicの開始ボタンを押して、プログラムを開始して下さい。
プログラムを開始するとテキストコントロール(Text3)にタグの現在値が表示されます。画面から任意の数値を書き込み、テキストコントロール(Text3)の表示内容が書き込みに応じて動的に変化することを確認して下さい。