MPI 参考資料 pdf

MPI 3.04
モーションプログラミングインタフェース
MPI 3.04
ハードウェア仕様
主要機能
• 制御、ドライブ / モータ、I/O のための統合、オブジ
ェクト指向 C ライブラリ
• 画像または高速 I/O によるリアルタイムモーションを
統合し最小の待ち時間コマンドモーションを実行可
能
• ノード自己申告、冗長フォールトトレランス、イベ
ント管理
• ネットワーク化されたコントロール、ドライブ、 I/O
へ完璧なリアルタイムデータアクセス
• アップグレードとデバッグのため、全てのシステム
コンポーネントへ接続するソフトウェア
• Windows XP、XPe、Linux 、リアルタイムオペレーテ
ィングシステムをサポート
Diagnostic Tools
• Controls Tookit
• MotionScope™
• MotionConsole™
• VM3
Programming Tools
C/C++
ActiveX®
VisualBasic®
LabView®
MatLab®
Simulink®
SynqNet Drives
SynqNet 'RMBs'
Analog Drive Bridge
Motion Programming Interface - Open Interface
Host Computer
SynqNet Platforms
SynqNet Slice I/O
SynqNet Interface
& I/O Modules
モーションプログラミングインターフェース (“MPI”) バー
ジョン 3.04 は、ダナハーモーションコントロール、ドライ
ブ、モータ I/O のための統合オブジェク指向 C/C++ API で
す。システムエンジニアはモーションプログラミングイン
タフェース (“MPI”) を選択することで、複数軸のモーショ
ン移動時間、プロファイル、制御キネマティックス、画像
統合、I/O 相互作用を要求するアプリケーションの性能を向
上することができます。MPI は、オブジェクト階層化され
ており、また、直接メモリマップすることで、待ち時間の
少ないインタフェースを経由しホストプロセッサに接続す
ることが可能です。アーキテクチャは、軸数、I/O 数、コン
トロールフィルタリング要件、複雑なプロファイルを扱う
柔軟性、緊密なI/O同期、また簡単なポイントツーポイント
モーションを基準としています。
Microsoft Visual Studio™ や主要コンパイラへシームレスな統
合することにより、MPI は、着実なデバッグ機能を提供し
ます。デバッグを高速化しプロセスを最適化するため、画
像ディスプレイとデータ入力経由で完全なシステム透過性
を可能にし、再入力可能な MPI ライブラリで構築されたプ
ログラムは、モーションスコープ 、また他のシステムツー
ルと並行して実行することができます。
MPI の主要オブジェクト
Network
Computer
Error Handling / Debugging
Configuration
Structures
Server
Trace
Message
Path
Notify
Command
Event
Platform
Event Manager
32-bit shared memory map
Bus
Recorder
Axis
Controller Centric Objects
Event pool
Motion Supervisor
Host Centric Objects
2
MPI Objects Overview
Ethernet
・Control − モーションコントロールデバイスを管理し、ファームウェ
アとのすべての通信を処理します。
・Recorder − Motion Scopeなどのオプションツール、他のグラフ作成/
解析パッケージなどによりモーションや I/O に関する情報を収集しま
す。データ収集はリアルタイムで、リングバッファの使用により、デ
ータをローカルで保存して、連続的にデータ収集を行えます。
・Axis − 実際の軸につながっており、ガントリシステムのような場合
でも、Axisオブジェクトが複数のモータを、1つの軸として制御、実
行できます。
・Motor − 実際のモータにつながっており、Motorオブジェクトは増幅
器、専用I/O、ユーザI/O、アクション、モータ関連イベントを処理し
ます。
・Motion − 実行するすべてのモーションの座標を指定するAxisオブジ
ェクトの指令リストを維持します。モーションは、タイプ(台形動
作、S字曲線動作等)とパラメータ(位置、速度、加速度等)によっ
て定義されます。
・Filter − PID、PIV、MIMO制御、バイクワッド、ノッチフィルタなど、
軸の制御アルゴリズムを計算するファームウェアリソースを管理し
ます。
・EventMgr(Event Manager) − コントローラから非同期イベント(移
動終了、位置比較等)を受信します。受信に応じて、ファームウェア
によってイベントメッセージが生成され、イベント待ちのスレッドに
送信されます。
・Sequence − コントローラで直接実行されるモーションコマンドのリ
ンクリストです。
Filter
Motor
Capture
Compare
Program Sequencer
www.danahermotion.com
MPI • モーションプログラミングインタフェース
Path Motion
MPIは、PT、PVT、SPLINE、BESSEL、BSPLINE、BSPLINE2アルゴリズムを含むさまざまなパ
スモーションをサポートしています。パスモーションを使用することによりさまざまな軌
跡制御が行えます。動作状況に合わせてアルゴリズムを組み合わせることにより、あらゆ
る軌跡を補間動作させることができます。
Path Motion
Advanced Filtering
高性能ユーティリティのBodeTool™とFilterDesigner™を含むControls Toolkitによって、カスタム
バイクワッドフィルタ、ハイ/ロウパス、リードラグ、共振などの多段フィルタ制御を
利用することができます。MPIは、これら高度なフィルタリングとPID/PIVアルゴリズム制
御により、よりハイレベルな制御環境を提供します。
Gantry Algorithms
MPIは、2つのモータでリニアモーションを制御するガントリドライブをサポートします。
X軸をもつガントリシステムに対応するため、ヨーイング制御もサポートしています。
従来、複雑であったガントリシステムを、MPIはより扱いやすくサポートします。
Gantry Algorithms
Y0
Y1
yaw
Advanced Filtering
+Y
+X
Data Analysis
Data Recorderでは、MotionScope™や他の解析ツールを使用して、重要なリアルタイ
ム情報を収集、グラフ化できます。Data Recorderはリングバッファ構造により、デー
タを連続的に外部ハードドライブなどの記憶装置に記録できます。Data Recorderと
MotionScope™を連動させることにより、高性能なデータ解析、デバッグが可能です。
Trajectory Modification
Original
Endpoint Final
Trigger
Endpoint
100
Velocity
80
Data Analysis
Trajectory on-the-fly Modification
すでに動作が開始されていても、動作を止めることなく、いつでも必要な場面で加速度・
速度・目標位置を変更する事ができます。途中でモーションの変更がスムーズにできるた
め、補正動作などの目標変更に最適です。
60
40
20
0
0
100
200
300
400
500
600
Samples
2D Compensation
エアベアリングステージなどのアセンブリにおけるメカ的公差が、ステージ動作の論理
座標において、わずかにズレを持つケースがあります。この表面誤差を補正するため、
MPIでは、2D補正テーブルをサポートし、エラーマップに対応する分解能にて精度を高
めます。
2D Compensation
Xmax
Xmin
www.danahermotion.com
Ymax
3
多重スレッドアプリケーション
XMP/ZMPコントローラはMPIによってホストソフトウェアから管理されます。MPIは、XMP/ZMPのすべてのメモリ領域
に直接アクセス可能です。これによって一般のコマンドベースコントローラやASCIIインタフェースを使用する競合シス
テムと比べ、よりハイレベルなソリューションの提供が可能です。MPIは、マルチタスク環境をサポートし、また割込
みもサポートします。直接アドレッシング方式および割込みのサポート環境で、最大の効率を持ったアプリケーション
を作成することが可能です。
ホスト
User Application
MotionScope™
Vision Thread 1
Vision Thread 2
1. Wait for vision I/O
2. Process image
3. Wait for camera
4. Pass data to memory location
1. Wait for position X,Y
2. Configure parameter
3. Start Scan
4. Stop Scan
5. Update I/O
MPI Thread 1
MPI Thread 2
Stage 1
1. Create Axis object 1 (for X axis)
2. Create Axis object 2 (for Y axis)
3. Create Motion object
4. Config DBN
5. ARM DBN
6. Scan Start to position (x,y)
7. Wait for vision I/O
8. Move to position (x,y)
MPI Thread 3
Robot 1
1. Create Axis object 1 (for X axis)
2. Create Axis object 2 (for Y axis)
3. Create Axis object 3 (for Z axis)
4. Create Motion object
5. Move to position (x,y,z)
6. Wait until position is reached
MPI Thread 4
Load System
1. Wait for I/O trigger
2. Create Axis object 1 (for Y axis)
3. Create Axis object 2 (for Z axis)
4. Create Motion object
5. Move to position (y)
6. Wait until position is reached
Connect to Data Recorder over
bus or TCP/IP. Graph data from
1 or more axis including:
• Position
• Error
• Velocity
API キー
Vision API
MPI
Recorder
Event MGR
コマンド
& データ
PCI Bus
ダイレクトメモリ
インタフェース
データレコーダオブジェクト
は、コントローラレコーダバ
ッファからリアルタイムなデ
ータを収集します。
CAN I/O
MPI: コンピュータから作動 & I/O まで統合制御
Event Buffer
Host: User Program
• Application execution
• Sequence threads
• MotionScope,MotionConsole
VM3, Controls Toolkit
• Server/Client over TCP/IP
host
ローカルコン
トローラ I/O
DSP
Recorder Buffer
Thread 1
Danaher Motion Controllers: DSP-FPGA
• Trajectory Generation
• Torque Demand
• Data capture
• Other hardware enabled tasks
• Custom features
controller
Divide-by-n
Thread 2
Ch A
SynqNet Nodes/Drives/IO
• Fault tolerant Digital Network
• Safe, Fast, deterministic
• Firmware download over SynqNet
• Synchronous 32 axis control
• Service channel - SynqNet I/O - etc...
node
Ch B
1 2 3
4 5 6 7 8 9 10 11 12 13 14 15 16
Pr
Path Motion
motor
I/O
4
Thread 3
Mechanical Actuation
• Control servos/steppers/pulse,
• Rotary & linear motors
• User I/O
• SynqNet I/O
• CAN I/O
www.danahermotion.com
MPI • モーションプログラミングインタフェース
MPI 機能
MPIはマルチスレッド環境用として、Windows 2000、Windows NT、Windows XPと、VxWorks、VenturCom RTX、LynxOS、
PharLap ETS、QNXを含むリアルタイムオペレーティングシステムをサポートします。さらに、Linux版MPIではRedHatオ
ペレーティングシステムもサポートします。MPIのアプリケーションは、Microsoft Visual Studio、Borland C++ Builderなど
の統合開発環境で容易に開発できます。LinuxのGNUコンパイラなどのようなオペレーティングシステムに依存する他の
コンパイラを使用することも可能です。
MPI 機能:
• 64-ビット位置分解能
• 位置取り込み/比較
• オンザフライ軌道変更
• セットリング検出
• 2D 補正テーブル
• 同期制御
• カスタムモーションプロファイル
• コーディネトモーション
• PID、PIV コントロールアルゴリズム
• 出力フィルタリング (ポスト – フィルタ) バイクワッド
(6 フィルタ) IIR (32 係数)
• 加速ブレンディング、キュービックスプライニング
• 円形補間
• 電子ギアリング
• アナログ、エンコーダベース速度ジョギング
• フィードスピードオーバーライド
• パスの一時休止
• デュアルループコントロール
• 電力制御
• ハイスピードレジストレーション
• ストリング、リング、またはデュアルストリング型の
トポロジー
• CANopen サポート
オプションツール& ユーティリティ:
• MechaWare™
• コントロールツールキット™ [ボード線図 & フィルタリング]
• MotionConsole™
• モーションスコープ™
• VM3 (メモリビュー)
• SynqNet 管理ユーティリティ
SynqNet 特別機能
• HotReplace™
• トルクモードと速度モードの混載
• ネットワークフォルト修復 (リングトポロジー)
• ストリング、リングトポロジー
• プラグアンドプレイノード - ドライブセットアップ、
コンフィグレーション
• 最大 32 の座標軸、ノードをサポート
• FPGA、ドライブファームウェアのリモートアップ
グレード
• 自動ネットワークコンフィグレーション
• ノード、ドライブ用リモート診断
• 不良フィードバックパケット補正
• 時間ベースキャプチャ
• ケーブル長補正
• ユーザコンフィグレーションパケット
モーションタイプ / 機能:
• 台形
• S – カーブ
• S – カーブジャーク
• 加速、減速ジャークの特定
• 速度
• 速度ジャーク
• PVT
• PT
• リニア & 循環補間
• スプライン
• B スプライン
• B スプライン 2
• ベセル
ダナハーモーションソフトウェア & ユーティリティ
Danaher Motionでは、MPI以外にさまざまなソフトウェア
とユーティリティを提供しています。MPX:LabView®、
VisualBasic®、Excel®や、ActiveXをサポートする他の環境
を使用してカスタムモーションインタフェースを開発。
MechaWare™:Matlab®、Simulink®とMEI MechaWarライブ
ラリを使用して、短時間でシステムモデルを作成し、SynqNetコントローラで即座に実行可能。さまざまなフィルタ、
状態オブザーバ機能、状態フィードバック機能、座標変換、ZMPによる64ビット(倍精度)演算、複雑な歯車伝動、追
従方式、ゲインスイッチング、振動制御、高度なMIMOプラントモデル、簡単に定義可能なガントリ制御トポロジをサ
ポートし、カスタム制御方式を設計可能です。MotionConsole™:システムの全軸にてモータの動作、チューンニングと
設定が可能です。MotionScope™:リアルタイムのモーションデータのグラフ化、解析が可能。位置、速度などの重要
なモーションパラメータをワンクリックでディスプレイ表示。すべてのユーティリティをローカルマシン、またはTCP/
IPで接続されたリモートマシンで実行して診断いたします。Controls Toolkit™:マシンのメカ的な応答の解析、ノッチフ
ィルタの開発、カスタムアルゴリズムによるマシン性能のチューニングと最適化が可能。Controls Toolkit™はBodeToolと
FilterDesignerをパッケージングしております。
www.danahermotion.com
5
SynqNet HotReplace™: マシンのシャットダウンなし... 定期点検サービス
HotReplace™
SynqNet の HotReplace 機能を使用すると、他のノードの動作中に影響を与えることなく1つまたは複数のノードをシャッ
トダウンし、システムに再接続できます。HotReplace 機能は、03.04.00 以降のソフトウェアでサポートされます。
マシンのシャットダウンなし ̶定期点検サービス
SynqNet の HotReplace 機能は、定期メンテナンスや交換のためにモジュールをオフラインにするシステムで特に便利で
す。高性能システムの多くは、モジュールを修理するためにシステム全体をシャットダウンする必要があります。しか
し、SynqNet ネットワークでは、HotReplace 機能を使用し、該当するモジュールだけを安全にオフラインにして修理して
から交換でき、その間残りのシステムは通常どおり稼動を継続できます。
a
.
e
d
b
通常オペレーション
SynqNet® はシステム内のすべてのノードと I/O を接続します。
c
a
.
e
d
b
修理用オフラインノード b
ノード b に関連付けられている軸と I/O がオフラインにな
ります。マシン内のその他すべてのノードはそのまま稼動
し続けます。
c
a
.
e
b
HotRestart™
HotRestart 機能を呼び出すと、モーションコントローラは
交換された、または障害となったノードを SynqNet ネット
ワークから検索し、通常の循環通信に戻します。
この時点で、アプリケーションはホーム復帰その他の初期
化を実行してから通常のオペレーションを再開します。
d
6
c
www.danahermotion.com
MPI • モーションプログラミングインタフェース
オンライン 24/7 サポート
テクニカルドキュメンテーションにつきましては
www.danahermotion.com をご参照ください。製品 > コントロ
ール > コントロールソフトウェアをクリックし、 MPI 3.04
のスクロールバーをクリックしてください。オンラインシ
ステム機能には、最新のドキュメンテーション、ダイナミ
ックハイパーリンク、コピーアンドぺーストできるサンプ
ルコード、 PDF でのテクニカルドキュメントなどがあり
ます。データストラクチャ、サンプルアプリケーション、
一般定義など、MPI に関するさらに詳しい情報はこちらで
す。
一般定義に関する詳細
モーションコンセプトに関する詳細
http://www.danahermotion.com
http://www.danahermotion.com
http://www.danahermotion.com
オブジェクト記述に関する詳細
www.danahermotion.com
7