WMX
導入ガイド
Rev.4
2016/1/8
システム構成
お客様ご用意
Windows PC(Windows 7 32/64bit)
•
当社規定のシステム要件を満たすPC
http://softservo.co.jp/technology/pc-spec/
•
EtherCAT用NIC(ネットワークインター
フェースコントローラ)
EtherCATスレーブ(サーボアンプ、I/O等々)
<EtherCAT用NICについて>
•
PCオンボードが以下のRTX対応品であれば利用可能。
非対応の場合、PCIまたはPCIeの対応NICを利用可能。
•
対応NIC
•
Intel®社製 I210(Windows 7 64bitの場合)
•
下記リスト内の対応NIC(Windows 7 32bitの場合)
システム構成
当社提供
WMX
•
モーションコントロールAPI
•
EtherCAT
マスタ
•
RTX(Windowsリアルタイム拡張)
リアルタイムNICドライバ
Network Configurator(ネットワーク構成ツール)
Init File Editor(EtherCATスレーブ通信設定ファイル作成ツール)
マニュアル(インストーラに同梱)
アーキテクチャ
ユーザーアプリケーション(
GUI
など)は
Windows
上に構築
WMXはリアルタイムOS「RTX」
上で動作
各種EtherCATデバイス
NIC
Win32
カーネル
ユーザモーションコントロールアプリ
(Windows)
RTX OS
WMX
- モーションAPI
- EtherCATスタック
- NICドライバ
機能概要
- WMX
最大64軸、14,500点のI/O制御
0.5ms~4msの通信周期
各種PTP、補間API
豊富な加減速プロファイル
自由なオーバーライド(位置、速度、加減速、プロファイル)
リストモーション(連続軌跡)
イベント割り込み(I/O、位置情報など)
同期軸制御
ユーザーアプリケーションはマルチタスク対応
機能概要 – EtherCATマスタ
DCモード(軸間の完全同期)
ホットコネクト(リングトポロジーによる経路冗長化が必要)
ネットワークモニタや各種データ通信用API
CANopen over EtherCAT (CoE), File over EtherCAT
(FoE)
ネットワーク構成ツール(Windowsアプリケーション)
EtherCATスレーブ通信設定ファイル作成ツール
ネットワーク構成ツール
インストール手順
1.
WMXのインストール
2.
RTXアクティベーション
3.
NICのインストール
4.
EtherCATスレーブ通信設定ファイル準備
WMXインストール
RTXアクティベーション
NICインストール
スレーブ通信設定
ファイル準備
WMX
のインストール
インストーラによりRTXランタイム環境とWMXが展開される
インストーラCD、またはダウンロード
したインストーラを開き、手順に従いイ
ンストール
RTX
アクティベーション
PC固有ID方式、またはUSBドングル方式
PC固有ID方式は対象PCでのみ利用可能
•
インストールPCがオンラインの場合は、そのPCからアクティベート
•
インストールPCがオフラインの場合、別のオンラインPCからアクティベートが必要
ドングル方式は差し替えにより複数PCで利用が可能
NICのインストール
1.
Windows用ドライバをインストール
2.
RTX用ドライバに差し替える
•
32bit版はRTXのツールとデバイスマネージャーを使用
•
64bit版はデバイスマネージャーを使用
EtherCATスレーブ 通信設定ファイル
スレーブベンダーから供給されるESIファイルを元に、当社
独自のフォーマットに変換したもの(Initファイル)
当社で使用経験のあるスレーブのものはそのまま提供
新規スレーブのものはInitFileEditor(WMX付属ツール)で
作成が可能
アプリケーション開発
Visual StudioにWMXライブ
ラリをインポートしてAPIを
コール
C/C++言語
•
Visual C++、Embarcadero
(Borland)C++ Builder用ラ
イブラリを提供
.NET用ライブラリ
•
C#.NET、VB.NET用ライブラ
リを提供
アプリケーション開発
C言語での実装例
•
起動
WMXLIB *wmxlib = new WMXLIB();
wmxlib->CreateDevice(path, engineType);
•
通信開始
wmxlib->StartCommunication();
•
サーボON
アプリケーション開発
•
ホーミング
wmxlib->home->StartHome(axis);
Class HomeParam{ HomeType::T homeType; HomeDir::T homeDir; double homingVelocitySlow; double homingVelocitySlowAcc; double homingVelocitySlowDec; double homingVelocityFast; double homingVelocityFastAcc; double homingVelocityFastDec; double homingReverseDistance; double homeShiftVelocity; double homeShiftAcc; double homeShiftDec; double homeShiftDistance; unsigned char hsLogic;unsigned int multipleIndexPulse;
unsigned char multiplierCompensation; unsigned char pauseMode;
double maxHSOnAtStartReverseDistance; double maxLSReverseDistance;
unsigned int indexPulseDistanceCheck; unsigned char gantryHoming;
unsigned char gantryHomingSingleHS; unsigned char gantryHomingSingleLS;
unsigned char gantryHomingSingleIndexPulse; unsigned char gantryHomingSingleHSTouchProbe; unsigned char lsReverseType;