ISaGRAF Ver.4/5の場合
グローバルなシステム変数があり、プログラム内からそれらを読み書きするようにします。これらの変数はターゲットのソースの dsys0def.h ファイルで定義されています。
変数名
|
データ型
|
属性:
R=Read W=Write |
意味
|
__SYSVA_RESNAME |
STRING
|
R
|
リソース名(最大255文字) |
__SYSVA_SCANCNT |
DINT
|
R
|
入力スキャンの回数 |
__SYSVA_CYCLECNT |
DINT
|
R
|
実行したサイクルの回数 |
__SYSVA_KVBPERR |
BOOL
|
R/W
|
バインディング変数のプロデューサエラーの有無 |
__SYSVA_KVBCERR |
BOOL
|
R/W
|
バインディング変数のコンシューマエラーの有無 |
__SYSVA_TCYCYCTIME |
TIME
|
R/W
|
設定されているサイクルタイム値 |
__SYSVA_TCYCURRENT |
TIME
|
R
|
現在のサイクルタイム値 |
__SYSVA_TCYMAXIMUM |
TIME
|
R
|
スタートしてからの最大のサイクルタイム値 |
__SYSVA_TCYOVERFLOW |
DINT
|
R
|
サイクルタイムオーバーフローの発生回数 |
__SYSVA_RESMODE |
SINT
|
R
|
リソースの実行モード。 0= 実行可能なリソースがない 1= 格納されているリソースが使用されていない (CMG) 2= 実行可能状態 3= リアルタイムモードで実行中 4= サイクルモードで実行中 5= 実行中にブレークポイントで停止中 -1= 致命的なエラー |
__SYSVA_CCEXEC |
BOOL
|
W
|
サイクルモード実行時に1サイクルを実行 |
__SYSVA_WNGCMPTNM |
STRING
|
R
|
コンポーネント名の警告 |
__SYSVA_WNGCMD |
SINT
|
R/W
|
コマンドの警告 |
__SYSVA_WNGARG |
DINT
|
R
|
警告のアーギュメント |
__SYSVA_WNGNUM |
DINT
|
R
|
警告数 |
-
1. これらの変数を辞書で明示的に登録する必要はありません。
2. 変数名は全て "__SYSVA_"で始まります。
3. デバッグ時にはワークベンチでこれらの変数の状態を参照することができます。「デバッグ」メニューの「診断」を開き、「システム変数」で表示されます。
4. これらの変数を参照できる言語はST言語からのみです。また、スパイリストに登録することはできません。
そのかわり、プログラム中で他の変数に一旦代入することで間接的に参照することができます。
【例】
__SYSVA_TCYCYCTIME := modiftim; (* 現在のサイクル設定値の変更 *) t2:= __SYSVA_TCYCURRENT ; (* 実際にかかったサイクルタイムの取得 *) d1:= __SYSVA_TCYOVERFLOW ; (* サイクルタイムオーバーフローの数 *) |