5 I/O SERVERの使い方
5.3 アイテム名の特殊な使い方について
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で指定 した点数まで設定出来ます。このデータは16ビットの範囲で使用して下さい。
テキストファイルはカンマ区切り形式で作成し、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";
5.3.11 通信情報(STATUS)
アイテム名「STATUS」には次の通信状態が格納されています。
0:通信停止 1:通信中
5.3.12 エラー情報(ERROR)
アイテム名「ERROR」に通信エラーコードが格納されます。
0: 通信エラーなし
100~355: 計算機リンクユニットからNAKが返されたときのエラーコード
(NAK応答時のエラーコードに「100」を加算した値)
1001: 受信タイムアウト
1002: 通信ポート異常
1003: サムチェックエラー
1004: 受信ヘッダー異常
1005: 受信データサイズ異常
※以下のエラーは、MELSEC-Q/QnAシリーズ対応版I/O Serverの場合
4000H~4FFFH: CPUが検知したエラー(Q/QnACPUユーザーズマニュアル詳細編参照)
7000H~7FFFH: QJ71C24/AJ71QC24が検知したエラー(QJ71C24マニュアル詳細編参照)
F000H~FFFFH: MELSECNET/10が検知したエラー(MELSECNET/10マニュアル参照)
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] 通信の停止
ただし、処理中のデータが存在すると通信エラーが発生します。
5.4 InTouch の設定画面
【アクセス名】
InTouchからアクセスする名称を入力します。トピック名と同じ名前にしておくと管理が容易です。
【ノード名】
I/O Server の実行プロセスがあるノード名を指定します。スタンドアロン環境で使用する場合は、指定する必要はありませ
ん。
【アプリケーション名】
I/O Serverの名前を入力します。「EZSocket」と入力して下さい。
【トピック名】
I/O Serverで定義したトピック名を入力します。
【プロトコル名】
InTouchとI/O Server間の通信で使用するプロトコルを選択します。SuiteLinkを使用した方が高速で信頼性の高いデータ
通信が行えます。
その他詳細は、InTouchマニュアルを参照して下さい。
5.5 InTouch から読み出したデータの品質情報にアクセスする方法
下のようにタグ名の後ろに「.Quality」を付加すると、品質情報を取得できます。
品質情報には次の値があります。
【正常:0x00C0】
すべての処理が正常に完了した場合
【上限クランプ:0x0056】
ワードレジスタに16ビット範囲以上の値を書き込んだ場合。または、BCDアクセスで 9999以上の値を処理した場合。
【下限クランプ:0x0055】
ワードレジスタに16ビット範囲以下の値を書き込んだ場合。または、BCDアクセスで 0以下の値を処理した場合。
【変換不可能:0x0040】
BCDアクセスで 文字列が含まれていた場合。
【アクセス不可:0x0005】
通信時、PLCからエラーを受け取った場合。
【通信失敗:0x0018】
通信時、PLCから応答がない場合。
詳細については、InTouchマニュアルを参照して下さい
5.6 Microsoft EXCEL での使用方法
EXCELのシートからI/O Serverへアクセスを行う場合は、「=アプリケーション名|トピック名!アイテム名」とセルに入力下さ
い。例えば、I/O Serverでトピック名PLC1と設定し、データレジスタのD0をアクセスする場合は次のように入力します。
アイテムの書き込みは、EXCEL のマクロを使用し DDE POKE コマンドを使用する必要があります。このコマンドは
EXCELで次のように記述します。
EXCEL Ver4
Chn= INITIATE ("EZSocket","トピック名")
= POKE (Chn,"アイテム名",Data_Reference)
=Terminate(Chn)
= RETURN()
EXCEL Ver5(VBA)
Chn = DDEInitiate("EZSocket", "トピック名")
DDEPoke Chn, "アイテム名", Data_Reference
DDETerminate (Chn)
(備考)
・ChnはINITIATEコマンドのリターン値を使用します。
・Data_ReferrenceはPOKEで書き込むセルのIDを使用します。
・終了時にはTERMINATEコマンドを使用してチャンネルをクローズする必要があります。
・TERMINATEコマンドは、POKEの実行を確実にする為に十分遅らせて実行する必要があります。
・その他のアクセス方法は、添付のDDESAMP.XLSを参考にして下さい。
・Visual Basicによるアクセス方法は、添付のDDEクライアントプログラムを参考にして下さい。
5.7 I/O Server の表示内容について
I/O Server がデータアクセス中は、オープンしているトピック名、アクセス中のデバイス名・範囲がウィンドウに表示されま
す。
【トピック名表示】
Status=XX OK:通信中、NG:通信停止。アイテムSTATUSと同様の内容
Error=XXXXX アイテム名ERRORの値を表示
シミュレーションモード動作時は、「Simulated」と表示されます。
【デバイス名、範囲表示】
READ:読出中、WRITE:書込中。アクセス行っている先頭アドレス-終了アドレス。表示の後に、「DUE」と表示されることが ありますが、これは通信エラーではありません。
通信エラーが発生すると、アイテム名STATUS、ERRORの現在値が変化し、WWLOGGERにエラーメッセージが表示さ れます。
※ 通信エラーが発生すると、WWLOGGERにエラーメッセージが表示されます。
※ シーケンサCPUの電源断またはケーブル未接続の状態でAバスボードにアクセスすると、タイ ムアウトになるまでに 時間がかかることがあります。
※ MELSECNETⅡ/10 ボードの場合、ネットワークがダウン(断線、マスター局電源ダウン)して いても、ボード上の自局
デバイスの読み出しはエラーになりませんので、リンク状態は特殊リンクリレー/特殊リンクレジスタを参照して下さい。
特殊リンクリレー/特殊リンクレジスタの内容に関してはMELSECNETⅡ/10データリンクユーザーズマニュアルを参 照して下さい。