#
# Sample setup file
#
# 本ファイルの設定内容を、本ファイルのコメントとして概説します。
#
# 本ファイルの設定内容の詳細に関してまして、弊社製品である "Trust Design Simple
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# SECS/HSMS Communication Library" に含まれるプログラマーズ・マニュアル (TDS.pdf)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# の 2.1 (1)(c) を、必ずご確認いただきますよう、お願い申し上げます。
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# 同製品（Free）は、弊社ＨＰ（http://www.trust-design.co.jp/）よりダウンロード
# してください。
#

#
# [DEFAULT] もしくは [SECSCOMMON] で、ホスト、装置共通の項目を設定した上で、
# 例えば、[HOST] にホスト固有の設定、[EQUIP] に装置固有の設定を行う。
#
#
#【 重要１ 】
# 本ファイルの各セクションは、セクションを定義する位置には無関係に、以下の順番
# で読み込み、後で読み込んだ値を優先する。
#
#  読込順番	優先順位	セクション名
#     1.	   3.		[DEFAULT]
#     2.	   2.		[SECSCOMMON]
#     3.	   1.		[指定のセクション名]
#
# (注) ただし、DEVID に関しては、全てのセクションに共通で上記読込順番で読み込ん
#    だ各セクションでの指定値を追加していくことになる。従って、指定の各セクショ
#    ンで異なる設定値を使用する場合は、[DEFAULT] 及び [SECSCOMMON] セクションに
#    DEVID を指定してはいけない。
#
# (参考) 通信トレースを出力する場合（(TRCTOUT&0x02)!=0 && TRCTLEVEL>0）は、使用
#    する各パラメータ値を、通信トレース・ファイルに出力するので、本ファイルへの
#    設定値の評価結果を確認することができる。
#
#
#
#【 重要２ 】
# 本ファイルをコピーして使用する場合は、特に以下のパラメータに留意する事。
#
# SECSMODE	// SECS 通信パラメータ
# DEVMODE	// SECS 制御モード
# XDEV		// 最大 接続デバイスＩＤ個数
# DEVID		// 接続デバイスID
# XMSGSIZE	// 最大 SECS メッセージ・バイト長
# SDEVICE	// シリアル接続 デバイス名称
# HOST		// HSMS TCP/IP 接続先ホスト名称 もしくは IP アドレス
# PORT		// HSMS TCP/IP 接続ポート番号
# TRCTTYPE	// 通信トレースへの通信メッセージ出力形式
# TRCTLEVEL	// 通信トレース出力レベル
# LINKINT	// Link Test インターバル
# MDMSSG	// SML 形式、もしくは NSG/TS300 形式のメッセージ定義ファイル
# MDMXITEM	// 各メッセージで使用するデータ・アイテム総数の最大個数
# MDMXMSSG	// 定義するメッセージの最大個数
# MDMXMITEM	// 各メッセージ内で使用するアイテムの総計の最大個数
# MDMXPOOL	// メッセージ定義 設定データ格納領域サイズ
#


# ------------------------------------------------------------------------------
# 全ての AP が参照するデフォルト設定 (その１)

[DEFAULT]

SECSMODE	=  0x00000001	// SECS 通信パラメータ
DEVMODE		=  0x00001802	// デバイス制御モード

