安全性: 図1および図2に示す機器構成は、デモンストレーションのみを目的としたものです。それは、ベンチトップ電源(図示せず)で駆動される24V DCシステムです。大電力三相システムについては、適切な設置方法に従わなければなりません。また、システムを誤動作から保護し、故障状態をオペレーターに知らせるためには、適切な制御と監視が必要です。まず、UL 508Aのキーワード検索をしてください。
CAMシーケンサは一般的なプログラマブルロジックコントローラ(PLC:Programmable Logic Controller)機能を有します。このシーケンサは複雑な動作を表形式で記述できるので有益です。この表の最も優れた用途は、有限ステートマシン(FSM:Finite State Machine)の状態変数のメンテナンスでしょう。これは、特にラダーロジックプログラミングを使おうとしていた場合、困難な問題を解決します。
この記事では、CrouzetのMillenium Slim PLCに実装されたCAM機能について説明します。これは、DigiKeyが提供する最も小型のPLCの1つです。これから示すように、PLCに中程度の複雑なステートマシンを実装するのは簡単です。高度なCrouzetのプログラミングには、シーケンシャルファンクションチャート(CFC)を使用することをお勧めします。どちらの場合も実践では、最も読みやすいコードを生成する方法で行うと良いでしょう。これにより、プログラムが他の人にも理解できるようになります。このことは、迅速なマシン修復のために特に重要です。
テスト装置を図1と図2に示します。ここでは、モデル 88983902 Millenium Slim PLCがPLCトレーナに取り付けられているのが分かります。セレクタスイッチを使用してPLCを起動し、プッシュボタンでマシンサイクルを開始し、別のプッシュボタンでプロセスを中止させます。このCAM制御シーケンスの主たる出力と焦点は、大型の三相モータスタータです。
この装置は、Crouzettのデータシートの通りに制御装置を接続しただけの簡単なものです。モータスタータは、インターポージングリレーの前回の記事で説明したように接続されています。大電力三相システムの安全な設置には、追加のワイヤとプログラミングの考慮が必要であることに注意してください。
220Ωの直列抵抗が接続されたスピーカを使用しているという点でこのアラームは異例です。アラームの音は、400Hzの50%デューティサイクルのPWM信号で生成されます。これは現場での実践に適しているかどうかは別として、PLCとそのパルス幅変調(PWM)出力の操作と機能を理解する絶好の学習機会になります。
図1: 2つのインターポージングリレーに隣接して設置されたCrouzetのMillenium Slim PLCの写真
図2: プッシュボタン制御と大型の三相逆転モータコンタクタを備えたPLCトレーナに設置されたCrouzetのPLC
安全性: 三相逆転モータスタータを制御および監視するには、追加のプログラミング手順が必要です。補助接点やインターロックなどのトピックは、この記事の範囲外です。
マシンサイクル
この設定の目的は、テーブルベースのFSMの動作をデモンストレーションすることです。この実験のために、マシンサイクルを次のように定義しましょう。
- ボタンが押されるまで待ちます(アイドル状態)。
- 3回の短いアラーム音でシステム開始を知らせます。
- 5秒間、正転します。
- 3秒間、待ちます。
- 3回の短いアラーム音でシステム開始を知らせます。
- 5秒間、逆転します。
- アイドル状態に戻ります。
セレクタスイッチがオンの位置にあり、サイクルスタートプッシュボタンが押されると、サイクルが開始されます。このシーケンスの状態遷移図を図3に示します。この図は、6ステップのリストを再構成しています。各丸い枠の中には、ステート名とこれから説明する所定の出力が含まれています。もし興味があれば、この図が \LaTeXを使ってどのように作成されたかを説明した記事(ここをクリック)をご覧ください。この技術フォーラムが \LaTeX をサポートしていることは特筆に値します。数式を表示するのに最適です。
図3: CrouzetのCAM機能にエンコードされた有限ステートマシンのステートシーケンス
コードの説明
マシンサイクルを理解したところで、コードの実装に移ります。図4は、ファンクションブロックダイアグラム(FBD:Function Block Diagram)の実装を示しています。6ステートのマシンサイクルのコードは左側に示されています。3アラームのコードは右側にあります。2つのステートマシンを実装していますが、どちらもCAM機能に基づいています。この記事では、マシンサイクルFSMだけに焦点を当てます。この記事の最後に添付されているファイルをダウンロードして、アラームセクションを調べることができます。
FBDコードを理解するためには、まずカムの動作を理解する必要があります。メカニカルラチェットカムについての記事を読む良い機会です。その記事は、Crouzetのファンクションブロックに直接類似したメタルモデルを形成するのに役立ちます。
図4: CAMブロックを備えたマシンサイクルを実装したCrouzetのファンクションブロックダイアグラム
CAMブロックはルックアップテーブルが示すように動作します。このブロックには8つの出力があります。どのステートでも、出力の論理レベルを自由に選択できます。図5はテーブルの「プログラミング」を示しています。6つのステートは行で表されます。出力は列で表されています。与えられたステートに対して、1か0のいずれかを選択します。数字(使用されているのは7つだけ)は、図3のステートマシンで表されたものと同じであることに注意してください。
この時点で、図4のFBDに戻ると、マシンがどのように動作するのか分かります。
- 信号S1は出力O1に送られ、正転モータのコイルを駆動します。
- 信号S2は出力O2に送られ、逆転モータのコイルを駆動します。
- 信号S3は立ち上がりエッジトリガー(R_TRIG)ブロックに送られ、3アラームサイクルを開始するために使用さ れます。
- 信号S4とS5は、適切な遅延のためにタイムオン(TON)タイマを起動するために使用されます。
- 信号S6はPLC出力O4に送られ、フロントパネルランプを駆動します。
- 信号S7は、サイクルスタートプッシュボタン(入力I3)を有効または無効にするために使用されます。
これらの信号は、FBDの信号経路を単純化するために用いられています。CAMブロックの信号の割り当ては、分かりやすく、線の交差を最小限にするために行われています。青緑色のリセット信号で「テキスト」モードを使用したように、おそらく、「テキスト」モードを使用するのが良いでしょう。
図5: CAMブロックは、ステートを行に、それぞれの出力を列に持つルックアップテーブルに記載通りに動作します。
パルス信号
メカニカルラチェットカムは、ソフトウェアCAMブロックを使用する際の真の課題の1つを包含しています。具体的には、次のステートへの前進に備えてラチェットの歯をキャッチするために、コイルを非アクティブにする必要があります。ソフトウェアアプリケーションでは、これはCAMブロックの「正回転」入力がエッジ検出であることを意味します。
CAMブロックが4入力のORゲートで駆動されていることに注目してください。厳密には、3秒と5秒のTONタイマの出力を受け取る2入力のORゲートを含めると、5つのユニークな出力によって駆動されています。これら5つの信号はすべて、CAMブロックを前進させるために使用されています。
-
ステート0:CAMブロックの出力S7がアクティブです。サイクルスタートプッシュボタン(I3)が押されるとパルスが発生します。セレクタスイッチ(I1)がオンの場合、このパルスはカムをポジション1(ステート1)まで進めます。
-
ステート1:CAMブロックの出力S6ライト信号がパネルランプ(O4)を点灯させます。また、3アラーム装置が起動します。3アラームカムが完了すると、プライマリカム(左側のカムブロック)をステート2に進めるために、S3出力が送り返されます。
-
ステート2:CAMブロックの出力S7出力はパネルランプを点灯し続けます。また、出力S5を介して5秒間のTONタイマを作動させます。TONが完了すると、プライマリカムにパルスを送り、ステート3に進めます。
-
ステート3~5は、モータに信号を送り、反転させるプロセスを繰り返します。
このシステムが実際に動いている様子を短いビデオでご覧ください。
まとめ
CAMブロックは単純なステートマシンをエンコードする簡単な方法を提供します。ここでいう単純とは、図3に示すように、連続したステート、つまり1つの輪になっていることを意味します。より複雑なCrouzetのアプリケーションでは、SFC言語を使用すべきです。
CAMブロックに問題が発生した場合は、入力を柔軟に処理するようにしてください。R_TRIG(立ち上がりエッジトリガ)のようなパルス信号発生器やセルフリセットタイマの使用は役に立ちます。
ご健闘をお祈りします。
APDahlen
CAM_Example.pcs(50.2 KB)