通常これらのパラメータは起動時にのみ参照されます。パラメータを指定しないと、デフォルト値が適用されます。
また、起動パラメータの設定方法はターゲットにより異なります。NTターゲットの場合、拡張子が"ini"のファイルで指定することもできます。
一般的な規則 | ワークベンチ | WindowsNTターゲット/シミュレータ | VxWorks/OS-9/QNXターゲット | IXLクライアント
一般的な規則 |
-
パラメータ名には次のものの組み合わせになります。
- パラメータを使うアプリケーション名コンポーネント名。これは、パラメータ名がアプリケーションそのものを表わさないが、内部のコンポーネント(I/O、バインディング、IXLなど)に由来するような場合です。これはこれらのコンポーネントでパラメータ名の競合を防ぐためのものです。
【例】TCP/IPバインディングドライバの "KVBETCP"バーチャルマシンのスレーブ番号(必要な場合のみ)パラメータ名そのもの
値の指定方法
-
一般的には、起動時にC言語のmain関数に渡される引数を使います。ターゲットアプリケーションの場合はシステムレイヤのdsys0arg.cファイルをリンクすることで、下記のようなコマンドライン管理機能を利用できます。
- パラメータ名の前に '-' をつけます。コンポーネント名がある場合はパラメータ名の後ろに\とともに付記します。'='記号でパラメータ名と渡す値を区切ります。複数の値を渡す場合は、カンマ(,)で区切ります。パラメータ値に空白を含まる場合は、OSにも依存しますが、"パラメータ=値"のように全体をダブルクォーテーション(")で囲みます。
【例】
-ResNbr=20
-s=2,5,6
-HSD\RcvMaxMsg=10
一般的な規則 | ワークベンチ | WindowsNTターゲット/シミュレータ | VxWorks/OS-9ターゲット | IXLクライアント | ▲先頭に戻る
ワークベンチ |
-
ワークベンチはターゲットの1リソースあたり2個、1コンフィグレーションあたり1個のIXL接続を使用します。
ワークベンチのbinディレクトリで、下記の各INIファイルを修正します。
(1)DTA.INI ファイル
[IXL] CnxNbr = (リソース数 + 1) × 3 |
-
[IXL] セクションでは、ワークベンチのデバッガから全コンフィギュレーションへのIXL経由での接続数を指定します。
Ver4.03でのデフォルト値は16です。つまり、リソース数は7個に制限されます。
Ver4.03以降では、デフォルト値は102です。つまり、リソース数は33個に制限されます。
制限を越えると、下記のエラーが発生することがあります。
ワークベンチの表示 | 「リソースへの接続中にエラーが発生しました。DTAサーバシステムエラー 20000539」 |
DTA_SRVの画面 | -16 20000539 |
エラーの意味 | -16:DTA サーバシステムエラー。 539: IXL: 接続を確立できない。接続の最大数に達している。 |
[APP] ChNbr = (リソース数 + 1) × 4 |
-
これはETCPネットワーク上のリソースをデバッグする際のものです。
デフォルト値は50です。つまり、リソース数は11個に制限されます。
WindowsNTターゲット/シミュレータ |
-
ターゲットのディレクトリにINIファイルを作り、パラメータを記述しておくこともできます。
- INIファイル名は、<アプリケーション名>.INI です。
【例】isagraf.iniコンポーネント名の無いパラメータは [APP] セクションで設定します。コンポーネント名があるパラメータは コンポーネント名のセクションで設定します。
【例】[HSD]セクションバーチャルマシンのパラメータは、セクション名の後ろにスレーブ番号を10進数で付記します。この場合、そのパラメータはまずスレーブ番号が付加されているセクションをサーチし、存在しなければ、番号の付加されていないセクションをサーチします。
例:ISaGRAF.ini[APP]
ResNbr=20
s=2,5,6[APP]
RtnRead=0
[SRV]
MaxScan=8
[SRV12] ('12' は10進表記で、12番のVMを示す)
MaxScan=3
-
以下は、設定例です。
ターゲットのディレクトリで、下記の各INIファイルの内容を修正します。ファイルがない場合は、テキストエディタなどで作成してください。
(1)ETCP.INI ファイル
[APP] ChNbr = (リソース数 + 1) × 4 |
-
[APP]セクションでは、ETCPのチャネル数(ChNbr)を設定します。ETCPは1リソースにつき4チャネルのリンクと、1コンフィギュレーションにつき4チャネルのリンクをオープンします。((リソース数+1)×4)
ChNbrのデフォルト値は50です。つまり、リソース数は11個に制限されます。
制限を越えると、下記のエラーが発生することがあります。
ワークベンチの表示 | 「リソースへの接続中にエラーが発生しました。DTAサーバシステムエラー 20000411」 |
DTA_SRVの画面 | -1 20000411 |
エラーの意味 | -1:サーバシステムエラーが発生した 411:CRU:チャンネルテーブルに空きがない |
他にもパラメータがあります。詳細は関連項目「ETCPタスクに渡すバインディング起動パラメータについて」をご覧下さい。
[APP] ResNbr = リソース数 |
-
[APP]セクションではコンフィギュレーションマネージャが起動してよいリソースの最大数を指定します。
デフォルト値は16です。つまり、リソース数は16個に制限されます。
起動するリソース数を増やす場合は、この "ResNbr" の数を大きくして下さい。
制限を越えたり、[APP]セクション自体の指定がないと、下記のエラーが発生することがあります。
ワークベンチの表示 | 「リソースへの接続中にエラーが発生しました。リクエストは失敗しました」 |
DTA_SRVの画面 | -50 2000053F |
エラーの意味 | -50:リクエストが失敗した 53F:IXL: リクエスト処理中のカーネルの不具合 |
(3)ISaIXD.iniファイル
[APP] ChNbr = (リソース数 + 1) × 2 ResNbr = リソース数 [IXL] CnxNbr = リソース数 + 1 [IXS] CnxNbr = (リソース数 + 1) × 2 |
-
[APP]セクションではエクスチェンジディスパッチャ(IXD)の最大チャネル数を設定します。チャネルの最大数=ChNbrは((リソース数(ResNbr)+1)×2)です。CNbrのデフォルト値は16なので、リソース数は7個に制限されます。
制限を越えたり、[APP]セクション自体の指定がないと、下記のエラーが発生することがあります。
ワークベンチの表示 | 「リソースへの接続中にエラーが発生しました。タイムアウトが発生しました。」 |
DTA_SRVの画面 | -16 20000513 |
エラーの意味 | -16: ISaIXD: ISaIXDでのデータ転送に失敗 513: ISXL: ダイアログの起動に失敗 |
CnxNbrのデフォルト値は16です。つまり、リソース数は15個に制限されます。接続リソース数を増やす場合は、CnxNbrを増やしてください。
制限を越えると、下記のエラーが発生することがあります。
ワークベンチの表示 | 「リソースへの接続中にエラーが発生しました。ISaIXDのタイムアウトが発生しました。」 |
DTA_SRVの画面 | -16 20000539 |
エラーの意味 | -16: ISaIXD: ISaIXDでのデータ転送に失敗 539: IXL: 接続を確立できない。接続の最大数に達している。 |
CnxNbrのデフォルト値は16です。つまり、リソース数は7個に制限されます。接続リソース数を増やす場合は、CnxNbrを増やしてください。
制限を越えると、下記のエラーが発生することがあります。
ワークベンチの表示 | 「リソースへの接続中にエラーが発生しました。ネットワークの転送に失敗しました。」 |
DTA_SRVの画面 | -32 20000521 |
エラーの意味 | -32: NET: ネットワークの転送に失敗。 521: ISXS: 接続を確立できない。利用できるIXS接続がありません。 |
WindowsNTターゲット、もしくはシミュレータでの設定例です。
ISAGRAF.INIファイルに下記のセクションを追記します。
[APP] ResNbr = 20 ;これでコンフィグレーションマネージャがリソースを20個起動できます。 |
ISAIXD.INIファイル
[IXL] CnxNbr=21 ;20リソース + 1コンフィグレーションマネージャ [IXS] CnxNbr=42 ;((20 リソース + 1コンフィグレーションマネージャ)×2 [APP] ChNbr=42 ;((20 リソース + 1コンフィグレーションマネージャ)×2 |
ETCP.INIファイル
[APP] ChNbr=84 ;((20 リソース + 1コンフィグレーションマネージャ)×4 |
VxWorks/OS-9/QNXターゲット |
-
パラメータは環境変数として設定しておくことができます。
VxWorksの場合、putEnV関数を、OS-9の場合はsetenv() を、QNXの場合はenv を使います。
下記の文法で、大文字で指定します。
APP[_CMPT][_No0x....]_ABCD.... |
ここで
APP = アプリケーション名 (ISACMG, ISAIXD, ISAVMなど)
CMPT = コンポーネント名(オプション)
No0x = スレーブ番号。16進数で記入します。おもにISAVM用です。
ABCD = パラメータ名
【例】
putEnv("ISAVM_RTNREAD=0")
putEnv("ISAVM_SRV_MAXSCAN=8")
putEnv("ISAVM_SRV_000B_MAXSCAN=3")
一般的な規則 | ワークベンチ | WindowsNTターゲット/シミュレータ | VxWorks/OS-9ターゲット | IXLクライアント | ▲先頭に戻る
IXLクライアントアプリケーション |
-
IXLを利用するクライアントアプリケーションの場合は、ixlInit()関数の引数"pfnParamExtract"で渡されるパラメータ展開用の関数で定義します。ISaGRAF PROターゲットがパラメータの情報を得る際に、渡されたdsysArgGetルーチンを利用できます。
なお、コマンドライン解析をする場合は下記の関数を ixlInit()より先にコールするようにしてください。
dsysInit(
MyClientNum, /*In:クライアント番号(ixlInit()と同じ) */ ldArgc, /*In: コマンドライン引数の数 */ ppsArgv /*In: コマンドライン引数の配列 */ |
一般的な規則 | ワークベンチ | WindowsNTターゲット/シミュレータ | VxWorks/OS-9ターゲット | IXLクライアント | ▲先頭に戻る