====================================================================================================
== Release Note (tdlSSim) ==========================================================================

■ Please refer to ReleaseE.txt if you want to refer to the contents of this file in English.


■ V12.121 : 2012/12/12

  1. 新規公開



■ V12.122 : 2013/11/10

  1. 内部管理上の問題に関する改修。機能での変更はない。



■ V14.040 : 2014/04/25

  1. 通信試験用として SECS ヘッダ値の指定機能 及び HSMS の場合 TCP/IP パケット分割送信機能を追加

  2. 有効でないメッセージ定義ファイルを指定しているにも関わらず、通信トレースにメッセージ名称、
     メッセージ項目名称を表示する旨の指示を行っている場合の問題を回避。

  3. 処理中にシステム時刻が大きく変化した場合のタイムアウト処理に対応。

  4. 送信メッセージの各数値項目値を変更する場合、"0x" を接頭句として付与することにより、16進数で
     の指定を可能とした。



■ V15.041 : 2015/04/25

  1. メッセージ定義ファイルとして NSG/TS300 の .csv 形式ファイルを指定可能とした。

  2. 使用するセクションをキー入力ではなく、指定 .ini ファイル内のセクションからの選択に変更。

  3. 使用メッセージ定義ファイルを指定しない場合に、[Start] 後、.ini ファイルから取得した現在使用
     しているメッセージ定義ファイルの情報を表示する。

  4. ウインドのリサイズに対するサイズ追随ペインを変更
    a. 横方向は、左右均割合でサイズ変更
    b. 縦方向は、上部表示ペインのサイズを変更

  5. if、while に対応する endif、endwhile 等が見つからない場合、トレース表示ペインにエラーを表示。
     また、実行中エラー発生時、１秒間実行を停止し、エラー発生を発見しやすくした。

  6. スクリプトの各キーコードの後ろに ';' が付属していても無視する。

  7. 特殊変数として以下を追加
    a. !TM、!YY、!MD、!DD、!HH、!MM、!SS : 現在時刻に関する各種値
    b. !TS : スクリプト実行遅延時間

  8. 処理終了時の待ち時間を短縮



■ V15.050 : 2015/05/08

  1. １次メッセージと２次メッセージのトレース出力が、逆転する現象を回避。

  2. .ini ファイルの DEVID 行に、複数の DeviceID を指定可能とした。

  3. ウインド上でのメッセージ項目値の表示、編集において I8、U8 項目値が、正しく処理されない問題を
     改修。

  4. send 文において、receive 文と同様 "ITEM;6=1,2,3" といった、項目のデータ数が複数の項目に対して、
     一部の項目値のみを設定する事を可能とした。

  5. メッセージ定義ファイルが未指定の場合、[Start] 後に、.ini ファイルから取得した現在使用している
     メッセージ定義ファイルの情報が、セクション指定をしない場合に表示されない現象を回避



■ V15.080 : 2015/08/01

  1. 通信トレース出力において、マルチバイト文字列（"K" 指定）が正しく表現されない問題を修正。

  2. メッセージ定義におけるマルチバイト文字列（"K" 指定）が正しいバイト数を生成しない問題を修正。

  3. メッセージ構造表示領域での "JIS8 文字" 及び "マルチバイト文字" 表示の識別文字が逆転していた
     ので、それぞれ "J"、"K" に訂正。

  4. メッセージ定義における２次メッセージの自動選択機能において、メッセージ方向を両方向とした１次
     メッセージ定義の下方に定義した２次メッセージを正しく選択をしない問題を修正。



■ V15.110 : 2015/11/13

  1. ライセンス管理の誤り（ファイアーウォール等によりライセンス管理情報がブロックされたと誤検出し
     てしまう場合がある）を改訂。



