キーエンスKV-Xシリーズにおける「絶対値(ABS)FUN」は、指定したデータの絶対値を求めるファンクションです。
この記事では、キーエンスKV-X500/X300シリーズにおける絶対値(ABS)FUNの指令方法とラダープログラム、ST言語の例について解説します。
目次
1. 絶対値FUNの指令方法
絶対値(ABS)FUNはLD表現(ラダープログラム)とST表現(ST言語)で使用することができます。

Result := ABS(In);
絶対値(ABS)FUNは↓の引数で構成されています。
引数 | タイプ | データ型 | 初期値 | コメント |
---|---|---|---|---|
EN | IN | BOOL | – | イネーブル入力 |
ENO | OUT | BOOL | – | イネーブル出力 |
In | IN | – | – | 被演算データ |
Result | RETURN | – | – | 演算結果 |
LD表現
↓がLD表現で使用したラダープログラム例です。

このラダープログラムでは、被演算データであるInDataの絶対値を演算結果であるOutDataに格納します。
被演算データが「-2147483648」場合、演算エラーとなります。「-2147483648」の絶対値である「2147483648」が32ビット符号付きの場合、オーバーフローするためです。
ST表現
↓がST表現で使用したST言語例です。
OutData := ABS(InData);
このSTでは、被演算データであるInDataの絶対値を演算結果であるOutDataに格納します。※前述のLD表現と同じ動作です。
2.【例題】変数の絶対値を求める
下記仕様のラダープログラム、STを絶対値(ABS)FUNを用いて解説します。
変数は全て1ワード符号あり整数(INT)型として扱う。
Data00の絶対値を求める処理に絶対値(ABS)FUNを使用します。
タッチパネルの動作イメージ
タッチパネルの動作イメージは以下のようになります。

変数Data00の絶対値を常にData01に格納します。
使用する変数
使用する変数は以下になります。
変数 | データ型 | コメント |
---|---|---|
Data00 | INT | データ00(In) |
Data01 | INT | データ01(Result) |
ラダープログラム
ラダープログラムは以下のようになります。

被演算データにData00、演算結果にData01を指令した絶対値(ABS)FUNで、Data00の絶対値をData01に格納します。
ST言語
ST言語は以下のようになります。
//Data00の絶対値をData01に格納
Data01 := ABS(Data00);
3. おわりに
キーエンスKV-X500/X300シリーズにおける絶対値(ABS)FUNについて解説しました。
電気ハード設計、PLC/TPソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

当サイトを運営している電気設計人は、個人で永工舎として外注業務をお請けしております。
以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。