====================================================================================================
== サンプル・プログラム (32bit 対応) を取りあえず簡便に起動するには ================================

0. Cmd.exe (コマンド・プロンプト) を２つ起動し、TDS パッケージをインストールしたディレクトリに、
   カレント・ディレクトリを移動する。

1. 以下のファイルを "FirstSample0/bin32/" にコピーする。
  ・ Win32/TDS.dll
  ・ Sample0_Makefile/Sample.ini

2-1. FirstSimpleIo.exe の実行
  a. 起動した Cmd.exe の１つにおいて     "FirstSimpleIo h" を実行する。
  b. 起動したもう一方の Cmd.exe において "FirstSimpleIo e" を実行する。
  c. 終了するには "Ctrl-C" を入力する。

2-2. FirstBasicIo.exe、FirstCallbackIo.exe の実行
  a. 起動した Cmd.exe の１つにおいて     "FirstBasicIo h" もしくは "FirstCallbackIo h" を実行する。
  b. 起動したもう一方の Cmd.exe において "FirstBasicIo e" もしくは "FirstCallbackIo e" を実行する。
  c. 起動後の操作は、各ソースコードのヘッダ部分のコメントを参照すること。



====================================================================================================
== 実行形式ファイル ================================================================================

■ bin32/FirstSimpleIo.exe
■ bin64/FirstSimpleIo.exe

   FirstSimpleIo.c   を VS2010 を使用して Makefile.Win32 もしくは Makefile.Win64 により make した
   実行形式。
   bin32/FirstSimpleIo.exe の実行には ../Win32/ の 32bit 対応の TDS.dll が必要。
   bin64/FirstSimpleIo.exe の実行には ../Win64/ の 64bit 対応の TDS.dll が必要。


■ bin32/FirstBasicIo.exe
■ bin64/FirstBasicIo.exe

   FirstBasicIo.c    を VS2010 を使用して Makefile.Win32 もしくは Makefile.Win64 により make した
   実行形式。
   bin32/FirstBasicIo.exe の実行には ../Win32/ の 32bit 対応の TDS.dll が必要。
   bin64/FirstBasicIo.exe の実行には ../Win64/ の 64bit 対応の TDS.dll が必要。


■ bin32/FirstCallbackIo.exe
■ bin64/FirstCallbackIo.exe

   FirstCallbackIo.c を VS2010 を使用して Makefile.Win32 もしくは Makefile.Win64 により make した
   実行形式。
   bin32/FirstCallbackIo.exe の実行には ../Win32/ の 32bit 対応の TDS.dll が必要。
   bin64/FirstCallbackIo.exe の実行には ../Win64/ の 64bit 対応の TDS.dll が必要。


(注) 上述の .exe 等の実行環境（.ini、.dll 等が bin32/、bin64/ に必要）を整えるには、下述の
    "== サンプル・プログラムの作成方法 ==" に記した方法で make 処理を行うとよい。



====================================================================================================
== ソース・コード・ファイル ========================================================================

■ FirstSimpleIo.c

  ・ SECS メッセージをＡＰ内で構築し、単純に S1F1、S1F2 の送受信を繰り返す、最も単純な使用例。



■ FirstBasicIo.c

  ・ SECS メッセージの SECS による Send/Receive 処理を逐次行う、基本的な処理例。



■ FirstCallbackIo.c

  ・ SECS メッセージの Receive 処理を Callback 関数内で行い、１次メッセージの受信時は、対応する
     ２次メッセージの送出もその時点で行う通常の処理に近い処理例。

  ・ 要求コードにより、一定間隔（100ms）での連続送信（受信）処理を CNTL-C 入力まで継続実行する。



■ FirstSubFunctions.h

  ・ FirstBasicIo.c、FirstCallbackIo.c から Call される関数の実体を格納したソース・コード・ファイル。
     各ソース・コード・ファイルでは、#include することにより、自分の中に取り込む。



====================================================================================================
== サンプル・プログラム を Build し、実行するためのファイル ========================================

■ Makefile.Win32、Makefile.Win64  

  ・ 上記３つのプログラム（FirstSimpleIo、FirstBasicIo、FirstCallbackIo）を作成する makefile

  ・ 32bit アプリケーション対応とする場合は、Makefile.Win32 を参照使用すること。
  ・ 64bit アプリケーション対応とする場合は、Makefile.Win64 を参照使用すること。



