United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

PLCnextで制御! 空き缶圧縮機の製作 パート 3: 最終組み立てとテスト

すべての配線作業を終え、PLC 制御ロジックの実装と、機能のテストを行います。

Can being crushed

PLCnextで空き缶圧縮機シリーズ  パート 2では、アルミ押出材の組み立てや、MDFを使ったパネルの実物大模型の試作、配線計画を行いました。この記事では、配線作業や、制御ロジックの設計など(実のところ、ラダーロジックは難しいです!)を終わらせることで空き缶圧縮機の仕上げをし、完成したシステムの安全性と機能性を確認します。

金属板の作成

空き缶圧縮機は頑丈な装置であるので(過剰だと言う人もいますが)、多くの部分が金属板でできています。組み立てにはすべて10mm厚のスチールプレートを使用し、トッププレートは5mm厚のアルミ、内部配線プレートには1.5mm厚のアルミ、コンプレッサを搭載するベースプレートは、5mm厚のスチールを使用しました。

現在、社内のプラズマカッターが稼働していないため、こういった大きなパネルのプロファイリングができません。そこで、以前利用したことのある、金属板のレーザ切断を行っている会社に外注することにしました。これで150ポンド弱と、驚くほど安く済みました。

Metal plates are 10mm thick

パネルはレーザによって切断されているため、端にレーザの始点と終点のバリが多少残りますが、ヤスリをかければ簡単に落とせます。怪我のリスクを減らすため、角にもヤスリをかけて、パネルを扱いやすくしました。

Panel had a brushed sheet finish

トップのアルミパネルを注文したとき、無地のものを使用することを想定していたのですが、代わりにブラッシュ加工のアルミ板が届いたのは嬉しいサプライズでした。これで、空き缶圧縮機の外観が完成し、実際の製品のような仕上がりとなりました。

配線

アルミ製の配線パネルを手に入れたので、制御システムの配線作業を始めることができるようになりました。パネルに最初に取り付けるのは、スロット付きの配線ダクト (879-3725) と、DIN レール (046-7406) です。

Wiring of the control gear

次に、ターミナルブロックや、ヒューズホルダ、電源、PLCなどの部品を、DINレールに配置しました。配置する際の方法として、入力と出力を大まかにグループに分けることを考えました。入力側を左側に(例えば、230Vの入力電源から始まり、続いてヒューズホルダと 24V PSUを配置)、出力を右側にし、コンプレッサの電源接続が終端となるような配置にしてあります。

すべての部品をDINレールにはめ込み終えたら、配線作業を開始します。できるだけ多くの接続を詳細に考慮した配線計画が、後に大きな違いを生みます。前回の投稿で、ほぼすべての配線計画を作成しており、それに沿って大まかに配置をしました。

Wiring was all clearly labelled

ここではワイヤラベルが不可欠で、HellermanTyton (408-4670) のWICシリーズを多用しています。4種類のサイズ、記号も用意されているので、手元にあると非常に便利です。必要な数よりも多めに注文しておきましょう。

配線をすべて完了したので、次は、空気圧コンポーネントの取り付けを行います。パート 1にて、すでに配管計画を立てていたので、これも簡単な作業でした。押し込み型の継手のため、鋭利なパイプカッターやケーブル用ハサミ (222-2606) を使用すると作業が容易になります。パイプの端をきれいな四角形に切っておかないと、継手はしっかり密閉されません。

配線の確認

配線、空気圧まわりの作業がすべて完了したら、正しく結線されているか確認します

まず、それぞれの接続部分がもろくないか確認しました。時間はかかりますが、この作業は非常に重要で、もしも緩んだ端子によって制御システムが誤動作してしまった場合、制御システムのデバッグに時間がかかることや、高電流を流した際、高い抵抗値による火災が起きることが考えられます。

フェルール圧着端子を使用する場合は、接続部を引っ張り、ワイヤがフェルール圧着端子で確実に接続されているか確認するのも良いでしょう。この作業を怠ると、先ほど述べた問題が発生する可能性があります。

すべての接続部がしっかりと接続されていることが確認できたので、次は、適切な場所に配線されているかどうかを確認します。これもまた時間がかかる作業ですが、後の負担を減らすことができます。印刷した配線計画書を持っていると、作業を進めながら印をつけることができるので、非常に便利です。

PLCとセーフティコントローラのプログラミング

これで配線と点検が完了したので、次は、制御ロジックの書き込みに移ります。

まずは、セーフティコントローラのプログラミングから始めました。Phoenix Contactのプログラミング環境はドラッグ & ドロップ式でつくることができる、グラフィカルなものだったので、非常に簡単にプログラミング可能でした。

PLC and Safety Controller Programming Screen

新規プロジェクトを作成し、最適なセーフティモジュールを選択しました。今回はB2モジュール系統のものを使用しているので、それに合わせました。TBUSモジュールは接続されていないため、他はすべてデフォルト値のままです

次に、適切なセーフティロジックを作成できる空白のプロジェクトを開きました。ブロックを左側の列からプロジェクトエリアにドラッグ&ドロップしてそれぞれ接続し、ブロックオプションを設定するだけの簡単なものです。

