システム設計におけるシーケンサーとは?PLCの基礎知識と活用方法

シーケンサーのプログラミング方法を比較する表。画像 2/4

シーケンサーの基礎と活用方法をわかりやすく解説!

 システム設計において、機械や装置を制御するために必要な装置の一つが「シーケンサー」です。シーケンサーは、プログラムに従って機器を自動的に動かしたり、センサーやカメラなどで機器の状態を検知したりすることができます。工場やビル、家庭など、さまざまな場所で活用されており、自動化や省エネ化や快適化に貢献しています。

 しかし、シーケンサーの仕組みや種類、プログラミング方法などを知らない人も多いのではないでしょうか?そこで本記事では、シーケンサーの基礎知識と活用方法について、わかりやすく解説します。シーケンサーの世界に興味がある方は、ぜひ参考にしてください。

シーケンサーとは?

 シーケンサーとは、機械や装置を決められた順序や条件に従って制御する装置のことです。PLC(プログラマブルロジックコントローラ)とも呼ばれます。シーケンサーは、入力インターフェース、CPU、メモリ、出力インターフェースという4つの部分で構成されています。

 シーケンサーは、入力インターフェースからセンサーやスイッチなどからの信号を受け取り、CPUがメモリに保存されたプログラムに従って処理し、出力インターフェースからリレーやモーターなどに信号を送ります。この一連の流れを「スキャン」と呼びます。スキャンは繰り返し行われるため、入力信号やプログラムの変化に応じて出力信号も変化します。

 このように、シーケンサーはプログラムで定められた条件や順序に従って機器を制御することができます。このような制御方法を「シーケンス制御」と呼びます。

シーケンサーの種類と特徴

 シーケンサーには、大きく分けてパッケージタイプとブロックタイプの2種類があります。それぞれの特徴とメリット・デメリットを以下に紹介します。

パッケージタイプ

 パッケージタイプは、シーケンサーの基本的な機能を一つのボックスにまとめたタイプです。入出力ポートやメモリ、CPUなどが一体化されており、拡張性はありませんが、その分安価でコンパクトです。使用する機器が限られており、後から変更する必要がない場合に向いています。

ブロックタイプ

 ブロックタイプは、シーケンサーの各機能を別々のモジュールに分けたタイプです。ベースユニットにCPUやメモリなどの基本モジュールを取り付け、必要に応じて入出力モジュールや通信モジュールなどを追加できます。拡張性が高く、自由にカスタマイズできますが、その分高価で大きくなります。使用する機器が多岐にわたり、後から変更する可能性がある場合に向いています。

シーケンサーのプログラミング方法

 シーケンサーを使うには、CPUにプログラムを書き込む必要があります。プログラムは様々な言語や方式で記述できますが、一般的にはPLCの国際規格(IEC 61131-3)で定められた5種類の方式が主流です。それぞれの方式と特徴を以下に紹介します。

ラダー方式

 ラダー方式は、電気回路図と似た記述方法で、日本では最も使われている方式です。シーケンス図とも呼ばれ、図が梯子(ラダー)に似ていることから名付けられました。電気設計者にとって直観的で理解しやすいのが特徴です。しかし、複雑な処理や演算には向いていません。

 ラダー方式のプログラムは、左から右に流れる電流のイメージで作成します。左端には電源があり、右端には接地があります。電源と接地の間には、入力信号や出力信号を表す接点やコイルが並びます。接点はスイッチやセンサーなどの状態を表し、コイルはリレーやモーターなどの動作を表します。接点とコイルは、直列や並列に接続できます。直列に接続された接点は、全てがONでなければ電流が流れません。並列に接続された接点は、どれか一つでもONであれば電流が流れます。電流が流れたコイルは、出力信号をONにします。

 例えば、以下の図は、ラダー方式でエレベーターの制御を行うプログラムの一部です。1階のボタン(X1)が押されると、1階のドア(Y1)が開き、エレベーター(Y2)が1階に移動します。1階に到着すると、1階のセンサー(X2)がONになり、エレベーターが停止します。ドアが開いたまま10秒経過すると、タイマー(T1)がONになり、ドアが閉まります。

FBD方式

 FBD方式は、ファンクション・ブロック・ダイアグラムの略で、入力と出力を持ち、特定の演算を表すブロックを用意して、ブロックを繋げることで機能を設計します。電子回路と非常に似た記述方法となるので、電気設計者にとって理解しやすいのが特徴です。また、プログラムをブロック別に分けることができるので、一度書いたプログラムを流用しやすいといったメリットがあります。

 

 FBD方式のプログラムは、ブロックと呼ばれる箱に入った演算や処理を、入力と出力の線で繋げて作成します。ブロックには、論理演算や算術演算、タイマーやカウンターなどの機能があります。ブロックの入力には、入力信号や変数や定数などを与えます。ブロックの出力には、出力信号や変数などを与えます。ブロックの出力は、他のブロックの入力にも繋げることができます。

 例えば、FBD方式でエレベーターの制御を行うプログラムの一部です。1階のボタン(X1)が押されると、1階のドア(Y1)が開き、エレベーター(Y2)が1階に移動します。1階に到着すると、1階のセンサー(X2)がONになり、エレベーターが停止します。ドアが開いたまま10秒経過すると、タイマー(T1)がONになり、ドアが閉まります。