■ Sample.ini

  ・ ../Sample0_Makefile/ のものを使用する。
  ・ 本ライブラリの設定ファイルの例であり、本サンプル・プログラムが使用する。
  ・ [DEFAULT] セクションに、ホスト側、設備側共通の項目を設定した上で、[HOST] セクションにホスト
     側固有の設定を行い、[EQUIP] セクションに設備側固有の設定を行う。
  ・ HSMS 接続により、デバイスＩＤ = 0x20 の設備とホストが、１つのＰＣ内で折り返し試験を行う場合
     を想定した設定。
  ・ SECS メッセージの最大長は 100000Bytes としており、もっと大きなメッセージを使用する場合は、
     本設定ファイルの先頭に記述したコメントを参考として、パラメータ値を変更する必要がある。
  ・ 本ライブラリが行うログ出力に関しては以下の設定となっている。
    ・ 通信トレースを本ライブラリの書式のリスト形式で出力する。１６進数表示は行わない。
    ・ 処理トレース、ユーザ I/F 関数トレースは行わない。通信トレースは、ファイルにのみ出力。
    ・ トレース・ファイルは 5MB を超えると切り替える。
  ・ 設定値の詳細は、プログラマーズ・マニュアル（TDS.pdf）を参照すること。



■ setup32.bat
■ setup64.bat

  ・ Windows における makefile を使用したプログラムの Build 環境を整えるためのバッチ・コマンド例



(注1) 各サンプル・プログラム 及び Makefile の行末は、"LF" コードのみ。従って、Windows の Notepad
    では、正しく参照することができない。改行コードが "LF" のみであるファイルに対応したテキスト・
    エディタを使用して、参照すること。
    設定ファイル等は、Notepad でも参照可能。

(注2) 各サンプル・プログラム等の TAB Stop 位置は８桁毎となっているので、使用するテキスト・エディタ
    の設定をそのようにすること。



====================================================================================================
== サンプル・プログラムの作成方法 ==================================================================

■ Windows における makefile を使用したプログラムの Build

  ・ cmd.exe を起動し、その中で作業を行う。

  ・ Microsoft Visual Studio のコンパイラ等の開発環境が使用できるようにするため、Visual Studio が
     用意する以下のバッチ・ファイルを起動し、開発環境を整える。

    ・ 32bit アプリケーションとする場合
       [Visual Studio をインストールしたディレクトリ]\VC\vcvarsall.bat x86

    ・ 64bit アプリケーションとする場合
       [Visual Studio をインストールしたディレクトリ]\VC\vcvarsall.bat x64

  ・ 32bit 環境の場合は、Makefile.Win32、64bit 環境の場合は、Makefile.Win64 を使用する。

  ・ 以下のコマンドで Build を行う。
    ・ nmake -f Makefile.Win32   もしくは   nmake -f Makefile.Win64
       ~~~~~~~~~~~~~~~~~~~~~~~              ~~~~~~~~~~~~~~~~~~~~~~~

  ・ Build 結果は、./bin32/ もしくは ./bin64/ に配置する。
     実行に必要な .dll、.ini 等も同じディレクトリにコピーする。


  (注1) 環境を整えるための実行コマンドに関しては "setup32.bat" もしくは "setup64.bat" を参照し、
      setup32.bat もしくは setup64.bat を適切に変更して使用することも可。

  (注2) 本ライブラリ・パッケージは以下の開発環境に対応する。
     （付属するプロジェクト・ファイルは VS2010 のものなので、それ以降のバージョンの VS を使用する
      場合は、VS のプロジェクト・ファイルの変換機能を用いて（あるいは自動変換で）使用する VS の
      バージョンに変換する必要がある。）
    ・ Microsoft .. Visual Studio 2005  (Microsoft Visual Studio 8)  ...... (Not support)
    ・ Microsoft .. Visual Studio 2008  (Microsoft Visual Studio 9.0)  .... (Not support)
    ・ Microsoft .. Visual Studio 2010  (Microsoft Visual Studio 10.0)  ... (32bit, 64bit)
    ・ Microsoft .. Visual Studio 2012  (Microsoft Visual Studio 11.0)  ... (32bit, 64bit)
    ・ Microsoft .. Visual Studio 2013  (Microsoft Visual Studio 12.0)  ... (32bit, 64bit)
    ・ Microsoft .. Visual Studio 2015  (Microsoft Visual Studio 14.0)  ... (32bit, 64bit)
    ・ Microsoft .. Visual Studio 2017  (Microsoft Visual Studio 14.1)  ... (32bit, 64bit)
    ・ Microsoft .. Visual Studio 2019  (Microsoft Visual Studio 14.2)  ... (32bit, 64bit)
    ・ Microsoft .. Visual Studio 2022  (Microsoft Visual Studio 14.3)  ... (32bit, 64bit)



====================================================================================================
== サンプル・プログラムの起動方法、操作方法 ========================================================


■ 各サンプル・プログラムの起動方法、操作方法等は、各ソース・コードのヘッダ部を参照すること。

  (注1) Windows の場合、TDS.dll      を 実行可能な PATH    に配置すること。

  (注2) 本サンプルは、その性格上（なるべくシンプルに TDS 使用方法ご理解いただくため）例外処理等に
     関しては十分ではありません。ご使用になる場合のコード化にあたっては、TDS ご利用環境、ご利用形
     態等に応じて、十分な例外処理等をコード化してください。