Programming with safety logic created

PLC が大半の制御部分を担っているため、セーフティコントローラが緊急停止ループ、ガードのインターロック、シリンダ制御信号の伝達を行います。セーフティループ(緊急停止とガード)は、PSRmodularセーフティコントローラのテストパルス出力に接続されています。これは交差配線を検出するためで、装置を危険な状態にする可能性のあるオープン/ショート信号を識別します。

Programming with safety loops (e-stop and guard)

テストパルスを有効にする際に詳細設定をする必要はありませんが、ブロックで入力が設定された後にのみ、変更できることに注意してください。最初は入力が割り当てられるまで混乱していました。

セーフティコントローラのロジックが完成したので、次は、PLCプログラミングに移ります。最初は、空き缶圧縮機のおかれる様々な状態について、どのように動作するのかという作動順序を、時間をかけて考えることにしました。

プログラムロジックについて少し考え、PLCnext Engineerで新しいプロジェクトを作成することから始めました。プロジェクトの作成方法については、別の記事で説明しています(例もいくつか挙げています)。新しいプロジェクトの一環として、PLCとの通信を確立します。つまり、ロジックの実装に移ることが可能です。

最初の、最も困難であることがわかった手順は、装置が有効になったときに、シリンダの自動追尾を処理するロジックを作成することでした。これは、装置のロックが解除されて作動する準備が整う前に、シリンダの状態が明確に設定できるようにするために行います。

最初はラダーロジックを使ってこれを実行しようとしたのですが、経験が少なく、難しいと感じました。このロジックは、PLCの動作中に一度実行してから、残りの時間を無効にする必要があり、基本的にはワンショット操作となってしまいます。最初の試みでは、空気シリンダが何度も前後する結果に終わり、期待した効果は得られませんでした。

Structured Text Programming Language

少しイライラしてきたので、ストラクチャード・テキストの使用にすぐに移行しました。ストラクチャード・テキストは、if 文や関数など一般的なプログラミングの形式を備えた、プログラマーにはさらに親しみやすい言語です。

PLCnextの環境では、ラダーロジックとストラクチャード・テキストの混在をサポートし、今回のこの状況では、とても役に立ちました。5 分以内にシリンダを戻す機能を作ってテストしたところ、最初に電源を入れたときにシリンダが最上部に戻るという望ましい動作を確認できました。

オフィスに「PLC Controls with Structured Text (ST) (ストラクチャード・テキスト (ST) を使用した PLC コントロール)Tom Mejer Antonsen 著 (ISBN 8743002420) 」があり、始める際のガイドとして非常に役立ちました。

Programming the pressure sensor output voltage

圧力センサが電圧を出力するため、プログラム内でこれを圧力に変換する必要があります。また、これは特に、1~5Vの読み取り値を 0~10 barに変換するためのマップ機能が必要であったラダーロジックと比較すると、ストラクチャード・テキストで実装するのが簡単でした。

電圧と電流はミリボルトとミリアンペアで測定されるため、読み取り値を換算する必要があります。すべての変換を論理的にグループ化するために、上記と同じファイルでストラクチャード・テキスト用いて、再度実装しました。

Implementing the rest of the program logic, including e-stop handling and cylinder movement.

改造した部分が邪魔にならないように、緊急停止処理やシリンダの動きなど、残りのプログラムロジックを実装しました。この部分は、機能を視覚化して作成するのが簡単で、ブロックをドラッグ&ドロップするだけでプログラムを構築できる、ラダーロジックで実装しています。

PLCnextコントローラはウェブベースの HMI をサポートしているため、コンプレッサの出口圧力、シリンダ圧力、コンプレッサの電圧と電流といった、システムの動作値を表示するページを実装しました。

PLCnext controller supports a web-based HMI

まず、新規のHMI ページを作成し、コントロールを追加するための空白ページを用意します。次に、PLCデータリストに戻って、変数にHMIタグを追加しました。これは、プロセスデータを HMI に接続するためのものです。

HMI page - controls are dragged in from the components toolbox on the right-hand side

空白の HMI ページに戻り、コントロールを右側のコンポーネントツールボックスからドラッグします。1つの変数につき1つずつ、合計4つの「ラジアルゲージ」シンボルを使用しました。次に、それぞれの変数を選択後、表示されたプロパティ内の「パラメータ」タブに移動し、正しい変数を選択して計器に接続します。

インタラクティブコントロールをHMIページで使用し、PLC上のプログラムと連動させることもできます。この場合、すべてのインタラクティビティに関する部分は、装置そのものを経由して行われます。

すべてのプログラムを記述し終え、次に、装置の機能をテストするプロセスに入ります。シーケンスが正しいこと、緊急停止回路がシリンダ内の圧力を安全に解放すること、ホーミングプロセスが機能することを確認しました。

動画

下の動画では、空き缶圧縮機の動作概要を紹介しています。

最終結果

このプロジェクトでは、PLCnextエコシステムの膨大な機能の一部を使い、PLCシステムの立ち上げと実行がいかに簡単であるか、紹介しました。

Engineer of mechanical and electronic things by day, and a designer of rather amusing, rather terrible electric "vehicles" by night.