【キーエンスKV-X】絶対値(ABS)FUNの指令方法とラダープログラム/ST例

00_【キーエンスKV-X】絶対値(ABS)FUNの指令方法とラダープログラムST例

キーエンスKV-Xシリーズにおける「絶対値(ABS)FUN」は、指定したデータの絶対値を求めるファンクションです。

この記事では、キーエンスKV-X500/X300シリーズにおける絶対値(ABS)FUNの指令方法ラダープログラム、ST言語の例について解説します。

注意
この記事中のラダープログラムはKV STUDIO Ver.12で作成しており、対応機種はKV-X500に設定してあります。

1. 絶対値FUNの指令方法

絶対値(ABS)FUNはLD表現(ラダープログラム)とST表現(ST言語)で使用することができます。

10_LD表現
ラダープログラム
ST言語
Result := ABS(In);

絶対値(ABS)FUNは↓の引数で構成されています。

引数タイプデータ型初期値コメント
ENINBOOLイネーブル入力
ENOOUTBOOLイネーブル出力
InIN被演算データ
ResultRETURN演算結果

LD表現

↓がLD表現で使用したラダープログラム例です。

11_LD使用例
メモ
絶対値(ABS)はFUN(ファンクション)のため、インスタンス名を指令する必要はありません。

このラダープログラムでは、被演算データであるInDataの絶対値を演算結果であるOutDataに格納します。

被演算データが「-2147483648」場合、演算エラーとなります。「-2147483648」の絶対値である「2147483648」が32ビット符号付きの場合、オーバーフローするためです。

ST表現

↓がST表現で使用したST言語例です。

ST言語
OutData := ABS(InData);

このSTでは、被演算データであるInDataの絶対値を演算結果であるOutDataに格納します。※前述のLD表現と同じ動作です。

2.【例題】変数の絶対値を求める

下記仕様のラダープログラム、STを絶対値(ABS)FUNを用いて解説します。

仕様
変数Data00の絶対値を常にData01に格納する。
変数は全て1ワード符号あり整数(INT)型として扱う。

Data00の絶対値を求める処理に絶対値(ABS)FUNを使用します。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題①_タッチパネルイメージ

変数Data00の絶対値を常にData01に格納します。

使用する変数

使用する変数は以下になります。

変数データ型コメント
Data00INTデータ00(In)
Data01INTデータ01(Result)

ラダープログラム

ラダープログラムは以下のようになります。

例題①_ラダープログラム

被演算データにData00、演算結果にData01を指令した絶対値(ABS)FUNで、Data00の絶対値をData01に格納します。

ST言語

ST言語は以下のようになります。

ST言語
//Data00の絶対値をData01に格納
Data01 := ABS(Data00);

3. おわりに

キーエンスKV-X500/X300シリーズにおける絶対値(ABS)FUNについて解説しました。

電気ハード設計、PLC/TPソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

当サイトを運営している電気設計人は、個人で永工舎として外注業務をお請けしております。

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です