
PLC入門:MELSEC(シーケンサ)の始め方
1.概要
前回の記事ではマイクロPLCのArduino Optaを紹介しました。
今回は実際の工場や製造現場でも使用されているPLC(シーケンサ)を紹介します。
1-1.一般知識
PLCに関連する一般知識を紹介します。
1-1-1.PLCとは
PLC(Programmable Logic Controlle)とは、大量のリレーから構成させる機器であり要求に応じて電気信号のON/OFFや演算、アナログ・デジタル信号の出力等が出来ます。よって装置制御のための演算器として用いられます。
※製造現場ではPLCだけでなくIPC(Industrial PC:産業用PC)も使用されることがあります。今回はPLCのみの説明となります。
PLCの構成概念図は下図の通りであり、「入力部」、「MPU演算部」、「メモリー部」、「出力部」、「電源部」の5つで構成されます。

リレー制御やマイコン制御との比較表は下記の通りです。

【コラム:IPCとは】
IPC(産業用PC)とはプラントや工場などで使用され、耐環境性能や安定稼働に優れた製品であり、I/Oの拡張なども容易に可能です。
【コラム:DI/DO, AI/AOとは】
プラント業界において制御や監視システムで"DI/DO、AI/AO"という用語が使用されます。
DI/DO, AI/AOの意味は下記の通りであり、信号のやり取りを意味します。
DI(Digital Input):デジタル信号(正確には接点)の入力
DO(Digital Output):デジタル信号(正確には接点)を入力
AI(Analog Input):アナログ信号を入力
AO(Analog Output):アナログ信号を出力
デジタル信号(DI/DO)というと”Ethernetやシリアル通信のような通信によるデータ”をイメージする人もいると思いますが、このDI/DOはシンプルな0/1の信号(計器用なら0Vと24Vの切り替え)を出力するものであり、つまりは”接点(電気の通り道)の開/閉”を制御しているものとなります。
接点は大きく分けて無電圧接点と有電圧接点があり、下記の通りです。
無電圧接点:接点がONの状態になっても接点には電圧がかかってない
例としてスイッチやリレーがある
電源は相手側の機器で用意するため、相手側の回路をオン・オフさせるだけの働きとなる
別名:ドライ接点、DRY接点、乾接点とも呼ばれる
有電圧接点:接点がONの状態になった時、接点にも電圧が印加される
別名:ウェット接点、WET接点、電圧接点ともとも呼ばれる
アナログ信号(AI/AO)とは最小値と最大値を持つ情報を電圧や電流の大小でやり取りする信号であり、仕様としては下記があります。
電流信号:電流(mA)を用いたアナログ信号
DC4-20mA:データのMIN:4mA, MAX:20mAとして信号を電流で送付する方式。
ノイズの影響が小さい
伝送線抵抗の影響がない
1-5V信号に変換が用意(抵抗250Ωを設置),
2線伝送方式センサが可能
最小値が0mAでなく4mAのため、故障時(0mA)の判断が容易
電圧信号:電圧(V)を用いたアナログ信号
mAと比較して(電圧のため)複数機器に並列接続が可能
テスターによる測定が簡単
電圧信号は電圧降下が生じるため長距離伝送には不向き
種類は「DC1-5V」、「DC0-5V」、「DC0-10V」等がある。
【コラム:シーケンサとは】
PLCのことを別名シーケンサとも呼びます。これは国内シェアトップである三菱電機がPLCを「シーケンサ」という商品名で販売していることに由来しています。
1-1-2.IEC 61131-3
IEC 61131-3とは、国際電気標準会議(IEC)が発行したPLC用標準規格 IEC 61131シリーズの第3部です。
背景としてPLC用のソフトや言語はメーカーごとに開発が行われており互換性がありませんでした。そこで標準化(互換性あり)するために1993年にPLCのプログラミング言語の国際規格「IEC 61131-3」が発行されました。
IEC 61131-3ではPLCのプログラミング言語として、日本で普及しているラダー図を含む、3種類のグラフィック言語(LD/FBD/SFC)と2種類のテキスト言語(IL/ST)が規定されています。
コラム:DCS/SCADAとは
PLCのような制御管理システムとして下記があります。プラントや製造業の管理システムに携わる方は用語だけでも覚えておくと便利です。
PLC(Programmable Logic Controller):機械を自動的に制御する装置
SCADA(Supervisory Control and Data Acquisition):装置・設備から得られる情報を、ネットワークを利用して一箇所に集めて監視すると共に、必要に応じて制御するシステム
参考ソフトとして「FA-Panel6」がある
DCS(Distributed Control System):分散制御システムの略称で、システムを構成する各機器ごとに制御装置を設けるシステム
1-2.PLCメーカーの紹介
PLCメーカーは下記の通りです。国内では三菱電機のシェアが高いですが、海外で見ると低いです。つまり海外メーカーに日本産PLCを指定するのは結構厳しいと思います。
シーメンス
Rockwell(Allen-Bradley)
三菱電機(MELSEC)
キーエンス
オムロン
横河電機

