テーマ 使用機器 概要 資料作成 001221 資料番号 68K-B01 Application Note デジタルタッチパネル GP シリーズ イーサネット接続実験 MPC-684,MBK-68,GP-2400 他 タッチパネルのイーサネットを使って MPC-684 データのメンテナンスツールが作れるか。 Microsoft Visual Basic と簡易 DLL(ProEasy.DLL)を使って作成する 使用機器 パソコン Windows 98 Pro-Server with Pro-Studio (デジタル) GP-PRO/PRBⅢ(デジタル) Visual Basic アプリケーション MPC-684,MBK-68 タッチパネル GP-2400(デジタル) パソコンと直結する場合 はクロスケーブル 10Base-T ハブ RS-422 構内ネット 市販イーサネット ケーブル <実験に用いたソフトウェアのバージョン> Pro-Studio Ver2.2、GP-PRO/PBⅢ Win Ver5.00b、Visual Basic 5.0 設定 パソコン ①TCP/IP コントロールパネル └ ネットワーク └ ネットワークの設定 └TCP/IP プロトコルのプロパティ └ IP アドレス └ IP アドレスを指定 ├ IP アドレス <Ex>192.168.0.5 └ サブネットマスク <Ex>255.255.255.0 ②Pro-Studio ネットワーク参加局リスト ├ GP プロジェクト (GP-2400 の PRO/PBⅢで作成したプロジェクト名) │ ├ 局名 <Ex>新しいプロジェクト │ ├ IP アドレス<Ex> 192.168.0.6 (GP-2400 の IP アドレス) │ ├ サブネットマスク<Ex>255.255.255.0 (GP-2400 のサブネットマスク) │ ├ PLC タイプ (ここは 「松下電工 MEWNET-FP シリーズ」を指定) │ └ PRO/PBⅢのプロジェクトファイル (参照ボタンで「???.PRW」を指定) └ _GP1 (パソコン) ├ 局名 <Ex>_GP1 ├ IP アドレス <Ex> 192.168.0.5 └ PLC タイプ (ここは 「Windows 搭載コンピュータ」を指定) GP プロジェクトのシンボル (Read/Write する DT エリアのワードアドレスをシンボル登録する) ├ シンボル名 <Ex>_DT100_WORD └ デバイスアドレス <Ex>DT100 1 タッチパネル オフライン メインメニュー └ 初期設定 └ 動作環境の設定 └ 拡張設定 ├ イーサネット情報の設定 │ ├ 自局 IP アドレス <Ex> 192.168.0.6 │ └ サブネットマスク <Ex> 255.255.255.0 └ SYSLOG 情報の設定 └ ホスト IP アドレス <例> 192.168.0.5 (パソコンの IP アドレス) MPC MBK-68∼GP-2400 は通常の接続。 プログラム先頭に S_MBK 100 864 に追加。これによりタスク 0∼23 の文番号が DT100~123 へ自動的に転写される。 VB アプリケーション Timer1 インターバル Timer1 スタート Write イネーブル 実行回数カウンタ Label1(0)=DT100 ~ Label1(23)=DT123 タスク 0∼23 の文番号表 示。これらは MBK 側から常 にリフレッシュされるので VB アプリケーション側か ら書き込んでもデータが変 わるのは一瞬。 Label1(24)=DT124 ~ Label1(31)=DT131 これらには VB アプリから 書き込んだデータが表示さ れる。 MPC からは MBK(adr)で読 込み、S_MBK data adr で書 込みができる。 概要 Start ボタンを押すと Timer1 が起動。その中で ProEasy.DLL の関数を実行し読み込んだデータを Label に表示する。 API宣言 BAS モジュールに c:¥Program Files¥Digital¥Pro-Server with Studio¥Pro-SDK¥VB¥Api¥ProEasy.txt の内容をコピー 2 プログラム抜粋 Private Dim Dim Dim Dim Sub Form_Load() i iErr ErrMsg BoolErr j = 0 Timer1.Enabled = False Text1.Text = 500 Command1.Caption = "Start" Command2.Caption = "Stop" For i = 0 To 31 Label1(i).Caption = "" Label2(i).Caption = i Next i Label3.Caption = "Interval (ms)" iErr = EasyLoadNetworkProject("c:¥ProPBWin¥database¥prgstepmon¥nettest.npj", 1) If iErr <> 0 Then BoolErr = EasyLoadErrorMessage(iErr, ErrMsg) MsgBox ("Load Error:" + ErrMsg) End If ‘ネットワークプロジェクトを LOAD Command3.Caption = "Write" Text2.Text = 0 Label4.Caption = "0" Check1.Caption = "Write" End Sub Private Dim Dim Dim Dim Dim Sub Timer1_Timer() iErr ErrMsg BoolErr Data1 As Variant i Timer1.Interval = 0 ‘GP-2400 自局 IP アドレス Node = "192.168.0.6" ‘デバイスシンボル名 Device = "_DT100__WORD" iErr = ReadDeviceVariant(Node, Device, Data1, 32, EASY_AppKind_NULL) If iErr <> 0 Then BoolErr = EasyLoadErrorMessage(iErr, ErrMsg) MsgBox ("Read Error:" + ErrMsg) Else For i = 0 To 31 Label1(i).Caption = Str$(Data1(i)) Next i End If Timer1.Interval = Val(Text1.Text) ‘データ読込み Label4.Caption = Str$(Val(Label4.Caption) + 1) ‘チェックされていれば書込み If Check1.Value Then For i = 0 To 31 ‘書込みデータ作成 Data1(i) = j Next i j = j + 1 iErr = WriteDeviceVariant(Node, Device, Data1, 32, EASY_AppKind_NULL) If iErr <> 0 Then BoolErr = EasyLoadErrorMessage(iErr, ErrMsg) MsgBox ("Write Error:" + ErrMsg) End If End If End Sub 3 ‘データ書込み 実行結果 ①実行後しばらくすると Read/Write レスポンスタイムアウトエラー になる。その後 KERNEL32.DLL エラーになりアプリが 落ちることがある。アプリ側の問題?、Pro-Server(常駐 orDLL)に起因する問題? 不明 Pro-Studio のメインメニュー 設定 └ネットワーク設定 └詳細設定 └TCP/IP タイムアウト の設定値を大きくすると頻度は下がる<Ex>5000 ②イーサネットケーブルをハブへ接続すると①のエラーになる頻度が上がる。特に同じハブへ接続されている他の PC でネット ワークを使う作業(DOS 窓でファイルコピーなど)をすると覿面。 今後の課題 エラー対策 社外からダイアルアップしてアクセスできるか GP-Web を使ったインターネット/ダイアルアップアクセス 4
© Copyright 2024 Paperzz