■ V16.010 : 2016/01/08

  1. 設定ファイル（.ini）における共通項目に関するセクションとして、従来の [DEFAULT] に加えて
     [SECSCOMMON] を追加。従って、各接続条件において共通なパラメータは、[DEFAULT] もしくは
     [SECSCOMMON] セクションで定義することが可能。
     従来 [SECSCOMMON] セクションを定義し、使用している場合は、申し訳ありませんが、他のセクション
     名に変更する等の対応が必要になります。

  2. 設定ファイル（.ini）から取得した設定値を、初期化時 及び 再読込時に通信トレース・ファイルに
     出力する。

  3. ライセンス管理において、他ＰＣでの同一ライセンス・キーコードのチェックを、ライセンス・キー
     コード発行日から６ヶ月が経過した後実行していたが、ライセンス・キーコード発行日から実行する
     ように変更。



■ V16.011 : 2016/01/15

  1. 設定ファイル（.ini ファイル）を評価する際、DEVID の指定を [DEFAULT] セクション以外で複数指定
     した場合等に異常終了する等の場合がある問題を修正。



■ V16.012 : 2016/02/20

  1. トレース・ファイルをサイズ超過で切り替える場合、1000 以上の通番が付いたファイルの次のファイル
     が、正しい通番にならない問題を修正。

  2. トレース・ファイルとして、日付をファイル先頭に付与した形式を指定した場合で、ファイル・サイズ
     超過でのファイル切り替え指定を行った場合、正しい通番が付与されない場合がある問題を修正。

  3. 古トレース・ファイル削除機能において、正しく削除できない場合（日付指定の無いトレース・ファイ
     ル、日付フォルダを使用したトレース・ファイル）を解決。

  4. 起動時点が、設定ファイル（.ini）の TRCDELTIME 以降である場合、翌日の TRCDELTIME になるまで
     古トレース・ファイル削除機能を実行しなかったのを、TRCDELDAY として負値を設定した場合は、起動
     時点で常に１回同起動を実行するように機能追加。



■ V16.040 : 2016/04/05

  1. HSMS-GS に対応。
     HSMS-GS 設定に関しては、弊社 Simple SECS/HSMS 通信パッケージ（Trust Design Simple SECS
     Communication Library）に付属のドキュメント (TDS.pdf) をご参照ください。

  2. １次メッセージ送信時のデバイスＩＤを指定可能とした。

  3. スクリプト実行時の１次メッセージ送信デバイスＩＤを指定するために、特殊変数 "!DX" を新設し、
     変数値表示領域に "!DX" の表示を追加。

  4. 実行ウインドの最小サイズを変更し、以前よりも小さいサイズのウインドでの動作を可能とした。

  5. [ヘルプ] メニュに [エラーコードリストの表示] を追加し、エラーコードの一覧表示を行う。



■ V16.060 : 2016/06/10

  1. メッセージ定義ファイルでの２次メッセージ定義におけるメッセージ属性に 'D' を追加し、デフォルト
     の２次メッセージである事を宣言可能とした。これにより、受信１次メッセージの構造が一致しないこと
     により、該当１次メッセージが見つからない場合も、SF-Code のみが該当する場合の２次メッセージを特
     定する事を可能とした。

  2. 画面への通信トレースにおける制御メッセージに関する行頭記号を '<' から '@' に変更



■ V17.030 : 2017/03/01

  1. SECS-1 通信時の「通信試験」時に、[Sending size] の指定を可能とし、マルチ・ブロック送信時の各
     送信ブロックのバイト長を指定可能とした。

  2. スクリプト処理において、同一 SF-Code を連続して処理する場合、Muliti Open Transaction が発生す
     る場合等で、release 文と引き続く reserve 文との処理間隔において、連続して発生（受信）した
     SF-Code をスクリプトで処理できず、自動返信機能により２次メッセージが自動返信されてしまうケース
     が発生することを抑止するため、このようなケースにおいては release 文を使用せず（記述しないで）
     引き続く reserve 文により、release 文処理を実行することとした。