# 通常、SECSMODE の設定は、接続機器により全く異なる設定となるので、接続機器固有
# の設定を行う、接続機器に対応したセクションにて、再設定する。
#
# SECSMODE、DEVMODE の主な設定値の説明
# 詳細を必ず前述のドキュメント (TDS.pdf) の該当箇所で確認すること
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# SECSMODE
#  JI G FEDC BA98 7654 3210
# +----+----+----+----+----+
#  || | |||| |||| |||| ||++-- 通信形式            (0:SECS         1:HSMS       )
#  || | |||| |||| |||| ||                         (2:SECS on TCP  3:HSMS       )
#  || | |||| |||| |||| |+---- HSMS Passive IP-Address 強制 open  (0:No   1:Yes )
#  || | |||| |||| |||| +----- HSMS Address 形式   (0:IPV4         1:IPV6       )
#  || | |||| |||| ||||
#  || | |||| |||| |||+------- デバイス形式        (0:ホスト側     1:装置側     )
#  || | |||| |||| ||+-------- SECS 接続形式       (0:Slave        1:Master     )
#  || | |||| |||| |+--------- HSMS 接続形式       (0:Passive      1:Active     )
#  || | |||| |||| +---------- HSMS 接続先名前解決 (0:OFF          1:ON         )
#  || | |||| ||||
#  || | |||| |||+-- HSMS Passive 側 Accept 優先順位
#  || | |||| ||+--- HSMS 時セッションIDの第15bit の意味
#  || | |||| |+---- HSMS Select,Deselect,Separate Request でのセッションID (デバ
#  || | |||| |      イスID) の扱い
#  || | |||| +----- HSMS Select,Deselect,LinkTest Request での W-bit
#  || | ||||
#  || | |||+------- HSMS Passive 動作時の複数接続要求に対する切断手順
#  || | ||+-------- HSMS Separate Request 送受信処理後 Select 状態である Session
#  || | ||          ID 個数が >0 である場合の動作
#  || | |+--------- HSMS Deselect Request 送受信後 Select 状態である SessionID
#  || | |           個数が =0 となる場合の動作
#  || | +---------- HSMS Select Request の取り扱い
#  || |
#  || +-- HSMS動作時に Active 接続を自動で行う場合において、切断検知から接続動作
#  ||     を実行するまでの待ち時間
#  ++---- HSMS 接続における TCP/IP KEEPALIVE の取り扱い
#
# DEVMODE
#     G FEDC BA98 7654 3210
# +----+----+----+----+----+
#     | |  | |||| |||| |||+-- デバイスID チェック
#     | |  | |||| |||| ||+--- 受信待ち状態でない２次メッセージ受信時
#     | |  | |||| |||| |+---- SECS1 SingleBlock 時のブロック番号
#     | |  | |||| |||| +----- HSMS Select,Deselect,LinkTest Request での W-bit
#     | |  | |||| |||+------- トランザクション管理（データ送受信）
#     | |  | |||| ||+-------- トランザクション管理（制御情報送受信）
#     | |  | |||| |+--------- S9FX 受信でトランザクション終了
#     | |  | |||| +---------- HSMS の場合 Reject request 受信で Transaction 終了
#     | |  | |||+------------ T3TimeOut 報告           (S9F9)  自動送信
#     | |  | ||+------------- 未定義デバイスID 報告    (S9F1)  自動送信
#     | |  | |+-------------- データ・サイズ・オーバー (S9F11) 自動送信
#     | |  | +--------------- 受信待ち状態でない２次メッセージ受信時等
#     | |  |                  異常データ報告           (S9F7)  自動送信
#     | |  +----------------- HSMS 時の Reject request         自動送信
#     | +-------------------- HSMS 時 T6 Timeout 発生で通信    自動切断
#     |
#     +-- HSMS Select,Deselect,Separate Request でのセッションID (デバイスID) の
#         扱い


XDEV		=       4	// 接続対象設備最大数
DEVID		= "0x0020"	// 接続デバイスID

# (DEVMODE&0x01)==0 とする場合は、制御対象の全てのデバイスＩＤを DEVID 行に ','
# で区切って指定する。もしくは複数の DEVID 行で指定する。
# 複数指定する場合は、全体を " で括ること。
# その際、列挙可能な個数は、XDEV で決定するので、XDEV 値も DEVID への設定個数に
# 応じて設定すること。
# (例) XDEV	= 8
#      DEVID	= "0x0020,0x0021,0x0022,0x0023"
#      DEVID	= "100,101,102,0x67"
# (注) DEVID を複数行定義する場合は、その全てが有効となることに留意すること。
#      特に、[DEFAUT] で定義した上で、個別のセクションでも定義した場合、個別の
#      セクションでの定義のみが有効になるのではなく、[DEFAULT] での定義に加えて
#      個別セクションでの定義が有効になることに留意。
#      また、デバイスＩＤとして 0 を使用する場合は、最初の DEVID として指定しな
#      ければならない。