1-3.PLCの注意点
「PLCにプログラムを書き込むためのソフトウェアは各メーカーで専用」の物を使用します。よってPLCの選定には、各工場に導入する場合は対応のしやすさや保守性も考慮する必要があります。
2.MELSEC
2-1.概要
MELSECは三菱電機が提供するPLC(シーケンサ)の製品名です。
MELSECには複数のシリーズがあり、必要なDI/DO, AI/AOや対応ネットワークに合わせて選定します。

【コラム:シーケンサの商標に関して】
参考までに特許情報プラットフォーム J-PlatPatで確認すると、シーケンサは登録商標ではありませんでした。よって用語自体は誰でも使用してよいものになります。

2-2.ソフトウェア
PLCに書き込むためのソフトウェアは各社専用品となります。
MELSEC用のソフトウェアは用途に応じて多種存在します。

【コラム:ソフトウェアのライセンス】
MELSECのソフトウェアはサイトライセンス品となります。
サイトライセンス品は、1つの製品(ライセンス)を複数台のパソコンでご利用いただける製品です。サイトライセンス品を一つご購入いただく事で、同一法人、同一事業所内であれば、人数に制限なくご使用いただくことができ追加のライセンス料は発生しません。
2-2-1.GX Works3/GX Works2
PLCにプログラム(ラダー図など)を書き込むためのソフトウェアです。GX Works3はGX Works2の後継版ですが、PLCに応じて使用できるGX WorksのVersionが指定されています。
使うPLCに合わせたGX Worksの選定が必要になります。

2-2-2.MELSOFT iQ Works
いわゆるMELSEC用ソフトウェアのパッケージであり、関連するソフトウェア一式が入っております。
システム管理:MELSOFT Navigator
シーケンサエンジニアリング:MELSOFT GX Works3, MELSOFT GX Works2
表示器画面作成:MELSOFT GT Works3
モーションコントローラエンジニアリング:MELSOFT MT Works2
ロボットエンジニアリング:MELSOFT RT ToolBox3 mini
インバータセットアップ:MELSOFT FR Configurator2
アプリケーション統合管理:MELSOFT iQ AppPortal
フィールド機器管理・設定:MELSOFT FieldDeviceConfigurator
2-2-3.MELSOFT GT Works3
MELSECにはタッチパネルで操作できるよう、ラインナップとして表示器GOTがあります。

表示器の画面作成を総合的にサポートするソフトウェアとしてMELSOFT GT Works3があり、以下のソフトウェアが含まれています。なお、GT Worksのライセンスは3種類あります。
GT Designer3、GT Simulator3
GT Simulator3は、GT Designer3インストール時に同時にインストールされる
GT SoftGOT2000 Version1
GT Converter2 Version3
Document Converter
データ転送ツール、マルチメディアデータ連携ツール、他各種ツール
2-3.機種選定ツール
MELSECの機種選定をするためのツールです。カタログやマニュアル無しで、製品の組合せチェックや機種選定時に必要な各種計算ができます。
下図のように選択していくこと装置構成を作ることが出来ます。

出力結果からユニットだけでなく消費電力や参考価格なども確認することが出来ます。