■ V17.030b: 2017/03/01

  1. SemiStandard.sml を改訂



■ V18.011 : 2018/01/13

  1. Windows 版での SECS-1 (RS232C) 接続において、115200 を超え定義の無い BPS (例えば 230400 等)
     をサポートした。

  2. HSMS Active 接続の場合に、一旦切断を検知してから再接続処理を実行するまでの時間を、即時もし
     くは、即時もしくは、T5 時間経過後のどちらかを (SECSMODE&0x00010000) で選択可能とした。

  3. SML 形式メッセージ定義ファイルのメッセージ定義行で flag として 'H'、'E' のどちらも指定しない
     ケースにおいて、'D' のみを指定（即ち "D" もしくは "WD"）した場合に、メッセージ自体が有効にな
     らず、'D' 指定も有効にならない問題を解決。



■ V18.020 : 2018/02/10

  1. SECS メッセージの構築処理において、メッセージ定義ファイルで定義するメッセージの不定個数リスト
     内に @TIME 項目が存在した場合、その項目が現在時刻に変換されない問題を解決。

  2. SML 形式ファイルにおける L[0|n] 形式をサポートした。
     これにより、LIST 項目に単一項目だけでなく、0個もしくは n個の異なるデータ項目を指定可能とした。

  3. 上記 L[0|n] のサポートにより、SML 形式メッセージ定義ファイルのサンプル "SemiStandard.sml" を
     一部改訂。



■ V18.031 : 2018/03/23

  1. SECS-1 接続時に受信エラーが発生した場合に異常終了する場合がある問題を改訂

  2. 通信トレース出力の受送信マーク 受信 "<"、送信 ">" を逆にした。
     即ち、受信 ">"、送信 "<" とし、直感性を向上した。



■ V18.032 : 2018/03/28

  1. 英語版を "tdlSSimE.exe" としてリリースした。



■ V18.041 : 2018/04/23

  1. 指定の .ini ファイル等のパス名称が長い (概ね 120バイト超) 場合に、バッファオーバーランが発生
     し、動作が不定あるいは不安定になる場合がある問題を改訂。

  2. スクリプト実行時に、論理積 (&) 演算がうまく動作しない場合がある問題を改訂。



■ V18.050 : 2018/05/28

  1. DeviceID として 0x0000 を使用する場合に、.ini ファイルの DEVID の先頭として指定しなければいけ
     ないという制限を撤廃し、DEVID のどの位置にでも指定できるようにした。これにより、通信トレース
     ファイルの名称等の識別が、"0000" でないものも使用できるようになり、柔軟性を向上させた。

  2. HSMS Active 接続時に発行する Select.Request に対する Passive 側からの Select.Responce の応答
     がとても速い場合に、Select 状態に移行せず T7TO を発生してしまう場合がある現象を回避。



■ V18.070 : 2018/07/01

  1. SECS-1 接続時における以下の問題を解決。
    a. .ini に T1=0 として指定されていると、通信エラーが発生した場合でのエラーの後処理時に、永久に
       待ち状態となってしまう。
    b. 通信トレース出力において、メッセージ定義を使用したメッセージ名称、項目名称の表示を指示して
       いるにも関わらず、送信メッセージの表示に、メッセージ名称、項目名称が表示されない。
    c. 通信トレース出力では、送信時のトレースを送信前に出力するため、BLOCK に関する表示は常に =0
       で表示していたが、送信データ長から BLOCK 値を計算して、送信するであろう最終 BLOCK の値を
       出力するように変更。

  2. SECS-1 接続時における MULTI BLOCK メッセージの受信処理での以下の状態を .ini での SECSMODE の
     指定により、制御可能とした。(詳細は TDS.pdf を参照)
    a. MULTI BLOCK メッセージ受信途中で、送信要求を受け付けた場合、タイミングによっては、その送信
       要求を優先して送信処理に入るが、このような場合でのデフォルト動作を、送信処理を MULTI BLOCK
       メッセージ受信での最終 BLOCK の受信後に開始するように変更し、(SECSMODE&0x10000000)!=0 の指
       定により、従来通りの動作をするように改訂。
    b. 先頭 BLOCK の BLOCK 番号が任意のものであっても受信を許可するモード ((SECSMODE&0x200000000)
       !=0) を追加。
    c. 受信した BLOCK 番号値が、受信を期待している番号と異なっている場合に、NAK 応答をして、送信
       側に再送を促すモード ((SECSMODE&0x400000000)!=0) を追加。