XMSGSIZE	=  100000	// 最大 SECS メッセージ・バイト長
XTRANX		=      16	// 同時に処理するトランザクションの最大数

# 上記 XMSGSIZE、XTRANX の設定では、処理できる SECS メッセージの最大サイズは、
# 100,000Bytes、処理可能な Open Transaction は、最大 10〜14個程度となる。
# より大きい SECS メッセージを取り扱う場合 XMSGSIZE 値を、最大 SECS メッセージ
# サイズよりも、大きな値とする必要がある。また、より多くの Open Transaction が
# 発生する場合は、その最大数に＋αした値を XTRANX に指定する必要がある。
# XMSGSIZE を大きくする場合以下に留意すること。
# ・ QUESIZE 値に関連する。
# ・ メッセージ定義ファイルを使用する場合は、MDMXPOOL 値も XMSGSIZE と同様に大き
#    くしないといけない。
# XTRANX   を大きくする場合以下に留意すること。
# ・ QUEREC 値に関連する。


SRCID0		=  0x0000	// ユーザＡＰ送信メッセージに付与するソースＩＤ 
SRCID1		=  0x7fff	// HSMS 制御メッセージに付与するソースＩＤ
XIDMIN		=  0x0001	// 付与するトランザクションＩＤの最小値
XIDMAX		=  0xffff	// 付与するトランザクションＩＤの最大値

INTER0		=     300	// 通信制御部処理インターバル   (m秒)
INTER1		=    1000	// 全体制御部処理インターバル   (m秒)
INTER2		=     100	// シリアル通信受信インターバル (m秒)
INTER3		=      60	// ファイル関連処理インターバル  (秒)


#SDEVICE	= "/dev/tty0p0"	// シリアル接続 デバイス名称
SDEVICE		= "COM1"	// シリアル接続 デバイス名称
SSPEED		=    9600	// シリアル接続 ビット・レート
SCSIZE		=       8	// シリアル接続 文字ビット・サイズ
SPARITY		=       0	// シリアル接続 パリティ形式
SSTOP		=       1	// シリアル接続 ストップ・ビット数


HOST		= ""		// HSMS TCP/IP 接続先ホスト名称 or IP-Address
PORT		=    5000	// HSMS TCP/IP 接続ポート番号

LINKINT		=       0	// HSMS リンク・テスト実行間隔
XRETRY		=       3	// SECS ブロック転送最大リトライ回数

T1		=     100	// T1 タイムアウト値 (文字間)              (m秒)
T2		=      10	// T2 タイムアウト値 (Block 転送)           (秒)
T3		=      45	// T3 タイムアウト値 (Message 返信)         (秒)
T4		=      45	// T4 タイムアウト値 (Block間)              (秒)
T5		=      10	// T5 タイムアウト値 (接続、切断)           (秒)
T6		=       5	// T6 タイムアウト値 (制御トランザクション) (秒)
T7		=      10	// T7 タイムアウト値 (NOT SELECT)           (秒)
T8		=       5	// T8 タイムアウト値 (Network Packet 間)    (秒)

TORECV		=	0	// メッセージ無受信による切断までの時間     (秒)


QUEDIR		= "."		// 送受信キュー・ファイル格納ディレクトリ
QUESIZE		=    1024	// 送受信キューのレコード・サイズ
QUEREC		=      64	// 送受信キューのレコード数
QUEMODE		=  0x00b0	// 送受信キュー処理モード

