現在のサイクルタイム値など、ターゲットの状態を取得する方法


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 ; (* サイクルタイムオーバーフローの数 *)
      5. __SYSVA_CCEXECは、STプログラム中で使用しても意味がありません。これは、プログラム自身がサイクルモードだと、このコマンドを実行できないためです。この変数の利用手段は、外部アプリケーションがIXLインタフェースを経由して値を書きこむことです。
最終更新:
2008-07-31 15:04
改訂:
1.1
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

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

最近の 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)