3.製品の購入
3-1.製品仕様
今回は①GX Works3を使用、②機能が最小で安い$${^※}$$、③比較的何でもできることを考慮してMELSEC iQ-Fシリーズを選定しました。
※最安はFX3シリーズですが、ソフトウェアはGX Works2のみです。
今回は「FX5U-64MT/ES」を使用します。
【コラム:出力形式】
出力形式にはリレーとトランジスタがあり、トランジスタ出力にはシンクとソースがあります。特徴は下記の通りです。

※補足:リレー出力はある程度の動作電流が必要であり、トランジスタ出力は微小負荷でも動作可能です。トランジスタでは負荷側に出力が必要だった場合、リレーをかませることでリレー出力と近い動作が可能ですが、リレーはトランジスタと同等の役割にすることはできません。
シンクとソースの違いは下図の通りです。

【コラム:形名の体系】
CPUユニットの形名には仕様情報が含まれます。購入前に自分が欲しい仕様かどうかは形名である程度判断可能です。

3-2.購入品
購入先は三菱電機 FA webショップがありますが、モノタロウやミスミからでも購入可能です。
必要な物は下記の通りです。ソフトウェアは「MELSOFT iQ Works」をお持ちであればそちらも使用可能です。

3-3.周辺機器
用途に応じて各種周辺機器は自分でそろえる必要があります。参考例として電源や電子機器は下記の通りです。
4.環境構築
4-1.ソフトウェアのインストール
購入したソフトウェアのCD-ROMを使用してインストールします。参考記事は下記の通りです。
4-2.GX Works3のオススメ設定
GX Works3の初期設定を必要があれば実施します。今回は特に初期設定は無しで進めていきました。
(使ってみないと何故この設定が良いのかわからないため)
4-3.簡易配線
事前に下記を対応しました。
電源供給:AC100Vを選定したため、コンセントに配線を付けて設置
Ethernetケーブル(LANケーブル)の接続:PCとPLCをケーブルで接続
PCのLANポートが1個でありネットが使えない場合は、無線を使用するかスイッチングハブを使用可
SDカードの設置:小規模プログラム/練習用なら不要
SDメモリの最大容量は32GB(使用可能なSDカードについて)

※写真では入力IOへのサービス電源の配線(白色の電線)を実施済みです。

【参考:スイッチングハブ】
スイッチングハブでの使用イメージは下図の通りです。

5.MELSEC iQ-F
MELSEC iQ-Fのカタログから、一部の情報を抜粋しました。なお抜粋した情報は購入したCPUユニット型式を参照しました。
5-1.概要

【FX3 Seriesとの違い】

5-2.各部の名称



5-3.参考配線図
【入力仕様における回路構成】
図より、24V接点とS/S接点をショートさせることで内部のサービス電源を使用できます。

【出力仕様における回路構成】
図より、出力接点Yはドライ接点であることが確認できます。

【電源配線】

【入力配線】


【出力配線】


5-4.その他詳細
【デバイス】

【RUN/STOP/RESETスイッチの動作】

6.フローチャート
6-1.運転までの手順
運転までの大まかな手順は下図の通りです。
予備点検:電源の投入前に下記などが正しく行われているかチェック
電源とアースの接続
入出力などの配線
バッテリの装着:必要に応じて、バッテリをCPUユニットに装着
SDメモリカードの着脱:必要に応じて、SDメモリカードを着脱
各機器の配線:各機器の配線を行います。
システムの電源投入:以下の項目を確認後、電源を投入
電源の配線が正しい
電源電圧が仕様の範囲内になっている
CPUユニットがSTOP状態になっている(RUNだと初期化でエラー)
パソコンとCPUユニット間の接続:(エンジニアリングツールをインストールした)PCとCPUユニットを接続します。
CPUユニットの初期化:エンジニアリングツールでCPUユニット初期化
[オンライン]/[CPUメモリ操作]から初期化ボタンを押す
パラメータの設定:下記パラメータを設定
システムパラメータ
CPUパラメータ
ユニットパラメータ
CPUユニットで以下の機能を使用する場合、該当する機能のパラメータも設定
内蔵Ethernet機能
SDメモリカードを使用した機能
インテリジェント機能ユニットを装着する場合
プログラミング:エンジニアリングツールでプログラムを作成
シーケンサへの書込み:エンジニアリングツールで設定したパラメータと作成したプログラムをシーケンサに書き込む
CPUユニットのリセット:以下の方法でシステムを再起動
電源のOFF→ON
CPUユニットのリセット
プログラムの実行:CPUユニットをRUN状態にして、CPUユニットのP.RUN LEDが点灯することを確認
プログラムのモニタ:エンジニアリングツールで、プログラムが正常に動作しているかを確認

