1/9ページ
ダウンロード(1.1Mb)
Windowsアプリケーションで簡単に サーボモータ(ステッピングモータ)制御
■ モーション制御
連続送り,原点復帰(ドライブによる),絶対値/相対置位置決め,速度オーバライド, 目標位置途中変更(アボーテッド),動作中次動作予約(バッファード),INPOS機能 現在速度・位置読み出し,軸センサ情報取得,直線補間,その他
■ I/O制御
周辺IO機器(アナログ機器,デジタル入出力機器など)へのデータ入出力 (スレーブとポート指定のデータ入出力)
■ その他
SDO通信を用いた各種パラメータ入出力,ダイアグノシスメッセージ取得 接続スレーブ情報取得
このカタログについて
ドキュメント名 | Windows PCのLANポートを使用した 省配線(EtherCAT)モーション制御【HLS-ECAT02xx/Win】 |
---|---|
ドキュメント種別 | 製品カタログ |
ファイルサイズ | 1.1Mb |
登録カテゴリ | |
取り扱い企業 | 株式会社ハイバーテック (この企業の取り扱いカタログ一覧) |
この企業の関連カタログ
このカタログの内容
Page1
Windows PCのLANポートを使用した省配線(EtherCAT)モーション制御HLS-ECAT02xx/Win
Windows PCのLANポートを使用した
省配線(EtherCAT)モーション制御
HLS-ECAT02xx/Win
Windowsアプリケーションで簡単に
サーボモータ(ステッピングモータ)制御
User Application お客様
(Visual Studio VC, VC#, VBで開発) 作成部分
モーション制御 / IO制御
Windows I/F用モジュール
HLS-ECAT/Win
Motion Trajectory
API Generator
この部分(演算と通信)は
EtherCAT Mater Stack RTOSで制御・・・だから安心
EtherCAT 制御対象は
EtherCATスレーブ
EtherCAT EtherCAT
サーボ サーボ I/O
1~32軸制御
スイッチ,センサ等 全体で255スレーブ
サーボモータ サーボモータ サーボモータ制御は高分解能
指令速度範囲 : 1~2,147,483,648[pps] (約2Gpps)
指令位置範囲 : -2,147,483,647~2,147,483,648[pulse](32bit)
項 目 内 容
型 式 HLS-ECAT02XX/Win (XXは制御軸数:08, 16, 24, 32)
O S Windows7(32/64bit), Windows8.1(32/64bit), Windows10(32/64bit)
対応NIC Intel製 (詳細はお問い合わせください)
開発環境 Visual Studio 2008以降(VC, VC#, VB)
モーション制御
連続送り,原点復帰(ドライブによる),絶対値/相対置位置決め,速度オーバライド,
目標位置途中変更(アボーテッド),動作中次動作予約(バッファード),INPOS機能
現在速度・位置読み出し,軸センサ情報取得,直線補間,その他
機 能 I/O制御 周辺IO機器(アナログ機器,デジタル入出力機器など)へのデータ入出力
(スレーブとポート指定のデータ入出力)
その他
SDO通信を用いた各種パラメータ入出力,ダイアグノシスメッセージ取得
接続スレーブ情報取得
Page2
スライド番号 2
目次
• 特長
• “HLS-ECAT02xx/Win” の できること
• 制御対象
• HLS-ECAT/Win FAQ
• HLS-ECAT/Win ソフトウェア構成
• HLS-ECAT/Win API
• HLS-ECAT/Win API コード例
Page3
特長
特長
1.準備するハードウェアはWindows PCのみ
• HLS-ECAT02xx/WinはWindows PCのLANポートよりLANケーブル
接続でサーボモータや周辺IO機器を制御します.
特別なハードウェアは不要です.
2.接続機器の選択が自由
• LANケーブルで接続される機器はオープンネットワークEtherCATに対応し
た各社スレーブ(サーボドライブ,DI, DO, A/D, D/Aなど)を自由に選択
できます.
3.開発環境は ”Visual Studio”
• 制御アプリケーションはMicrosoft Visual Studioで開発
(開発言語:VC++, VC#, VB)
• Windowsアプリケーション開発関係者であれば容易にプログラム開発がで
きます.
4.制御用APIは “標準規格ベース”
• モーション制御APIは国際機関PLCopenのモーションコントロールプログラ
ム仕様をベースに作成.直感的にわかり易いネーミングと世界基準の仕
様.
• 周辺I/Oは汎用入出力APIによる制御.
Page4
“HLS-ECAT02xx/Win” のできること
“HLS-ECAT02xx/Win” のできること
Windows からEtherCAT対応CiA402規格(csp, hmモード)の
サーボドライブを制御
API関数はモーション機能ごと.
例. 連続送り(MC_MoveVelocity)
原点復帰(MC_Home)
相対位置位置決め(MC_MoveRelative)
絶対位置位置決め(MC_MoveAbsolute)
速度オーバライド(MC_SetOverride), etc.
補間動作にも対応
32軸、10,000ポイントの連続補間可能
速度も自在に制御可能
SDO通信関数EC_ReadSDOやEC_WriteSDOを使用し、
サーボドライブのパラメータもユーザーアプリケーションから読み書き可能
EC_GetDiagMessageを用いてスレーブに記録されたダイアグノシス
メッセージも取得可能
現在速度,位置, サーボドライブに接続されているセンサー情報なども
取得可能
EtherCATのIOスレーブもローレベルAPIを使用し制御可能.
弊社スレーブHESシリーズももちろんOK!!
PCIなどの拡張スロットがあるPCを使用すれば,キャプチャーカードやその他の
拡張カードのアプリケーションとも同時使用可能
(既存の資産も利用できる)
Page5
制御対象
制御対象
サーボモータ(ステッピングモータ)は?
• EtherCAT対応CiA402ドライブ(cspモード, hmモード実装)に対
応しています.
• 例)
MINAS A6B, A5Bシリーズ (パナソニック株式会社)
1S, G5シリーズ (オムロン株式会社)
SANMOTIONシリーズ (山洋電気株式会社)
ADV シリーズ (株式会社日立産機システム)
VHPシリーズ (CKD日機電装株式会社)
AZシリーズ (オリエンタルモーター株式会社)
その他
• いずれもEtherCAT対応型式のみ
•記載されている会社名,製品名は,各社の商標又は登録商標です.
周辺IOは?
• EtherCAT対応スレーブに対応しています.
• 例)
EL1xxx(DI), EL2xxx(DI), EL3xxx(A/D), EL4xxx(D/A) (独ベッコフ
社)
EtherCAT バスカプラ750-354 , 750-354/000-001 (独WAGO社)
EtherCATリモートIOターミナル GXシリーズ (オムロン株式会社)
パルス列モジュール HES-C400 (ハイバーテック)
その他
Page6
HLS-ECAT/Win FAQ
HLS-ECAT/Win FAQ
Q1. EtherCATやCiA402の学習は必要ですか?
A1. 多少の用語の学習やスレーブを構成するためのコンフィグレーション
等は必要ですが,EtherCATの仕様やCiA402の知識はあまり
必要ありません。
Q2. RTOSの知識は必要ですか?
A2. HLS-ECATはWindowsのライブラリですので,Windows
アプリケーションを開発するためのスキルは必要ですが、
RTOSの知識は不要です。
Q3. 開発環境は?
A3. Windows用API をDLL提供しています。
Windowsアプリケーションを作成する開発環境が必要になります。
Microsoft Visual Basic, Visual C#, Visual C++のサンプル
プログラムを標準で添付しています。
またEtherCATのスレーブ構成を作成するツール(EtherCAT
コンフィグレータ)RSI-ECAT-Studio(有償)が必要です。
Page7
HLS-ECAT/Win ソフトウェア構成
HLS-ECAT/Win ソフトウェア構成
Visual Studio等で開発
(VC++, VC#, VB,
etc.)
HLS-ECAT01xx/Win
Windows Real Time Kernel
(INtime)
Motion Engine
User
Application 共有
(Windows DLL メモリ RTA
App.) 等
ユーザー様作成 EtherCAT Master
Stack
Motion RSI-ECAT
API
I/O API
NIC Driver for
INtime
赤破線部分が弊社製
品
記載されている会社名,製品名は,各社の商標又は登録商標です.
NIC
EtherCAT
Page8
HLS-ECAT/Win API
HLS-ECAT/Win API
Administrative Motion I/O EtherCAT
MC_InitAxisSetting MC_Home IO_inp EC_ReadVerson
MC_GetAxisSetting MC_MoveAbsolute IO_inpw EC_GetMasterInfo
MC_SetAxisSetting MC_MoveRelative IO_inpdw EC_OpenMaster
MC_Power MC_MoveVelocity IO_outp EC_CloseMaster
MC_Reset MC_MoveAdditive IO_outpw EC_InitMaster
MC_ReadActualPosition MC_Stop IO_outpdw EC_GetSlaveInfo
MC_ReadActualVelocity EC_ReadSDO
MC_ReadStatus EC_WriteSDO
MC_ReadMotionState EC_ResetDiagMessage
MC_ReadAxisInfo EC_QueryDiagMessage
MC_ReadAxisError EC_SetDiagMessage
MC_SetPosition EC_GetDiagMessage
MC_SetOverride
MC_TouchProve
MC_AbortTrigger
Page9
HLS-ECAT/Win API コード例
HLS-ECAT/Win API コード例
// 相対位置決め
ans = MC_MoveRelative(gMstHndl, &gAxisRef[0], &sMoveRelIn,
&sMoveRelOut, 0);
軸指定 移動量,速度,
加速度,減速度,
ジャーク指定
// イベント待ち(イベント発生で割り込み)
ans = MC_WaitNextInterrupt(gMstHndl, &gAxisRef[0], INFINITE, 0);
if(0 == ans) {
// 動作の結果を確認
MC_ReadFunctionResult(gMstHndl, &gAxisRef[0], &sResult, 0);
if(1==sResult.wStatus) {// 正常完了なので次の処理 }
}