ユーザー・マニュアル

DSH-Converter SECS-HSMS プロトコル・コンバータソフトウェア
ユーザー・マニュアル
2015年3月 (改訂-4)
株式会社データマップ
文書番号 DSH-Converter-15-30300-04
[取り扱い注意]
この資料ならびにソフトウェアの一部または全部を無断で使用、複製することはできません。
本説明書に記述されている内容は予告なしで変更される可能性があります。
Windows は米国 Microsoft Corporation の登録商標です。
ユーザーが本ソフトウェアの使用によって生じた遺失履歴、
(株)データマップの予見の有無を問わず発生
した特別損害、付随的損害、間接損害およびその他の拡大損害に対して責任を負いません。
【改訂履歴】
番
号
1.
改訂日付
項目
概略
2014/11
初版
DSH-Converter-14-30300-00
2.
2015/2
(全体)
全体的に更新した。
接続形態、説明の追加など
3.
2015/2/13
comm.def の設定
などの説明
4.
2015/2/23
5.
2015/3/16
・文書番号を DSH-Converter-15-30300-02 に変更した。
・1.2 の節名を変更し、ポート、デバイス番号の説明を追加した。
・4.2 通信環境定義ファイルの変更(編集) - 追加説明
P-12 [注釈]を追加した。
DVID の値は、接続する間で同じ値に設定すること。
受信メッセージの扱 1.4 プロトコル変換対象にしない受信メッセージ
いの説明追加
操作画面の選択 4.1 操作画面の選択設定ファイル を追加した。
設定ファイルの追加
起動時の操作画面表示の仕方をファイルの内容で指定できるよう
にした。
comm.def と
6.3 通信上の制限と環境ファイルの節の追加
通信上の制限
付録-D comm.def の設定に関する制限値などの明記
目 次
1. はじめに............................................................................................1
1.1 システム構成と接続形態 .........................................................................................................................................1
1.2 SECS と HSMS ポートの確認と通信環境定義ファイル(comm.def)の設定 .................................................3
1.3 SEMI 関連資料 ........................................................................................................................................................4
1.4 プロトコル変換対象にしない受信メッセージ.......................................................................................................4
2.コンバータの動作環境 .................................................................................5
3.インストレーション .....................................................................................6
3.1 インストールと保存場所 .........................................................................................................................................6
3.2 インストール操作手順.............................................................................................................................................7
3.3 使用ライセンスのための USB プロテクト・キーのインストール................................................................... 10
4.プログラム実行前の準備 .............................................................................11
4.1 操作画面の選択設定ファイル .............................................................................................................................. 12
4.1.1 設定コマンドと値...................................................................................................................................... 12
4.1.2 ファイル設定例.......................................................................................................................................... 13
4.2 通信環境定義ファイル(comm.def) ................................................................................................................. 14
4.2.1 通信環境定義ファイルの設定項目と内容.................................................................................................. 14
4.2.2 通信環境定義ファイルの変更(編集) ..................................................................................................... 15
5.プログラム起動と画面と操作 ..........................................................................17
5.1 テスト時の操作画面.............................................................................................................................................. 17
5.2 本稼働時の画面 ..................................................................................................................................................... 18
5.3 バージョン情報とログラム・ファイルのタイムスタンプ確認画面 ................................................................. 18
6.通信プロトコル仕様 ..................................................................................19
6.1 SECSプロトコル.............................................................................................................................................. 19
6.1.1 SECS メッセージ...................................................................................................................................... 19
6.1.1.1 通信メッセージ構造....................................................................................................................... 19
6.1.2 SECS-I 通信プロトコル........................................................................................................................... 21
6.1.2.1 マスター/スレーブ.......................................................................................................................... 21
6.1.2.2 使用する制御コード....................................................................................................................... 21
6.1.2.3 プロトコル監視タイマー ............................................................................................................... 21
6.1.2.4 ブロック転送シーケンス ............................................................................................................... 22
6.1.3 SECS通信エラーの処理....................................................................................................................... 23
6.2 HSMSプロトコル.............................................................................................................................................. 25
6.2.1 HSMS メッセージ..................................................................................................................................... 25
6.2.1.1 メッセージ構造 .............................................................................................................................. 25
6.2.2 HSMS プロトコル..................................................................................................................................... 27
6.2.2.1 エンティティ .................................................................................................................................. 27
6.2.2.2 TCP/IP と HSMS-SS 通信接続 ................................................................................................. 27
6.2.2.3 データの送受信 .............................................................................................................................. 28
6.2.3 HSMS 通信エラーの処理 ......................................................................................................................... 29
6.3 コンバータの通信上の制限と通信環境定義ファイルについて ......................................................................... 30
6.3.1 SECS-II メッセージの最大サイズ(バイト)と通信トランザクション数について ........................ 30
6.3.2
通信可能状態でない相手に対するメッセージの送信と送信エラーについて................................... 30
6.3.3 T3 タイムアウトになった 1 次メッセージの送信について ................................................................... 31
付録-A Windows起動時に自動的に DshConverter.exe を起動するための操作 .................................32
付録-B テスト操作画面の表示画面 ......................................................................35
付録-C シリアル通信ケーブルについて ....................................................................36
付録-D 通信環境定義ファイル(COMM.DEF)仕様 .............................................................37
付録ーD.1 ドライバー定義コマンド........................................................................................................................... 38
付録-D.2 ポート定義コマンド................................................................................................................................... 40
付録-D.3 デバイスの定義........................................................................................................................................... 42
付録-E ログファイル(変換プログラム、通信ドライバー)の名前と管理について .........................................43
付録-E.1 DSHConverter プログラムのログ記録ファイル.................................................................................... 43
付録-E.2 SECS/HSMS 通信ドライバーのログ記録ファイル ............................................................................... 43
付録-E.3 DSHConverter プログラムの通信ログ例 ............................................................................................... 44
付録-E.4 SECS/HSMS 通信ドライバーの通信ログ例........................................................................................... 45
1. はじめに
本マニュアルは、DSH-Converter (DSH コンバータープログラム)の機能仕様、インストール、設定情報と設
定操作ならびに起動操作について説明します。本コンバータープログラムを以下 DSH コンバーターと呼びます。
DSH コンバータプログラムは、OS、Windows-7、8.1 Professional のコンピュータの下で動作します。
本コンバーターは、SEMI Standard が定める SECS-I ならびに HSMS-SS プロトコル通信仕様に準拠する SECS-I
と HSMS-SS プロトコル装置間の接続ならびにデータ通信のために使用することができるソフトウェアです。
すなわち、DSH コンバーターは、SECS-I プロトコル通信機能を有する装置と、HSMS-SS プロトコル通信機能を
有する装置(ホスト)との間に位置し、それぞれの機器から受信したメッセージを相手の装置の通信プロトコル
に変換し、送信するものです。
1.1 システム構成と接続形態
システム構成と3つの接続形態例を下に示します。
(装置-S は SECS-1, 装置-H は HSMS-SS の機能を有する)
通常は、装置-S は製造機器であり、装置-H はホストと考えてください。もちろん、その逆の場合もあります。
(1)装置-S、装置-H の間に DSH コンバーター実装 PC を設置する形態
工場内 LAN Network
装置-S
SECS-I
通信機能
(シリアル)
Serial
DSH コンバータ-・プロトコル
変換プログラム
装置-H
HSMS-SS
TCP/IP
SIO + Ethernet
Windows7 or 8.1 PC
Ethenet
通信機能
(2)HSMS-SS(TCP-IP)で接続する装置-H のコンピューター内部に DSH コンバーターをインストールし、動作させる形態
(装置-H に SIO ポートあり)
装置-S
SECS-I
通信機能
(シリアル)
Serial
SIO
装置-H
DSH コンバータプロトコル
変換プログラム
TCP/IP
Local/Host
Ethernet
工場内 LAN Network
HSMS-SS
通信機能
* Local Host
IP =127.0.0.1
1
(3)HSMS-SS(TCP-IP)で接続する装置-H のコンピューター内部に DSH コンバーターをインストールし、動作させる形態
装置-H に SIO なしの場合で シリアル-USB 変換ケーブルを使用
(注)このケースでは、SIO のポート名が COMM
装置-S
SECS-I
通信機能
(シリアル)
Serial
Serial/USB 変換
USB
DSH コンバータプロトコル
変換プログラム
ケーブル
TCP/IP
Local/Host
Ethernet
工場内 LAN Network
装置-H
HSMS-SS
通信機能
* Local Host
IP =127.0.0.1
(注意)
(2)、(3)の形態の場合、DSH コンバータのメイン画面にあるメッセージログ表示の選択を
Off または On - Header することを推奨します。
通信メッセージ表示選択
Off
On - Header
On – Header + Text
On – Header + Text を選択すると、表示出力情報量が
多くなり、コンピュータに負荷をかけ、他のプログラムに影響を与
える可能性があります。
なお、通信メッセージ表示選択がどのように選ばれていても、通信した SECS-II メッセージは、」
ログファイル上に、リスト構造形式で記録されます。
2
1.2 SECS と HSMS ポートの確認と通信環境定義ファイル(comm.def)の設定
1.1での3つの形態のそれぞれの選択で、DSH コンバーターの通信に関連する項目に対し必要な情報を通信
環境定義ファイル(comm.def)の中に反映されることになります。
以下、プロトコルの呼称は以下のように解釈してください。
・SECS プロトコルは、SECS-I プロトコルのことを意味します。
・HSMS プロトコルは、HSMS-SS プロトコルのことを意味します。
DSH コンバーターは、通信ドライバーの次のポートとデバイス番号を使用します。
ここでいうポート番号とデバイス番号は、DSH コンバーターのドライバーが規定するものであり、
comm.def ファイルにその内容を定義します。
ポートとデバイスの設定値は固定です。
(変更しないでください)
プロトコル名
HSMS
SECS
ポート番号
1
2
デバイス番号
1
2
通信環境定義ファイル(comm.def)については、
「4.プログラムを実行する前の準備」
、
「付録-D 通信環境定義ファイル COMM.DEF)仕様」で詳しく説明します。
[シリアルポートの番号(Windows 上)の確認]
Windows では、SECS 用シリアルポートは、デバイスマネージャーの中のポート(COM と LPT) の画面上で、サ
ポートされている SIO ポート番号と、実際にコンバーターとを接続するポート番号を確認した上で設定して
ください。
なお、SECS 用シリアルポートの設定は、COMM.DEF ファイルに、ポートの定義の中の “COMM_PORT” コマンドで
設定します。
3
1.3 SEMI 関連資料
番号
1
2
3
4
5
資料名
SEMI-E4 製造装置通信スタンダード1 メッセージトランスファー(SECS-Ⅰ)
SEMI E5 半導体製造装置通信スタンダード2メッセージ内容(SECS-II)
SEMI-E5 1296 半導体製造装置通信スタンダード1 メッセージ内容(SECS-II)
SEMI-E37 高速 SECS メッセージサービス(HSMS)汎用サービス
SEMI-E37.1 高速 SECS メッセージサービス シングルセッションモード(HSMS-SS)
1.4 プロトコル変換対象にしない受信メッセージ
DSH コンバーターは、以下の条件が一致しない SECS-Ⅱメッセージについてプロトコル変換処理をしません。
従って、相手装置にはそのメッセージを送信しません。
(1)SECS-Ⅰプロトコル
装置からの SECS-Ⅱメッセージのヘダーのデバイス ID が、コンバーターに comm.def で設定されデバイス ID と
一致しないメッセージは受信して廃棄します。
(2)HSMS-SS プロトコル
SECS-Ⅰプロトコルと同様にセッション ID が一致しないメッセージは廃棄します。
(3)HSMS における制御メッセージ (Select.req,rsp, Linktest.req, rsp など)
4
2.コンバータの動作環境
DSH コンバータープログラムの動作に必要なコンピュータの条件は下表の通りです。
番号
1
項目
コンピュータ(本体)
内容
Windows-7 または 8.1 Professional が動作する PC
2
OS
Windows-7 または 8.1 Professional (32 ビットモードで動作)
3
CPU クロック
1 GB HZ 以上
4
主メモリ
2 G バイト以上(推奨)
5
ハードディスク
100 G バイト以上(推奨)
6
SECS 用通信ポート
シリアルポート x 1 (複数ある場合は先頭のポートを使用する)
7
HSMS 用通信ポート
Ether ネット x1
8
USB2.0 ポート
(1)コンバーターが 1 ポート使用する。
(ハードウェア・プロテクトキー用)
(2)PC に SIO が無い場合、シリアル-USB 変換ケーブル接続用に
1ポート使用する。
(シリアル-USB 変換ケーブルはお客様が用意してください。
)
なお、キーボード、ディスプレイ、CD/DVD ドライブは、コンバータープログラムのインストレーションならび
に通信環境定義ファイルの変更作業が終わった後、本稼働時には使用しませんので、問題が無ければ、切り離し
ても構いません。
もちろん、接続したままでもかまいません。
(ノートパソコンの場合など)
(注)OS が Windows XP Professional の下でも動作します。
5
3.インストレーション
3.1 インストールと保存場所
DSH コンバータープログラム製品は、CD ディスクで提供されます。
インストールにあたって、Windows のログインは、 ユーザ Administrator で行ってください。
インストールは、製品 CD 内に含まれる setup.exe プログラムを実行することによって開始することができま
す。
通常のインストールの結果、C ドライブ・ディスクの \DshConverter ディレクトリ(=フォルダー)の下に、
次の表に示す通りに、サブ・ディレクトリが生成され、そこに、各ファイルが種類別に保存されます。
保存 メイン・ディレクトリ
\DshConverter
サブ・ディレクトリ
\bin
\Japanese
保存ファイル名
DshConverter.exe (日本語版)
DshConvert.exe - ショートカット.lnk
dshdr2_conv.dll
DshLockDll.dll
sldgrd.dll
DshRegDll.dll
DshFormLib.dll
logmon.dll
+ 他ファイル(ポップアッププログラムなど)
comm.def
(通信環境定義ファイル)
DSH-Converter-14-30300-00 user manual.pdf
(ユーザー・マニュアル)
通信ログファイル
(通信ドライバーの通信ログと DshConverter のログが記録
されます。
DshConverter.exe (日本語版)
\English
DshConverter.exe
\cnf
\doc
\log
(英語版)
(注)comm.def が、4.1、2 で説明する通信環境定義ファイルです。
英語版は、\English に保存されている DSHConverter.exe を \bin にコピーすることで使用できます。
(英語版のユーザーマニュアルは準備されておりません。
)
6
3.2 インストール操作手順
プログラムファイルは、CD(Compact Disc)で提供されます。
CD のルートディレクトリに setup.exe プログラムが保存されています。
(1)インストールは、CD 内の setup.exe プログラムを実行によって開始します。
下の画面が表示されます。
そこで、 次へ(N) ボタンをクリックします。 以下、順に(2)、(3)...へと画面を進めます。
(2)次へ(N) ボタンをクリックします。
7
(3)インストール先(ディスクの保存場所)の問合せ画面です。
変更しない場合は、次へ(N) ボタンをクリックします。
もし、変更したい場合は、変更(C)ボタンをクリックした後、保存先の問合せ画面が表示されますので、
そこで、保存先を決めてください。
(4)インストール(I) ボタンをクリックし、インストールを開始します。
次ページの画面のようにインストールが進行します。
8
(5)インストールが終了すると下の終了画面が表示されます。
完了(F) ボタンのクリックで操作の終了です。
9
3.3 使用ライセンスのための USB プロテクト・キーのインストール
製品版 DSH コンバーターを使用する際、USB プロテクトキーのインストール(接続)が必要です。
DSH コンバーターを起動する前にハードプロテクトデバイス LOCK STAR をパソコンの USB コネクターに接続し
てください。
PC
USB
CONVERTER
以上で準備終了です。
本プロテクトキーのために必要なプログラムは、インストールされたプログラムの中に含まれています。
DSH コンバーターが起動されたときに、本プロテクトキーが接続されていない場合、あるいは接続不良でこれ
を認識できなかった場合は、その旨を表示する画面がポップアップされますので、その際は、接続を確認してく
ださい。
(注)DSH コンバーター試用版については、本 USB プロテクトキーの接続は必要ありません。
10
4.プログラム実行前の準備
DSH コンバーターには、起動時に2つのファイルを読み、その内容をコンバーター内部に設定します。
以下の2つのファイルです。これらのファイルは、ユーザの操作環境、通信環境によって、必要に応じて、設
定値の確認、変更を行うことができます。
ファイルの保存場所は以下の通りです。
保存場所 : \Dshconverter\cnf
ファイル名とその用途は以下の通りです。
(1)config.def - 操作画面の設定選択用です。
①画面表示言語 日本語/英語
②画面のテストモード操作部の表示/非表示
③起動時の画面の表示指定 最少/通常画面
④ログ表示画面に表示する SECS-II 送受信メッセージの表示選択
(2)comm.def - SECS/HSMS 通信環境定義ファイルの設定用です。通信ドライバーが参照します。
①ドライバーの基本事項 - 通信メッセージ最大サイズ、管理情報のサイズ、ログファイルの保存場所など
②SECS/HSMS が使用するポートとプロトコル設定情報
③同様に、デバイスのプロトコル設定情報
二つのファイルは、いずれもテキストファイルです。Windows 付属の wordpad.exe などのテキストエディタ
ーを使用して編集することができます。
以下、4.1、4.2で説明するコマンド設定規則に従って、必要な項目について変更してください。
11
4.1 操作画面の選択設定ファイル
①画面表示言語選択、②画面のテストモード操作部の表示指定、③起動時の画面の表示指定ならびに④ログ画
面に表示する SECS-II 送受信メッセージの表示選択の4つの項目について選択設定することができます。
4.1.1 設定コマンドと値
各設定は、コマンドとその値を1行で表現し、以下の形式で設定します。
<コマンド名> = <コマンド値>
各行の有効先頭文字が ‘#’ であった場合、この行はコメントになります。
本ファイルに使用するコマンドと設定値について下表に示します。
設定コマンド名
1 Language
用途
画面表示に使用する言語
2
TestMode
画面のテストモード操作部の
表示/非表示の選択
3
WindowsState
4
CommMsgSelect
値
Japanese
or
English
true
or
false
値についての補足
-
デフォルト値
Japanese
true であれば、テストモード false
操作部を表示します。
false の場合は表示しま
せん。
画面の表示状態
normal
normal の場合は操作画面 minimized
通常/最少の選択
or
が表示されます。
minimized
minimized の場合は、
操作画面は表示されませ
ん。
(注 1)参照
ログ画面への SECS-II メッセージ off
off : 表示しない。
header
の表示選択
header
header : ヘダー部だけを
or
表示する。
header_text header_text : 全体を
リスト構造で表示する。
(注1)
・ minimized の場合は、操作画面が表示されませんが、Windows 画面下のタスクバーに
DSH コンバータのアイコンが表示されます。
操作画面を表示したい場合は、タスクバー上のアイコンをクリックしてください。
・TestMode = false 設定の場合は、テストモードでの操作ができません。
もし、テストモードにしたい場合は、マウスでフォーカスをメインのフォーム上に移し、
キーボードから CTRL キー を押しながら D キーを押してください。
12
4.1.2 ファイル設定例
#------------------------------------------------# main form conguration command file
#------------------------------------------------#Language = Japanes
Language = English
#TestMode = true
TestMode = false
#WindowsState = normal
WindowsState = minimized
#CommMsgSelect = off
CommMsgSelect = header
#CommMsgSelect = header_text
(注-2) 編集は コマンド行の # 文字の付け替えで済みます
13
4.2 通信環境定義ファイル(comm.def)
DSH コンバータープログラムを実行する前に、接続装置(装置、ホスト)と通信するための条件を通信環境定
義ファイル(comm.def)に設定する必要があります。設定操作は、通常使用するテキストエディターを使って行い
ます。
通信環境定義ファイル(COMM.DEF)の詳しい仕様については 付録-D を参照ください。
4.2.1 通信環境定義ファイルの設定項目と内容
DSH コンバーターが通信制御する上で必要とする設定項目は、以下の通りです。
(1)SECS 側と接続のための通信設定
設定項目
1 ボーレート
デフォルト
9600
2 MASTER/SLAVE
SLAVE
3 デバイス ID
4 その他
プロトコルタイマー値
リトライ回数
備考
4800、2400 など 単位 baud
装置機器が MASTER の場合は SLAVE に、
SLAVE の場合は MASTER に
設定してください。
x2345
SECS-I プロトコル上の Device の ID です。
(16 進数)
相手装置が使用する値に合わせて設定してくだ
さい。
T1 = 1
T2, Y2, T3,
T4 とリトライ
T2 = 3
T3 = 45
T4 = 45
RETRY = 3
定義コマンド
PORT(ポート)
PORT(ポート)
DEVICE
PORT(ポート)
Timer 値は
秒単位です。
(2)HSMS 側と接続のための通信設定
設定項目
1 ポートモード
デフォルト
ACTIVE
2 TCP ポート
6001
3
192.168.1.3
(仮)
x2345
(16 進数)
4
5
IP
備考
定義コマンド
ホストが Passive ならば ACTIVE を、
PORT(ポート)
ホストがActive ならばPASSIVE に設定してくだ
さい。
ホストが使用するポートに合わせてください。
PORT(ポート)
ポートモードが ACTIVE の場合にだけ設定が
必要です。
デバイス ID
HSMS プロトコル上の SessionID です。
DEVICE
接続相手装置が使用する値に合わせて設定
してください。
T3
= 45
その他
T3,T5,T6,T7,T8
PORT(ポート)
T5
= 10
プ ロトコルタイ マー LINKTEST
T6
= 5
値、LINKTEST
T7
= 10
送信間隔
T8
= 5
LINKTEST
= 60
14
4.2.2 通信環境定義ファイルの変更(編集)
通信環境定義ファイル、comm.def は、cnf サブディレクトリに保存されています。comm.def ファイルはテキ
ストファイルです。内容の変更は、テキストエディター( ワードパッドなど)を使って行います。
変更は、4.1で説明した項目について、必要に応じて行います。変更必要の可能性のあるものについては、
下に示す定義ファイルのリスト上に吹き出しを使って示しています。
なお、comm.def ファイルで使用するコマンドと設定仕様については、付録-D を参照してください。
以下、comm.def ファイルの内容を示します。
(各行の中の # 文字以降の部分はコメントです。
)
#-----------------------------------------------# DSHDR2_Converter Communication Definition File
#
FileName : comm.def
#-----------------------------------------------START DSH
MAX_MSG_SIZE
= x100040
MAX_TRANSACTION = 512
LOG_FILE
= \DshConverter\log\DSHDR2.LOG
LOG_MODE
= DAILY
LOG_LIFE
= 6
TIME_FORMAT
= "YY/MM/DD HH:NN:SS.CC"
#
MON_PORT
= 9999
END
#-----------------------------------------------# PORT Definition
#-----------------------------------------------START PORT
PORT
= 1
PROTOCOL
= HSMS
PORT_MODE
= ACTIVE
TCP_PORT
= 6001
IP
= 192.168.1.3
T3
= 45
T5
= 10
T6
= 5
T7
= 10
T8
= 5
LINKTEST
= 60
END
15
#
#
#
#
#
#
#
SECS-II の最大メッセージ長
同時に管理できる最大トランザクション数
通信ログファイル名(フルパス)
日付単位でログファイルを作成する
保存する月数
ログに付加する日付/時刻の形式
log monitor との接続に使用する port
ACTIVE または PASSIVE
ホストと反対のモードにする。
ホスト側が使用するポートに合わせ
る。
ACTIVE の場合、ホストの IP を設定
する。
MASTER または SLAVE
#------------------------------------------------装置と反対のモードにする。
START PORT
PORT = 2
# SECS
PROTOCOL = SECS
# slave
PORT_MODE = SLAVE
COMM_PORT = COMM1
PC のシリアルポート名
BAUD = 9600
COMM1,COMM2 or COMM3.
T1 = 1
T2 = 3
通信速度を装置側に合わせる。
T3 = 45
T4 = 45
RETRY = 3
END
#-----------------------------------------------# DEVICE Definition
#-----------------------------------------------START DEVICE
DEVICE
= 1
DVID
= x1234
PORT
= 1
END
ホストが使用する値に合わせる。
装置が使用する値に合わせる。
#-----------------------------------------------START DEVICE
DEVICE
= 2
DVID
= x1234
PORT
= 2
END
[注釈]
DVID(デバイス ID)の設定値は、各プロトコルで接続する装置間で同じものでなければなりません。
コンバータ-HSMS
デバイス番号 1
DVID 値
=
ホスト本体 HSMS
の
DVID 値
コンバータ- SECS
デバイス番号 1
DVID 値
=
装置本体 SECS
の
DVID 値
(HSMS の DVID 値はセッション ID にあたります。
)
・この DVID 値は、通信メッセージのヘダー部の先頭の1,2バイト位置に設定されることになります。
・SECS, HSMS で使用する DVID の値が同じでも有効です。
・もし、同じプロトコルの通信で、違う値の DVID が使用されている場合、互いのメッセージの送受信が
できないことになりますので注意してください。
16
5.プログラム起動と画面と操作
DSH コンバータープログラムの起動方法について、テスト時(納入時)と本稼働時の場合の2つのケースに分
けて説明します。
5.1 テスト時の操作画面
テスト時は、基本的に、PC にディスプレイとキーボードを接続して行います。以下、Windows が動作している
状態での操作になります。
(操作画面が表示されるかどうかは、4.1の config.def のせっていによります)
(1)エクプローラで c:\DshConverter\bin のディレクトリ(フォルダー)を開きます。
(2)開いたディレクトリ内にある、DshConverter.exe をダブル・クリックします。
これで、DSH コンバーターが起動されます。そして、接続装置との通信も自動的に開始されます。
(SECS, HSMS との通信接続開始)
開始されると、以下の画面が表示されます。下の画面では、起動後、SECS,と HSMS 両方との通信接続がで
きていることを表わしています。(通信状態ランプが 緑色 になっている)
ログ画面
通信メッセージログ
[メニュー]
ファイル(F) - 終了(X) プログラム終了
ヘルプ(H) - プログラム情報(A) プログラム
OFF にすると表示しない。
タイムスタンプ
[開始/停止操作]
開始 ボタン クリックでプログラム開始
停止 クリックでプログラム停止
現ログファイルの内容を消去する。
[通信状態]
HSMS ■が緑色で HSMS-SS 通信確立
■が灰色で通信未確立
SECS ■が緑色で通信可
■が灰色で通信不可
なお、問題が発生した際、DSH コンバーター内部の状態を調べるための機能として、テスト操作用の画面があ
ります。詳しくは、付録―B テスト操作表示画面 を参照ください。
テスト画面と本稼動画面の切り替えは、メイン画面の上で、キーボードの CTRL + D キーの押下によって互いに
切り替えることができます。
テスト画面 <-- CTRL + D キー -->本稼動画面
本稼働画面に移る際は、通信メッセージ選択は、Off にすることを推奨します。
17
5.2 本稼働時の画面
PC の電源が投入され、Windows の起動された後、DSH コンバータプログラムが自動的に起動されます。
画面上に、テスト・モードの部分が表示されません。テストモードの部分を表示させたい場合は、キーボード
の CTRL + D キーを押してください。 ( テスト画面 <-- CTRL + D キー -->本稼動画面 )
(DSH コンバーターの自動起動のための Windows 上の操作については、付録-A の説明を参照ください。
)
そして、即時、SECS、HSMS それぞれの装置との通信接続の処理に入ります。
ディスプレイが接続されている場合は、5.1と同様の画面が表示されます。
双方の装置(装置、ホスト)の SECS または HSMS 接続がすんだら装置間のメッセージ送受信の準備が完了です。
(SECS-1 との接続は特にありませんが、HSMS 側は TCP/IP の接続、HSMS-SS のセレクションの確立をすること
になります。
)
その後コンバーターは、SECS または HSMS 側からのメッセージを受信し、それを HSHS または SECS 側に送信し
ます。
5.3 バージョン情報とログラム・ファイルのタイムスタンプ確認画面
メニューの ヘルプ(H) タブのクリックの後、プログラム情報(A) タブをクリックすることによって、バージョンと
プログラムファイルのタイムスタンプ情報のポップアップ画面を表示できます。
18
6.通信プロトコル仕様
SECS-I、HSMS-SS プロトコルの基本的な仕様について説明します。
また、プロトコル通信上で発生する通信エラーに対する DSH コンバーターの処理についても説明します。
6.1 SECSプロトコル
シリアル通信媒体(RS232C)を使用して通信を行います。
転送はブロック単位で行います。
(1ブロックに収納できない場合は複数のブロックに分けて転送)
6.1.1 SECS メッセージ
SECS においては、メッセージをブロック単位で転送します。メッセージが1ブロックで転送できない場合は、
複数のブロックに分割して、先頭ブロックから順次転送することになります。
6.1.1.1 通信メッセージ構造
(1)全体の構造
先頭のブロックは、次の構成になる。
L
1Byte
HEADER
10 bytes
① L (Length)
②HEADER
③DATA
④CKSM
(2)ヘッダ構造
8 7 6
1
2
3
4
5
6
7
8
9
10
R
W
E
上位
下位
上位
下位
上位
下位
上位
下位
上位
下位
DATA
0~244 bytes
CKSM
2 bytes
: ブロックの先頭バイトは、ブロック内のデータバイト長がセットされる。
L は 先頭ブロックが 10 ~254 バイト。
マルチブロックの場合、2 番目以降のブロックは、 1~254 バイト。
: DeviceID, Stream, Function, BlockNo, SystemByte がセットされる。
: リスト構造のデータ群がセットされる。
: ブロックの最後には2バイトのチェックサムデータ付加される。
5
4
3
2
1
デバイス ID
デバイス ID
メッセージ ID(stream)
メッセージ ID(function)
ブロック番号
ブロック番号
ソース ID
ソース ID
トランザクション ID
トランザクション ID
W : 1 次メッセージであり、2 次メッセージの応答を
期待する場合 =1 です。
E : マルチブロックの転送で、=1 のブロックが
最終ブロックを示す。
システムバイト
デバイス ID は、通信環境定義ファイル(comm.def)の中で定義されます。
DEVICE 定義の中に含まれ、DVID コマンドを使用 して値を設定します。
19
(3)データ・サイズとマルチブロック
メッセージの [データサイズ+ヘッダサイズ] の合計が 254 バイトを超えるものについては、複数のブロッ
クに分割して転送します。
ヘッダのブロック番号が通し番号になり、E ビットが最後のブロックであることを示します。
(4)チェックサム
ヘッダとデータの各バイトの値の2バイトの総和です。
20
6.1.2 SECS-I 通信プロトコル
6.1.2.1 マスター/スレーブ
2つのノードで通信する際、エンティティの一方をマスター(master)、他方をスレーブ(slave)に設定する必要
があります。
これは、送信の競合を防ぐためです。
2 つのノードから同時に送信要求を出した場合、同時に送信ができないので、どちらか一方が送信要求を取り
下げる必要があります。マスター、スレーブはこのために使用されます。競合が発生したら、スレーブが取り下
げることになります。 (6.1.2.4 ブロック転送シーケンス-(2)参照ください。)
ブロック転送上では、装置がマスター、DSH コンバーターがスレーブに割り当てられることになります。
6.1.2.2 使用する制御コード
使用する制御コードは下表のとおりです。
制御コード
ENQ
EOT
ACK
NAK
コード(16 進)
05
04
0c
15
用途
送信要求
受信可能応答
肯定応答
否定応答
6.1.2.3 プロトコル監視タイマー
使用する監視タイマーは下表のとおりです。
タイマー
T1
T2
T3
T4
デフォルト値(秒)
0.5
10
45
45
用途
キャラクター間転送監視タイマー
プロトコルタイムアウトタイマー EOT, ACK, NAK 応答
返信タイムアウトタイマー
2 次メッセージ受信までの時間
ブロック間タイムアウトタイマー マルチブロックで、次にブロック受信までの時間
21
6.1.2.4 ブロック転送シーケンス
代表的な通信シーケンスについて示します。
(1)通常の通信
ホスト
装 置
送信
ENQ
EOT
N バイトレングス
N バイトデータ
チェックサム
∫
ACK
ENQ
送信
EOT
N バイトレングス
N バイトデータ
チェックサム
∫
ACK
(2)競合時の通信
ホスト(slave)
送信
ホストは受信
に切り替え
装 置(master)
ENQ
ENQ
送信
EOT
N バイトレングス
N バイトデータ
チェックサム
∫
送信の再試行
ACK
ENQ
・
・
22
6.1.3 SECS通信エラーの処理
以下のエラーと DSH コンバーターの処理について説明します。
①T1,T2,T4 タイムアウトエラーとチェックサムエラー
②T3タイムアウトエラー
以下、S1F13,S1F14 の送受信を例にチャートで示します。
(1)T1,T2,T4 タイムアウト、CheckSum エラーの処理
Host(HSMS)
S1F13
T3 タイマー開始
DSH コンバーター
S1F13 受信し、MSG を管理登録
装置に送信 S1F13
送信中にエラー検出
ENQ, EOT, <Text>, <CKSM>, ACK
(NAK)
リトライ-1
・
リトライ-n
(n 回リトライオーバー、失敗)
S1F13の管理を解消する
(終了)
T3 timeout 検出
タイムアウト処理を行う
(S9F9)
装置(SECS)
)
(管理解消後の S9F9 は無視)
(注)ホスト側は、S1F13 送信後、T3 タイマーを開始します。
DSHコンバーターから装置への送信が失敗した場合、そこで、DSH-コンバーターはそのトランザクション
を放棄します。 その後、ホストが T3 タイムアウトを検出した場合、S9F9 を送信しますが、DSH コンバー
ターはこの S9F9 を捨てることになります。
(2)T3 timeout の検出と対処
1次メッセージ送信側が T3 タイムアウトを検出したときの処理において、S9F9 送信の有り/無しの2
つのケースについては以下のようになります。
a.S9F9 通知なしの場合
Host(HSMS)
S1F13
T3 タイマー開始
T3 timeout 検出
タイムアウト処理を行う
DSH コンバーター
S1F13 受信し、MSG を管理登録
装置に送信 S1F13
T3 タイマー開始
(コンバータ用)
T3 timeout 検出
S1F13の管理を解消する
(終了)
23
装置(SECS)
受信
(無応答)
b.S9F9 通知ありの場合
Host(HSMS)
S1F13
T3 タイマー開始
T3 timeout 検出
S9F9
タイムアウト処理を行う
コンバーター
S1F13 受信し、MSG を管理登録
装置に送信 S1F13
T3 タイマー開始
(コンバータ用)
S9F9 受信
装置に送信 S9F9
S1F13の管理を解消する
(終了)
24
装置(SECS)
受信
(無応答)
(S9F9 受信)
6.2 HSMSプロトコル
DSH コンバーターは HSMS-SS プロトコルによる通信をサポートします。
HSMS 通信には、高速通信媒体(Ether ネット)が使用され、Windows の TCP/IP プロトコルがネットワーク通信
のベースに使用されます。
6.2.1 HSMS メッセージ
HSMS プロトコル仕様の詳しいことについては、SEMI 発行の次の資料を参考にしてください。
「SEMI-E37 高速 SECS メッセージサービス(HSMS)汎用サービス」
「SEMI-E37.1 高速 SECS メッセージサービス シングルセッションモード(HSMS-SS)」
6.2.1.1 メッセージ構造
HSMS-SS プロトコルに使用するメッセージには、データメッセージと、コントロールメッセージの2種類のも
のがあります。コントロールメッセージの構造は、下図の HEADER(10 バイト)部分だけになります。
(1)メッセージの構造
LENGTH
4bytes
HEADER
10 bytes
DATA
0 ~制限された長さ ( 通信環境定義ファイルで指定する)
LENGTH : HEADER サイズ + DATA サイズ になります。
HEADER : 10 bytes (固定)
DATA
: 0~制限されたバイト長
(2)ヘッダ構造
8 7 6
1
2
3
4
5
6
7
8
9
10
W
5
4
3
2
1
上位 セッション ID
下位 セッション ID
上位 メッセージ ID(stream)
下位 メッセージ ID(function)
P Type (=0)固定
S Type
上位 ソース ID
下位 ソース ID
上位 トランザクション ID
下位 トランザクション ID
W : 1 次メッセージで、2 次メッセージの応答を
期待する場合=1
S Type : メッセージの種類を規定する。次ページで説明する
システムバイト
セッション ID の値は次のようになります。
①制御メッセージ Select.req, Select.rsp, Linktest.req, Linktest.rsp, separate.req においては値として
FFFF(16 進)が設定され転送されます。
②データメッセージの場合、SECS-I に含まれるデバイス ID に相当する値が設定されます。
(ただし、R ビットは使用されません。)
通信環境定義ファイル(comm.def)では、セッション ID は、DEVICE 定義の中に含まれる DVID コマンドを
使用 して設定します。
25
(3)メッセージの種類
S タイプの値で規定されており、下表のとおりです。なお、Deselect, Reject メッセージについては DSH コンバ
ーターはサポートしません。
S タイプ値 メッセージの種類
備考/DSH コンバーターのサポート
0
データメッセージ
SECS-II メッセージに適用
1
Select.req
HSMS 通信確立のために使用 要求
2
Select.rsp
同
応答
3
Deselect.req
(サポートしない)
4
Deselect.rsp
(サポートしない)
5
Linktest.req
リンクテスト HSMS 接続中の確認 要求
6
Linktest.rsp
同
応答
7
Reject.req
(サポートしない、無視します)
8
(未使用)
9
Separate.req
HSMS 接続を終了させる。
10
(未使用)
11-127
(未使用)
128-255
(未使用)
(注) ①S=0以外は、コントロール用メッセージであり、ヘッダでのみ構成される。
②コントロールメッセージ (データメッセージ以外) についてはセッション ID の値=FFFF(16 進)
が 設定され転送されます。
26
6.2.2 HSMS プロトコル
DSH コンバーターは、Windows OS の下で、TCP/IP を使って HSMS-SS 通信を行います。
以下、TCP/IP の接続から、HSMS-SS プロトコル接続そしてデータの転送について説明します。
6.2.2.1 エンティティ
TCP/IP 接続を行う場合、接続する機器の間で、エンティティ・モードを決める必要があります。
エンティティ・モードとして、次の2つのモードがあります。
①アクティブ(Active)・モード : クライアントの立場になる。
②パッシブ(Passive)・モード : サーバーの立場になる。
DSH コンバーターでは通信環境定義ファイルの PORT-1 の定義で、どちらかのエンティティ・モードを設定しま
す。
ホスト側が Passive ならば、DSH コンバーター側は Active に設定します。そして、ホスト側の IP の値も設定
する必要があります。
ホスト側が Active ならば、DSH 側は Passive に設定してください。そして IP の設定はしないでください。
6.2.2.2 TCP/IP と HSMS-SS 通信接続
HSMS-SS プロトコルにおける接続、接続確認、切断手続きは以下の通りです。
(1)TCP/IP 接続
パッシブモード・エンティティ
アクティブモード・エンティティ
接続要請を送信
listen
接続要請の受信
TCP/IP メッセージ
受託
受信受託
connect
(2)セレクト手続き
パッシブモード・エンティティ
アクティブモード・エンティティ
Select.req
Select 要求
Select.rsp
Select.req 送信に対し、Select.rsp を受信した時点で、HSMS-SS プロトコルのセレクション(接続)確立です。
Select.req 送信後、T6 時間までに Select.rsp を受信できなかった場合は、リトライします。
リトライは、一旦 TCP/IP を切断し、TCP/IP の接続から行います。
27
(3)リンクテスト(リンク状態の確認)手続き
パッシブモード・エンティティ
アクティブモード・エンティティ
linktest.req
Select 要求
Linktest.rsp
・
・
Linktest.req
Linktest.rsp
①双方のエンティティから Linktest.req を送信することができます。(送信は必須ではありません)
②Linktest.req 送信後、T6 時間経過しても応答が得られなかった場合、HSMS-SS、TCP/IP の接続状態を解
消し、接続を最初からやり直します。
③DSH コンバーターのリンクテスト送信間隔は、通信環境定義ファイル(comm.def)のポート=1 の定義の中
の、 LINKTEST コマンドで設定します。 時間単位は秒です。 LINKTIME=0 の場合は、Linktest.req を送信
しません。
(4)セパレート(HSMS 通信の終了)手続き
パッシブモード・エンティティ
アクティブモード・エンティティ
Separate.req
通信終了通知
または
Separate.req
Separate.req を送信したエンティティは、送信後、HSMS 通信を終了します。(TCP/IP の通信切断)
Separate.req を受信したエンティティは、受信後 HSMS 通信を終了します。(TCP/IP の通信切断)
6.2.2.3 データの送受信
相手装置との HSMS-SS の接続が完了した後、6.2.1-(3)で説明した S タイプ=0 を設定した SECS-II メ
ッセージを送受信します。
DSH コンバーターは、送信の場合には、Windows のソケットに、まずメッセージの長さ(4 バイト)を送信し、その
後メッセージ本体を 1 度で送信します。
受信の場合、Windows ソケットからセグメント(PDU)単位で送信されてきます。複数のセグメントに分けて送信
されてくる場合、DSH コンバーターはそれらのセグメントをマージして受信メッセージを組み立てることになり
ます。
28
6.2.3 HSMS 通信エラーの処理
HSMSプロトコルの通信接続後に発生しうるエラーと、その処理は次のようになります。
エラー種類
T3 タイムアウト
T8 タイムアウト
内容
T3時間内に2次メッセージの応答受信できなかっ
た。
Linktest.req メッセージに対し、
Linktest.rsp が応答されなかった。
メッセージデータが途中で切れてしまった。
メッセーシ ゙ショート
10 バイトに満たないメッセージを受信した。
メッセージ長オーバー
規定されたメッセージ長を超えるメッセージを受信した。
メッセージフォーマットエラー
ヘッダーデータに不正な値が見つかった。
T6タイムアウト
29
DSH コンバーターの処理
SECSの(2)のT3タイムアウトの処理と同じです。
6.1.3-(2)参照
通信を切断します。(セレクションも解消)
その後、再接続します。
(TCP/IP の接続、セレクションの確立まで)
6.3 コンバータの通信上の制限と通信環境定義ファイルについて
以下、通信環境定義ファイルは、COMM.DEF と記述します。
6.3.1 SECS-II メッセージの最大サイズ(バイト)と通信トランザクション数について
(1)SECS-II メッセージの最大サイズ(バイト)
COMM.DEF に MAX_MSG_SIZE コマンドで設定します。
本コンバータでサポートする最大値は、256K (0x40000) バイトまでとします。
これを超えた長さのメッセージについては、(動作しても) 保証できません。
(2)同時に保持できる通信トランザクション数について
トランザクションの意味は、一対の 1 次メッセージとその応答である 2 次メッセージのやり取りを意味します。
COMM.DEF に MAX_TRANSACTION コマンドで設定します。
短時間に大量(10ms間に 10 個以上のトランザクションが発生する場合は、十分大きなサイズに設定してくだ
さい。(例 :8192)
6.3.2 通信可能状態でない相手に対するメッセージの送信と送信エラーについて
(1)通信状態にない相手に対する処理
例えば、Selection 未確立の状態で、SECS 側から HSMS へのメッセージが送信されてきた場合、
コンバータは送信をあきらめ、即時そのメッセージを廃棄します。残っている未送信メッセージも廃棄します。
HSMS 側から、通信可能状態でない SECS に対しメッセージが送信されてきた場合も同様の処理をします。
また、正常通信状態から突然、通信断になった際には、通信断を検出した時点で、そのメッセージの送信をあ
きらめます。そして、その時点で、未送信メッセージが残っていれば、それらをすべて廃棄します。
(2)SECS の送信エラー時の処理
コンバータが SECS に対しメッセージ送信を試みて、結果、3回 続けて(3個のメッセージの)送信に失敗した
場合、その時点で、SECS への未送信メッセージをすべて廃棄します。
30
6.3.3 T3 タイムアウトになった 1 次メッセージの送信について
SECS 側の通信速度は HSMS の速度と比較すると圧倒的に遅い。
もし、HSMS 側が 1 次メッセージの応答を待たず、次のメッセージを大量のメッセージを連続的に送信するよう
なケースでは、コンバータは HSMS 側からのメッセージを保存リストに溜めるだけで、SECS 側に送信するまでに
は相当時間が掛かることもあります。
その結果、HSMS が1次メッセージを送信してから T3 時間経過してもコンバータに保存されたままで、メッセ
ージが SECS 側へ未送信である事態が起こる可能性があります。
この場合、
HSMS 側は T3 タイムアウト検出した後、
S9F9 を送信し、トランザクションを終了させてしまいます。
しかし、その時点で、コンバータはなお、未送信メッセージとして保存したままですが、その後、送信の順番
になったとき、
トランザクションが無効になっているにも拘わらず、
SECS 側に送信することになってしまいます。
このケースでは、DSH コンバーターは、無効の意味で S0F0 を送信してしまう場合があります。
これの避けるため、ユーザは、この事象が発生しないように通信制御を行うことです。すなわち、この事象が
発生しないように HSMS 側は1次メッセージに対する2次メッセージを受信した後、次のメッセージを送信する必
要があります。
(これは、すべてのトランザクションに対してではなく、必要ある範囲でということです。
)
SECS(HOST)
Converter-SECS
送信リスト
Converter-HSMS
MSG を送信リストから Get
MSG を送信リストに Put
SECS に送信
S6F11-1 受信
S6F11-1 送信
S6F11-2 受信
HSMS(装置)
HSMS から受信
送信
S6F11-1 送信
リスト
S6F11-2
(溜め)
S6F11-3
S6F11-4
S6F11-3 送信
.
.
S6F12-1 受信
S6F12-1 送信
.
.
.S6F11-30 T3
S6F11-2 受信
.
・
S6F11-30
T3 タイマー
・
・
.
S6F11-n
S6F12-20 送信
(この時点で
S9F9-30 受信
S9F9-30 送信
S6F11-30 未受信
(S6F11-30 はすでに
この S6F11-30 の
内容は保証できない
S9F9-30 受信済)
S6F11-30 送信
31
付録-A Windows起動時に自動的に DshConverter.exe を起動するための操作
以下の手順で操作を行います。
(1)Windows 画面、左下隅の
ボタンをクリックし、
すべてのプログラム
を
クリックします。
(2)以下の画面にが表示されますので、ここで、スタートアップ を右クリックします。
ここをクリック
ここで、開く(O)ボタンをクリックします。以下のように スタートアップの下のファイルが表示されます。
ここに、DshConverter.exe - ショートカッ
トを貼り付ける。
この画面右側に、c:\DshConverter\bin に含まれる DshConverter.exe - ショートカット ファイルを貼り付
けます。
(3)DshConverter.exe - ショートカット ファイルを貼り付ける操作には、Explorer(エクスプローラ)
を使って行います。
32
Explorer を開き、c:\DshConverter ディレクトリの下の bin ディレクトリを開きます。そして、下図のように
DshConverter.exe - ショートカット のファイル名の上で、右クリックし、コピー(C) をクリックします。
そして、前の(2)画面に戻り、貼付ます。
33
その結果は次のようになります。
以上で操作は終了です。
この後、
Windows が再起動されたときに、
DshConverter.exe コンバータープログラムが自動的に開始されます。
34
付録-B テスト操作画面の表示画面
メイン画面で Control キーを押したまま、D 文字キーを押すと、下に示す画面になります。
通信状態と開始/停止操作は同じです。画面下に、テスト操作用の部分が追加表示されます。
なお、この後、もう一度、Control キーを押したまま、D 文字キーを押すと、元の画面に復帰します。
ログ画面
通信メッセージログ
表示するにすると
通信メッセージがリスト構造で表示されす。
[開始/停止操作]
OFF にすると表示しません。
開始 ボタン クリックでプログラム開始
現ログファイルの内容を消去する。
停止 クリックでプログラム停止
[通信状態]
HSMS ■が緑色で HSMS-SS 通信確立
(Selection 確立状態)
■が灰色で通信未確立
SECS ■が緑色で通信可
(RS232C の DSR 信号状態)
■が灰色で通信不可
追加された画面は、テスト操作用です。ボタンは次のように使用できます。
空トランザクション ID
: DSHDR2 SECS/HSMS通信ドライバー内のト空きトランザクション
管理エリアを取得します。( 全て空きならば comm.def で設定した値 になる。)
使用中メモリ
: DSHConverter.exe が内部で使用しているメモリで、未開放のメモリの数を
取得します。
( 全て解放されていれば = 0 になる。
、適用されない版もある。
)
送信メッセージのログ表示
: Off, On-Header, On-Header+Text の切り替えでログ表示画面上に、送受信
したメッセージを表示するかどうかを選択します。
次ページにメッセージ表示例を示します。
(ログファイルへの記録は表示選択に関係なく記録されます。
)
35
付録-C シリアル通信ケーブルについて
ケーブルは、コンバータ側は、DSUB-9のクロスケーブルを使用します。
コンバータのコネクターピンの信号と相手装置との接続ピンは以下のようになります。
信号名
I/O
DCD
RXD
TXD
DTR
SG
DSR
RTS
CTS
RI
in
in
out
out
in
out
in
in
DSUB-9 コネクター
(コンバーター PC)
1
2
3
4
5
6
7
8
9
DSUB-25 コネクター
相手コネクターと接続する信号
8
3
2
20
7
6
4
5
22
TXD
RXD
DSR
DTR
CTS
RTS
(注)相手(装置)側で DTR を操作できない場合は、コンバータ側の DTR と DSR の PIN を接続
してください。
DSUB-9 コネクター PIN-4 と PIN-6 との接続です。
PIN-4
PIN-6
DSR 信号が ON のとき、メイン画面の SECS 通信状態のランプ
36
が緑色になります。
付録-D 通信環境定義ファイル(COMM.DEF)仕様
環境ファイルは、本ドライバーが動作する環境条件ならびに通信を構成するポート、デバイスのIDの定義な
らびに通信パラメータを定義するためのテキストファイルです。この環境ファイルは、DSH コンバーターの通信
ドライバーが開始される時に使用されます。
環境定義情報は、大きく次の3つのブロックで構成されます。
ドライバー全体設定情報
ポート別設定情報
デバイス別設定情報
以下、各ブロックの定義について準備されているコマンドとその記述形式について説明します。
[注]
コマンド名は大文字で設定してください。
コマンドのパラメータは、ファイル名以外の英文字は、大文字で設定してください。
37
付録ーD.1 ドライバー定義コマンド
ドライバー定義ブロックは次のように START DSH で始まり、END で終わります。
START
DSH
<コマンド-1>
・
<コマンド-i>
END
コマンドを次表に示します。
(DSH コンバーターでは一部使用しないものがあります)
No. コマンド名
1. MAX_MSG_SIZE
2.
MAX_TRANSACTION
3.
LOG_FILE_NAME
4.
MAX_LOG_LINE
5.
LOG_MODE
6.
MON_PORT
書式と説明
MAX_MSG_SIZE = <バイトサイズ>
送受信できる SECS-II メッセージの最大サイズ
を指定します。
MAX_TRANSACTION = <数>
ドライバーが同時に管理できるトランザクションの
最大値
LOG_FILE_NAME = <ファイル名>
通信ログを保存するファイル名を指定します。
フルパス名での指定してください。
ファイル名が設定されていない場合ログを記録
しません。
MAX_LOG_LINE = <行数>
通信ログファイルに保存する最大行数
モード値 = 2
(R6 追加)
ログファイルを日単位で記録します。
設定は、LOG_MODE = daily でも
可能です。保存ディレクトリ(フォルダ)は
LOG_FILE_NAME で指定された場所になり
ます。ログファイル名は、
dshdr2-yyyy-mm-dd.log で表現します。
(例 dshdr2-2010-12-30.log)
記録されたログファイルの寿命は本表の8.の
LOG_LIFE を参照のこと。
MAN_PORT = <port>
LOG MONITOR で使用する TCP/IP ポートを
指定します。
38
値の範囲
~256K バイト
デフォルト値
65,536
バイト
2の n 乗値
256 ~
512 個
(APP に合わせて
調整)
例
\log\dshdr2.log
-
~40,000,000
行
2
10,000,000
行(未使用)
2
(=2 を設定して
ください)
9999
1024~
(TCP/IP port) (未使用)
7.
TIME_FORMAT
8.
LOG_LIFE
32 文字以内
TIME_FORMAT = <format>
通信ログに付加する日付時刻の表記をコ
“MM/DD
マンドで指定できるようにしました。
本コ
HH:NN:SS.CC”
マンドは LOG_MONITOR のログにも適用さ
れます。
表記形式の指定は、二重引用符で(”)で
囲まれた文字列で行い、
各文字に意味を持
たせます。
YYYY : 年 MM : 月 DD : 日
HH : 時 NN : 分 SS : 秒
CC : 1/100 秒
Y 以外は必ず2桁にしてください。
Y は年4桁のうちの1桁を表し、
最下位 1 桁だけの場合は、Y を 1 個、
2 桁では、YY, 4 桁では YYYY と指定
してください。
それぞれの年月日時分秒,1/100 秒のデー
タの間に、
ここで定義された文字以外の文
字を使って区切ることができます。
例えば
“YYYY/MM/DD HH:NN:SS.CC”
の場合、2007/08/04 12:15:24.32
のように表示されます。
LOG_LIFE = <保存月数>
LOG_LIFE = 3 6
LOG_MODE = 2 ( = daily)日付単位の
(月数)
ログモードについてのみ有効です。
すでに記録されたログファイルの寿命を月数で
指定します。
月数が過ぎると自動的に消去されます。
39
付録-D.2 ポート定義コマンド
ポート定義ブロックはポート単位で行い、次のように START PORT で始まり、END で終わります。
START
PORT
<コマンド-1>
・
<コマンド-i>
END
ポート定義用コマンドとして次表のコマンドが準備されています。
No. コマンド名
1. PORT
2.
PROTOCOL
3.
PORT_MODE
4.
COMM_PORT
5.
IP
6.
TCP_PORT
書式と説明
PORT = <ポート ID>
ポート ID はドライバー内で固有でなければな
りません。
DshConverter では 1 or 2 固定
必須です。
PROTOCOL = <プロトコル名>
プロトコル名は次の通りです。
SECS : SECS-I
HSMS : HSMS-SS
必須です。
PORT_MODE = <モード名>
SECS の場合、MASTER または SLAVE
を指定します。
HSMS ではソケットのモードを指定します。
ACTIVE
: active
PASSIVE : passive
必須コマンドです。
COMM_PORT = <comm 名>
SECS の場合、使用する COMM ポート名
を指定します。
指定は "COMMnn"で指定します。
ここで nn は 1~63
SECS の場合必須です。
IP = <IP アドレス>
HSMS で mode=ACTIVE の場合、接続相手の
IP アドレスをせっていします。必須です。
TCP_PORT = <ポート番号>
HSMS の TCP ポートを指定します。
HSMS_MODE=ACTIVE, PASSIVE の場合に指定
します。他のアプリケーションと重複しない値を
設定します。
40
値の範囲
0~63
デフォルト値
1 or 2
1 : HSMS
2 : SECS
(固定)
-
PORT-1
HSMS
PORT-2
SECS
(固定)
接続装置との
通信設定にあ
わせてくださ
い。
-
-
-
-
-
1024~
-
7.
8.
T1
T2
T3
T4
T5
T6
T7
T8
BAUD
9.
RETRY
10
LINKTEST
11. WBLK_CHECK
12. S9FX
13. S9F1
S9F9
T1=0.1~10
T2=0.2~25
T3=1~120
T4=1~120
T5=1~240
T6=1~240
T7=1~240
T8=1~120
BAUD=<ボーレート値>
2400,
SECS プロトコルのRS232C の通信速度ボーレートを 4800,
設定する。
9600,
19200
RETRY = <回数>
1~
SECS プロトコルの送信時のリトライ回数を指定し
ます。
LINKTEST = <時間値>
HSMS プロトコル時のLINKTEST.req の送信間隔
を秒(sec)単位で設定します。
値=0 の場合は、LINKTEST.req の送信は行
なわれません。
WBLK_CHECK = <値>
0 or 1
同一メッセージの二重受信のチェックを行うかど
うかを指定します。
値=0 はしない。
値=1 の場合する。
S9Fx = <値>
0 or 1
ドライバーが S9F1,S9F9 を送信
するかどうかをまとめて指定する。
値=1 は送信する。
値=0 は送信しない。
S9F1 : 期待しないデバイス ID のメッセ
ージを受信したとき。
S9F9 : T3 タイムアウト検出したとき。
S9F1 = <値>
0 or 1
S9F9 = <値>
S9F1, S9F9 の応答を行うかどうかを個別
に設定するためのコマンドである。S9FX の関
係からいうと、後で設定したコマンドが優先
である。
値=1 は送信する。
値=0 は送信しない。
Ti = <時間値>
(i=1,2,...8)
プロトコル監視タイマーの値を秒単位の数値で指
定します。小数点以下1桁まで有効です。
SECS プロトコルの場合は、T1,T2,T3,T4
HSMS プロトコルの場合は、T3,T5,T6,T7,
T8 が適用されます。
41
T1=0.5
T2=1
T3=45
T4=45
T5=10
T6=5
T7=10
T8=5
9600
3
0
1
1
(未使用)
1
(未使用)
付録-D.3 デバイスの定義
デバイス定義ブロックはデバイス単位で行い、次のように START DEVICE で始まり、END で終わります。
START
DEVICE
<コマンド-1>
・
<コマンド-i>
END
デバイス定義用コマンドとして次表のコマンドが準備されています。
No.
コマンド名
1. DEVICE
書式と説明
値の範囲
DEVICE = <デバイス ID>
0~255
デバイス ID はドライバー内で固有でなければなり
ません。
必須です。
(注)ここでのデバイス ID は 2.の DVID
とは違います。
デフォルト値
DEVICE-1
HSMS
DEVICE-2
SECS
(固定)
2.
DVID
DVID = <値>
SECS メッセージのヘダーの Device ID の値を
16 進数で設定します。
HSMS ではセッション ID の意味になります。
必須です。
-
3.
PORT
0~63
PORT = <ポート>
当該デバイスが属するポートの ID を指定します。
必須です。
DshConverter では、
DEVICE-1 は PORT-1 固定
DEVICE-2 は PORT-2 固定です。
42
0000~7FFF
1 or 2
付録-E ログファイル(変換プログラム、通信ドライバー)の名前と管理について
本プログラムでは以下の2つのログファイルを記録することができます。
ログファイルは、\DSHConverter\log ディレクトリに保存されます。
付録-E.1 DSHConverter プログラムのログ記録ファイル
ファイル名、保存期間、記録条件などについては以下の通りです。
1
項目
記録ファイル単位
説明
日付単位で記録します。
2
ファイル命名
3
保存期間
4
記録対象情報
5
通信ログ記録条件
DSHConverter-yyyyy-mm-dd.log
ここで、yyyy は年(西暦)、 mm は月、 dd は日 を意味します。
現在月と前月の分
(前々月のファイルは自動的に消去されます。)
メイン画面での操作結果出力情報ならびに、送受信通信メッセージ
操作結果出力は常時記録されます。
メイン画面のテストモード部の “通信メッセージ表示選択”の選択によります。
off
: 記録されない
On–Header : SECS-II メッセージのヘダー部分だけを表示するが、
ファイルには、メッセージ全体をリスト構造で記録する。
On-Header + Text : メッセージ全体をリスト構造形式で記録する。
付録-E.2 SECS/HSMS 通信ドライバーのログ記録ファイル
ファイル名、保存期間、記録条件などについては以下の通りです。
1
項目
記録ファイル単位
説明
日付単位で記録します。
2
ファイル命名
dshdr2-yyyyy-mm-dd.log
ここで、yyyy は年(西暦)、 mm は月、 dd は日 を意味します。
3
保存期間
通信環境定義ファイル(付録-D 参照)の ” LOG_LIFE” コマンドで設定された月数
4
記録対象情報
SECS-I 通信履歴 : 送受信メッセージをリスト構造で記録
(制御符号は表示されない)
HSMS 通信履歴 :送受信メッセージ(制御メッセージを含む)
5
通信ログ記録条件
通信環境定義ファイルのログファイル名コマンドに名前を設定されていること。
コマンド “LOG_FILE =” のように名前を設定しなければログファイルは記録されま
せん。
43
付録-E.3 DSHConverter プログラムの通信ログ例
(On-Header+Text のケース)
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
10:54:27.495
10:54:27.945
10:54:27.945
10:54:27.945
10:54:27.955
10:56:44.712
10:56:44.722
10:56:44.722
setup_comm_device OK
+---------------------------------------------------------DSHConverter-2015-1_V-1.0_Trial_Version S/N:1413378426-T
Data Map Corporation
+---------------------------------------------------------S1F13 recv from SECS length=2
<L 0
>
2015-02-05 10:56:44.762 S1F13 send to
2015-02-05 10:56:44.762 <L 0
2015-02-05 10:56:44.762 >
HSMS length=2
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
10:56:45.123 S1F14 recv from HSMS length=23
10:56:45.123 <L 2
10:56:45.133
<B[1] = 0>
10:56:45.133
<L 2
10:56:45.133
<A[6] = "DDDDDD">
10:56:45.133
<A[6] = "REV001">
10:56:45.133
>
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
10:56:45.163 S1F14 send to
SECS length=23
10:56:45.163 <L 2
10:56:45.163
<B[1] = 0>
10:56:45.163
<L 2
10:56:45.163
<A[6] = "DDDDDD">
10:56:45.163
<A[6] = "REV001">
10:56:45.163
>
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
10:57:03.349 S1F13 recv from HSMS length=18
10:57:03.349 <L 2
10:57:03.349
<A[6] = "DDDDDD">
10:57:03.349
<A[6] = "REV001">
10:57:03.349 >
2015-02-05
2015-02-05
2015-02-05
2015-02-05
2015-02-05
10:57:03.359 S1F13 send to
SECS length=18
10:57:03.359 <L 2
10:57:03.359
<A[6] = "DDDDDD">
10:57:03.359
<A[6] = "REV001">
10:57:03.359 >
2015-02-05 10:57:03.509 S1F14 recv from SECS length=7
2015-02-05 10:57:03.509 <L 2
2015-02-05 10:57:03.509
<B[1] = 0>
.
.
44
付録-E.4 SECS/HSMS 通信ドライバーの通信ログ例
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
15/02/05
13:31:59.46
13:31:59.86
13:31:59.86
13:31:59.86
13:31:59.86
13:31:59.86
13:31:59.86
13:32:00.01
13:32:00.01
13:32:00.01
13:32:00.01
13:32:00.01
13:32:00.09
13:32:00.09
13:32:00.09
13:32:00.09
13:32:00.09
13:32:00.09
13:32:00.16
13:32:00.16
13:32:00.16
13:32:00.16
13:32:00.16
13:32:00.17
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.56
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.66
13:32:00.67
13:32:00.67
Send PT-01 P=ffff S=1 len=10 ff ff 00 00 00 01 00
Recv PT-01 P=ffff S=2 len=10 ff ff 00 00 00 02 00
PT-01 DV-001 Recv S1F13
len=0028 sessionID=1234
<L 2
<A[6]="DDDDDD">
<A[6]="REV001">
>
PT-02 DV-002 Send S1F13
len=0028 dvid=1234 RWE
<L 2
<A[6]="DDDDDD">
<A[6]="REV001">
>
PT-02 DV-002 Recv S1F14
len=0017 dvid=1234
E
<L 2
<B[1]=x00>
<L 0
>
>
PT-01 DV-001 Send S1F14
len=0017 sessionID=1234
<L 2
<B[1]=x00>
<L 0
>
>
PT-01 DV-001 Recv S6F11
len=0054 sessionID=1234
<L 3
<U4[4]=0>
<U4[4]=2>
<L 1
<L 2
<U4[4]=10>
<L 1
<A[16]="2015020513322709">
>
>
>
>
Recv PT-01 P=ffff S=5 len=10 ff ff 00 00 00 05 00
Send PT-01 P=ffff S=6 len=10 ff ff 00 00 00 06 00
PT-02 DV-002 Send S6F11
len=0054 dvid=1234 RWE
<L 3
<U4[4]=0>
<U4[4]=2>
<L 1
<L 2
<U4[4]=10>
<L 1
<A[16]="2015020513322709">
>
>
>
45
00 00 64 Select.Req
00 00 64 Select.Rsp
W sybt=00000000
blk=8001 sybt=00000000
blk=8001 sybt=00000000
sybt=00000000
W sybt=00000001
00 00 02 Linktest.Req
00 00 02 Linktest.Rsp
blk=8001 sybt=00000001