■ V19.020 : 2019/02/01

  1. .ini ファイルにおける DEVMODE の指定が (DEVMODE&0x01)==0 であり、送受信時に DeviceID のチェッ
     クを行う設定の場合に、メッセージ送信時に画面上の [DeviceID] 欄に、処理対象以外の DeviceID を
     指定すると、正しく処理できない（異常な SECS メッセージを送信処理する。不明なエラーになる等）
     問題を解決し、正しく "DeviceID 異常" とするように改訂。

  2. SECS-1 接続の場合の接続状態表示の文言を改訂。



■ V19.070 : 2019/07/05

  1. 設定ファイルにおける以下のビットの扱いを、以前からの予告の通り廃止した。
    a. (DEVMODE&0x000008) : HSMS Select,Deselect,LinkTest Request での W-bit の扱い
                            (SECSMODE&0x000800) に移行
    b. (DEVMODE&0x010000) : HSMS Select,Deselect,Separate Request でのセッションID (デバイスID) の
                            扱い
                            (SECSMODE&0x000400) に移行
     [注意]
     現在、これらのビットの設定により TDS の動作設定をされている場合は、移行先のビットでの設定に
     変更し、これらのビット値を =0 とする必要があります。

  2. 英語標記プログラム 及び 英語ドキュメントの追加



■ V19.100 : 2019/10/25

  1. SML 形式のメッセージ定義ファイルにおける Multi Byte Text String 項目における LSH (Local String
     Header) の指定を可能とした。
     Multi Byte Text String (022) の指定時のニモニックとして 'M99' (99:LSH の値) を指定する。

  2. スクリプト実行において DEVID=0 の指定を可能とした。 

  3. セクション名を無指定とした場合、シミュレーション開始に伴い使用するセクション名を表示するように
     改訂。

  4. 開始時に異常終了した場合に、使用するメッセージ定義ファイルの表示が入力値として残ったままとなっ
     てしまう問題を解決。

  5. プログラム起動時に、シーケンス表示部の表示が、既選択のシーケンスを示す program 行の先頭に位置
     付かない問題を解決。

  6. シミュレーション終了時 及び ライセンス指定の不備によりシミュレーション動作停止する時に異常停止
     する場合がある問題を解決。

  7. Windows での拡大表示（コントロールパネル -- ディスプレイ での 100、125、150% 指定）の変化に対
     応した。これにより変数表示ペインの乱れを解消した。



■ V20.040 : 2020/04/17

  1. TDS の更新に伴う改訂で、HSMS-SS、HSMS-GS における接続、切断性能の向上を図った。

  2. HSHS 接続における Passive 動作時において、既存接続を優先する場合に、新規接続があった時に、
     既存接続に対して新規接続の接続/切断が報告され、既存接続も切断されてしまう問題を解決。

  3. 処理対象デバイス選択コンボ・ボックスに関して以下の改定を行った。
    a. HSMS-GS 接続時において、接続先からの Select、Deselect 要求処理により選択デバイスが再選択され
       てしまう問題を解決。
    b. HSMS-GS 接続時において、既選択デバイスの Select 状態に変化があっても '*' 表示の更新がなされ
       ない問題を解決。



