- ETCP/ISaRSIタスクの使用するCPUタイムを減らす方法
通信タスクが占有するCPU時間を減らすには、タスクの実行周期(サイクルタイム)を長くします。
ターゲットのOSの種類によって指定方法は異なります。
Windows NT版
コマンドラインからまずETCPまたはISaRSIタスクを起動し、それからISaGRAF Ver.4/5のコンフィギュレーションマネージャ(CMG)を起動します。
実際のコマンドの設定方法は以下のようになります。CycleTimeに指定する値を大きくします(単位:ミリ秒)
[シリアルリンクの場合]
ISaRSI -def=com1:19200:N:1 -CycleTime=22
ISaGRAF -NOETCP
[TCP/IPの場合]
ETCP -Cycle=22
ISaGRAF
OS-9版
環境変数で設定します。以下のようなコマンドを実行します。
setenv ETCP_CYCLE 22
setenv ISARSI_CYCLETIME 22
この次にCMGを起動します。
VxWorksの場合
環境変数で設定します。以下のようなコマンドを実行します。
putenv ETCP_CYCLE=22
putenv ISARSI_CYCLETIME=22
この次にCMGを起動します。
...
- 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(同一コンフィグレーション内でのバインディング)にはメモリサイズの制限はありません。
...
- 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" 内に以下のセクションを追加します。 ...
- ETCP/ISaRSIタスクの使用するCPUタイムを減らす方法
通信タスクが占有するCPU時間を減らすには、タスクの実行周期(サイクルタイム)を長くします。
ターゲットのOSの種類によって指定方法は異なります。
Windows NT版
コマンドラインからまずETCPまたはISaRSIタスクを起動し、それからISaGRAF Ver.4/5のコンフィギュレーションマネージャ(CMG)を起動します。
実際のコマンドの設定方法は以下のようになります。CycleTimeに指定する値を大きくします(単位:ミリ秒)
[シリアルリンクの場合]
ISaRSI -def=com1:19200:N:1 -CycleTime=22
ISaGRAF -NOETCP
[TCP/IPの場合]
ETCP -Cycle=22
ISaGRAF
OS-9版
環境変数で設定します。以下のようなコマンドを実行します。
setenv ETCP_CYCLE 22
setenv ISARSI_CYCLETIME 22
この次にCMGを起動します。
VxWorksの場合
環境変数で設定します。以下のようなコマンドを実行します。
putenv ETCP_CYCLE=22
putenv ISARSI_CYCLETIME=22
この次にCMGを起動します。
...
- ETCP/ISaRSIタスクの使用するCPUタイムを減らす方法
通信タスクが占有するCPU時間を減らすには、タスクの実行周期(サイクルタイム)を長くします。
ターゲットのOSの種類によって指定方法は異なります。
Windows NT版
コマンドラインからまずETCPまたはISaRSIタスクを起動し、それからISaGRAF Ver.4のコンフィギュレーションマネージャ(CMG)を起動します。
実際のコマンドの設定方法は以下のようになります。CycleTimeに指定する値を大きくします(単位:ミリ秒)
[シリアルリンクの場合]
ISaRSI -def=com1:19200:N:1 -CycleTime=22
ISaGRAF -NOETCP
[TCP/IPの場合]
ETCP -Cycle=22
ISaGRAF
OS-9版
環境変数で設定します。以下のようなコマンドを実行します。
setenv ETCP_CYCLE 22
setenv ISARSI_CYCLETIME 22
この次にCMGを起動します。
VxWorksの場合
環境変数で設定します。以下のようなコマンドを実行します。
putenv ETCP_CYCLE=22
putenv ISARSI_CYCLETIME=22
この次にCMGを起動します。
...
- 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 NTターゲットで NCRBSize を "20000" に設定する場合。
1. "ETCP.INI"ファイルが存在しない場合、ファイルを作成します。
2. "ETCP.INI" 内に以下のセクションを追加します。 ...