6-2.GX Worksのオススメ設定
GX Works起動後の設定メモです。
ラダー図のコメント表示
「表示」/「コメント表示」で入力したコメントを表示
ラダー図作成時はコメントが入力できるよう、会話吹き出しマークを押す

7.QuickStart1:装置の起動
カタログ「MELSEC iQ-Fシリーズ クイック導入ガイド」を使用して、PLCそのものが動くかどうかを確認します。
ガイド内の説明動画は下記の通りです。
※事前に4章の簡易配線(電源とEthernetケーブル設置)は対応済み
【エラー対応:SDカードのメモリ容量の注意】
メーカー仕様より「SDカードのメモリ上限は32GB」です。原因はメモリカードを適切なフォーマットで使用できないためと想定されます。
例として64GBのSDカードを使用して"オンライン/CPUメモリ操作"からSDメモリカードの初期化を実行すると「ネットワークインターフェースボードにエラーが発生しています。マニュアルで以下のコードを確認してください Error0080」となります。

SDカードの確認方法(SDカード初期化と同じ)は、エクスプローラーでSDカードのドライブレターを右クリックし、フォーマットを選択します。ファイルシステム内にFAT32があればおそらく問題ないはずです。
※64GBのメモリだとexFATとNTFSしか選択できません。

7-1.プロジェクトの作成
GX Works3を立ち上げて初めにプロジェクトを作成します。なお事前にスイッチがRUNではなくSTOPにあることを確認します。
「プロジェクト」/「新規作成」を選択します。次に下記を選定しOKを押します。ユニットラベルの使用を確認されますのでそのままOK(使用しない)とします。
シリーズ:FX5CPU
機種:FX5U
プログラム言語:ラダー

7-2.接続設定
次にPCとPLCの接続設定を行います。今回はPCとPLCを直接Ethernetケーブルで接続しているためPC側のIPアドレスやサブネットマスクなどの設定は特に必要ありません。
まずは「オンライン」/「現在の接続先」を選択します。接続先選択は「その他の接続方法」※を選択します。
※CPUに直接続接続する でも問題ないですが、マニュアルに紹介されている画面とは別のためこちらを選定しました。

接続先指定 Connectionウィンドウが立ち上がるため下記実施します。
※この時点でPLCに電源供給とEthernetケーブル接続が必要
パソコン側I/Fが”Ethernetボード”であることを確認
CPUユニット直結設定ボタンを選択
EthernetのアダプタでPLCと接続しているPC側のアダプタを選択
アダプタ選択後に”はい”を押す
他局指定が”他局指定無し”であることを確認
通信テストボタンを押す
問題なければ「FX5UCPUとの接続に成功しました」とでる

※今回は初回のため気にしなくて良いですが、実際はこのタイミングでCPUユニットの初期化(詳細は下図参照)をするのが良いと思います。

7-3.ラダー図作成
動作確認用として簡単なラダー図を作成します。 まずはナビゲーションタブの”プログラム本体”をダブルクリックします。するとラダー図の画面が表示されます。


下記の通りサンプルプログラムを作成していきます。サンプルは0.5秒ごとにON/OFFを繰り返す動作になります。
接点配置する箇所(一番左)にカーソルを合わせ、ツールバーの「a接点」(ショートカット:F5)をクリックする
接点の入力画面がでるため、接点にSM412と入力し、OKボタンを押します
SM412は特殊リレーであり、1秒クロックの動作を持ちます
そのままツールバーの「コイル」(ショートカット:F7)をクリックする
コイルの入力画面がでるため、Y0と入力し、OKボタンを押します
コイルは自動で右端に配置されます



