見出し画像

三菱QシーケンサのST言語

三菱QシリーズでST言語を使った時の覚え書きです。(ST言語を使うとPLCでも高級言語のような記述をする事ができます。)

困った事

三菱QシリーズでST言語を使った時、実デバイスに32bitで代入できない事が発覚し、大変困りました。(Rシリーズはできるようになっています。)

■このようなラダーをST言語で記述したい場合

D100 := D10 * 100; ←16bitで代入される
D100 := INT_TO_DINT(D10) * 100; ←型が一致しません
D100:D := INT_TO_DINT(D10) * 100; ←構文が解析できません。(Rシリーズの記述方法)

解決方法

グローバルラベルにデバイスを32bitで登録すると代入する事ができます。

■グローバルラベルにデバイスを登録

NUM100 := INT_TO_DINT(D10) * 100;

応用例

シンプルモーションのように大量のデバイスがある場合でも、先頭デバイスだけをインデックス付きで登録すれば、ST言語側に処理を持って行く事ができます。

■グローバルラベルにユニットデバイスをインデックス付きで登録

Z3 := 4318; MS16 := INT_TO_DINT(D10) * 100;
Z3 := 4418; MS16 := INT_TO_DINT(D11) * 100;
Z3 := 4518; MS16 := INT_TO_DINT(D12) * 100;
Z3 := 4618; MS16 := INT_TO_DINT(D13) * 100;
・・・


この記事が気に入ったらサポートをしてみませんか?