Falconの思うままに

PASCAL好きが、気ままにマニアックなネタを

CODESYS奮闘中(その2)

さて、CODESYS引き続き奮闘中です。

 

PLCの特殊デバイス相当の機能が欲しいです。

常時ONと常時OFFはすぐに作れたのですが、

RUN時1スキャンONが再現できずに悩んでいました。

 

これ普通のラダーではよく使いますよね。

CODESYSの場合、グローバル変数で再現しようとすると

ウォームリセットしないと初期化されないので、

RUNしても立ち上がりが再現できないと悟りました。

 

その解決方法はイベントを使うでした。

STOP->RUNでイベントを定義します。

すると関数を割り当てできるので、その関数内で

初期化を行います。

これでRUN時にかならずイベントが発生するので、

RUN時1スキャンONを再現できました。

 

よく考えればできるのですが、日頃のPLCは

意識せずに使っている部分で手間がないですね。

 

一度、自分の定番環境を作り上げないと駄目だとわかりました。

それを再利用していく感じでしょうか。

 

現在時刻の取得もまごついてしんどかった~~~

 

なかなか面倒ですが、IECラダーはこんな風なんですかね。

ST言語での記述が向いている部分が結構あります。

ST単体、インラインST+ラダー、FBD単体など

ちゃんぽんです。これは適材適所に考えるとそうなります。

 

さらにPythonスクリプト実行まで使いそうな勢い(汗)

 

さらにがんばろう!!!

 

ではでは。