SFC方式

 SFC方式は、シーケンシャル・ファンクション・チャートの略で、ステップとトランジションと呼ばれる要素を用意して、制御の流れを図示する方式です。ステップは制御対象の状態を表し、トランジションは次のステップへ移行する条件を表します。制御の流れが視覚的にわかりやすいのが特徴です。しかし、複数のステップやトランジションを組み合わせると図が図が複雑になりやすいというデメリットがあります。

 SFC方式のプログラムは、ステップとトランジションを縦に並べて作成します。ステップは四角形で表し、その中にステップ番号やステップ名やアクションなどを記述します。アクションは、ステップがアクティブになったときに実行される出力信号や処理です。トランジションは水平線で表し、その上にトランジション名や条件式などを記述します。条件式は、入力信号や変数やタイマーなどを用いて作成します。ステップとトランジションは、矢印で繋げます。矢印は、ステップからトランジションへ、またはトランジションからステップへ向かいます。ステップの左上には、初期ステップを表す●をつけます。

 例えば、SFC方式でエレベーターの制御を行うプログラムの一部です。初期ステップはS1で、エレベーターは停止状態です。1階のボタン(X1)が押されると、T1の条件が成立し、S2へ移行します。S2では、1階のドア(Y1)が開き、エレベーター(Y2)が1階に移動します。1階に到着すると、1階のセンサー(X2)がONになり、T2の条件が成立し、S3へ移行します。S3では、エレベーターが停止します。ドアが開いたまま10秒経過すると、タイマー(T1)がONになり、T3の条件が成立し、S4へ移行します。S4では、ドアが閉まります。

ST方式

 ST方式は、ストラクチャード・テキストの略で、C言語やBASICなどに似た高級言語で記述する方式です。変数や演算子、制御構造などを用いて、自由にプログラムを作成できます。複雑な処理や演算に向いており、柔軟性が高いのが特徴です。しかし、プログラミングの知識が必要であり、初心者には難しいというデメリットがあります。

 ST方式のプログラムは、テキストで作成します。変数は、入力信号や出力信号や内部変数などを表します。変数には、データ型や初期値や範囲などを指定できます。演算子は、算術演算や論理演算や比較演算などを表します。制御構造は、IF文やCASE文やFOR文などを用いて、プログラムの流れを制御します。コメントは、//や(* *)で囲んで記述できます。

 例えば、以下のテキストは、ST方式でエレベーターの制御を行うプログラムの一部です。1階のボタン(X1)が押されると、1階のドア(Y1)が開き、エレベーター(Y2)が1階に移動します。1階に到着すると、1階のセンサー(X2)がONになり、エレベーターが停止します。ドアが開いたまま10秒経過すると、タイマー(T1)がONになり、ドアが閉まります。

//変数の宣言 VAR_INPUT
  X1: BOOL; //1階のボタン
  X2: BOOL; //1階のセンサー
END_VAR
VAR_OUTPUT   Y1: BOOL; //1階のドア   Y2: BOOL; //エレベーター
END_VAR
VAR
  T1: TON; //タイマー
END_VAR

//プログラムの開始
IF X1 THEN //1階のボタンが押されたら
  Y1 := TRUE; //1階のドアを開く
  Y2 := TRUE; //エレベーターを1階に移動する