【コラム:特殊リレー(SM)】
シーケンサ内部で仕様が決まっている内部リレーであるため,通常の内部リレーのようにプログラム上では使用できませ ん。ただし,必要に応じてCPUユニットを制御するためにON/OFFできます。
特殊リレーはたくさんあるため一部抜粋しました。

7-4.全変換
下記手順で作成したプログラムを変換します。
「変換」/「全変換」を選択し、全変換ウィンドウが開く
OKボタンを押して、変換実行する
変換終了後にドッキングウィンドウの出力を選択し、エラー表示が無いことを確認

7-5.プログラムの書き込み
下記手順で作成したラダー図(プログラム)をPLCに書き込みます。
「オンライン」/「シーケンサへの書き込み」を選択
オンラインデータ操作ウィンドウが開くため「パラメータ+プログラム」ボタンをクリック
SDカードを差し込んでいる場合は”CPU内蔵メモリ”と”SDメモリカード”の選択を確認されます。※今回はCPU内蔵メモリ選択
CPUユニットに書き込むデータにチェックが付いたことを確認して、実行ボタンを押します。
書き込み終了したら「閉じる」ボタンを押します
「CPUをRUNさせるために一旦リセットを行う必要があります。CPUユニットをリセットもしくは電源を再投入してください。」という警告が出るためOKボタンを押します
最後にオンラインデータ操作ウィンドウの「閉じる」ボタンを押します


7-6.CPUユニットのRESET/RUN
CPUをRUNさせるために一旦リセットし、そのあとでRUNを実行します。手順は下記の通りです。スイッチをRUN側にして出力表示LED ③が一秒間隔で点滅したら正常に動作しています。
RUN/STOP/RESETスイッチ①を1秒以上RESET側へ倒したままにする
ERR LED ②が点滅するのを確認
RUN/STOP/RESETスイッチをSTOPの位置に戻す
RUN/STOP/RESETスイッチをRUN側へ倒す


8.QuickStart2:入出力の動作確認
QuickStart1を参考にして複数の配線を繋ぎ、それぞれがどのように動くかを確認しました。
8-1.配線・周辺機器設置
事前に下記を実施します。公式サンプルでは下図の通りです。
入出力番号の割り付け:いわゆる番号割り当ての基本設計
接続したい機器の数などを事前に検討
電源の配線:100Vの場合は電源入力端子(LとN)に接続
入力機器の配線:入力用機器を入力端子(X)に配線
FX5U-64MT/ES(シンク)を使用するため24V端子とS/S端子を接続し、DC24Vサービス電源を使用できるようにする
シンクではDC入力信号が入力(X)端子から流れ出します
出力機器の配線:出力用機器を出力端子(Y)に配線
出力4点単位で1つのコモン端子(COM)にまとめられている

今回は下記の通り配線しました。詳細は次項に別途記載しました。LEDの配線は下記記事参照のこと

8-1-1.設計書
とりあえず割付表と回路図?書いてみました。まだ学習したばかりなので、必要に応じて書類は改正・追加していきます。


電源の取り方やLEDのつなぎ方は下記記事参照のこと。
8-1-2.入力端子Xの配線
入力端子は接続は下記の通りです。
100V電源を端子Lと端子Nに接続
DC24Vサービス電源を使用するためS/Sと24Vをショート
動作確認用として2個の押しボタン(PB)を追加
状態確認用としてLEDを2個追加
DC24Vサービス電源があるため初期状態で電圧がかかっている
0Vは端子台+ショートバーを使用し共通化することでPLC側に差す0Vへの配線は1本とした

【参考資料:入力配線関係】



8-1-3.出力端子Yの配線
出力端子は接続は下記の通りです。
外部電源を準備
PLCの出力側はドライ接点のため別途外部電源が必要です。今回はアダプター+スクリュー端子台でDC5Vを準備(準備方法は<学習シリーズ>電子工作編:直流(DC)電源の作り方参照)
状態確認用としてLEDを2個設置
外部電源と機器(LED)を接続
シンク出力配線のため、電源の-(マイナス)をCOM0に繋ぎます。これを逆(+をCOM)に繋ぐとトランジスタが動作しないため常に接点がつながった状態になります(※つないだ瞬間にLEDが光っていたら配線ミスとなります)

【参考資料:出力配線関係】



