三相モータスタータ用、Crouzetのシーケンシャルファンクションチャートのマクロ

APDahlen Applications Engineer

産業用制御とオートメーションのインデックスに戻る

この記事では、Crouzet-Soft環境を使用したシーケンシャルファンクションチャート(SFC:Sequential Function Chart)プログラミングの応用例を紹介します。これは、モータスタータの操作と動作をカプセル化するマクロ(関数)を提供します。その目的は、モータスタータの動作をカプセル化し、動作状態とフォールト状態を提供する、再利用可能なオブジェクトを構築することです。

モータスタータのフォールトの確認

モータスタータに関連するフォールトを調べることから始めましょう。故障モードは以下の4つのカテゴリに分類されます。

  • 例えば、技術者が絶縁ドライバを使用してアーマチュアを動かした場合、コンタクタを強制的に作動させることができます。

  • コンタクタが閉じないことがあります。これは、ワイヤの緩み、コイルの焼損、PLC接点の焼損interposing relay(インターポージングリレー)の不良、またはモータスタータの補助接点の問題の可能性があります。

  • コンタクタが閉じた状態を持続できないことがあります。最も可能性の高い原因は、モータスタータの過負荷ブロックのトリップによるものです。これは、物理的な過負荷、故障しているモータ、短時間に過度の起動と停止の繰り返し、位相の不均衡、または単相運転状態が原因で起こる可能性があります。

  • コンタクタが開かないことがあります。極端な場合、接点の溶着により、接点そのものが閉じている可能性があります。

言うまでもなく、モータを動かすには、コイルに電力を供給するだけでは不十分です。このフォールト検出ルーチンをカプセル化したマクロは、制御システムが複雑になるにつれてますます重要になります。ここでは、モータスタータの補助接点をモニタするシステムについて説明します。例えば、セイルスイッチや誘導型近接センサがモータ駆動ギアを「監視」するなど、モータの動作を監視するために保護層を追加することができます。

技術的なヒント: 過負荷ブロックは、コンタクタをモータスタータに変換する重要な要素です。過負荷ブロックのノーマルクローズ接点は、通常コイルと直列に配線されています。これにより、フェイルセーフで独立した電源保護方法が提供されます。

モータスタータのステータスの説明

可能性のあるフォールトが特定できたので、次にモータスタータのステータスを説明します。ステータスでは、valid、busy、faultなどの形容詞を使用します。これらの用語の識別は、モータオブジェクトをより大きなシステムに統合する場合に非常に重要です。これらの用語を使用することで、最小限のサポートロジックでオブジェクトを大規模なPLCプログラムに組み込むことができます。これらの用語がどのように役立つかを考えてみましょう。

  • validコントロールラインは、モータスタータがオンかオフかを問わず、指示された位置にあることを示しています。

  • busyコントロールラインは、モータスタータが過渡状態にあることを示しています。オンまたはオフへの移行プロセスにある可能性があります。

  • faultコントロールラインは、何かが異常であることを示しています。より大規模なシステムでは、このようなフォールト表示のラインが多数OR接続されることがあります。

  • faultコントロールラインに関連して、faultコードがあります。このアプリケーションでは、以下のようにフォールトごとに数値を割り当てます。

    1. コンタクタの強制作動
    2. コンタクタが閉じない
    3. コンタクタが閉じた状態を持続できない
    4. コンタクタが開かない

faultコードは、なぜモータスタータがフォールトしたかを技術者が判断するために利用できる貴重なものです。高度なシステムでは、これらのコードにタイムスタンプを付けてシステムに記録することができます。より高度なソリューションでは、大規模なシステムでどのオブジェクトがフォールトしたかを示すメッセージが含まれます。

シーケンシャルファンクションチャート(SFC)ソリューションの紹介

もしまだお読みになっていないのであれば、この機会にCrouzet-SoftのSFCに関する私の前回の記事をお読みください。その記事には、以下のように学ぶべきいくつかの重要な点があります。

  • ステートマシンはSFCブロックにエンコードされています。

  • 「リセット可能なイニシャルステップ」(StateOpen)ブロックは、トークンの出発点です。また、明示されていませんが、すべてのSFCブロックに対してリセットの配線があります。

  • SFCブロックの左側に入力される信号は、トークンが次のステートに移るための「小さなゲート」を開くために使われます。

  • アウトプットロジックはSFCブロックの右側にあります。

  • Crouzetの「ワイヤモード」と「テキスト」を自由に組み合わせて使うことができます。このアプリケーションでは「テキスト」モードがよいでしょう。この青緑色の接続「ワイヤ」によって、図1のように、からまったワイヤをなくすことができます。

  • 「yes」ブロックはノードの拡張に使われます。マクロは入力ラインとブロックを1対1で対応させていますので、このアプリケーションではこれが特に重要になります。「yes」ブロックのノードコピー機能を使うことで、1つの入力を多くのブロックに接続することができます。

図1を左から右に見ていくと、SFCのブロック構造が見えます。一般的なグループ分けは次の通りです。

  • インプット
  • 「yes」ブロックと信号インバータ
  • SFCにエンコードされたステートマシン
  • ラッチ機能付き故障検出ブロック
  • アウトプットロジック
  • アウトプット

図1: モータスタータの動作をカプセル化するSFCベースのマクロ

SFCには、StateOpen、StateClosing、StateClosed、およびStateOpeningの4つの状態がエンコードされています。各状態は、SFCブロックの右側出力に関連付けられます。これらの状態は、モータのコンタクタの物理的な位置を表すのに十分です。

faultの状態はSFCの外部でエンコードされます。faultはステートマシンに基づいてトリガされることに注目してください。例えば、図2に示す「FaultFailedToClose」コードについてクローズアップして検討します。ここには、SFC収束ブロックと、3入力AND(3本のワイヤがF = ABCCの形で接続)があります。上のStateOpenブロックが有効になると、トークンは2つに分割されます。1つはStateOpenブロックから収束ブロックに直接伝達されます。もう1つはタイマに「スタック」され、砂時計のようなタイマはそのゲートを開き、500ms後に収束ブロックに伝達されます。一方、物理的な世界では、モータスタータの補助接点が閉じることになっています。3つのイベントが500ms以内に収束すると、トークンはStateClosed(図示せず)に渡されます。

ANDブロックにつながっている収束ブロックには、2つのトークンに対応する2つの出力が、右側あることに注意してください。500msの時間経過のあと、AuxContactが起動しなかった場合、2つのトークンはブロック内でスタックし、AND 4Iゲートの入力の2つがハイになります。これはNotAuxContactブロックの論理ハイと相まってSET/RSTブロックをアクティブにします。これはアウトプットロジックの残りの部分に送られ、最終的にモジュール全体をディセーブルにします。

図2: 収束ブロックからANDブロックを示すSFCの拡大図

まとめ

アウトプットロジックの説明を続けることもできますが、今日はやめておきます。もう収穫のないところまで来ています。代わりに、添付ファイルをダウンロードしてください。まずマクロを開き、SFCのclosingとopeningの時間遅延を500ミリ秒から5秒に設定すれば、シミュレータで実行できます。

システムを設計する際には、コーナーケースを考慮することが重要です。Crouzetの注意に明確に示されているように、PLCが使用される可能性のあるすべての方法を考慮しなければ、パワーオンリセットが意図しない結果を招く可能性があります。

添付のコードを確認していただき、バグがあればご指摘ください。また、読みやすさを向上させる方法も大歓迎です。

ご健闘をお祈りします。

APDahlen

SFC_Motor_Start.pcs(72.5 KB)




オリジナル・ソース(English)