プロトコルごとのメッセージ送受信機能を使用する場合,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++の場合)
![[図データ]](figure/zu010600.gif)
- プロトコル提供ヘッダファイルを取り込みます。
dcm××××.hの××××はプロトコルごとに変わります。各プロトコルのマニュアルを参照してください。
- 使用するUOCの関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。
これらのUOCを使用する場合だけコーディングしてください。
- UOCテーブルをextern宣言します。
2のUOCを使用する場合だけコーディングしてください。
- 各UOCの関数アドレスを,次に示すシステム提供変数に設定します。
dcmcf_uoctbl.msgrcv /*入力メッセージ編集UOCアドレス*/
dcmcf_uoctbl.msgsend /*出力メッセージ編集UOCアドレス*/
これらのUOCを使用する場合だけコーディングしてください。
- スタート関数を発行します。必ずコーディングしてください。
図1-6 プロトコルとUOCを定義するMCFメイン関数のコーディング概要(K&R版 Cの場合)
![[図データ]](figure/zu010700.gif)
- プロトコル提供ヘッダを取り込みます。
dcm××××.hの××××はプロトコルごとに変わります。各プロトコルのマニュアルを参照してください。
- 使用するUOCの関数をextern宣言します。UOCのリターン値はDCLONG型にしてください。
これらのUOCを使用する場合だけコーディングしてください。
- UOCテーブルをextern宣言します。
2のUOCを使用する場合だけコーディングしてください。
- 各UOCの関数アドレスを,次に示すシステム提供変数に設定します。
dcmcf_uoctbl.msgrcv /*入力メッセージ編集UOCアドレス*/
dcmcf_uoctbl.msgsend /*出力メッセージ編集UOCアドレス*/
これらのUOCを使用する場合だけコーディングしてください。
- スタート関数を発行します。必ずコーディングしてください。