Integral というファンクションブロックは、どのように使用するのですか?


実数値を積分する場合に使います。

パラメータ
名前 意味
RUN ブール型 モード。TRUEなら積分動作、FALSEならホールド
R1 ブール型 上書きリセット
XIN 実数型 入力値
X0 実数型 初期値
CYCLE タイマー型 サンプリング周期
Q ブール型 R1の結果の反転出力
XOUT 実数型 積分結果の出力

詳細
実数値を積分します。

アルゴリズム
/* delay=現在のターゲットサイクル値
 "CYCLE"パラメータの値がISaGRAFアプリケーションのサイクルタイムより短い場合は、
 サンプリング間隔はサイクルタイムの値に合わせられます */

IF (delay > CYCLE) THEN

date = LAST_DATE;

Q = NOT R1;

IF (R1) THEN XOUT = X0;

ELSE THEN

IF (RUN) THEN

XOUT = XOUT + XIN * (TIME_TO_REAL)delay;

END_IF;

END_IF;

END_IF;

"RUN"の変化=動作切り替えが発生した場合、動作の切り替えは"CYCLE" で設定した時間が経過した後に有効となります。
最終更新:
2008-07-30 11:48
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

このカテゴリー内のレコード

タグ