0
0

PLC 信号のON時間(MAX,MIN)を計測するファンクションブロック

Posted at

ファンクションブロックをつくってみた

タイトルの通り、信号のON時間(MAX,MIN)を計測するファンクションブロックをつくってみました。
以下のように動作します。

使い方:時間を測定したい信号をON→OFFさせる。OFF時にMAXとMINが更新されます。
出力される時間の単位は[10ms]です。
初期化したい場合はリセット信号を入力します。

MeasureSignal.gif

ローカルラベル

image.png

コピー用
i_Signal	ビット	VAR_INPUT	FALSE		[入力]信号
i_bReset	ビット	VAR_INPUT	FALSE		[入力]リセット信号
o_MaxTime	ダブルワード[符号なし]/ビット列[32ビット]	VAR_OUTPUT	0		[出力]処理時間 最大値(10ms)
o_MinTime	ダブルワード[符号なし]/ビット列[32ビット]	VAR_OUTPUT	0		[出力]処理時間 最小値(10ms)
o_CurrentTime	ダブルワード[符号なし]/ビット列[32ビット]	VAR_OUTPUT	0		[出力]処理時間 現在値(10ms)
mMeasureTime	ダブルワード[符号なし]/ビット列[32ビット]	VAR	0		計測用_処理時間(10ms)
mInit	ビット	VAR	FALSE		初期化フラグ
mProcessing	ビット	VAR	FALSE		処理中
mProcessingEnd	ビット	VAR	FALSE		処理終了

プログラム本体

image.png

image.png

最後に

もっとこうした方が良い、機能追加したほうが良いなどアドバイス頂けると嬉しいです。
次はSTで記述してみます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0