8-1-4.コラム:各端子の状態
【入力(X)端子】
入力(X)端子側の電圧がどのようになっているかを確認しました。確認用として回路構成図も添付します。
0V-24V:DC24Vの電源供給
24V-S/S:電圧なし(電位差がないため)
0V-各X端子(24V-S/S端子ショート無し):電源なし
回路図の通り、外部電源が必要
0V-各X端子(24V-S/S端子ショートあり):DC24Vの電源供給
装置内にあるパワーサプライ(内部電源)から供給


下図の通りサービス電源を入れた(24VとS/Sをショート)状態だと、運転していない状態でも電圧がかかっている(LEDを繋ぐとライトが光っている)ことが確認できます。

【出力(Y)端子】
電源を供給した状態で、COMとY端子間の電圧を測定しても0Vとなります。つまり出力はドライ接点のため、外部電源が必要になります。

8-2.プロジェクト作成・準備
前回と同様に下記フローでラダー図作成準備をします。
配線・周辺機器設置:前節参照
スイッチの状態確認:CPUユニットのスイッチはRUNでなくSTOPに設定
電源投入:(本仕様では)AC100V電源に繋ぐ
プロジェクトの作成
シリーズ:FX5CPU、機種:FX5U、プログラム言語:ラダー
接続設定
CPUユニット直結設定でPCのEtherNetを選択
通信テストで接続の確認
CPUユニットの初期化
8-3.プログラム作成
次にシーケンサプログラムを作成します。流れは下記の通りです。
ラダー図の作成
接点(接点命令)やコイル(出力命令)を配置※出力に合わせてラダー図を紹介するためここでは詳細は省きます。
コメントが入力できるよう、会話吹き出しマークを押す
「表示」/「コメント表示」で入力したコメントを表示させる
変換
「変換」/「変換」を選択
前章では「全変換」を選択したが参考サンプルに従って変換を選択
グレーアウトしていた背景が白に変わります。
【参考:コメント表示方法】

【参考:変換の方法】

8-4.プログラム書き込み
前章と同様に下記手順でプログラムをCPUユニットに書き込みます。
「オンライン」/「シーケンサへの書き込み」を選択
オンラインデータ操作ウィンドウが開くので一番上のチェックボックスをクリック
前回は「パラメータ+プログラム」ボタンをクリックしたが、サンプルを参照してこちらで実施
CPUユニットに書き込むデータにチェックが付いたことを確認して、実行ボタンを押します
書き込み終了したら「閉じる」ボタンを押します
「CPUをRUNさせるために一旦リセットを行う必要があります。CPUユニットをリセットもしくは電源を再投入してください。」という警告が出るためOKボタンを押します
最後にオンラインデータ操作ウィンドウの「閉じる」ボタンを押します

8-5.プログラムの実行
最後にプログラムを実行させます。CPUをRUNさせるために一旦リセットし、そのあとでRUNを実行します。手順は下記の通りです
RUN/STOP/RESETスイッチ①を1秒以上RESET側へ倒したままにする
ERR LED ②が点滅するのを確認
RUN/STOP/RESETスイッチをSTOPの位置に戻す
RUN/STOP/RESETスイッチをRUN側へ倒す

8-6.動作確認(事例集)
8-6-1.シンプル:X0とY0のみ
まずは動作を確認するために最もシンプルなラダー図を作成しました。
【ラダー図】
a接点の押しボタンX0を押すと接点が閉じ、Y0の接点が閉じることでLEDが光るプログラムを作成しました。
|----| X0 |----( Y0 )----|

【結果】
動作は下記の通りであり、LEDは常時OFFだがボタンを押すと点灯します。
ボタン(a接点)を押すと、接点がつながりサービス電源からDC24V検知
PLCが電圧を検知し、X0接点がON
ラダー図より、コイルY0が通電
Y0接点より、LEDに電気がながれる。


【コラム:a接点ボタンでラダー図をb接点(逆)にした場合】
結論として「このようなプログラムは動作が直感的でなく、機器とラダー図上の接点が不一致のため不適切」です。
プログラム(ラダー図)のa接点をb接点に変えた時の動作を確認します。
|----|/| X0 |----( Y0 )----|

