この記事ではPLCソフトで使用する主な4つの言語について解説します。
目次
LD(ラダー・ダイアグラム)言語
通称”ラダー”と呼ばれている言語です。呼び名の由来は”梯子(はしご)”から来ています。
ラダー(Ladder)を直訳すると”梯子”です。形が似ているからということで、そう呼ばれるようになったと言われています。上図は実際に三菱電機のGX-Works3で書いたラダーです。
実際に日本では生産現場の9割以上で使用されています。
今の段階ではソフトの中身を理解しなくても”ラダー”というものがあるんだなーくらいの理解で大丈夫ですよ!
ラダーはリレーで使用する電気回路から来ています。
まずは簡単なリレーの回路です。
上のリレー回路を電気設計図などで表記されている形にするとこうなります。
最初にあったラダーと同じ形をしていますね。
リレー回路と同じような考え方でソフト構築ができるようにこのような形になったと言われています。
SFC(シーケンシャル・ファンクション・チャート)言語
この図は”SFC”と呼ばれている言語です。上図は実際に三菱電機のGX-Works3で書いたものです。シーケンス構築において、ラダーの使用頻度には及びませんが工程進捗がわかりやすい言語です。
私はモーションCPUで基礎を勉強しましたが、最近ではIEC(International Electrotechnical Commision)という国際プログラミング言語規格で注目され始めています。
実際には、シーケンス構築で使用するよりもモーションSFC(※)としてよく使用されている印象です。
※三菱製のモーションコントローラーで使用するSFCで通常のCPUと違い、モーションコントロール用のCPUというものが存在します。
主にサーボモータなどの位置決めで使用するCPUです。
SFCはフローチャートのように記述します。
「フローチャート」とはそれぞれの工程を四角やひし形などの箱と矢印で表した図です。全体の動きを整理したり、どのタイミングで異常表示させるかなどを考えるときに使用します。
口頭で説明するよりも、図のある方が認識の相違を大幅に減らすことができますよね。今後ソフト設計する際は、このフローチャートが非常に重要になります。
ST(ストラクチャード・テキスト)言語
この図は”ST”と呼ばれている言語です。厳密には”インラインST”というものです。よくプログラムといえばC言語だったり、VBやJAVAなどしますがそれらのようなテキスト言語によく似ています。
最初のうちは簡単な四則演算などが多いので、STを使用してまで計算させる機会は少ないと思います。ただ、三角関数や浮動小数点が絡むような演算が多く使用されるようになるとSTを使用する方が可読性が上がります。そのため別の人が見ても、ラダーに比べれば読みやすくなります。
実際には複雑な四則演算や三角関数を使って計算する際によく使用されています。
FB(ファンクション・ブロック)言語
一般的に”ファンクションブロック”と呼ばれています。簡単に使えて、使い始めると結構便利なので使用する方が増えてきています。
この図の見方ですが、図の左側が入力で、右側が出力です。
この図の場合、
左からの数字を足して、右に答えが出てくる。
といった動作になります。実際にはラダーの次に使用頻度が高い言語です。
ブラックボックスのようなイメージです
必要な情報を入力してあげたら、答えが出てくる。まさに魔法の箱のようなものですね。
実際には、中でどのように処理して、どうやって答えを出しているか?メーカー標準で初めから用意されているものなどはたいてい見ることが出来ます。また自分でこの中身を作ることもできます。
またパスワードロックもかけられたりするので機密情報などはファンクションブロックで管理するのもアリですね。
まとめ
今回の記事を要約するとこんな感じです。
ポイント要約
①PLCソフトは、ほぼラダー言語が使われている。
②計算式をたくさん書くときはST(ストラクチャード・テキスト)が便利。
③FB(ファンクションブロック)はラダーの次に使われている言語。