■ V20.090 : 2020/09/01

  1. [Start] 時に [メッセージ] 未指定の場合には [メッセージ] 定義ファイルとして、指定 .ini ファイル
     に指定されたものを表示するが、メッセージ定義ファイルの格納フォルダが .ini ファイル格納フォルダ
     とは異なるものの、フォルダ名の最初から数文字が共通である場合の表示が誤っている問題を解決。

  2. ログ表示ペインへの SECS ヘッダ表示中のトランザクションID値が、ソースIDが >0 の場合の表示値が正
     しくない不具合を解決。

  3. .ini において (DEVMODE&0x4000)!=0 とすることにより、HSMS 通信時の LinkTest の送信タイマーを、
     接続相手からのデータ・メッセージ受信によりリセットする事を可能とした。これにより、この設定を
     行うとアプリケーションのメッセージ交換がされている間は LinkTest を発行しなくなる。



■ V21.010 : 2021/01/15
■ V21.011 : 2021/02/25

  1. シミュレータ動作中に、使用中の .ini の SECSMODE、DEVMODE の一部を変更可能とした。
     これにより、現在実行中変更が可能な T3TO 値、トレース出力レベル等と同様、例えば以下の変更が可能
     となる。
     a. HSMS Passive 側の TCP/IP 接続受け入れ時の接続優先順位
     b. HSMS 時における SessionID の第15bitの意味
     c. HSMS 動作時の切断検知から接続実行までの待ち時間
     d. SECS-1 接続時の Single Block の場合のブロック番号
     e. T3TO 発生時の S9F9 自動送信の実行可否
     f. T6TO 発生時の自動切断の可否
     詳細は TDS.pdf 第２.１節 (1)(d) を参照すること。

  2. 送信する SECS Message のデータ部に通常は自動的に決定する各データ項目の Length Byte size (1〜3)
     を指定長 (2〜3) とする機能を追加。
     Length Byte Size を指定した場合、その指定値でデータ項目の総バイト数を格納できる場合は、常に
     そのサイズとする。ただし格納できない場合は、格納できるサイズとする。

  3. .ini ファイルでの (TRCTTYPE&0x1000) の指定により、通信トレースへの LIST 形式出力に、関連する
     SECS-II Message のバイトデータの 16進数コードの出力を付加表示する事を可能とした。
     これにより、SECS-II メッセージデータ構造の詳細確認、解析が容易になる。

  4. 拡張通信トレースを別ウインドに表示する事を可能とした。
     これにより、従来は通信トレースファイルを参照することでしか確認できなかった HSMS 接続時の
     LinkTest に関するやりとりや、SECS-1 接続時の通信制御コードの送受信もウインド上でリアルタイムに
     確認可能となった。
     また、従来の通信トレース表示には SECS メッセージヘッダのみを表示して通信の推移のみを監視し、
     同時に拡張通信トレースウインドに SECS メッセージの詳細を表示し必要に応じてメッセージの詳細を
     確認する、といった使い方も可能。
     拡張通信トレースウインドには、.ini の指定により、前項の LIST 形式表示に関連する 16進数表示を
     行う事もできるので、SECS-II メッセージ内容の解析が容易になる。

  5.(V21.011)
    通信トレース・ファイルに記録される時刻が、前行のものに置き換わりズレてしまう問題を解決。



