一般的なターゲットの移植の手順は下記のようになります。
-
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 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データサーバなど)ではこの方法でのライブラリを使用するためです。