ELSIF X2 THEN //1階に到着したら
  Y2 := FALSE; //エレベーターを停止する
  T1(IN := TRUE, PT := T#10S); //タイマーを開始する
  IF T1.Q THEN //10秒経過したら
    Y1 := FALSE; //1階のドアを閉める
  END_IF
END_IF
//プログラムの終了

IL方式

 IL方式は、インストラクション・リストの略で、アセンブリ言語に似た低級言語で記述する方式です。

 IL方式のプログラムは、命令とオペランドと呼ばれる要素を用いて、一行ずつ作成します。命令は、演算や処理を表す略語です。オペランドは、入力信号や出力信号や変数や定数などを表します。命令とオペランドは、空白やコンマで区切って記述します。命令によっては、オペランドが必要ない場合や複数必要な場合があります。コメントは、//で始めて記述できます。

 例えば、以下のテキストは、IL方式でエレベーターの制御を行うプログラムの一部です。1階のボタン(X1)が押されると、1階のドア(Y1)が開き、エレベーター(Y2)が1階に移動します。1階に到着すると、1階のセンサー(X2)がONになり、エレベーターが停止します。ドアが開いたまま10秒経過すると、タイマー(T1)がONになり、ドアが閉まります。

//変数の宣言 VAR_INPUT X1: BOOL; //1階のボタン X2: BOOL; //1階のセンサー END_VAR VAR_OUTPUT Y1: BOOL; //1階のドア Y2: BOOL; //エレベーター END_VAR VAR T1: TON; //タイマー END_VAR

//プログラムの開始 LD X1 //1階のボタンが押されたら ST Y1 //1階のドアを開く ST Y2 //エレベーターを1階に移動する LD X2 //1階に到着したら STP Y2 //エレベーターを停止する TON T1, T#10S //タイマーを開始する LD T1.Q //10秒経過したら RST Y1 //1階のドアを閉める //プログラムの終了 

 以上がシーケンサーのプログラミング方法の5種類です。それぞれにメリットとデメリットがありますので、用途や目的に応じて選択しましょう。また、複数の方式を組み合わせて使うこともできます。

シーケンサーの活用方法

 シーケンサーは、さまざまな業界や分野で活用されています。ここでは、代表的な例を紹介します。

工場の自動化

 工場では、製品の生産や品質管理などの工程を自動化するためにシーケンサーを使っています。シーケンサーは、搬送装置やロボットアームなどの機器を制御し、人手を介さずに効率的に作業を行わせます。また、センサーやカメラなどで製品の状態や不良品の有無を検出し、適切な処理を行わせます。シーケンサーによる工場の自動化は、生産性や品質の向上やコスト削減に貢献しています。

ビルの省エネ化

 ビルでは、空調や照明などの設備を省エネ化するためにシーケンサーを使っています。シーケンサーは、温度や湿度などのセンサーから入力された情報をもとに、空調設備の運転状況や温度設定などを最適化します。また、人感センサーやタイマーなどから入力された情報をもとに、照明設備の点灯・消灯や明るさ調整などを行います。シーケンサーによるビルの省エネ化は、エネルギー消費量の削減やCO2排出量の低減に貢献しています。

家庭の快適化

 家庭では、冷蔵庫や洗濯機などの家電製品を快適に使うためにシーケンサーを使っています。シーケンサーは、温度や重量などのセンサーから入力された情報をもとに、家電製品の動作モードや時間設定などを自動的に決めます。また、リモコンやスマートフォンなどから入力された情報をもとに、家電製品の遠隔操作や予約機能などを実現します。シーケンサーによる家庭の快適化は、利便性や節電効果に貢献しています。

まとめ

 本記事では、システム設計におけるシーケンサーとは何かについて、基礎知識と活用方法について解説しました。シーケンサーは、機械や装置を決められた順序や条件に従って制御する装置であり、PLCとも呼ばれます。シーケンサーは、仕組みや種類、プログラミング方法などによって特徴が異なります。シーケンサーは、工場やビル、家庭などさまざまな場所で活用されており、自動化や省エネ化や快適化に貢献しています。

 シーケンサーは、システム設計の重要な要素であり、今後もさらに進化していくでしょう。シーケンサーの知識や技術を身につけることで、より効果的なシステム設計ができるようになります。ぜひ本記事を参考にして、シーケンサーの世界に挑戦してみてください。

 

参考文献

(1) 3分でわかる技術の超キホン PLC(シーケンサ)とは? | アイ .... https://engineer-education.com/plc_basic/.

(2) PLC制御(シーケンサー)とは?仕組みや種類、プログラミング .... https://freelance-aid.com/articles/electrical-and-electronic-design/2034.html.

(3) あなたは区別できる? 次世代DNAシーケンサーの分類 - メーカー .... https://bing.com/search?

(4) あなたは区別できる? 次世代DNAシーケンサーの分類 - メーカー .... https://biochem-pioneer.hatenablog.com/entry/

(5) PLC(シーケンサ)の仕組みとは?種類や用途、導入メリットを .... https://www.upr-net.co.jp/case/iot/usecase-27.html. (

6) シーケンス制御とは?使用例や種類を解説 | 電気設計人.com. https://denkisekkeijin.com/sequence/sequence-control/.

(7) アプリケーション事例 製品特長 シーケンサ MELSEC | 三菱電機 FA. https://www.mitsubishielectric.co.jp/fa/products/cnt/plc/pmerit/case.html.

(8) シーケンス制御の使用例には何がある?身近な例を4つ紹介 .... https://sequence-kentei.info/2020/10/25/what-sequence-control/.

(9) PLC(シーケンサ)の仕組みとは?種類や用途、導入メリットを .... https://bing.com/search?.

(10) PLC(シーケンサ)を基礎から解説 AI・IoTとの組み合わせで発揮 .... https://go.orixrentec.jp/rentecinsight/it/article-48.