■ V21.060 : 2021/06/15
■ V21.061 : 2021/07/23
■ V21.062 : 2021/08/17


  1. シュミレータ動作速度の向上のため、以下を一時停止する機能をメニューに追加した。
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     この機能を指定することにより、スクリプト処理時の実行速度を大幅に改善する事が可能。
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    a. 通信トレース、処理トレースのファイル出力
    b. スクリプト実行のリアルタイム表示

  2. 通信トレース表示におけるリスト形式表示に関連する１６進数表示を、各行後部に付加することを可能
     とした。

  3. メイン操作部に [->] ボタンを設け、トレース表示最終行への位置づけを容易に行えるようにした。
     また、メニュに [最終行表示] を新設し、上記処理の実行を容易にした。
  4. 拡張通信トレース表示ダイアログにおいても、メニュに [最終行表示] を新設し、通信トレースウインド
     の最終行表示を容易にした。

  5. スクリプト文内の演算子（代入、演算、比較）の前後に空白を置けない仕様を、置けるように変更。
     この変更により、スクリプト文の視認性を高めた。
  6. スクリプトの release 文で、複数の SF-Code を１行で release 可能とした。

  7. スクリプト実行時、if ブロック 及び while ブロックから goto、continue、break により制御の遷移が
     ある場合に、正しく制御ブロック階層が評価されない問題を解決。
     ただし、上方への goto では制御ブロックの範囲を超えることはできない。

  8. 上記スクリプト機能の改訂に伴い、サンプルスクリプト・ファイルを改訂した。


  (V21.061)

  9. 32bit AP、64bit AP の両方を用意した。

  10. スクリプトの set 文における代入演算子として == を新設した。
     文字列変数への代入に == を使用する場合、== の右辺をそのまま左辺文字列変数に代入することを可能
     とし、文字列変数の単純コピーが可能となった。

  11. 代入演算、比較演算において、数値変数（整数、実数）に前置単項演算子 "-" を付加することを可能と
     した。


  (V21.062)

  12. スクリプトの set 文で @file を使用する場合の .dat ファイルに相対パス名称を指定した場合は、
     スクリプト・ファイル（.ssl ファイル）存在ディレクトリからの相対位置であることを明示した。

  13. SECS Message の SML List 形式表示の右側に、関連する SECS Message データ領域の 16進数表示を付加
     表示可能とした。 

  14. 各サンプル・ファイルを Sample0/ に格納し、Win32/、Win64/ の各 .exe は、../Sample0/ のファイル
     を使用するようなサンプルを示した。

  15. 上記に関連し、各サンプル・ファイルを改訂した。



