【中級編】PLC(シーケンサ)によるGX Works3のST(ストラクチャーテキスト)言語 データ型の指定

f:id:vv_6ong_3ka_cp:20210125064742p:plain

ワードデータにはそれぞれデータの型というものが存在します。

普段は意識せずMOVやDMOVなどを使用していますが、これらの命令は符号ありの16bit、32bit転送命令となっております。

ですので、マイナスのデータ転送も可能となりますが、INCやDEC、+演算、ー演算は気を付けないと一定数を超えるとマイナス表記のデータとなってしまいます

その範囲が下記となります。

データの種類と範囲
f:id:vv_6ong_3ka_cp:20210125061820p:plain

意識してデータ型を使用している人は問題ないのですが、意識していないと突然マイナス表記になりタッチパネルの表記や演算の不都合が出てくる可能性があると思います。

そんな不都合を無くすようにとデータの型を指定できますので、下記画像を参考にして下さい。

データ型の指定
f:id:vv_6ong_3ka_cp:20210125061831p:plain

符号無しワード :U
符号ありワード 記号無し
符号無しダブルワード :UD
符号ありダブルワード :D
単精度実数 :E
倍精度実数 :ED

広告


GX Works3 ST言語 データ型の指定

ST言語でのデータ型を指定する方法を記述していきます。

インラインST挿入 STB
f:id:vv_6ong_3ka_cp:20210113062323p:plain

ST言語 データ型指定・変換
f:id:vv_6ong_3ka_cp:20210125061845p:plain
Point.D0のダブルワードをD2~D10のデータ型に変換。変換前の代入で指定できるものは限られる。

データの型は当然格納するデータの型を変換できるものかどうか判断しています。

データの型をしっかり把握し、その性質を捉えることによって様々な演算をこなすことができるようになります。

それを知らずに無理やり演算していると整合性が取れない演算結果が出力させる可能性がありますので注意しましょう

あまり知られていませんが、ラダー言語の方でもデータ型を気を付けないと比較演算でマイナス表記をそのまま比較してしまうため不都合が生じます。

そのあたりも今後紹介していきますのでお願い致します。

まとめ
・符号無しワードは:U。符号ありワードは記号無し
・符号無しダブルワードは:UD。符号ありダブルワードは:D。
・単精度倍率は:E。倍精度倍率は:ED。



www.niwakafa.com

www.niwakafa.com