1.4.1 MCF通信サービスのMCFメイン関数の作成方法

プロトコルごとのメッセージ送受信機能を使用する場合,MCF通信サービス用のMCFメイン関数をコーディングし,コンパイルおよびリンケージしてください。

MCFメイン関数ではスタート関数(dc_mcf_svstart)を発行します。

UOCを使用する場合は,MCFメイン関数でUOCの関数アドレスを指定してください。UOCは,MCFメイン関数と同じ言語(K&R版 C,ANSI C,またはC++)で作成してください。

なお,TP1/NET/XMAP3プロトコル使用時は,UOC内で使用するマッピングサービスを,あらかじめMCFメイン関数で開始しておく必要があります。マッピングサービスの開始については,マニュアル「OpenTP1 プロトコル TP1/NET/XMAP3編」を参照してください。

プロトコルとUOCを定義するMCFメイン関数のコーディング概要を図1-5と図1-6に示します。

図1-5 プロトコルとUOCを定義するMCFメイン関数のコーディング概要(ANSI CとC++の場合)

[図データ]

  1. プロトコル提供ヘッダファイルを取り込みます。
    dcm××××.hの××××はプロトコルごとに変わります。各プロトコルのマニュアルを参照してください。
  2. 使用するUOCの関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。
    これらのUOCを使用する場合だけコーディングしてください。
  3. UOCテーブルをextern宣言します。
    2のUOCを使用する場合だけコーディングしてください。
  4. 各UOCの関数アドレスを,次に示すシステム提供変数に設定します。
    dcmcf_uoctbl.msgrcv /*入力メッセージ編集UOCアドレス*/
    dcmcf_uoctbl.msgsend /*出力メッセージ編集UOCアドレス*/
    これらのUOCを使用する場合だけコーディングしてください。
  5. スタート関数を発行します。必ずコーディングしてください。

図1-6 プロトコルとUOCを定義するMCFメイン関数のコーディング概要(K&R版 Cの場合)

[図データ]

  1. プロトコル提供ヘッダを取り込みます。
    dcm××××.hの××××はプロトコルごとに変わります。各プロトコルのマニュアルを参照してください。
  2. 使用するUOCの関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。
    これらのUOCを使用する場合だけコーディングしてください。
  3. UOCテーブルをextern宣言します。
    2のUOCを使用する場合だけコーディングしてください。
  4. 各UOCの関数アドレスを,次に示すシステム提供変数に設定します。
    dcmcf_uoctbl.msgrcv /*入力メッセージ編集UOCアドレス*/
    dcmcf_uoctbl.msgsend /*出力メッセージ編集UOCアドレス*/
    これらのUOCを使用する場合だけコーディングしてください。
  5. スタート関数を発行します。必ずコーディングしてください。