はじめに
CODESYSを勉強中です。間違いなどございましたら優しく教えていただけると嬉しいです。
CODESYSとは
CODESYSは、PLCプログラミング言語の国際標準規格であるIEC 61131-3に準拠したソフトウェアPLCです。
基本的な操作などは以下のページを参考にしました。
チャート:折れ線グラフを作る
このようなグラフを作っていきます。
ハンズオン(画面)
まずはCODESYSを起動して新規プロジェクトを作ってください。
その後にApplication上で右クリック→ビジュアライゼーションを追加します。
ビジュアライゼーションをダブルクリックで開き、デカルト座標XYグラフを追加します。
グラフを選択するとプロパティを設定できる画面が表示されると思います。
XYChartをダブルクリックしましょう。
※ここでX軸とY軸の設定ができます。後述のプログラム作成編で「PLC_PRG_ST」を作ります。
X軸:PLC_PRG_ST.DataX
Y軸:PLC_PRG_ST.DataY
(グラフを選択→右クリック→Configure XYChart Settingからでも同じ設定画面が開きます)
ハンズオン(プログラムST言語)
グラフに表示するデータを作っていきます。
プログラムはApplication右クリック→オブジェクトの追加→POUです。
プログラム名:PLC_PRG_ST
PROGRAM PLC_PRG_ST
VAR
DataX : ARRAY [1..200] OF REAL ;//X軸のデータ
DataY : ARRAY [1..200] OF REAL ;//Y軸のデータ
xDoIt : BOOL := FALSE; //TRUEの時にグラフ更新する
ix : INT; //Forループ用Index
END_VAR
IF xDoIt THEN
xDoIt := FALSE;
FOR ix := 1 TO 200 BY 1 DO
DataX[ix] := (ix * 0.2) + 0.1;
DataY[ix] := (ix * 0.1);
END_FOR
xDoIt := TRUE;
END_IF
作ったプログラムはタスクに追加しましょう。
ハンズオン(デバッグ)
作成したプログラムを動かすと以下のようなグラフが表示されると思います。
※データの更新にはxDoItをTRUEにする必要があります。
表示するデータを少し変えてみると...
IF xDoIt THEN
xDoIt := FALSE;
FOR ix := 1 TO 200 BY 1 DO
DataX[ix] := (ix * 0.2) + 0.1;
IF ix <= 100 THEN
DataY[ix] := (ix * 0.1);
ELSE
DataY[ix] := DataY[ix-1] - 0.1;
END_IF
END_FOR
xDoIt := TRUE;
END_IF
ちゃんと動いてますね。
お疲れ様でした!
いいね や コメント いただけると励みになります。
よろしくお願いいたします。
参考ページ