ISaGRAF Ver.4.10以降では、ソケットライブラリを使用することが標準的な仕様となった。Ver4.03のソースをアップグレードする手順はどうなるか?


下記の内容は一般的なアップグレードの手順であることをあらかじめご了承下さい。PRDKに付属するTarget\\NewOs\\MultiTask\\Release.txt ファイルにもこの内容が書かれています。

一般的なターゲットの移植の手順は下記のようになります。
    1. 新しいOS用の新バージョンのソースファイルをコピーする。
    2. システム依存する部分のファイル(移植時に空の関数内を記述したファイル)をコピーする。
    3. 他に追加のコンポーネント(C言語POUやI/Oドライバ)のソースを作成済みなら、それもコピーする。
    4. dsys0def.h ファイルを編集しなおして、Ver4.10の新規の定義に合うようにする(前述のファイルの内容をご覧下さい)
    5. その他のAlterSys Europe提供のファイルで独自の変更を加えたものがあれば、修正する(通常はこの作業は必要ないはずです)
    6. その他、各バージョンのリリースノートの詳細にある項目を実施する。

基本的に ISaGRAF Ver4.10のソケットを移植するには2種類の方法があります。

方法1
Ver4.10のソースコードに付属する AlterSys Europe作成の det0soc.c ファイルをそのまま、修正せずに使います。Ver4.10からはこのファイルはシステムに依存しないものとなっており、修正は不要です。このファイルでは新たに ISysSocライブラリを使用しており、移植時には dsys0soc.c ファイルを使用します(オンラインヘルプ PRODK.CHMの「TCP/IPインタフェース」のページをご覧下さい)ので、この内部をシステムに合わせて書き換えます。また、新しい ISysSoc.lib ファイルを生成するためのメイクファイルの修正も必要です(Target\\NewOs\\MultiTask\\MakPrdk.txtファイルをご覧下さい)

移植時には ISaGRAF Ver.4.10 Windows NT版ターゲットのソースを参考にしてください。

ISaGRAF Ver.4.10未満

ISaGRAF Ver.4.10以降

ISaGRAF Ver4.10未満では、detc0soc.cはシステムに合わせて自作する必要がありました。 Ver4.10以降では、detc0soc.cファイルは標準で付属し、システムに依存しないものとなりました。ソケットインタフェースはdSysSoc.cファイルに実装します。

方法2
旧バージョン(Ver4.03以下)の det0soc.c ファイルをそのまま使います。
この場合、det0soc.h ファイルに release.txt ファイルにあるマクロを宣言しておきます。
#define ISA_SOC_ISINVALID(pSocket) ((*pSocket) == ISA_ETCP_NUL_SOCKET_ID)
#define ISA_SOC_RESETID(pSocket) ((*pSocket) = ISA_ETCP_NUL_SOCKET_ID)
#define ISA_SOC_CPYID(pSocketDest, pSocketSrc) ((*pSocketDest) = (*pSocketSrc))
#define ISA_SOC_ADDCMP(pAdd1, pAdd2) (*(pAdd1) == *(pAdd2))
#define ISA_SOC_ADDCPY(pAddDest, pAddSrc) (*(pAddDest) = *(pAddSrc))

さらに、メイクファイルの新しいISysSoc ライブラリ(dSys0Soc.c)はリンクしないようにします。

注意
方法1を推奨します。理由は、新製品・新機能(HiBeamデータサーバなど)ではこの方法でのライブラリを使用するためです。
最終更新:
2009-03-23 14:19
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

このカテゴリー内のレコード

タグ