動作は下記の通りであり、先の結果と逆(常時:LED ON、ボタンON:LED OFF)となりました。
ボタンはa接点のため接点(通電)は無し:X0=OFF(入力信号がない)
ラダー図X0はB接点(常閉接点)のため、X0がOFFだと接点は閉
X0の接点は閉じているためY0のコイルがON
Y0のコイルがONのため、LEDは常時点灯
ボタンを押すとPLCが電圧を検知し、X0接点に電圧がかかる(X0:ON)
ラダー図のb接点は信号を検知して動くためX0:ONで接点が開く
ラダー図より、回路が遮断されるためコイルY0はOFFになる
Y0接点より、LEDが消灯する

このプログラムではボタン(a接点)は接点OFFなのに、プログラム上ではONになるため動作が非常にわかりにくいです。このようなプログラムも作成できますが、メンテナンス性も考慮すると適切でないことが確認できます。


8-6-2.自己保持回路
自己保持回路とは、「リレーのコイル部に通電した時、自分の接点を使いコイル部に通電させることでコイル部の通電を維持する」回路です。詳細は下記記事参照のこと。

【ラダー図】
自己保持回路として、コイルY0が通電した時に自分の接点| Y0 |を使って自己保持できるようにします。自己保持回路は保持回路をキャンセルするためのb接点が必須となります。今回は学習もかねて有り無しで作ってみます。
キャンセル回路無しは下記の通りです。コイルY0が通電した時に、Y0自身の接点をX0と並行(OR回路)にすることでX0の通電が無くても回路を維持できます。
【自己保持回路:キャンセル回路なし】
|----| X0 |----+--------( Y0 )----|
| | |
|----| Y0 |----+ |

キャンセル回路ありは下記の通りです。上記にb接点を直列(AND回路)で繋ぎます。この場合、X1接点が切れると自己保持回路がキャンセルできます。
【自己保持回路:キャンセル回路あり】
|----| X0 |---+---|/| X1 |----( Y0 )----|
| | |
|----| Y0 |---+ |
【結果】
動作は下記の通りです。
Case1:キャンセル回路なし
ボタン(a接点)を押すと、接点がつながりサービス電源からDC24V検知
PLCが電圧を検知し、X0接点がON
ラダー図より、コイルY0が通電
接点Y0も通電するため、X0とY0がOR回路になる
ボタン(a接点)を話すとX0接点はOFFになるが、Y0接点はONのままになる。よってボタンを離しても通電が保持される
キャンセル回路がないため電源を落とすまで通電が維持される


Case2:キャンセル回路あり
ボタン(a接点)を押すと、接点がつながりサービス電源からDC24V検知
PLCが電圧を検知し、X0接点がON
ラダー図より、X0接点とX1接点を通ってコイルY0が通電
接点Y0も通電するため、X0とY0がOR回路になる
ボタン(a接点)を離すとX0接点はOFFになるが、Y0接点はONのままになる。よってボタンを離しても通電が保持される
ボタン(b接点)を押すとX1接点がOFFになる。この瞬間コイルY0の通電が停止され接点Y0もOFFになるため自己保持回路がなくなる。よってX1接点がON(ボタンを離す)にしてもコイルY0に電流は流れなくなる。


8-6-3.出力のOR回路
一つのスイッチで同時に別の出力も操作します。例としてボタンを押したら機器と同時にランプを点灯させるような場合です。
【ラダー図】
出力を同時に実行するにはOR回路となります。前項の回路にY1コイルをOR回路で繋ぎました。
|----| X0 |---+---|/| X1 |--+--( Y0 )----|
| | | |
|----| Y0 |---+ +--( Y1 )----|

【結果】
動作は下記の通りであり、接点がつながるとLEDが同時に通電しました。
ボタン(a接点)を押すと、接点がつながりサービス電源からDC24V検知
X1接点を経由してコイルY0とコイルY1に同時に通電(OR回路)
X0接点がON->コイルY0がON->接点Y0から自己保持回路が生成
X1接点をOFFにするとコイルY0とコイルY1が同時に消灯し、自己保持回路もキャンセルされる