# QUESIZE は、必ずしも XMSGSIZE 値に依存しなくてもよい。通常の通信の中で頻繁に
# 実行する SECS メッセージの中で最大のものに合わせて設定するとよい。
# QUEREC は、一度に発生する Open Transaction の最大数の２倍程度以上の値を設定
# する必要がある。


#THSTACKUSR	=       0	// システムのデフォルト値を使用
#THSTACKSYS	=       0	// システムのデフォルト値を使用
#THSTACKUSR	= 1048576	// Windows の場合のデフォルト値 (1MB)
#THSTACKSYS	= 1048576	// Windows の場合のデフォルト値 (1MB)
THSTACKUSR	= 2097152	// 少し大きくとる場合		(2MB)
THSTACKSYS	= 2097152	// 少し大きくとる場合		(2MB)

# スタックサイズは、通常デフォルトのままでも良いと思われるが、例えば Java 実行
# 環境において JNA を使用して TDS を動作させるとか、大きなサイズの AP である等
# の場合には、例えば Windows の場合は 2M、4M、8M といったサイズを指定する必要が
# ある場合がある。
# スタック・オーバーフローになると、なにも言わずにＡＰが死ぬ場合があるので、
# 十分注意すること。


TRCDIR		= "."		// トレース・ファイル格納ディレクトリ
TRCTTYPE	=  0x00a1	// 通信トレースへの通信メッセージ出力形式

# TRCTTYPE において、メッセージ定義ファイルを使用して、通信トレースに項目名表示
# を行うため、第7、11ビットを ON とする場合、((TRCTTYPE&0x0880)!=0) は、MDMSSG
# に正しいメッセージ定義ファイルを指定すること
# MDMSSG に正しいメッセージ定義ファイルを指定できない場合は、これらの bit を ON
# としてはならない。
#
# TRCTTYPE、TRC.OUT の主な設定値の説明
# 詳細を必ず前述のドキュメント (TDS.pdf) の該当箇所で確認すること
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# TRCTTYPE
#  BA98 7654 3210
# +----+----+----+
#  ||++ |+++ |||+-- リスト形式出力                            (0:No  1:Yes)
#  || | | |  ||+--- 16進数形式出力                            (0:No  1:Yes)
#  || | | |  |+---- アイテム・データ表示形式          (0:１行のみ 1:複数行)
#  || | | |  +----- 16進数表示形式 (0:16Bytes づつ表示  1:20Bytes づつ表示)
#  || | | |
#  || | | +-------- リスト出力形式                    (0:TDS 2:SML 4:TS300)
#  || | +---------- メッセージ名称 及び 項目名称表示          (0:No  1:Yes)
#  || |
#  || +------------ メッセージ定義ファイル形式              (0:SML 2:TS300)
#  |+-------------- リスト表示の先頭スペース個数              (0:2個 1:0個)
#  +--------------- メッセージ名称単独行表示                  (0:No  1:Yes)
#
# TRC.OUT
#    D     8  765   10
# +----+----+----+----+
#    +-+---+  |++   ++-- トレース出力先      (0:NO 1:STDOUT 2: FILE 3:BOTH)
#      |      |+-------- 出力時トレース・ファイル日毎切替指定
#      |      +--------- 指定サイズ超の場合のファイル切替指定
#      +-- 残しておくトレース・ファイル数


TRCTOUT		=  0x0342	// 通信トレース出力モード
TRCTLEVEL	=       5	// 通信トレース出力レベル
TRCTATTR	=  0x810f	// 通信トレース出力属性
TRCTSIZE	= 5000000	// 通信トレース・ファイル・サイズ
TRCXDUMP	=       0	// 通信トレース Hexa ダンプ打ち切りバイト数

TRCPOUT		=  0x0340	// 処理トレース出力モード
TRCPLEVEL	=       5	// 処理トレース出力レベル
TRCPATTR	=  0x812f	// 処理トレース出力属性
TRCPSIZE	= 5000000	// 処理トレース・ファイル・サイズ
TRCPPRINT	=       0	// 処理プリント出力レベル

