0

三菱入力モジュール Q64AD から入力信号の平均値を取得する必要があります。GX Works 2 で構造化テキストを使用しています。

これは、Codesysで平均値を取得するために使用した方法です:

timer_sr(IN:= NOT timer_sr.Q , PT:= T#5s );

SUM1:= SUM1 + napr1;
Nsum:=Nsum + 1;

IF timer_sr.Q THEN
    timer_sr(IN:= NOT timer_sr.Q , PT:= T#5s);
    outsr := SUM1 /Nsum;
    Nsum := 0;
    SUM1 := 0;
END_IF;

napr1 - モジュールからの値です

このコードは GX Works 2 では機能しません。これは、SUM1 が INT データ型ではなく、Word[signed] 型であるためだと思います。

SUM1 を INT 型にする方法はありますか、またはその解決策に別のロジックがある可能性がありますか?

4

1 に答える 1