ETCPでバインディングを行うようなアプリケーションを開発したが、
「カーネルバインディング初期化エラー」
が発生してしまう。


  • ETCPを使用してバインディングを実現しようとしているが動作しないETCPでバインディングを実行していて、コンフィギュレーションマネージャを終了してもETCPタスクが終了しない

上記のような現象が起こっている場合は、ETCP用のバインディング受信バッファのサイズが不足している可能性があります。デフォルトのサイズは512Bです。

まず、バーチャルマシン(VM)がどのようなエラーを出力しているかを確認します。
ターゲットにターミナルを接続して(WindowsNT版の場合はコンソールウィンドウを確認)、
"warning 1e:0 kernel binding: init error"
というエラーを発生していないかどうか確認してみてください。このメッセージが出ていれば受信バッファ不足です。

対策
ETCPバッファサイズを調節するには
通信タスク起動時に、ETCP NCRBSize パラメータに適切なバッファサイズを指定します。
NCRBSizeの最小値は、以下のように計算します。

NCRBSize = バインディングプロデューサ数 × (ヘッダサイズ + プロデューサのプロデュースサイズ)

ここで、
ヘッダサイズ = 32 です。
プロデューサのプロデュースサイズとは、1プロデューサ用に提供されるデータサイズです。プロデューサ毎に計算します。


ISaGRAF Ver.4/5 NTターゲットで NCRBSize を "20000" に設定する場合。
    1. "ETCP.INI"ファイルが存在しない場合、ファイルを作成します。
    2. "ETCP.INI" 内に以下のセクションを追加します。
    [APP]
    NCRBSize=20000

なお、NCRBSizeについての詳細は関連項目をご覧ください。
ちなみに、HSD(同一コンフィグレーション内でのバインディング)にはメモリサイズの制限はありません。
最終更新:
2008-07-30 10:27
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

  1. LD言語で、ある接点がFALSEの場合、それ以降のファンクションブロックを実行しないように出来るか? (44513 回の閲覧)
  2. SFC要素の「ステップ」と「トランジション」の意味と役割を教えてください。 (43414 回の閲覧)
  3. ISaGRAF WorkbenchをWindows 7で使用するにはどうしたらよいでしょうか? (40928 回の閲覧)
  4. ISaGRAFはIEC1131-3のシステム定義に準拠しているか? (38989 回の閲覧)
  5. PLCプログラムをより早く動かすにはどうすればよいですか? (38818 回の閲覧)
  6. LD言語で、立ち上がり・立ち下がりの出力はあるか? (36874 回の閲覧)
  7. VxWorksターゲットにおける変数管理の留意点について (36382 回の閲覧)
  8. 日立製作所製SHマイコン用コンパイラ使用時の注意事項 (35573 回の閲覧)
  9. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (35525 回の閲覧)
  10. FBD/LD言語で同じ行に複数の演算がある場合の実行順序は? (33516 回の閲覧)

最近の FAQ RSS

  1. ファンクションブロックはネストできますか。 (2016-08-05 15:07)
  2. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (2015-01-30 14:24)
  3. 前のISaGRAFで作成したプロジェクトをインポートしたら、コメントが文字化けを起こしています。 (2014-05-07 06:52)
  4. 前のバージョンで作成したプロジェクトは読み込めますか。 (2014-03-07 07:46)
  5. ISaGRAFでコンフィグレーション、リソースそれにPOUはそれぞれいくつ作成できますか。 (2014-03-07 02:06)