■ V23.040 : 2023/04/25
   V23.041 : 2023/06/15

  1. SECS メッセージの SF-Code 毎の送受信に関する統計情報 (送受信数、異常返信数、トランザクション
     時間等）の集計機能を新設した。
     取得した統計情報は、メニュに新設した [統計情報] から、画面に表示、通信トレースファイルに出力
     することができる。
     (注0) この機能を有効にするには、使用する設定ファイル (.ini) の STATISINFO を 1 に設定すること。

  2. 送受信を行う SECS メッセージが文字列項目 (A,J,M(K)) である場合に、\377 Escape コードを記すこと
     により、非表示バイトを文字列中に含めることを可能とした。これは、メッセージ定義ファイルでの文字
     列指定、及び通信メッセージ編集画面での入力の両方に適用する。

     \377 Escape は、1Byte を \ に続く３桁の８進数で指定することにより行う。
     (例) "12\00345\00678" は、16進数で 0x31,0x32,0x03,0x34,0x35,0x06,0x07,0x08 の 8Byte の文字列
         を意味する。
     (注1) 指定可能なのは \001 〜 \376 であり、\000、\377 は指定できない。
     (注2) tdlSSim は、指定の文字列に関して送信時にマルチ文字項目 (M(K) 項目) に関して、メッセージ
         定義に記載された文字コードへの変換を行い、次に全文字列項目 (A,J,M(K)) に関して指定の \377
         Escape の変換を行って送信する。変換前の文字列は、自システムの文字コード (Windows では
         Shift-JIS とする) で記載されていることを前提とする。
        受信した SECS メッセージの文字列項目に関しては、マルチバイト文字項目に関して、指定の文字
        コードから自システムの文字コードへの変換を行い、ASC 項目 (A)、JIS-8 項目 (J) に関しては、
        非印刷バイトを \377 形式に置き換える変換を行って表示する。

  3. HSMS 接続において、接続状態が正しく取得できないタイミングがある問題を修正



■ V23.060 : 2023/06/15
   V23.061 : 2023/06/15

  1. HSMS 接続において、２次メッセージ送信を対話方式で行う際 Reject を選択した場合に、送信 Status
     を指定可能とした。
  2. HSMS 接続において、異常通信試験として非同期に制御メッセージ (Select.req、Select.res、
     Deselect.req、Deselect.res、LinkTest.req、LinkTest.res、Reject) を送出することを可能とした。
     Response Message の送出時には SessionID、TransactionID、Status (F-Code) の指定が可能。
  3. HSMS 接続において、異常通信試験として制御応答メッセージ (Select.res、Deselect.res、
     LinkTest.res) の送出を抑止することを可能とした。

  4. スクリプトに "TRACE" 文を新設し、スクリプト実行行のスクリプト表示ペインへの表示の ON/OFF、
     トレース出力ペインへの表示の ON/OFF をスクリプトで指定することを可能とした。
  5. スクリプト実行における !ER の取り扱い等に関していくつかの改善を行った。
  6. スクリプト実行において TO 値を指定しない wait 文において、異常発生時に終了しない問題を改定。



■ V23.062 : 2023/09/01

  ・ メッセージ定義において文字列項目を対象とした比較項目値を設定した場合に、受信１次メッセージの
     検索において文字列項目の正しい比較が行われないため、比較結果が一致せず正しい２次メッセージを
     送信できない事がある問題を解決した。



■ V23.063 : 2023/11/01

  1. SECS-1 接続時における送信メッセージの通信トレース出力ヘッダ Hexa 表示の BLOCK 番号部分に関して、
     以下の改定を行った。
     本来 BLOCK 番号は、１つの SECS-2 メッセージに付与するのではなく、RS232C 通信を使用して１つの
     SECS-2 メッセージを構成する複数の通信 BLOCK 毎に付与するので、通信トレース表示では不定となる。
     これを受信時と同様の値として出力するために、分割最終ブロック番号を送信前に算出し E-Bit と共に
     表示する。
  2. 画面上の通信トレース出力部に関しても、上記と同様の改定を行った。



■ V24.040 : 2024/04/15

  1. スクリプト実行時に Send 文で送信する１次メッセージが、メッセージ定義ファイルにおいて W-bit OFF
     指定しているにも関わらず、W-bit ON の状態で送信される問題を解決した。

  2. HSMS 通信時に、通信メッセージ・ヘッダ部の SystemByte の最上位ビットを =1 とした（即ち、System
     Byte を 32bit 符号付整数として扱った場合に負値となる）メッセージの送受信を可能とした。

  3. スクリプト実行時における reserve、release、wait 各文の関係を見直し、記述方法をより簡便になる
     よう改定を行った。
     この改定により、既存のスクリプトの改定が必要になる場合があるので、以下の改定点に留意し、必要
     に応じて、改定を行ってください。
     詳細は tdlSSim.pdf の各スクリプト行の説明 及び Sample.ssl をご参照ください。

    a. release 文
      a. release 文を記述するのは、reserve 文でスクリプトでの受信待ちを行う旨を宣言した SF-Code の
       受信処理を取り消す（これ以降指定 SF-Code に関する処理はスクリプトでは行わない）場合のみ。
       --> 同一 SF-Code を while Loop 内等で、連続して受信するようなコードの中で release 文を使用
         して、受信 SF-Code の解除を行っている場合は、その 'release' 文を削除してください。

    b. reserve 文
      ・ スクリプトでの受信対象 SF-Code として reserve 文で宣言するのは、基本的には１回行えば良い。
       ただし release 文で処理対象から外した SF-Code を、再度処理対象とするためには再度 reserve 文
       で、宣言しなければならない。
       --> 同一 SF-Code を while Loop 内等で、連続して受信するようなコードの中で reserve 文を受信の
         度に実行している場合は、その reserve 文を削除してください。
         以下 b. の記述に対応するために reserve 文を用いる場合は、必ず receive、send 文等の受信関連
         処理が終了してから reserve 文を記述してください。

      ・ wait 文にて受信処理したメッセージに関する処理（受信メッセージの解析、特殊変数の保存、２次
       メッセージの送信等）が完了した後、次の wait 文の実行までにたくさんのスクリプト処理を行わな
       ければならない場合や sleep を行う場合等では、次のメッセージ受信処理がその間滞る（スクリプト
       処理対象メッセージ、非対象メッセージに関わらず滞る）。

         reserve 文で受信処理を完了した受信メッセージの SF-Code を再登録することにより、その時点か
       らバックグラウンドでの新たなメッセージ受信を行う事を指示することができる。この指示により、
       次の wait 文の実行までの間に、スクリプト処理非対象メッセージの処理を自動処理することができ
       る。スクリプト処理対象メッセージを受信した場合は、そのメッセージを wait 文によりスクリプト
       が受信処理を開始するまで全ての受信処理は停止する。
       この reserve 文による受信 SF-Code の再登録は必ずしも必要な訳ではない。



■ V24.041 : 2024/04/30

  1. tdlSSim 起動時に、起動オプション "+A" あるいは "+AC" を指定することにより、起動後自動的に動作
    開始 ([Start] 押下と同様) し、HSMS 接続の場合は CONNECT、SELECT 処理まで自動的に行うことを可能
    とした。
    また、同オプションのパラメータとして、シーケンス・プログラムのプログラム名称を指定することに
    より、接続確認後自動的にスクリプトを実行することも可能とした。
    詳細は、tdlSSim.pdf "2. (1) 起動" を参照すること。



■ V24.042 : 2024/05/23

  1. 通信トレース表示において、.ini で (TRCTTYPE&0x80)!=0 を指定した場合でも、メッセージ定義での
    メッセージの方向が合致しないメッセージはメッセージ名称、項目名称の表示を行わないが、それを方向
    が異なっていてもメッセージ構造と項目値が設定と合致すれば、メッセージ名称、項目名称を表示するよう
    に改定した。

  2. SECS-1 接続におけるブロック転送時に異常ブロックを生成し、受信側の動作を検証するため以下の機能
    を新設した。
    a. 通信試験時の [送信メッセージ] ダイアログで、P-Type Code、S-Type Code 値を指定可能とし、送信
      SECS メッセージに関して、以下の異常状態を設定可能とした。
      ・ ブロック番号異常
      ・ CheckSum 異常
      詳細は、tdlSSim.pdf "2. (2)(a-4) [通信試験] (注10)" を参照すること。

  3. 以下の問題を修正した。
    a. .ini において (TRCTTYPE&0x04)==0 とすることにより文字列項目を１行に表示する場合に、SECS メッ
       セージの文字列項目の長さが一定数以上である場合に tdlSSim が異常終了する問題を解決。
    b. V23.060 以降発生した、スクリプト処理中の Receive 文で取得した文字列変数値が SECS メッセージ
      に設定されている文字列の最終 1Byte が欠けてしまう。
    c. 送信メッセージ項目の編集画面において、メッセージ項目をファイルで指定する項目のファイル名称を
      編集した場合に、項目サイズが 2以上の項目 (I2,I4,I8,U2,U4,U8,F4,F8) の場合、正しくファイル名称
      が設定されず、このメッセージ項目が正しく展開されない場合がある。
    d.  SECS Message 項目値をデータファイルに指定する場合、指定ファイルが存在しない等によりデータ取
      得に失敗すると、現状ではそのメッセージ項目自体を SECS Message に追加しない。その結果メッセージ
      構造自体が指定の構造と変わってしまう。それを避け指定のメッセージ構造を維持するため、データ要素
      数 =0 で項目の登録を行うように改定。