9.便利機能
GX Works3では、作成したプログラムをモニターしたり、実際に動かす前にシミュレーションすることができます。そのような便利機能を紹介します。
モニタ機能:作成したプログラムの動作を確認可能
モニタのためシーケンサへの書き込み/RESET/RUNは事前に実施が必要
シミュレーション:プログラムの動作を実機なしにデバッグ段階で確認可能
リアルタイムモニタ機能:デバイス変化をモニタで確認
別ソフトウェアのGX LogViewerが必要
GX Works3のメニュー[ツール]→[ロギング設定ツール]/[リアルタイ ムモニタ機能]を選択
9-1.プログラムのモニタ
作成したプログラムの接点やコイルのON/OFF状態などをモニタリングすることが出来ます。モニタのためラダー図作成後に下記対応は必要です。
シーケンサへの書込み:エンジニアリングツールで設定したパラメータと作成したプログラムをシーケンサに書き込む
CPUユニットのリセット:以下の方法でシステムを再起動
電源のOFF→ON
CPUユニットのリセット
プログラムの実行:CPUユニットをRUN状態に変更
【要領】
「オンライン」/「モニタ」/「モニタ開始」を選択します。右上ツールバーにあるのモニタステータスバーから,CPUユニットのLED状態やスキャンタイムを確認できます。

ラダーエディタから接点やコイルのON/OFF,ワードデバイスやラベルの現在値を確認できます。
※Gifでうまく見えないですが実際は接点(SM412)とコイル(Y0)が0.5secごとに点灯しています。

9-2.シミュレーション
作成したプログラムをそのまま動かして問題が生じると機器の破損や事故につながる恐れがあります。GX Works3ではプログラム内で動作を実機無しで確認できます。

【要領】
「デバッグ」/「シミュレーション」/「シミュレーション開始」を選択します。書き込み完了後にGX Simulator3ウィンドウが開きます。


「Shift+Enter」を押すと接点のON/OFFができるため、これで動作の確認が可能です。

別添
別添1:用語集
PLCのプログラム言語:PLCを制御するための専用のプログラミング言語であり、IEC 61131-3規格では以下の言語が定義されています
ラダー図(LD):電気回路図に似た視覚的なプログラミング言語。
ファンクションブロックダイアグラム(FBD):ブロックを組み合わせて制御ロジックを構築。
構造化テキスト(ST):高水準言語に似たテキスト形式の言語。
命令リスト(IL):アセンブリ言語に似た低水準のテキスト言語。
シーケンスファンクションチャート(SFC):ステップとトランジションでプロセスを定義。
データタイプとデバイス
ビットとワード:データの最小単位であるビット(0または1)と、16ビット(2バイト)で構成されるワード
X(入力番号):外部からの入力信号を受け取るためのデバイス
Y(出力番号):外部への出力信号を送るためのデバイス
M(内部リレー):内部で使用される補助リレー。プログラム内でフラグや状態保持に使用
ワードデバイス:16ビットのデータを扱うデバイス。
D(データレジスタ):数値データを格納するためのメモリ領域。計算結果や設定値の保存に使用
接点とコイル
接点:入力や内部リレーの状態を参照する要素
コイル:出力や内部リレーの状態を制御する要素
ー
別添2:PLC関係
別添3:三菱電機 FA eラーニング
ハードウェア:MELSEC iQ-Fシリーズ基礎
ソフトウェア:GX Works3(ラダー言語編)
別添4:MELSEC iQ-F関係
【Youtube再生リスト】
別添5:ソフトウェア関係
あとがき
Raspberry PiとかArduinoと比較して、とにかく初学者向けの記事が少ないし、メーカーのマニュアルだけだとかなりきつい・・・・
できれば下記くらいまでは実行したい。
ADユニット(アナログ入力)とDAユニット(アナログ出力)
Ethernetケーブルによるデジタル通信(機器同士でのデータのやり取り)
FB制御
簡単なモニター画面の作成
更新履歴
2024年10月14日(月):初版発行
2024年10月20日(日):8章追加、マニュアル関係追加
出力端子はLEDを使って追って追加
2024年10月26日(日):8章の動作確認と基本動作の説明
それ以降は別記事で作成予定