2025年12月26日金曜日

JPS-9010MCの制御ソフトウェアについて分かったこと

 

1. 通信プロトコル(装置との対話ルール)

Portmonのログ解析により、PCと装置(DAU)がどのような条件で話しているかが確定しました。

  • 物理設定: RS-232C シリアル通信

    • 速度: 9600 bps

    • データ: 8 bit / パリティ: なし / ストップビット: 1 bit

  • 基本コマンド形式: ASCIIテキスト+末尾に \r\n (0x0D 0x0A)。

  • 主なコマンドの意味:

    • JOB: 通信開始の「握手」。装置は ERR1 と返せば準備OK。

    • JOB1: スキャン設計図の送信(開始電圧、ステップ数、Dwell Timeを含む)。

    • JOB2: 動作モードの切り替え(2,9 が測定モードへの移行)。

    • JOB7: パスエネルギー(PE)の選択。

    • CNT3: 計測実行のトリガー(引き金)。

    • JOB5: 測定データの一括要求。

    • DD: 装置からのデータ返信(16進数形式のカウント値列)。

2. レンズパラメータとエネルギー制御(計算式)

最も大きな収穫は、結合エネルギー(eV)を装置が理解するデジタル値(DAC値)に変換する法則を見つけたことです。

  • 16bit制御: 装置内部のDAC(D/Aコンバータ)は 0〜65535 の範囲で動作。

  • 変換比率: 1 eV = 64 ステップ

  • 計算式: DAC値 = 64501 - (結合エネルギー[eV] × 64)

    • この「64501」という基準値は、spec_xps.ini 内の Offset=4075 によって個体調整されている可能性があります。

  • 自動スイープ: PCが1点ずつ電圧を指令するのではなく、JOB1 で範囲を伝え、CNT3 を送るたびに装置が内部で自動的に電圧を1ステップ(64単位)ずつ引き下げていく仕組みです。

3. ハードウェアとシステム構造

回路図と .ini ファイルから、装置の物理的な仕組みが裏付けられました。

  • 16bit DACの存在: 回路図に描かれた16bit DACが、上記の「64単位ステップ」という高精度な電圧制御を物理的に支えています。

  • 16bitアプリの動作: SpecXPS.exe は Windows 3.1 時代の16bitアプリであり、XP上では ntvdm.exe という仮想マシン経由で動いています。このため、現代の32bitプログラム(BCC55等)から直接 WriteFile 等のAPIでCOMポートを叩けば、古いアプリの制限を受けずに制御可能です。

  • 安全装置: ソフトを閉じるとX線が落ちるのは、終了シーケンス(JOB5CLEANUP)が送られるためです。X線を手動モードにすることで、この制約を回避し、自作ソフトからの自由な制御が可能になりました。

0 件のコメント:

コメントを投稿