TAKEBISHI Software Library I/O Server Software 三菱 MELSEC Ethernet 対応版 for Windows Users Manual Revision 3Q - 1 -
はじめに InTouch は 米国 Wonderware 社の登録商標です MELSEC MELSECNET は 三菱電機株式会社の登録商標です Windows, Windows NT,EXCEL は 米国 Microsoft 社の登録商標です その他すべての製品名及び商標は それぞれの所有者に属します 本ソフトウェアの仕様 マニュアルは 予告なく変更する事があります 本ソフトウェアの著作権は 株式会社たけびしにあります 本ソフトウェアは ご使用のコンピュータ 1 台につき 1 セットの購入が必要です 本ソフトウェアとマニュアルを運用した結果の影響について弊社はいっさいの責任を負いかねますのでご了承下さい 本マニュアル記載内容の一部は プログラムバージョン 3.4 以降で有効です - 2 -
1 概要...5 2 必要システム...6 2.1 コンピュータ... 6 2.2 シーケンサ... 6 3 インストール方法...7 3.1 ハードウェアの設定... 7 3.2 TCP/IPライブラリのインストール... 7 3.3 I/O Serverのインストール... 8 3.4 インストールファイル... 11 3.5 ライセンス認証...12 3.5.1 シリアル番号...12 3.5.2 ハードウェアキー...12 3.5.3 ライセンスマネージャの使用方法...13 4 設定方法... 17 4.1 論理ポート設定 (/Configure/Port Configuration)...18 4.2 トピック名設定 (/Configure/Topic)...21 4.3 I/O Serverパラメータ (/Configure/Server Settings)...25 5 I/O SERVER の使い方... 27 5.1 DDEパラメータ...27 5.2 DDEアイテム名...27 5.3 アイテム名の特殊な使い方について...29 5.3.1 ワードデバイス内のビット指定 (. 数字 )...29 5.3.2 ダブルワード型 (.D)...29 5.3.3 実数型 (.R)...29 5.3.4 BCD 型 (.B)...30 5.3.5 32 ビットBCD 型 (.DB)...30 5.3.6 符号なし整数型 (.U)...30 5.3.7 文字列型 (.S)...30 5.3.8 テキスト形式 10 進数 (.A)...31 5.3.9 テキスト形式 16 進数 (.H)...31 5.3.10 ファイル一括書込 (.F)...31 5.3.11 通信情報 (STATUS)...32 5.3.12 エラー情報 (ERROR)...32 5.3.13 日付情報 (DATE)...32 5.3.14 時刻情報 (TIME)...32 5.3.15 通信の有効 無効...32 5.4 InTouch の設定画面...33 5.5 InTouch から読み出したデータの品質情報にアクセスする方法...34 5.6 Microsoft EXCELでの使用方法...35 5.7 I/O Serverの表示内容について...36 6 MELSEC ETHERNET ユニットの設定方法... 37 6.1 MELSEC-Qシリーズ...37 6.1.1 ネットワークパラメータ...37 6.1.2 動作設定画面...37 6.1.3 イニシャル設定画面...38 6.1.4 オープン設定画面...38 6.2 MELSEC-QnA/A シリーズ...39-3 -
6.2.1 モード設定スイッチ (MODE)...39 6.2.2 交信条件設定スイッチ (SW1~SW8)...39 6.2.3 ネットワークパラメータ...39 6.2.4 イニシャル処理...40 6.2.5 ポート制御処理...40 7 サンプルラダープログラム... 41 7.1 MELSEC-QnAシリーズ...41 7.2 MELSEC-Aシリーズ...45 8 トラブルシューティング... 49 8.1 トラブルシューティング手順...49 8.2 データが変化しない 読み出せない...50 8.3 レスポンスタイムアウトが発生する...50 8.4 InTouch でVIEWとWMを切り替えると通信出来ない...50 8.5 WWLOGGERのエラーメッセージについて...51 8.6 WINSOCKエラーコード...52 8.7 診断機能...53 9 付録... 55 9.1 WWLOGGERについて...55 9.2 TCP/IP 使用時の注意事項...55 9.3 DDEクライアントプログラム (DDETEST.EXE)...56 9.4 ユーザサポート...57-4 -
1 概要 MELSEC-Q/QnA/A シリーズ Ethernet 対応 I/O Server( 以下 I/O Server と略します ) は マイクロソフト Windows 上で動作するアプリケーションプログラムです I/O Server は SuiteLink*1 及び DDE のサーバアプリケーションとして動作し SuiteLink/DDE をサポートした Windows アプリケーションから三菱シーケンサ MELSEC に対してのアクセスを可能にします *1:SuiteLink : Wonderware 社が開発した TCP/IP ベースのプロトコル システム構成例 Windows SuiteLink /DDE WonderWare InTouch7.x Microsoft EXCEL MELSEC Ethernet I/O SERVER DDE Ethernet MELSEC-Q/QnA/A MELSECNET H/10/2-5 -
2 必要システム 2.1 コンピュータ I/O Server は以下の環境で動作します 動作環境 コンピュータ本体 Windows が稼働するパーソナルコンピュータ 基本ソフトウェア Windows Server2003 / XP / 2000 必要メモリ 32MB ハードディスク 32MB 以上 ディスク装置 CD-ROM ドライブ その他 基本ソフトウェアに対応した Ethernet アダプタ 2.2 シーケンサ 以下の CPU / Ethernet ユニットに対応しています CPU ユニット MELSEC-Q シリーズ Q00(J)CPU, Q01CPU, Q02(H)CPU, Q06HCPU, Q12(P)HCPU,Q25(P)HCPU Q02(H)CPU-A, Q06HCPU-A MELSEC-QnA シリーズ Q2A(S)(H)CPU(-S1), Q3ACPU, Q4A(R)CPU MELSEC-A シリーズ A0J2HCPU, A1(N/S/FX)(J)(H)CPU, A2(U/A)(N/S/C)( J)(H)CPU(-S1), A3(U/A/N)CPU, A4UCPU Ethernet ユニット MELSEC-Q シリーズ MELSEC-QnA シリーズ MELSEC-A シリーズ QJ71E71-(100/B5/B2) A(1S)J71QE71(N/N3)(-B2/-B5T) A(1S)J71E71(N/N3)(-S3/-B2/-B5T) - 6 -
3 インストール方法 3.1 ハードウェアの設定 パソコンにイーサネットボードを装着します イーサネットボードのハードウェア設定 ( 割込 I/O ポートなど ) は ご使用のパソコンのハードウェア設定 (RS232C プリンタ 拡張ボードなど ) と重複しないように設定して下さい 3.2 TCP/IP ライブラリのインストール TCP/IP プロトコルおよび関連コンポーネントをインストールして下さい 組込み方法及び設定方法は 使用する OS のマニュアルを参照して下さい - 7 -
3.3 I/O Server のインストール (1) SETUP.EXE を起動してください インストールは Administrator 権限を持つユーザアカウントで実行してください (2) インストールウィザードが表示されますので 次へ をクリックします (3) 使用許諾契約に同意して頂ける場合は 使用許諾契約の条項に同意します を選択し 次へ を押してください - 8 -
(4) ユーザ情報を入力し 次へ をクリックします 製品に記載されているシリアル番号を正確に入力して下さい (5) 正しいシリアル番号を入力すると次のダイアログが表示されますので 必要に応じてインストール先の変更やコンポーネントの選択を行ってください - 9 -
(6) 以上でインストールの準備が出来ました インストール をクリックすると セットアップが始まります (7) インストールが完了し スタートメニューに I/O Server が登録されます - 10 -
3.4 インストールファイル I/O Server のインストーラは 各ファイルを次のフォルダにセットアップします <Install Dir>AJ71QE71.EXE I/O Server プログラム <Install Dir>AJ71QE71.PDF I/O Server オンラインマニュアル <Install Dir>LICMAN.EXE ライセンスマネージャ <Install Dir>DDESAMP.XLS サンプルプログラム (EXCEL2000 形式 ) <Install Dir>COMMONUI.DLL 関連 DLL <Install Dir>WWDLG32A.DLL 関連 DLL <Install Dir VB6>DDETEST.EXE DDE クライアントプログラム <Install Dir VB6>*.* DDE クライアントソースコード (Visual Basic 6.0 形式 ) <Install Dir GPPW QJ71E71>*.* MELSEC-Q シリーズサンプル (GX Developer V8.0 形式 ) <Install Dir GPPW AJ71QE71>*.* MELSEC-QnA シリーズサンプル (GX Developer V8.0 形式 ) <Install Dir GPPW AJ71E71>*.* MELSEC-A シリーズサンプル (GX Developer V8.0 形式 ) - 11 -
3.5 ライセンス認証 本章では ライセンス及びライセンスマネージャを使用して正規のライセンスをインストールする手順を説明します ライセンス認証とはご購入頂いた商品にライセンス情報を付加し 製品として動作させるのに必要が手続きです 弊社ソフトウェア製品のライセンス契約は 特定の 1 台の PC にインストールして使用する権利を許諾するものです 3.5.1 シリアル番号 シリアル番号は お客様がライセンスを購入した際に受け取る一意の番号です お客様はインストール時にこのシリアル番号を正確に入力する必要があります インストール時に入力したシリアル番号は ライセンスマネージャを使用して表示できます 3.5.2 ハードウェアキー 製品タイプによってはハードウェアキーを要求するものがあります この場合 アプリケーションを実行するには シリアル番号とハードウェアキーの両方を同じ PC にインストールする必要があります インストール時に正確なシリアル番号を入力し ハードウェアキーを PC に接続してください - 12 -
3.5.3 ライセンスマネージャの使用方法 ライセンスマネージャの起動スタートメニューから IO Server ライセンスマネージャ を選択し ライセンス認証ツールを起動します ステータスが OK と表示されていれば ライセンスは有効ですので 以降の操作は必要ありません ハードウェアキーの装着ステータスが HASP と表示されていれば ハードウェアキーを装着する必要があります PC にハードウェアキーを装着して ライセンスマネージャを再起動してください ステータスが OK と表示されていれば ライセンスは有効ですので 以降の操作は必要ありません - 13 -
ライセンスコードの取得ステータスが TERM となっている場合 14 日以内にライセンスコードを取得し インストールする必要があります ライセンスコードは WEB メールまたは FAX で取得することができます WEB 弊社ホームページ上のユーザ登録画面からシリアル番号とコンピュータ ID 及び必要事項を入力して送信して下さい 折り返し ライセンスコードをメールにてお知らせします URL http://www.faweb.net/asp/registration.aspx メール 件名に FAWEB:License と明記の上 シリアル番号とコンピュータ ID 及び必要事項 ( 会社名 氏名 電話番号 メールアドレス ) を弊社宛に送信して下さい 折り返し ライセンスコードをメールにてお知らせします Mail アドレス fa-support@takebishi.co.jp FAX ユーザ登録用紙にシリアル No. とコンピュータ ID 及び必要事項を記入して弊社宛に FAX 下さい 折り返し ライセンスコードを FAX にてお知らせします FAX 番号 075-325-2273-14 -
ライセンスのインストール該当製品を選択後 右クリックするとポップアップメニューが表示されますので Install License を選択してください 取得したライセンスコードを License Code に入力して OK ボタンを押します ライセンスコードが認証され ステータスが OK になります - 15 -
ライセンスの転送ライセンスがインストールされている PC から他の PC へライセンスを移動することができます 開発機でアプリケーションを開発 評価し 本番機へ移行することができます 1. まず初めに 移動先の PC に製品をインストールし コンピュータ ID を確認します 2. 移動元の PC でステータスが OK となっている製品を選択後 右クリックするとポップアップメニューが表示されますので Transfer License を選択します 3. 前述 1 項で取得した移動先のコンピュータ ID を入力します 4. Transfer ボタンを押すと移動先 PC のコンピュータ ID に対応したライセンスコードが表示されます この操作を行うと移動元 PC ではライセンス無効となりますのでご注意ください 5. 前述 4 で取得したライセンスコードを移動先 PC にインストールし ライセンスの転送が完了します - 16 -
4 設定方法 I/O Server はスタートメニューより MELSEC Ethernet IOServer ショートカットをクリックすると起動し 次のウィンドウが表示されます /Configure メニューから各項目の設定を行います - 17 -
4.1 論理ポート設定 (/Configure/Port Configuration) 通信対象となるシーケンサ側 Ethernet ユニットの IP アドレス 論理ポートの設定を行います 新規作成の場合は図 4-1 のダイアログが 既に作成されている場合は図 4-2 のダイアログが表示されます 図 4-1 図 4-2 Done ウィンドウを閉じます New 新規に論理ポートを作成します Modify 選択した論理ポートを編集します Delete 選択した論理ポートを削除します - 18 -
論理ポートの設定方法 Port Name デフォルトでは MELSEC:1 と表示されていますので任意の名称を設定してください 複数の論理ポートを設定する場合は 重複しない名前を付ける必要があります 名前が重複すると I/O Server は正しく認識しません MELSEC:1 MELSEC:2 OK MELSEC:1 MELSEC NG(MELSEC が重複し 正しく認識出来ない ) 論理ポートは最大 256 まで作成出来ます Protocol 使用するプロトコル (TCP/IP または UDP/IP) を選択します なお TCP/IP を選択した場合 通信エラーが 3 回発生した場合コネクションを切断し 再接続を行いますので ご使用のシーケンサプログラムも自動的に LISN 状態 ( 接続待ち状態 ) になるように作成して下さい サンプルプログラムは I/O ServerCD-ROM に格納されていますので参考にしてください HOST Name コントロールパネルのネットワークで設定したホスト名 ( 自局のパソコン ) がデフォルトで表示されます HOST IP Address OS のネットワークパラメータで設定している IP アドレスがデフォルトで表示されます LAN アダプタを 2 枚以上使用する場合は それぞれの IP アドレスを変えてください HOST Port No パソコン側が使用する Ethernet のポート No を入力します 0 に設定しておくと OS が空いているポート No を自動的に割り振ります この場合 プロトコルを TCP/IP MELSEC のオープン方式を Unpassive に設定して下さい なお Windows NT 上で TCP/IP を使用する場合 ポート No を 0 以外に設定すると 再接続時に 10 分程度かかりますので 必ず 0 を指定して下さい - 19 -
MELSEC IP Address シーケンサの IP アドレスを入力します IP アドレスはシーケンサのパラメータ設定もしくはイニシャル処理プログラムで指定します MELSEC Port No シーケンサのポート No を入力します 1025 以上に設定されることを推奨します Q/QnA シリーズではパラメータ設定なしでアクセス可能な自動オープン UDP ポート ( デフォルト 5000) を使用することができます ただし ランダムアクセスバッファへの交信時 自動オープン UDP ポートは使用できません Reply Timeout シーケンサからの通信応答待ち時間を秒単位で入力します 設定された時間以内にシーケンサから応答がないとタイムアウトになります プロトコルで TCP/IP を選択した場合 シーケンサ側のイニシャル処理で設定した TCP のタイムアウト値を考慮して設定して下さい 15 秒以上の設定を推奨します Retry Times TCP/IP 使用時でタイムアウトが発生した場合にリトライする回数を設定します I/O Server は設定された回数だけリトライしても接続が復旧しない場合 一旦コネクションを切断し 再接続を試みます UDP/IP の場合はこの設定は必要ありません OK 設定を保存して ダイアログを閉じます Cancel 設定を保存せずに ダイアログを閉じます 設定ファイルの保存について設定ファイルが存在しないか または新しく設定ファイルのパスが指定されたとき 以下の保存ダイアログが表示されます Configuration File Directory 現在の設定ファイルのパスが表示されますので 他のディレクトリに保存する場合は ディレクトリ名を入力して下さい 存在しないディレクトリは指定できません Make this default configuration このオプションを選択すると WIN.INI の [AJ71QE71] セクションに設定ファイルのパスを書込みます 通常は I/O Server 起動時に WIN.INI より設定ファイルの格納位置を読込みます 設定ファイルは 指定されたパスに AJ71QE71.CFG という名前で保存されます - 20 -
4.2 トピック名設定 (/Configure/Topic) トピック名は 論理ポート単位で固有の設定を行うもので トピック毎に重複しない名前を付ける必要が有ります 新規作成の場合は図 4-3 のダイアログが 既に作成されている場合は図 4-4 のダイアログが表示されます 図 4-3 図 4-4 Done ウィンドウを閉じます New 新規にトピックを作成します Modify 選択したトピックを編集します Delete 選択したトピックを削除します - 21 -
トピックの設定方法 Topic Name デフォルトでは PLC1 と表示されていますので任意の名称を設定してください 複数のトピックを設定する場合は 重複しない名前を付ける必要があります 名前が重複すると I/O Server は正しく認識しません PLC1 PLC2 OK PLC PLC1 NG( PLC が重複し正しく認識出来ない ) トピック名は InTouch の アクセス名設定 で使用します Port Name トピックに割付ける論理ポートを選択します I/O Server はこの論理ポート名から IP アドレスなどの Ethernet パラメータを一意に識別します Ethernet Unit Type A シリーズの場合は AJ71E71 QnA シリーズの場合は AJ71QE71 Q シリーズの場合は QJ71E71 を選択してください 通信コマンド 通信パケットサイズ及び一部デバイス名等が異なります Unit I/O No マルチ CPU システムをご使用の場合 アクセス対象となる CPU を指定することができます 10 進数で入力するか 右側の チェックボックスをクリックしてください マルチ CPU システムをご使用でない場合は デフォルト値 1023 にしてください 管理 CPU 1023 (0x3FF) 1 号機 CPU 992 (0x3E0) 2 号機 CPU 993 (0x3E1) 3 号機 CPU 994 (0x3E2) 4 号機 CPU 995 (0x3E3) Unit Station No 0 固定で使用してください - 22 -
MNET Network No Q シリーズまたは QnA シリーズ使用時 MELSECNET 経由で他局アクセス行う場合は対象システムのネットワーク番号 (0 ~239 254) を設定します 自局及び MELSECNET(Ⅱ) の場合は 0 を指定します (A シリーズ Ethernet ユニットは MESLEC NET-10/H に対応しておりません ) MNET PC No Q シリーズまたは QnA シリーズ使用時 MELSECNET 経由で他局アクセス行う場合は対象シーケンサの PC 番号を設定します 0~64(MELSECNET10 の場合は 1~64) 125 255( 自局 ) が設定可能です 注意 MELSECNET 経由の他局アクセスは 伝送遅れが生じることがあります 通信対象を自局 (PC 番号 255) とし 他局との交信はリンクリレー (B) リンクレジスタ (W) で行うことを推奨します Coil Read Block Size 1 パケットあたりのビットデータ転送量 ( コイル一括読出点数 ) を設定します A シリーズの場合は最大 2048 点 Q/QnA シリーズの場合は最大 15360 点まで設定可能です Register Read Block Size 1 パケットあたりのワードデータ転送量 ( レジスタ一括読出点数 ) を設定します A シリーズは最大 256 点 QnA シリーズは最大 480 点 Q シリーズの場合は最大 960 点まで設定可能です Coil Random Write Size 1 パケットあたりのビットデータ転送量 ( コイル一括書込点数 ) を設定します A シリーズの最大 80 点 QnA シリーズは最大 94 点 Q シリーズの場合は最大 188 点まで設定可能です Register Random Write Size 1 パケットあたりのワードデータ転送量 ( レジスタ一括書込点数 ) を設定します A シリーズは最大 40 点 QnA シリーズは最大 80 点 Q シリーズの場合は最大 160 点まで設定可能です 特記事項 ( 書込処理 ) 通常の書込処理は MELSEC のランダム書込機能を利用し 複数の書込値をひとつのパケットにまとめることで通信回数を減らし 高速処理します なお ランダム書込の対象となるのは 特殊アイテム ( ダブルワード 浮動小数点 16 進数型など ) 以外の通常アイテムのみです - 23 -
Update Interval I/O Server が通信を行う間隔を msec 単位で指定します Update Interval はトピック毎に設定出来ます 実際の交信時間が Update Interval より長い場合 読み出しが常時実行されます 複数のトピックを 1 つの論理ポートに割り振った場合 交信順序は次の例の様になります 例 1) トピック PLC1,PLC2 の Update Interval が 100msec で 実際の通信時間がそれ以上の場合 PLC1 の読み出しが遅くなります ( 例 1) の場合 PLC1 D400-463 PLC2 D0-63 PLC1 D200-263 PLC2 D0-63 PLC1 D0-63 PLC2 D0-63 ( 例 2) の場合 PLC1 D400-463 PLC2 D0-63 PLC1 D200-263 PLC1 D0-63 例 2) トピック PLC1,PLC2 の Update Interval が 2000msec で 実際の通信時間がそれ以下の場合 指定時間毎に読み出しが行われます 複数のトピックを設定する場合は 交信時間を考慮して Update Interval を設定して下さい Disable Random Write このチェックボックスを ON にすると シーケンサに対する書き込みが 一括書込機能 で処理されます ( ランダム書込機能 は使用されません ) 一括書込機能は不連続なデバイスに対して書込処理が 1 点単位でしか行えませんので 書込に要する時間が遅くなります 通常は OFF 状態でご使用ください Simulation Mode このチェックボックスを ON にすると シーケンサとの通信を行わずに ランダムデータを返します 開発段階などで シーケンサがない場合にお使いください なお 書込データは無視されます Connect Check 設定したパラメータでシーケンサと接続できるかどうか事前に確認することができます 正常に接続できた場合は W0 の現在値及び SUCCESS と表示され 正常に接続できない場合は ERROR と表示されます OK 設定を保存して ダイアログを閉じます Cancel 設定を保存せずに ダイアログを閉じます - 24 -
4.3 I/O Server パラメータ (/Configure/Server Settings) 内部動作間隔やサービス機能など I/O Server 固有のパラメータを設定します 通常はデフォルト設定で使用されることを推奨します Protocol Timer Tick I/O Server の内部的な処理単位 ( 動作時間間隔 ) のことで 例えば デフォルト 50ms の場合 I/O Server は 50ms ごとに受信データチェックやメッセージ送信を行います 通常 50~100msec の範囲で設定されることを推奨します NetDDE being used ネットワーク DDE を使用する場合にレスポンスを良くすることができます ただし DDE 手動リンクが無効になり InTouch の WwRequest() や Visual Basic 等からアクセスできなくなりますので注意してください Configuration File Path I/O Server の設定ファイルのパスを指定します ( ドライブ ディレクトリ )I/O Server は 次回の起動時に このパスで指定された設定ファイルで動作します - 25 -
Start automatically as Windows NT Service I/O Server を Windows NT のサービスプロセスとして動作させる場合にご利用ください サービス起動させると デスクトップにログインしていなくても I/O Server が動作します ただし Windows 98/95 または InTouch7.x がインストールされていない環境では使用できません 注意サービスプログラムとして登録している状態では 通常の操作で I/O Server を終了 / 起動させることができません 必要な場合はコントロールパネルの サービス から開始 / 停止操作を行うようにしてください サービスプログラムとしての登録を解除するには チェックボックスをオフしてください ( サービス で無効に設定しても通常アプリケーションとして正常に動作しません ) InTouch7.x 以上がインストールされていない環境で誤ってこの設定を ON してしまった場合は I/O Server が起動できくなりますので 以下の手順でサービス設定を解除してください 1 コントロールパネルの サービス を開きます 2 AJ71QE71_IOServer を選択した状態で スタートアップ ボタンを押して 無効 に設定してください 3 レジストリエディタ (REGEDIT.EXE) を起動します 4 HKEY_LOCAL_MACHINE SOFTWARE Wonderware AJ71QE71_IOServer の中の NTService というエントリを削除してください 5 スタートメニューから I/O Server が通常アプリケーションとして動作します OK 設定を保存して ダイアログを閉じます Cancel 設定を保存せずに ダイアログを閉じます - 26 -
5 I/O Server の使い方 5.1 DDE パラメータ 項目 値 アプリケーション名 AJ71QE71 トピック名 任意 5.2 DDE アイテム名 I/O Server のサポートしているアイテム名 ( シーケンサのデバイス名 ) は次の通りです A シリーズアクセス時 アイテム名 種類 表現 種別 デバイス範囲 ビットデバイス X 入力リレー 16 進 ビット 0~1FFF Y 出力リレー 16 進 ビット 0~1FFF M 補助リレー 10 進 ビット 0~8191 M 特殊リレー 10 進 ビット 9000~9255 L ラッチリレー 10 進 ビット 0~8191 S ステップリレー 10 進 ビット 0~8191 B リンクリレー 16 進 ビット 0~1FFF TS タイマー設定値 10 進 ワード 0~2047 TC タイマーコイル 10 進 ワード 0~2047 CS カウンタ設定値 10 進 ワード 0~1023 CC カウンタコイル 10 進 ワード 0~1023 ワードデバイス D データレジスタ 10 進 ワード 0~6143 D 特殊レジスタ 10 進 ワード 9000~9255 R ファイルレジスタ 10 進 ワード 0~8191 W リンクレジスタ 16 進 ワード 0~1FFF TN タイマー現在値 10 進 ワード 0~2047 CN カウンタ現在値 10 進 ワード 0~1023 ER 拡張ファイルレジスタ 10 進 ワード 0~8191 BM ランダムアクセスバッファ 16 進 ワード 0~17FF 備考 I/O Server はデバイス範囲のチェックを行いませんので ご使用になるシーケンサ CPU のデバイス範囲内でアイテム名を指定して下さい BM はデバイスではありませんが ランダムアクセスバッファにアクセスする場合にアイテム名 BM を使用します A シリーズ Ethernet ユニットの制限により 特殊リレー M9000~9007 M9248~9255 にはアクセス出来ません これらのアドレスを参照する必要がある場合 補助リレー (M) にシーケンスで一度転送しアクセスして下さい 拡張ファイルレジスタは ER[ ブロック No]. [ デバイス No] の形式でアイテム名を指定します 例えば 拡張ファイルレジスタのブロック 1 デバイス 123 にアクセスする場合は ER1.123 になります 連番アクセスは出来ません - 27 -
Q/QnA シリーズアクセス時 アイテム名 種類 表現 種別 デバイス範囲 ビットデバイス X 入力リレー 16 進 ビット 0~1FFF Y 出力リレー 16 進 ビット 0~1FFF M 補助リレー 10 進 ビット 0~8191 L ラッチリレー 10 進 ビット 0~8191 S ステップリレー 10 進 ビット 0~8191 B リンクリレー 16 進 ビット 0~3FFF TS タイマー設定値 10 進 ワード 0~2047 TC タイマーコイル 10 進 ワード 0~2047 CS カウンタ設定値 10 進 ワード 0~1023 CC カウンタコイル 10 進 ワード 0~1023 F アナンシェータ 10 進 ビット 0~2047 V エッジリレー 10 進 ビット 0~2047 SM 特殊リレー 10 進 ビット 0~2047 SB 特殊リンクリレー 16 進 ビット 0~7FF DX ダイレクト入力リレー 16 進 ビット 0~1FFF DY ダイレクト出力リレー 16 進 ビット 0~1FFF ワードデバイス D データレジスタ 10 進 ワード 0~12287 R ファイルレジスタ 10 進 ワード 0~32767 W リンクレジスタ 16 進 ワード 0~3FFF Z インデックスレジスタ 10 進 ワード 0~15 TN タイマー現在値 10 進 ワード 0~2047 CN カウンタ現在値 10 進 ワード 0~1023 SD 特殊データレジスタ 10 進 ワード 0~2047 SW 特殊リンクレジスタ 16 進 ビット 0~7FF ER 拡張ファイルレジスタ 10 進 ワード 0~32767 ZR 拡張ファイルレジスタ ( 連番 ) 10 進 ワード 0~1042431 BM ランダムアクセスバッファ 16 進 ワード 0~17FF 備考 I/O Server はデバイス範囲のチェックを行いませんので ご使用になるシーケンサ CPU のデバイス範囲内でアイテム名を指定して下さい MELSEC-Q/QnA シリーズ使用時 デバイス範囲はパラメータ設定に依存します 上表は初期値を示します シーケンサにおける拡張ファイルレジスタの設定可能最大点数は 1018K 点です BM はデバイスではありませんが ランダムアクセスバッファにアクセスする場合にアイテム名 BM を使用します 拡張ファイルレジスタは ER[ ブロック No]. [ デバイス No] の形式でアイテム名を指定します 例えば 拡張ファイルレジスタのブロック 1 デバイス 123 にアクセスする場合は ER1.123 になります また 連番アクセスする場合は ZR32891 とします - 28 -
5.3 アイテム名の特殊な使い方について アイテム名の特殊な使い方について下記に示します なお 下記のアイテム名で使用するドット (.) は InTouch のタグ変数名で特別な意味を持つキャラクターですので タグ変数名とアイテム名を別の名前で登録する必要があります ( 例 ) タグ名 D100 D アイテム名 D100.D 特殊アイテム名一覧 種 類 記号 読出 書込 ワードデバイス内ビット参照. 数字 ダブルワード型.D 実数型.R BCD 型.B 32ビットBCD 型.DB 符号なし整数型.U 文字列型.S テキスト形式 10 進.A テキスト形式 16 進.H ファイル一括書込み.F 通信情報 STATUS エラー情報 ERROR 日付情報 DATE 時刻情報 TIME これらの特殊なアイテム名はビットデバイスには使用出来ません 5.3.1 ワードデバイス内のビット指定 (. 数字 ) ワードデバイスは デバイス名の後ろにドット (.) と数字 (0~15) を記述することで ワード内のビット指定が可能です このアイテムは読み出し専用です 例 ) D123.0 レジスタ D123 の 0 ビット目 D999.15 レジスタ D999 の 15 ビット目 5.3.2 ダブルワード型 (.D) ワードデバイスのデバイス名の後ろにドット (.) と D を指定することで ダブルワードとしてアクセスする事が可能です 例 ) D10.D D10,D11 の 2 ワードをダブルワードとしてアクセス 5.3.3 実数型 (.R) ワードデバイスのデバイス名の後ろにドット (.) と R を指定すると 実数型のデータとして扱う事が出来ます 例 ) D12.R D12,D13 の 2 ワードを浮動小数点としてアクセス - 29 -
5.3.4 BCD 型 (.B) ワードデバイスのデバイス名の後ろにドット (.) と B を指定することで BCD 変換を行います シーケンサから読み出しの場合は データを BCD データで扱い BIN 変換を行います 書き込みの場合はその逆の変換を行います ( 例 ) シーケンサの D100 に 1234(16 進 ) が格納されており D100.B で読み出すと 1234(10 進 ) に変換され 読み出されます 5678(10 進 ) を D100.B に書き込むと 5678(16 進 ) に変換され 書き込まれます 注意データが BCD 変換できない場合 (16 進 A~F 9999 以上 0 以下 ) は 対象データの品質情報にエラーをセットし 以下の値にクランプします 16 進 A~F : ゼロにクランプ 9999 以上 :9999 にクランプ (16 ビット時 ) 0 以下 : ゼロにクランプ 5.3.5 32 ビット BCD 型 (.DB) ワードデバイスのデバイス名の後ろにドット (.) と DB を指定することで 32 ビット BCD 変換を行います シーケンサから読み出しの場合は データを BCD データで扱い BIN 変換を行います 書き込みの場合はその逆の変換を行います ( 例 ) シーケンサの D100 に 1234(16 進 ) が格納されており D100.DB で読み出すと 1234(10 進 ) に変換され 読み出されます 5678(10 進 ) を D100.DB に書き込むと 5678(16 進 ) に変換され 書き込まれます 注意データが BCD 変換できない場合 (16 進 A~F 99999999 以上 0 以下 ) は 対象データの品質情報にエラーをセットし 以下の値にクランプします 16 進 A~F : ゼロにクランプ 99999999 以上 :99999999 にクランプ (32 ビット時 ) 0 以下 : ゼロにクランプ 5.3.6 符号なし整数型 (.U) ワードデバイスのデバイス名の後ろにドット (.) と U を指定することで レジスタ内のデータを符号無し整数値として扱うことが出来ます InTouch の場合 I/O 整数型のタグを作成し 例えば D999 の場合は アイテム名を D999.U と設定します 5.3.7 文字列型 (.S) アイテム名 ( ワードデバイス ) の後ろに ドット (.) と S を指定することで レジスタ内のデータを文字列として扱うことが出来ます S の後ろには 使用するレジスタの点数を指定します レジスタの点数は 1~Register Read Block Size で指定した点数まで設定出来ます InTouch で扱う場合 message 型のタグを使用します ( 例 )D100.S5: レジスタ D100~D104 内のデータを文字列として扱います InTouch でタグ名 D100S アイテム名 D100.S5 の message 型のタグを作成し D100S = ABCDEFGHIJ を実行すると D100=H4241 D101=H4443 D102=H4645 D103=H4847 D104=H4A49 が格納されます - 30 -
5.3.8 テキスト形式 10 進数 (.A) ワードデバイスのデバイス名の後ろにドット (.) と A を指定することで レジスタの数値データをテキスト形式 10 進データとして扱うことが出来ます A の後ろには使用するレジスタの点数を指定します レジスタの点数は 1~Register Read Block Size で指定した点数まで設定出来ます ( 例 )D100.A3 の場合 : レジスタ D100~D102 をテキスト形式 10 進データとして扱います D100=K1234,D101=K100,D102=K1 が格納されている場合 InTouch でタグ名 D100A アイテム名 D100.A3 の message 型のタグを作成しアクセスを行うと D100A には "1234,100,1" が格納されます このデータは 16 ビットの範囲で使用して下さい 5.3.9 テキスト形式 16 進数 (.H) ワードデバイスのデバイス名の後ろにドット (.) と H を指定することで レジスタの数値データをテキスト形式 16 進数として扱うことが出来ます H の後ろには使用するレジスタの点数を指定します レジスタの点数は 1~Register Read Block Size で指定した点数まで設定出来ます なお このデータは 16bit の範囲で使用して下さい ( 例 )D100.H3 の場合 : レジスタ D100~D102 をテキスト形式 16 進データとして扱います D100=K1234,D101=K100,D102=K1 が格納されている場合 InTouch でタグ名 D100H アイテム名 D100.H3 の message 型のタグを作成しアクセスを行うと D100H には "04D200640001" が格納されます Visual Basic などでレジスタを一括で扱う場合に便利です 5.3.10 ファイル一括書込 (.F) ワードデバイスのデバイス名の後ろにドット (.) と F を指定することで テキストファイルの内容をレジスタに一括書込する事が出来ます F の後ろには書き込むレジスタの点数を指定します レジスタの点数は 1~Register Read Block Size で指定した点数まで設定出来ます テキストファイルはカンマ区切り形式で作成し POKE 命令実行時にこのファイルパスを指定します InTouch の場合 message 型のタグを作成し スクリプトで タグ名 = ファイル名 ; の代入スクリプトを実行する事で 書き込みが行われます ( 例 )InTouch で D0 から 64 点分 (D0~D63) の書き込みを行う場合 InTouch でタグ名 D0FILE アイテム名 D0.F64 の message 型のタグを作成します InTouch のメモリ整数型タグの tag1,tag2, tag64 の内容を一括で書き込む場合 あらかじめテキストファイルを作成しておき 以下のスクリプトを実行します FileWriteFields("C: TEST.CSV", 0, "tag1", 64); D0FILE = "C: TEST.CSV"; 注意このデータは 16 ビットの範囲で使用して下さい - 31 -
5.3.11 通信情報 (STATUS) アイテム名 STATUS には次の通信状態が格納されています 0: 通信停止 1: 通信中 5.3.12 エラー情報 (ERROR) アイテム名 ERROR に通信エラーコードが格納されます 下位 16 ビットには MELSEC から返されたエラーコードが格納さ れ 上位 16 ビットには Ethernet 通信上のエラーが格納されます 0: 通信エラーなし 1: 受信タイムアウト 4: 受信ヘッダー異常 5: 受信データサイズ異常 16~: Ethernet ユニットから返された終了コード ( ユーザーズマニュアル参照 ) Ethernet 通信エラーの内容は 7.6 WINSOCK エラーコードを参照して下さい 5.3.13 日付情報 (DATE) 特殊アイテム DATE には I/O Server が動作しているコンピュータの日付データが MM-DD-YYYY 形式で格納されます 5.3.14 時刻情報 (TIME) 特殊アイテム TIME には I/O Server が動作しているコンピュータの時刻データが HH:MM:SS.mmm 形式で格納されます 5.3.15 通信の有効 無効 DDE クライアントから DDE EXECUTE コマンドを使用して トピック単位の通信の起動 停止が出来ます [ENABLE] 通信の開始 (I/O Server 起動時はこの状態になっています ) [DISABLE] 通信の停止ただし 処理中のデータが存在すると通信エラーが発生します - 32 -
5.4 InTouch の設定画面 アクセス名 InTouch からアクセスする名称を入力します トピック名と同じ名前にしておくと管理が容易です ノード名 I/O Server の実行プロセスがあるノード名を指定します スタンドアロン環境で使用する場合は 指定する必要はありません アプリケーション名 I/O Server の名前を入力します AJ71QE71 と入力して下さい トピック名 I/O Server で定義したトピック名を入力します プロトコル名 InTouch と I/O Server 間の通信で使用するプロトコルを選択します SuiteLink を使用した方が高速で信頼性の高いデータ通信が行えます その他詳細は InTouch マニュアルを参照して下さい - 33 -
5.5 InTouch から読み出したデータの品質情報にアクセスする方法 下のようにタグ名の後ろに.Quality を付加すると 品質情報を取得できます 品質情報には次の値があります 正常 :0x00C0 すべての処理が正常に完了した場合 上限クランプ :0x0056 ワードレジスタに 16 ビット範囲以上の値を書き込んだ場合 または BCD アクセスで 9999 以上の値を処理した場合 下限クランプ :0x0055 ワードレジスタに 16 ビット範囲以下の値を書き込んだ場合 または BCD アクセスで 0 以下の値を処理した場合 変換不可能 :0x0040 BCD アクセスで文字列が含まれていた場合 アクセス不可 :0x0005 通信時 PLC からエラーを受け取った場合 通信失敗 :0x0018 通信時 PLC から応答がない場合 詳細については InTouch マニュアルを参照して下さい - 34 -
5.6 Microsoft EXCEL での使用方法 EXCEL のシートから I/O Server へアクセスを行う場合は = アプリケーション名 トピック名! アイテム名 とセルに入力下さい 例えば I/O Server でトピック名 PLC1 と設定し データレジスタの D0 をアクセスする場合は次のように入力します アイテムの書き込みは EXCEL のマクロを使用し DDE POKE コマンドを使用する必要があります このコマンドは EXCEL で次のように記述します EXCEL Ver4 Chn= INITIATE ("AJ71QE71"," トヒ ック名 ") = POKE (Chn," アイテム名 ",Data_Reference) =Terminate(Chn) = RETURN() EXCEL Ver5(VBA) Chn = DDEInitiate("AJ71QE71", " トヒ ック名 ") DDEPoke Chn, " アイテム名 ", Data_Reference DDETerminate (Chn) ( 備考 ) Chn は INITIATE コマンドのリターン値を使用します Data_Referrence は POKE で書き込むセルの ID を使用します 終了時には TERMINATE コマンドを使用してチャンネルをクローズする必要があります TERMINATE コマンドは POKE の実行を確実にする為に十分遅らせて実行する必要があります その他のアクセス方法は 添付の DDESAMP.XLS を参考にして下さい Visual Basic によるアクセス方法は 添付の DDE クライアントプログラムを参考にして下さい - 35 -
5.7 I/O Server の表示内容について I/O Server がデータアクセス中は オープンしているポート名 ( 通信ポート名 ) トピック名 アクセス中のデバイス名 範囲がウィンドウに表示されます ポート名表示 ポートの状態 (Open/Closed) が表示されます TCP/IP 使用時は 実際にコネクションが確立された状態で Open と表示されます トピック名表示 Status=XX OK: 通信中 NG: 通信停止 アイテム STATUS と同様の内容 Winsock=XXXXX WINSOCK.DLL のエラーコード (10 進 ) アイテム ERROR の上位 16 ビットを表示 Resp=XXXX シーケンサからから返されたエラーコード (16 進 ) アイテム ERROR の下位 16 ビットを表示シミュレーションモード動作時は Simulated と表示されます デバイス名 範囲表示 READ: 読出中 WRITE: 書込中 アクセス行っている先頭アドレス - 終了アドレス 表示の後に DUE と表示されることがありますが これは通信エラーではありません 通信エラーが発生すると アイテム名 STATUS ERROR の現在値が変化し WWLOGGER にエラーメッセージが表示されます TCP/IP プロトコル使用時に通信エラーが発生すると 3 回リトライを行います それでもエラー復帰しない場合は 強制的にコネクションを切断し 再度接続を行います - 36 -
6 MELSEC Ethernet ユニットの設定方法 シーケンサの Ethernet ユニットに関する設定方法について説明します 6.1 MELSEC-Q シリーズ MELSEC-Q シリーズ Ethernet ユニットにハードウェアスイッチはなく ソフトウェア設定 (GX Developer) で行います 6.1.1 ネットワークパラメータ GX Developer の ネットワークパラメータ 画面を開き ネットワーク種別を Ethernet とし ネットワーク No グループ No 局番に適切な値を設定します 6.1.2 動作設定画面 交信データコードは バイナリコード イニシャルタイミングは 常に OPEN 待ち を選択し RUN 中書込を許可する をチェックして IP アドレスにシーケンサの自 IP を 10 進形式で入力します TCP/IP 使用時は TCP 生存確認設定で KeepAlive を使用 をチェックしてください 備考 RUN 中書込を許可する をチェックしない場合 I/O Server からシーケンサへの書き込みは行えません TCP 生存確認設定 は GX Developer Ver8.05F 以降で設定可能です KeepAlive 機能が使用できるのはシリアル No 上 5 桁 05051 以降の機能バージョン B 以降の Ethernet ユニットです - 37 -
6.1.3 イニシャル設定画面 TCP/IP を使用時は 生存確認パラメータを適切に設定してください 生存確認パラメータが不適切な場合 ケーブル断などのネットワーク障害が発生したときに再接続に時間がかかったり 再接続ができなくなったりすることがありますのでご注意ください 上記の設定例では 通信が途絶えて 10 秒後から 5 秒間隔で 3 回 生存確認処理を行います 6.1.4 オープン設定画面 オープンするポートに関する設定を行います 自動オープン UDP ポート ( デフォルト 5000) のみを使用する場合は 設定する必要はありません 上記の設定例では ポート 1 を UDP/IP ポート 2 とポート 3 を TCP/IP として定義しています 備考 オープン設定を行う場合は 必ず 固定バッファ交信手順 を 手順あり に設定してください 自局ポート番号 及び 交信相手ポート番号 は 16 進形式で入力します (I/O Server のダイアログでは 10 進形式入力 ) UDP 使用時 交信相手 IP アドレスを 255.255.255.255 交信相手ポート番号を FFFF とすることで ブロードキャスト通信が行えます - 38 -
6.2 MELSEC-QnA/A シリーズ MELSEC-QnA/A シリーズ Ethernet ユニットは ハードウェアスイッチの設定及び初期化プログラムが必要になります 6.2.1 モード設定スイッチ (MODE) モード設定スイッチ ( ロータリースイッチ MODE ) は 通常 オンライン 0 にしてお使いください 6.2.2 交信条件設定スイッチ (SW1~SW8) SW1(SW1) SW2(SW2) SW3(----) SW4(----) SW5(----) SW6(----) SW7(SW3) SW8(SW4) 設定項目 TCP タイムアウトエラー時の回線処理選択 データコード設定 ---- CPU 交信タイミング設定 イニシャルタイミング設定 設定内容 TCPタイムアウトエラー発生時の回線処理を選択する OFF TCPタイムアウトエラー発生時 回線をクローズする ON TCPタイムアウトエラー発生時 回線をクローズしない他ノードと交信するデータコードを選択する OFF バイナリコードによる交信 ON ASCIIコードによる交信 使用不可 シーケンサRUN 時 他ノードからデータ書込を許可するかどうか OFF データ書込を禁止する ON データ書込を許可するイニシャル処理を起動するタイミングを選択する OFF クイックスタート ( 遅延時間なしで起動 ) ON ノーマルスタート (20 秒遅延後に起動 ) スイッチ番号の括弧内は A1SJ71E71-B2/B5-S3( 生産中止品 ) のスイッチ番号です データコード設定 (SW2) は バイナリコード (OFF) でご使用ください CPU 交信タイミング (SW7) は データ書込許可 (ON) でご使用ください A1SJ71E71N-T 等の前面にディップスイッチがないユニットは 基板上にディップスイッチがあります その他 詳細は各 Ethernet ユニットのマニュアルをご覧ください 初期値 OFF OFF OFF OFF OFF OFF OFF OFF 6.2.3 ネットワークパラメータ QnA シリーズでは GX-Developer のネットワークパラメータ画面で IP アドレスの設定を行うことができます さらに 自動オープン UDP ポート ( デフォルト 5000) を使用すると プログラムレスで通信設定が行えます 自動オープン UDP ポート ( デフォルト 5000) 以外をご使用になる場合は イニシャル処理とポート制御処理をラダープログラムで記述してください - 39 -
6.2.4 イニシャル処理 QnA/A シリーズ Ethernet ユニットをご使用になる場合は IP アドレスの設定及び初期化要求処理などを行うイニシャル処理プログラムが必要です 一般的にシーケンサの IP アドレスをバッファメモリにセットし イニシャル要求フラグ (Yxxx) を ON 後 イニシャル完了フラグ (Xxxx) が ON するまでの一連の処理を行います 6.2.5 ポート制御処理 QnA/A シリーズ Ethernet ユニットをご使用になる場合は 特定ポートの制御を行うプログラムが必要です 一般的に プロトコル (TCP/IP または UDP/IP) とポート番号などを設定し ポートのオープン / クローズ制御処理を行います 最大 8 局の他ノードと同時に通信を行うことができます - 40 -
7 サンプルラダープログラム 7.1 MELSEC-QnA シリーズ QnA シリーズで Ethernet を使用する場合 初期処理プログラム及びポート処理が必要になります Ethernet ユニットをスロット 0 に装着した場合のサンプルプログラム例を示します Ethernet ユニットのエラー処理などに関してはシーケンサのマニュアルをご覧ください サンプルプログラムの概要 項目 プロトコル 自ポート 他 IP アドレス 他ポート コネクション 1 UDP/IP 1025 255.255.255.255 0xFFFF コネクション 2 TCP/IP アンパッシブ 1026 N/A N/A コネクション 3 TCP/IP フルパッシブ 1027 192.168.0.1 1027 IP アドレス 192.168.0.2 生存確認 14 秒後から 2 秒間隔で 3 回 ICMP パケットを送出 ユニットアドレス Ethernet ユニットは I/O アドレス 0 番地に装着 H/W スイッチ設定 SW1-OFF / SW2-OFF / SW3-OFF / SW4-OFF / SW5-OFF / SW6-OFF / SW7-ON / SW8-OFF イニシャル処理プログラム 1 2 3 4 5 6 1 自 IP アドレスを 192.168.0.2 にセットします 2 生存確認開始間隔タイマを 14 秒 (7 2 秒 ) にセットします 3 生存確認間隔タイマを 2 秒 (1 2 秒 ) にセットします 4STOP 中交信指示を全コネクション 可 (0xFFFF) にセットします 5 イニシャル要求信号 (Y19) を ON します 6 イニシャル完了信号 (X19) が ON 後 TCP/IP ポートを OPEN 待ち状態にします (M10/M20) - 41 -
UDP/IP オープン処理 1 2 3 4 5 1 コネクション 1 のプロトコルに UDP/IP(0x100) をセットします 2 コネクション 1 の自ポート番号を 1025 にセットします 3 ブロードキャスト通信を行うために 他 IP アドレスを 0xFFFFFFFF にセットします 4 ブロードキャスト通信を行うために 他ポート番号を 0xFFFF にセットします 5 ポート OPEN 要求 (Y8) を ON します 備考 UDP/IP は 接続処理が不要です すなわち Y8 のリセット回路は不要であり ポートはオープンしたままとなります 通信相手を特定しない場合 他 IP アドレスを 0xFFFFFFFF 他ポート番号を 0xFFFF と指定することでブロードキャスト通信 ( 一斉同報 ) を行うことが可能です - 42 -
TCP/IP アンパッシブオープン処理 1 2 3 4 1 コネクション 2 のプロトコルに TCP/IP アンパッシブ (0x8002) をセットします 2 コネクション 2 の自ポートに 1026 をセットします 3 その他デフォルト値でオープン要求 (Y9) を ON します (I/O Server からアクセス可能状態になります ) 4 オープン完了信号 (X11) が OFF したら 一旦 オープン要求を OFF し 0.5 秒後に再度 3 の処理を行います 備考 TCP/IP 使用時は 生存確認機能を適切に設定してください セッション切断後 再度オープン待ち状態にする場合は 十分に時間をあけてください - 43 -
TCP/IP フルパッシブオープン処理 1 2 3 4 5 6 1 コネクション 3 のプロトコルに TCP/IP フルパッシブ (0xC002) をセットします 2 コネクション 3 の自ポートに 1027 をセットします 3 コネクション 3 の他 IP に 192.168.0.1 をセットします 4 コネクション 3 の他ポートに 1027 をセットします 5 その他デフォルト値でオープン要求 (YA) を ON します (I/O Server からアクセス可能状態になります ) 6 オープン完了信号 (X12) が OFF したら 一旦 オープン要求を OFF し 0.5 秒後に再度 5 の処理を行います 備考 TCP/IP 使用時は 生存確認機能を適切に設定してください セッション切断後 再度オープン待ち状態にする場合は 十分に時間をあけてください TCP/IP フルパッシブ通信では セッションクローズ直後 Windows によって使用していたポートがロックされます このため 一定時間 再接続ができないことがあります - 44 -
7.2 MELSEC-A シリーズ A シリーズで Ethernet ユニットをスロット 0 に装着した場合のサンプルプログラム例を示します MELSEC-A シリーズと MELSEC-QnA シリーズはバッファメモリアドレスが異なるだけです Ethernet ユニットのエラー処理などに関してはシーケンサのマニュアルをご覧ください サンプルプログラムの概要 項目 プロトコル 自ポート 他 IP アドレス 他ポート コネクション 1 UDP/IP 1025 255.255.255.255 0xFFFF コネクション 2 TCP/IP アンパッシブ 1026 N/A N/A コネクション 3 TCP/IP フルパッシブ 1027 192.168.0.1 1027 IP アドレス 192.168.0.3 生存確認 14 秒後から 2 秒間隔で 3 回 ICMP パケットを送出 ユニットアドレス Ethernet ユニットは I/O アドレス 0 番地に装着 H/W スイッチ設定 SW1-OFF / SW2-OFF / SW3-OFF / SW4-OFF / SW5-OFF / SW6-OFF / SW7-ON / SW8-OFF イニシャル処理プログラム 1 2 3 4 5 6 1 自 IP アドレスを 192.168.0.3 にセットします 2 生存確認開始間隔タイマを 14 秒 (7 2 秒 ) にセットします 3 生存確認間隔タイマを 2 秒 (1 2 秒 ) にセットします 4STOP 中交信指示を全コネクション 可 (0xFFFF) にセットします 5 イニシャル要求信号 (Y19) を ON します 6 イニシャル完了信号 (X19) が ON 後 TCP/IP ポートを OPEN 待ち状態にします (M10/M20) - 45 -
UDP/IP オープン処理 1 2 3 4 5 1 コネクション 1 のプロトコルに UDP/IP(0x100) をセットします 2 コネクション 1 の自ポート番号を 1025 にセットします 3 ブロードキャスト通信を行うために 他 IP アドレスを 0xFFFFFFFF にセットします 4 ブロードキャスト通信を行うために 他ポート番号を 0xFFFF にセットします 5 ポート OPEN 要求 (Y8) を ON します 備考 UDP/IP は 接続処理が不要です すなわち Y8 のリセット回路は不要であり ポートはオープンしたままとなります 通信相手を特定しない場合 他 IP アドレスを 0xFFFFFFFF 他ポート番号を 0xFFFF と指定することでブロードキャスト通信 ( 一斉同報 ) を行うことが可能です - 46 -
TCP/IP アンパッシブオープン処理 1 2 3 4 1 コネクション 2 のプロトコルに TCP/IP アンパッシブ (0x8002) をセットします 2 コネクション 2 の自ポートに 1026 をセットします 3 その他デフォルト値でオープン要求 (Y9) を ON します (I/O Server からアクセス可能状態になります ) 4 オープン完了信号 (X11) が OFF したら 一旦 オープン要求を OFF し 0.5 秒後に再度 3 の処理を行います 備考 TCP/IP 使用時は 生存確認機能を適切に設定してください セッション切断後 再度オープン待ち状態にする場合は 十分に時間をあけてください - 47 -
TCP/IP フルパッシブオープン処理 1 2 3 4 5 6 1 コネクション 3 のプロトコルに TCP/IP フルパッシブ (0xC002) をセットします 2 コネクション 3 の自ポートに 1027 をセットします 3 コネクション 3 の他 IP に 192.168.0.2 をセットします 4 コネクション 3 の他ポートに 1027 をセットします 5 その他デフォルト値でオープン要求 (YA) を ON します (I/O Server からアクセス可能状態になります ) 6 オープン完了信号 (X12) が OFF したら 一旦 オープン要求を OFF し 0.5 秒後に再度 5 の処理を行います 備考 TCP/IP 使用時は 生存確認機能を適切に設定してください セッション切断後 再度オープン待ち状態にする場合は 十分に時間をあけてください TCP/IP フルパッシブ通信では セッションクローズ直後 Windows によって使用していたポートがロックされます このため 一定時間 再接続ができないことがあります - 48 -
8 トラブルシューティング 8.1 トラブルシューティング手順 開始 通信出来ない ( 読出出来ない ) Yes PING コマンドを実行 NG Ethernet 回線 ラダーをチェック OK No ポート番号を確認 NG ポート番号を修正 OK 第 8 章の内容をチェック 読出は出来るが 書込が出来ない Yes Ethernet ユニットの CPU 交信タイミングスイッチ または ラダーで同一デバイスに上書きしていないか確認 終了 - 49 -
8.2 データが変化しない 読み出せない I/O Server を起動し InTouch でシーケンサのデータ表示させてもデータが変化しない EXCEL でシーケンサのデータ読み出せない などの現象が発生した場合 シーケンサと I/O Server の間で正しく通信が行われてない事が考えられます WWLOGGER プログラムを起動し エラーが発生していないか確認して下さい プロトコルに TCP/IP を選択したとき シーケンサとのコネクションに失敗した場合 次の様なコネクション接続失敗のメッセージが WWLOGGER に表示されます WWLOGGER の表示例を示します 接続成功時のメッセージ例 96/06/07 19:33:17.781/AJ71QE71/Socket Open Success:(Port=TCP-UN) 96/06/07 19:33:17.851/AJ71QE71/Connection Success:(Port=TCP-UN) 接続失敗時のメッセージ例 96/06/07 19:29:23.654/AJ71QE71/Socket Open Success:(Port=TCP-UN) 96/06/07 19:30:08.719/AJ71QE71/Connect Error (Port=TCP-UN ret=10060) 接続に失敗した場合 ケーブル Ethernet ユニットの設定を確認して下さい 10BASE5 を使用する場合は外部電源が必要です また パソコン側 Ethernet ボードの通信メディア選択 (10BASE5/2/T) も確認下さい もしハードウェア的に問題無ければ IP アドレス ポート No が I/O Server 側とシーケンサで一致しているか確認して下さい 8.3 レスポンスタイムアウトが発生する WWLOGGER にレスポンスタイムアウトのメッセージが表示される場合 次の点を確認下さい メッセージ例 96/04/15 09:00:02.903/AJ71QE71 /Response Timeout (Port=MELSEC:1) UDP/IP で常時レスポンスタイムアウトが発生する場合は IP アドレス ポート No の設定が正しく行われていません UDP/IP で時々発生する場合は Ethernet 回線上のトラフィックが多くパケットが消失したことが考えられます TCP/IP で発生する場合は Ethernet 回線をチェックして下さい また Port Configuration の ReplyTimeout の値を大きくして下さい 8.4 InTouch で VIEW と WM を切り替えると通信出来ない InTouch で Window Maker と Window Viewer を切り替えた場合 または Window Viewer を終了し再起動すると通信できなくなる事があります これは Windows NT 使用時に I/O Server 設定で TCP/IP プロトコルを選択し HOST PORT No に 0 以外を指定した場合発生します Window Viewer の終了 再起動により I/O Server とシーケンサ間のコネクションが一度切断されますが その後も数分間 OS がポートを占有しています この間に I/O Server が再接続行うと 指定したポート使用できない為 通信出来ません この問題を回避するには HOST PORT No を 0 に設定するようにして下さい 0 を設定すると OS 側で空いているポートを自動的に割付するので 再接続が可能になります また HOST PORT No. を 0 に設定した場合は MELSEC 側の TCP/IP オープン方式は Unpassive に設定して下さい ( パソコン側のポート番号が不定の為 ) なお InTouch の設定 ( 特殊 / 設定 ) で Window Viewer から Window Maker に切り替えたとき Window Viewer を終了する を選択した場合 切り替えにより Window Viewer が再起動され 同様の現象が発生します - 50 -
8.5 WWLOGGER のエラーメッセージについて 通信エラーが発生すると WWLOGGER にメッセージが表示されます 以下に代表的なものを記します 接続先が A シリーズの場合メッセージ Response Error (Response = 81h, Error = xx) /AJ71QE71/AJ71E71 Error Code = 20h Response Header Error (Header = 99h) Response Data Size Error (Recv size = 20 -> 30) 内容 Ethernetユニットから正常完了以外のコート が返された Error=xx の内容はEthernetユニットマニュアルの終了コート 一覧を参照してくだ AJ71E71から終了コート 5Bhが返されたときの異常コート を表示します AJ71E71ユーサ ース マニュアルシーケンサCPU 内テ ータの読出 / 書込の異常コート 一覧を参照してください 受信したテ ータのヘッタ が異常 受信したテ ータ長が要求したテ ータ長と異なる 接続先が Q/QnA シリーズの場合メッセージ Response Error (ErrCode = 4031h) Response Header Error (Header = 30h) Response Data Size Error (Recv size = 30 -> 40) Response Data Length Error (Recv size = 30 -> 20) 内容 AJ71QE71/QJ71E71から0 以外の終了コート が返された Err Code=xxxxの内容は各ユニットのユーサ ース マニュアルを参照くださ受信テ ータのヘッタ 部分が異常 受信伝文サイス が要求したテ ータ長と異なる 受信伝文内のテ ータ長が要求したテ ータ長と異なる その他のエラーメッセージ メッセージ 内容 Socket Create Error (Port= 論理ホ ート名 ret=xxxxxx) ソケットの作成に失敗した Ret=xxxxxの内容は Winsockエラーコー ト 参照 Bind Error (Port= 論理ホ ート名 ret=xxxxx) ハ イント に失敗した Ret=xxxxxの内容は Winsockエラーコート 参 Port nothing (Port= 論理ホ ート名 ) 空いているホ ートがない ( ホ ート数は最大 256ホ ートです ) Connect Error (Port= 論理ホ ート名 ret=xxxxx) 接続に失敗した 8.3 項を参照して下さい Ret=xxxxxの内容は Winsockエラーコート 参照 I/OCtl Error (ret=xxxxx) I/Oモート 変更エラー Ret=xxxxxの内容は Winsockエラーコート 参 Send Error (Port= 論理ホ ート名 ERROR CODE = コマント 送信エラー ERROR CODE=xxxxxの内容は8.7 項参照 Board has data at command send time:(port= 論理ホ ート名 ) 送信時に受信テ ータが残っていた ReplyTimeoutの時間を大きくしてください Response Timeout (Port= 論理ホ ート名 ) Ethernetユニットからレスホ ンスが返ってこない 8.3 項参照 Resp Error (Port= 論理ホ ート名 ERROR CODE = xxxxx) 受信エラー ERROR CODE=xxxxxの内容は8.7 項参照 - 51 -
8.6 WINSOCK エラーコード コード 内容 10024 利用できるファイルディスクリプタがありません 10022 ソケットはまだアドレスにバインドされていません 10035 ソケットが非ブロッキングになっていて 接続が完了できません ( タイムアウトが発生していま 10036 実行中の Windowsソケット操作がブロッキングされています 10038 ディスクリプタがソケットではありません 10039 宛先アドレスが必要です 10040 データグラムが長すぎて 指定したバッファに入りきらないため 切り詰められました 10048 指定したアドレスは使用中です (Windows98/NT 環境でI/Oサーバのポート番号に0 以外を指 定したとき発生します ) 10049 指定したアドレスは ローカルマシンからは利用できません 10050 Windowsソケットのインプリメントが ネットワークサブシステムの異常を検出しました 10051 現時点で ホストからネットワークに到達できません 10052 Windows ソケットのインプリメントがソケットをドロップしたので 接続をリセットする必要がありま 10053 タイムアウトまたはその他の障害により 仮想回路はアボートされました 10054 リモート側から仮想回路がリセットされました (MELSECがリセット 電源 OFFされました ) 10055 利用できるバッファ領域がありません ソケットは接続できません 10056 ソケットは既に接続されています 10057 ソケットが接続されていません 10058 ソケットはシャットダウンされました 10060 接続を試みましたが タイムアウトで接続を確立できませんでした (Ethernet 回線及びMELSEC 側のプログラムをチェックして下さい ) 10061 接続を試みましたが リジェクトされました (MELSEC 側にコネクション接続が残っています MELSECのCPUリセット又はオープン要求信号をOFFにして下さい ) - 52 -
8.7 診断機能 本機能は 通信異常などが発生した場合に 送受信のメッセージを表示したり ラップタイムを表示したりすることができます WIN.INI ファイルの [AJ71QE71] セクションに DebugMenu=1 と記述し I/O Server を再起動すると表示されます WIN.INI の追記例 [AJ71QE71] DebugMenu=1 追加する (WIN.INI の他の内容は変更しないで下さい ) Show Send をチェックすると WWLOGGER に送信ログが出力されます Show Receive をチェックすると WWLOGGER に受信ログが出力されます Elapse をチェックすると I/O Server のウィンドウ内にラップタイムが表示されます その他のメニューは使用しないで下さい また 使用後は必ず WIN.INI の内容を元に戻し 診断メニューを出さないようにして下さい - 53 -
送受信のログ内容送受信ログには 日時 サーバ名 / トピック名 読出 / 書込 (RD/WR) デバイス名 範囲 送受信内容 の情報が出力されます 送受信の区別は 送信 (S:)/ 受信 (R:) の文字列で識別します また データは最大 128 バイトまで出力されます (1 バイトを 16 進 2 文字に変換し出力します ) 日付 時間 サーハ 名 トヒ ック名区分テ ハ イス名範囲 送受信テ ータ 98/01/09 19:37:18.777/AJ71QE71/PLC1 RD D 0-0 S: 01FF08000000000020440100 98/01/09 19:37:18.877/AJ71QE71/PLC1 R: 8100AB65 98/01/07 12:55:17.667/AJ71QE71/PLC1 WR TN 200-200 S: 03FF0800C80000004E5401000000 98/01/07 12:55:17.717/AJ71QE71/PLC1 R: 8300 ラップタイム表示 Elapse= の値がラップタイムとなります ラップライムは トピック毎の通信時間を示し トピックの最初の送受信伝文を処理してから 次の最初の伝文を処理するまでの時間になります 従って Update Interval で設定した時間内で処理が終わっている場合は Update Interval とほとんど同じ値が表示されます 複数のトピックを設定する場合は この値を参考にし Update Interval を設定して下さい なお 連続して通信していない場合は この値は不定となります - 54 -
9 付録 9.1 WWLOGGER について WWLOGGER は Wonderware InTouch など Factory Suite 製品の付属ツールです 本製品に WWLOGGER は付属しておりませんので InTouch7.x に付属している WWLOGGER Ver7 をお使い下さい また Visual Basic など単独でご使用になられる場合は 送受信メッセージの出力など WWLOGGER を利用した機能の一部は使用できません 9.2 TCP/IP 使用時の注意事項 TCP/IP における通信でケーブル断もしくはコリジョンの影響等で通信エラーが発生した場合 I/O Server は 設定された時間だけシーケンサからの応答を待ち 時間内に応答メッセージを受信できないとタイムアウトエラーになります さらに設定されたリトライ回数だけ応答メッセージを待ちますが それでも応答メッセージが受信できない場合 一旦コネクションを切断し 再接続を試みます このときシーケンサ側が LISN 状態になっていないと再接続することができませんので Ethernet ユニットの各種設定をラダープログラムで行う場合は必ず再接続処理を作成してください また Ethernet ユニットの 生存確認機能 も適切に設定する必要がありますので注意してください 生存確認機能の設定例 MELSEC の 生存確認機能 のデフォルト値は 上位から通信が途絶えると一定時間後から PING コマンド (ICMP パケット ) を使って上位コンピュータが存在するかチェックし 上位コンピュータが見つからない場合 接続中のポートを CLOSE し LISN 状態になります 上記設定例では 通信が途絶えて 10 秒後から 5 秒間隔で 3 回 生存確認処理を行います すなわち 電源断やケーブル断などの障害で 10 秒間通信が途絶えると PLC から ICMP パケットを送出し 上位コンピュータと通信できているか確認します 3 回応答がない場合は 一旦 ポートを CLOSE し LISN 状態になります Q シリーズのデフォルト値は 通信が途絶えて 10 分後から 10 秒間隔で生存確認を行うように設定されています これは コネクションが切断されてから 最悪 10 分間再接続ができない状態になることがありますので注意してください I/O Server がポート CLOSE 後に回線復帰したケースでは ICMP パケットが到達してしまい PLC 側が LISN 状態にならず PLC をリセットしない限り再接続できません 生存確認は ICMP パケットを使いますので 必ず I/O Server がポートを CLOSE する前に PLC が LISN 状態になるようにしなければなりません すなわち (I/O Server のタイムアウト値 リトライ回数 ) > (PLC の生存確認開始タイマ + 生存確認間隔 生存確認再送回数 ) となるように設定してください Q シリーズ使用時 KeepAlive 機能を使って生存確認を行うことを推奨します PING による生存確認は IP アドレスに対して ICMP パケットを送出するのに対し KeepAlive 機能による生存確認はポートに対して ACK パケットを送出するため 前述のようなタイミングによる問題が起きません 設定方法は 6.3 Q シリーズ Ethernet ユニットのソフトウェア設定 を参照してください この機能が使用できるのは シリアル No 上 5 桁 05051 以降の機能バージョン B 以降の Ethernet ユニットです - 55 -
9.3 DDE クライアントプログラム (DDETEST.EXE) DDE クライアントプログラムを製品に添付していますので I/O Server の通信チェックやサンプルプログラムとしてご使用ください AppName( アプリケーション名 ) TopicNmae( トピック名 ) を設定し Connect ボタンを押して下さい アプリケーション名コンボボックスは 複数のタイプが選択できるようになっていますので AJ71QE71 を選択して下さい コネクション確立後にアプリケーション名やトピック名を変更したい場合は 一度 DisConnect ボタンを押してから行って下さい (I/O Server を起動しておく必要があります ) Direct Read Item Name に設定されたデバイスの値を Request ボタンが押される度に I/O Server から読み出します また AutoRead ボタンを押すと STOP ボタンが押されるまで 自動更新を行います Direct Write Item Name で設定したデバイスに対して 任意の値を書き込みます File Batch Write 指定デバイス範囲に対して CSV ファイルに設定されている値を一括で書き込みます Special Read/Write デバイスタイプ デバイス番号 アクセス点数を指定すると 任意の形式による一括読出 / 書込が行えます - 56 -
9.4 ユーザサポート I/O Server についてのお問い合わせは下記の要領でお願いします I/O Server 以外のご質問 ( ハードウェア デバイスドライバ DDE クライアントプログラム シーケンスプログラム EXCEL Visual Basic など ) に関しては お答え出来ませんので ご了承下さい 株式会社たけびし I/O Server ユーザサポート TEL 075-325-2261 FAX 075-325-2273 受付時間 9:00~12:00 13:00~17:00 Email fa-support@takebishi.co.jp Web http://www.faweb.net/ 下記項目を確認してからお問い合わせ下さい 製品名 製品のシリアル番号 (CD-ROM に記載されています ) ご使用のパソコン機種 メモリ容量 OS の種類 / バージョンご使用のシーケンサ CPU 通信ユニット型名 バージョンクライアントのソフトウェア (InTouch EXCEL Visual Basic) - 57 -
- 58-9825-1-3Q 2006 Oct.