三菱PLC#構造化プロジェクトについて

最近三菱のgxworks 2使って色々悲鳴が上がっててね。今回はまずこのくそ仕様を一回洗い出しにしたいと思います。ラダー自体が、構造体をinput output inout宣言することできて、でもラダーの中に呼ばされたらコンパイルエラーになる様々なくそ仕様。。

  • ラダー
    • まぁ、普通のラダーです。
  • 構造体ラダー
    • ラダーみたいだけど、Siemensのような書き方になる。
  • ST
    • 私が一番愛してるの言語です。
  • SFC
    • 今回の記事は、対象外です。

呼び出しルール

image.png

呼び出しの制限

image.png

ラダー

ラダーからラダー(1層まで)

image.png
image.png

例えばプログラム部品の中にMyLadderというプログラムがあります。

FB_Ladder1の中身はこれしかないけど。

ラダーからST

image.png

FB/FUNの中にMyST1があり。

MyST1の中にはこれしかないけど。

myOUT:=myIN;
image.png

それもOK。

ラダーから配列あるのST

image.png

FB/FUNの中にMyST2があり。

image.png

Interfaceが配列が入っています。

image.png

それはNG。WTF?構造体、配列などCALLできない?どういう思想なの?まぁ、NGです。

FBラダーの中にSTをCALL

image.png

今度はFB_Ladder1の中に、MyST1を呼び出してみます。

image.png

呼び出すことできるが、コンパイルするとエラーが出る。Point4ですね。

Function

image.png
image.png

Functionを呼び出してみます。

そもそも呼び出すこと自体も許されない。

構造化FBDをCALL

image.png
image.png

STなどのBlockがもうCallされたら、このエラー出ますが。。

ですが、新規の、新しく作った構造化FBDならCALLはできる。うん~

構造化FBD

image.png

ラダー呼び出し

image.png

うん、もちろんラダーのFucntion Blockが呼び出しますね。

ST Function Block呼び出し

image.png

OK。

ST Function Block(Arrayあり)

image.png

ほ、InterfaceがArrayも含めてるのST Function Blockも呼び出しOKね。

Function

image.png

Functionも呼び出しできますね。

Function、戻り値が配列

image.png
image.png

今回はちょっと意地悪して、戻り値を配列してみます。

それでもいけますね。

構造化FBDのFunction Block中に構造化FBDをCall

image.png

それもOK。

どうやら制限ないのは本当ですね。

ST

最後、STも一回やってみます。
もちろん、全部OK。さすが!

(*Ladded Function Block*)
FB_Ladder1_1(in1:= M1 ,out1:= M2 );

(*ST Function Block*)
MyST1_1(myIN:= M2 ,myOUT:= M4 );

(*ST Function Block with Array Input Interface*)
MyST2_1(myINArray:= gBoolArray ,myOUT:= M2 );

(*Function *)
M3:=MyFunction1(M2 );
(*Function with return value of Bool Array *)
boolArray:=MyFunction2(M2);

(*Structed FB*)
FB_StructFB_1();

最後に

個人の感覚ですが、Function Blockを呼び出すのはやっばりSTから呼び出すのは一番よいかと思います。
そしてロジックが構造化FBDで組んで、最後はラダーを使うってイメージかな。
お疲れ様ですー

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする