Welcome to Yutekke's PLC Forum

 

PLC Tips  ホーム

 

移動平均サイクル時間の計算

 

 自動運転時の、サイクル時間を移動平均で求めるシーケンスで、サイクル時間は、

サイクルの起動信号のONから、次のサイクルの起動信号がONするまでの時間を

0.1秒単位で計算する。

移動平均値は、最大20回のサンプリング値の平均値として求める。ただし立上がり時

はサンプリングしたN回の平均値として求める。

20回目以降では、旧いサンプリング値を捨てて最新の20回のサンプリング値の平均値を

サイクル時間として求める。

一点の立ち上がりパルスのみで処理する必要上再初期化とサンプリング値の処理を

同一信号で処理するために、ラダーシーケンスは少々ややっこしくなってしまいました。

 

入力信号 X0:自動運転 ステータス信号でX0ONの間だけ、サイクル時間を計算する。

     X1:サイクルスタート信号(バルス入力)

        X1ONしてから、次にONするまでの時間をサイクル時間とする。

 

作業領域 M0M4作業用内部リレー シーケンスのコメントを参照

     D0:サンプリング数+1を格納しています。

     D1:サイクル時間  現サイクルのサイクル時間の現在値 0.1秒単位

     D2:移動平均サイクル時間

     D11D30 現在のサイクルより、20回前までのサイクル時間サンプリングテーブル

        D11に一番旧いデータが入り、順次新しいデータが保存され、1サイクル毎に

        更新される

     

移動平均時間の計算

  1N回(19以下の場合)

     D2(D11+D12+・・・+D1N)/N

  20回目移行では

     D2=(D11+D12+・・・+D30/20

  で計算します。

 

N数が20以外のn時にはK20K19の値をnn-1へ変更します

 

                                                   ダウンロード