TRCUOUT		=  0x0340	// ユーザ I/F 関数トレース出力モード
TRCULEVEL	=       5	// ユーザ I/F 関数トレース出力レベル
TRCUATTR	=  0x812f	// ユーザ I/F 関数トレース出力属性
TRCUSIZE	= 5000000	// ユーザ I/F 関数トレース・ファイル・サイズ
TRCUPRINT	=       0	// ユーザ I/F 関数プリント出力レベル

TRCDELTIME	=  000000	// 古トレース削除実行時刻
TRCDELDAY	=  000000	// 古トレース削除対象経過年月日


MDMSSG		= "Sample.sml"	// メッセージ定義ファイル・パス名称
MDMXITEM	=    5000	// データ項目総数の最大個数
MDMXMSSG	=    2000	// 定義するメッセージの最大個数
MDMXMITEM	=   50000	// データ項目の総計の最大個数＋α
MDMXPOOL	= 3000000	// メッセージ定義 設定データ格納領域サイズ

# 本製品のトレース出力において、前方の TRCTTYPE の設定で bit#7、11 を ON として、
# メッセージ名称、メッセージ項目名称等の表示を行う場合（(TRCTTYPE&0x0880)!=0）は
#「必ず」MDMSSG に有効な正しいメッセージ定義ファイルを指定すること。
# また、メッセージ定義ファイルの内容により、MDMXITEM 〜 MDMXPOOL 設定値をある程
# 度余裕を持った大きめの値を設定すること。
#
# MDMXITEM 以下の各項目は、MDMSSG に指定するメッセージ定義ファイルの内容により、
# その値を増減させる必要がある。
# 通常、ある程度余裕を持った大きめな値を指定すること。
# 処理中に、以下のエラー発生する場合、対応する項目値を調整すること。
# -941  : MDMXITEM   : メッセージ定義 最大データ・アイテム個数
# -942  : MDMXMSSG   : メッセージ定義 最大メッセージ個数
# -943  : MDMXMITEM  : メッセージ定義 最大メッセージ内全アイテム個数
# -944  : MDMXPOOL   : メッセージ定義 設定データ格納領域サイズ


LICENSENAME	= ""
LICENSECODE	= ""
LICENSESER	= ""
LICENSEDATE	= ""
LICENSEKEY	= ""

# ライセンス・キーを上記に指定しない場合、数十分の連続使用後、使用できなく
# なります。
# 弊社ＨＰに掲載する、本製品に関するデフォルト・ライセンス・キーを指定すると
# 数時間の連続使用が可能となります。
# それ以上の連続使用を行う場合は、弊社まで、ライセンスの申請を行ってください。
# 詳細は Readme.txt をご参照ください。
# なお、デフォルト・ライセンス・キーは、所定の期間が経過すると無効になります。
# 最新のデフォルト・ライセンス・キーをご使用ください。最新のデフォルト・ライ
# センス・キーは、弊社ＨＰに掲載しております。
#
# [警告]
# 異なるＰＣには必ず異なるライセンス・キーコード情報を記述しなければいけません。
# 同一ＰＣ内で動作する TDS を使用する複数のＡＰに対して異なるライセンス・キー
# コードを設定する必要はありません。



# ------------------------------------------------------------------------------
# 全ての AP が参照するデフォルト設定 (その２)

[SECSCOMMON]
#
# 本セクションには [DEFAULT] セクション同様、共通の設定を行う事ができる。
#



# ------------------------------------------------------------------------------
# サンプル・プログラム 及び tdlSSim は、ホスト動作指定時にセクション名を指定
# しない場合、[HOST] セクションを使用する。

[HOST]

SECSMODE	=  0x0001



# ------------------------------------------------------------------------------
# サンプル・プログラム 及び tdlSSim は、装置動作指定時にセクション名を指定
# しない場合、[EQUIP] セクションを使用する。

[EQUIP]

SECSMODE	=  0x0071
HOST		= "127.0.0.1"

