Skip to main content

ライブラリ: メカトロニクス

ヒント

図書館 Mechatronics これは、逐次プロセスを使用したメカトロニクス ユニットの単純な (完全ではない) 実装の例として意図されています。完全なメカトロニクス アプリケーションに必要なすべての要件を満たしているわけではありません。むしろ、このタイプのアプリケーションの導入または基礎となることを目的としています。

提示されたメカトロニクス モデルの中核は、次のモジュール構造に基づいています。

65. アプリケーションコンポーザの例 Mechatronics
アプリケーションコンポーザの例 Mechatronics


各マシンは、たとえばそれぞれがグリッパーを表す複数のメカトロニクス サブアセンブリで構成されていると想定されます。サブアセンブリは、アクチュエータ (メカトロニクス ユニット自体で構成されますが、その機能実装や I/O 管理も含みます) とプログラム マネージャーに分割されます。プログラム マネージャーは、メカトロニクス サブアセンブリのさまざまな状態を管理することを目的としています。 Idle- または Execute-状態。最終的に、これらの状態は、アクチュエータを動かしたり、その他の必要な機能を実行したりするプログラム シーケンスによってライブラリ内で表現されます。

この時点で、さまざまな部分について簡単に詳細に説明します。ライブラリを使用する場合、多くの場合、独自のアクチュエータ、プロセス ステップ、またはプログラム シーケンスを実装する必要がありますが、これについてもここで説明します。

  1. 俳優 アクチュエーターであると考えられるすべてのモジュールは、インターフェースとなる機能ブロックによって実装する必要があります。 IActuator 実装されました。このインターフェイスにはメソッドやプロパティがなく、モジュールの互換性の理由でのみ使用されます (ドキュメントを参照してください) IActuator 図書館で)。アクチュエーターの実装にはルールや制限がないため、そのようなアクチュエーターの移動またはアクティブ化は個別に行う必要があります。これは通常、アクチュエータを基準スロットに収容し、シーケンスの一部として望ましい方法でアクチュエータを移動できるシーケンス ステップ モジュールを実装することによって実現されます(たとえば、追加のインターフェイスを使用して実装されます)。

  2. プロセスのステップ

    プロセスステップを関数ブロックの派生クラスとして実装することを強くお勧めします。 StepBase 実行する。これにより、インターフェイスの必要な基本実装がすべて提供されます。 IProgramSequenceStep 利用可能。次のドキュメントを参照してください。 IActuator 図書館で。基本クラスを使用する場合 StepBase 必要なのはメソッドだけです Execute 実装する。後者は、変数が終了するまでプログラム フローによって周期的に呼び出されます。 xDone 基本クラス TRUE が設定されています。さらに、それぞれのプロセスステップがアクティブである限り、フラグは xActive の上 TRUE 悩ませる。アクチュエータへの接続は、任意の方法で実装できます (たとえば、推奨されるリファレンス スロットを介して (1 を参照))。

  3. プログラムシーケンス / プログラムマネージャー プログラム シーケンスは、状態を表すプログラム マネージャーのサブモジュールです。これらの状態は、OMAC ステート マシンの形式で管理されます。これらの実装もやはり「Execute」メソッドに基づいています (詳細については、ライブラリの実装を参照してください)。ただし、ほとんどの場合、ユーザーがそのようなプログラム フローを実装する必要はありません。ただし、ステート マシンの動作がプログラム マネージャーに実装され、それによってプログラム シーケンスが実行される方法については、ここで簡単に説明します。

    状態には、実行状態 (「ing」で終わる) と待機/デュアル状態 (残り) の 2 種類があります。待機状態は外部コマンドによって終了しますが、実行状態は実行後に終了します。使用可能なコマンドは、プログラム マネージャーの現在のステータスによって異なります。 OMAC ステータス図は、簡単な概要を示しています。

    66. OMAC図
    OMAC図


    67. モジュール MovableBarrier
    モジュール MovableBarrier


    モジュール MovableBarrier 関連する機能ブロックは次のように実装されます。 MovableBarrier 作成したインターフェースを実装します IMovableBarrier。このインターフェースは、(比喩的な) 保護フードを移動するためのメソッドを定義します。 IMovableBarrier 今度はインターフェース IActuator モジュールが MovableBarrier メカトロニクス アセンブリの下のモジュール ツリーでアクチュエータとして使用できます。

    68. モジュールの実装 MovableBarrier
    モジュールの実装 MovableBarrier


    このアクチュエータ「MovableBarrier」はフローステップモジュールによって作成されます MoveBarrierForTime 移動は次の方法で実装されます。

    69. モジュールの実装 MoveBarrierForTime
    モジュールの実装 MoveBarrierForTime


    モジュールを実装する機能ブロック MoveBarrierForTime 基本的な機能ブロックから単純に派生します AC_MEC.StepBase それはライブラリに含まれています。これは関数ブロックを実装します MoveBarrierForTime すでにインターフェース IProgramSequenceStep。その結果、モジュールは次のことが可能になります。 MoveBarrierForTime プログラムシーケンスの下にプロセスステップとして挿入できます。ファンクションブロックの機能実装 MoveBarrierForTime モジュールの参照スロットを定義することにより、 MoveBarrierForTime、インターフェースが実装されたアクチュエーターを備えています。 IMovableBarrier 対応できる場合は、既存の「MovableBarrier」アクチュエーターに接続します。このアクチュエータの動きは最終的には機能で行われます。 Execute ファンクションブロックの MoveBarrierForTime、これは単に保護フードを(比喩的に)移動するためのメソッドを呼び出します。このメソッドは参照アクチュエータによって使用されます。 IMovableBarrier 実装され、利用可能になります。なお、物件は、 Done そして変数 xActive TONEと組み合わせることで「動き」の機能ブロックを実現 IMovableBarrier 指定された時間 (TON) が経過するまで周期的に呼び出され、その後 Done TRUEに設定し、 xActive は FALSE に設定されます。物件 Done インターフェースの一部です IProgramSequenceStep したがって、プロセスの次のステップを実行する必要があることを上位レベルのプログラム フローに報告します。

    プロセスステップの独自の実装とは別に、 AC_Mechatronics.library 一般的な論理演算に使用できる、事前に実装されたいくつかのステップが利用可能です。例えばステップになります BranchOnBool これには 2 つのサブステップ/分岐が含まれます。これらのサブステップは、ブール変数の値に応じて実行されます。図書館にもあります AC_Mechatronics.library 並列プロセスのプロセス ステップ、条件付きジャンプや単純な待機ステップ、その他多くのタスクが利用可能です。