===================================================================== = モーションコントロール用ドライバについて = = API-SMC(WDM) Ver2.51 = = CONTEC Co.,Ltd. = ===================================================================== ◆ 目次 ======= はじめに 注意事項 インストール方法 インストールされるファイル サンプルプログラム バージョンアップ履歴 ◆ はじめに =========== 日頃から格別のお引き立てを賜りまして厚く御礼申し上げます。 API-SMC(WDM)に関する説明を以下に記載します。ヘルプ等に記載 されていない事項もありますので、ぜひご一読下さい。 ◆注意事項 ========== ・Administrator権限でログインして下さい。 ・API-SMC(WDM)は、従来版モーションコントロール用ドライバ(API-SMC(98/PC)) とは異なる製品です。 API-SMC(98/PC)でご使用頂いていたハードウェアは、本ドライバで使用する ことはできません。 ◆インストール方法 ================== ・開発環境(ヘルプ、サンプル、ツール等)のインストール 古いバージョンの開発環境がインストールされている場合、 先に「コントロールパネル」からアンインストールを行ってください。 ダウンロードファイルを解凍して、以下のセットアップを実行します。 Apipac\SmcWdm\Disk1\Setup.exe Autorun.exeからインストールを行ってください。 ・デバイスドライバのインストール 古いバージョンのドライバがインストールされている場合、 先にアンインストールを行ってください。 アンインストールならびにインストールの手順については、 ダウンロードファイル解凍後に作成される以下のヘルプを参照してください。 Help\SmcWdm\Jpn\Apitool.chm アンインストールならびにインストールの手順については、 API-PAC(W32) CD-ROM内の以下のヘルプを参照してください。 \Apipac\Help\Hwinst\Jpn\Apitool.chm ◆インストールされるファイル ============================ ・本製品のセットアッププログラムは、次の様な構成で ファイルをシステ ムディレクトリあるいは、ユーザー指定のディレクトリにインストール します。 ・また、既に他のAPI-TOOLドライバがインストールされている場合は、そ のディレクトリへインストールします。 \ CONTEC.ICO アイコンファイル CONTEC_APIPACW32_HOMEPAGE.URL API-PAC(W32)HPへのショートカット SMCWDM\CSMC.CHM ヘルプファイル SMCWDM\SAMPLE\ サンプルプログラム SMCWDM\SAMPLEEXE\ サンプルプログラムの実行ファイル ◆サンプルプログラム ==================== サンプルプログラムは、各言語ごとに以下のディレクトリで構成されてい ます。 ・32ビット版API-SMC(WDM) \ | +--\SMCWDM | +--\SAMPLE | +--\INC 各言語用インクルード(ヘッダ)ファイル | VB用標準モジュールファイル | +--\LIB_I386 各言語用ライブラリファイル | +--\VB6 Visual Basic Ver.6.0用サンプルプログラム | +--\VBNET Visual Basic .Net用サンプルプログラム | +--\VC6 Visual C++ Ver.6.0用サンプルプログラム | +--\VCNET Visual C++ .Net(MFC)用サンプルプログラム | +--\VCNETCLI Visual C++ .Net(C++/CLI)用サンプルプログラム | +--\VCS Visual C# .Net用サンプルプログラム ・64ビット版API-SMC(WDM) \ | +--\SMCWDM | +--\SAMPLES | +--\INC 各言語用インクルード(ヘッダ)ファイル | +--\LIB_X64 各言語用ライブラリファイル | +--\VBNET Visual Basic .Net用サンプルプログラム | +--\VCNET2005 Visual C++ .Net(MFC)用サンプルプログラム | +--\VCS Visual C# .Net用サンプルプログラム ◆バージョンアップ履歴 ======================= Ver2.50->Ver2.51 (Ver. Mar.2011) -------------------------------- ・イベント関数を連続実行すると、10005エラー(COMMON_ERROR_CREATE_THREAD)、 もしくはメモリリークが発生する場合があるのを修正。 ・原点復帰動作中にSmcWMotionStop関数やSmcWMotionDecStop関数を実行した場合、 SmcWGetStopStatus関数の取得値が0xFFとなってしまうのを修正。 ・原点復帰動作中に、ドライバ内で意図しないエラー(ノイズ等が原因?)が発生した場合に 原点復帰終了方向が指定されていない場合の動作となってしまうのを修正。 ・DLボード使用時、補間動作後に単軸動作(PTP/JOG/ORGいずれも)を行うと、 SmcWMotionDecStop関数であれば減速停止するが、SmcWMotionStop関数の場合、動作が停止しない のを修正。 Ver2.41->Ver2.50 -------------------------------- ・新規デバイス対応 :SMC-2DL-FIT Ver2.40->Ver2.41 -------------------------------- ・SmcWSetSync関数において、設定した同期対象軸を減らす場合に、その設定が反映されない不具合を修正。 Ver2.36->Ver2.40 (Ver. Jan.2010) -------------------------------- ・Windows 7 対応 ・SmcWSetMotionChangeReady関数で、ChangeType=4設定時に、設定した減速時間で 減速できないのを修正。 ・SmcWSetMotionChangeReady関数実行後、SmcWGetStartSpeedで正しい開始速度を 取得できないのを修正。 ・目標速度(A)で動作中、MotionChangeにて目標速度(B)に変速後、 減速停止(SmcWMotionDecStop関数)を実行した場合に起動時速度(MotionStart時の開始速度)で 減速停止しないで、目標速度(A)で減速停止するのを修正。 ・SmcWSetRead関数、SmcWSetMotionChangeReady関数、SmcWSetBankReady関数においてゼロ除算 が行われる可能性のある箇所を修正。 ・新規関数追加 出力パルス幅(デューティ比)設定関数 :SmcWSetPulseDuty, SmcWGetPulseDuty Z相カウント分動作設定関数 :SmcWSetZCountMotion, SmcWGetZCountMotion Z相カウント取得関数 :SmcWGetZCount 動作速度取得関数 :SmcWGetMoveSpeed Ver2.35->Ver2.36 -------------------------------- ・SD信号による減速/減速停止が、SDがONの状態を保持していないと維持できなかったので ラッチ設定を追加。 SmcWSetSDMode関数、SDMode=2(減速停止+SD信号ラッチ)、SDMode=3(減速+SD信号ラッチ)追加。 Ver2.34->Ver2.35 (Web提供 2009.02.16)(Ver. Mar.2009) -------------------------------- ・Windows Server 2008 / Server 2008 x64 Edition に対応 ・Vistaで使用時、ドライバアンロード時にハングアップする場合があるのを修正。 Ver2.33->Ver2.34 (Ver. Jan.2009) -------------------------------- ・Visual C++.NET C++/CLI に対応。 ・直線補間2動作に対応 Ver2.32->Ver2.33 (Web提供 2008.07.02) -------------------------------- ・Visual Studio 2008に対応。 ・WEBダウンロードパッケージにHelpフォルダを作成しファイルを追加。 ・診断プログラムを変更。 ・ドライバファイル修正なし。 Ver2.31->Ver2.32 (Web提供 2008.04.25) -------------------------------- ・API-TIMER(WDM)対応。 ・複数プロセス毎に複数軸でモータ動作時、他のプロセスでSmcWInit実行すると、 対象ボードで動作していた軸を停止してしまうのを修正。 ・本ドライバ関数を含むアプリケーションをスタートアップに登録してのOS起動時、 ドライバロードが完了しない状態でSmcWInitを実行し関数エラーとなると、ロード完了後、 何度SmcWInitを実行しても関数エラーとなる場合があるのを修正。 ・DFタイプ使用時、開始/目標速度に分解能「1」での最高速65535[pps]を設定し、SmcWSetReadyを 実行すると、目標速度がDLタイプの最高速16384[pps]に変更されてしまうのを修正。 ・Vista環境にて、cmessage.ocxをインストールできない場合があるのを修正。 バージョンアップ>setup.exe (Ver1.0.1)、ccoinst.dll(Ver1.0.3)。 Ver2.30->Ver2.31 -------------------------------- ・一定速度/方向指定有り/Z相使用の条件で原点復帰動作を開始した場合、 ORGがONになったタイミングからZ相カウント開始となるように変更。 更に、一定速度であれば、方向指定が無くとも、ORGがONになったタイミングから Z相カウント開始する。 従来動作はヘルプの[用語集]>[原点復帰動作パターン]を参照。 Ver2.25->Ver2.30 (Ver. Jan.2008) -------------------------------- ・新規デバイス対応 :SMC-4DL-PE、SMC-8DL-PE ・ccoinst.dll バージョンアップ。 ・SmcWGetBankReady()で正常なMotionType値が取れないを修正。 ・ヘルプ記載「目標速度が開始速度以下の場合、目標速度の定速移動を行います」の動作になって  いなかったのを修正。 Ver2.24->Ver2.25 (Web提供 2007.10.24) -------------------------------- ・SmcWSetReady()のMotionType=0(動作なし)でMotionStartを実行すると、  ハングアップする場合があるのを修正。 ・PTP動作の場合、開始方向指定(bStartDir)を無視せず、JOG等と同様にパラメータチェックしていた。  結果、PTP動作時でも開始方向指定によるエラーが発生していたのを修正。 ・Ver2.22の修正と同様に、SmcWGetStopStatusで取得するステータス(StopSts)が、  一瞬「FF (H) 動作関数の終了」となるのを修正。 Ver2.23->Ver2.24 -------------------------------- ・ACX-PAC(W32)上で発生する不具合を修正 ・目標速度に大きな値を設定し、且つ速度分解能に大きな値を設定しなかった場合、  減速タイミングが遅れ開始速度まで減速できずに停止するのを修正。 Ver2.22->Ver2.23 (Ver. Oct.2007) -------------------------------- ・Visual Studio 2005 Express Editionに対応(C++を除く) ・ドライバファイル修正なし。 Ver2.21->Ver2.22 (Web提供 2007.08.31) -------------------------------- ・サンプルBANKARCでCCW方向に正常動作しなかったのを修正。 ・ヘルプ修正。主にSmcWSyncMotionStart関数の記述が抜けていたので追記。 ・診断プログラムの不具合修正。 ・64bitOS使用時、開発環境をインストールしても、スタートメニューからのサンプルEXE、診断、  ヘルプへのショートカットができない場合があるのを修正。 ・ORG動作時、ORGがONで減速停止の折り返しや、±LIMにタッチして停止の折り返しのタイミングに、  SmcWGetMoveStatusで取得するステータス(MoveSts)が、一瞬「停止中」となるのを修正。 Ver2.20->Ver2.21 -------------------------------- ・SMC-4/8DF-PCIのORG動作において、停止イベントを設定し「方向指定有り」  設定で「開始方向と終了方向が一致する」条件において動作を開始すると、  停止イベントが2回発生してしまうのを修正。 ・加速時間に「0」を設定し動作させると、減速時間が設定されているにも関わらず、  停止時には瞬時に開始速度に減速してしまうのを修正。 ・モーションチェンジ時(SmcWSetMotionChangeReadyの引数にChangeType=4  と設定した場合)、加減速時間が正常に反映されないのを修正。 Ver2.10->Ver2.20 (Ver. Jun.2007) -------------------------------- ・64ビット版Windowsに対応。 ・Visual Basic.NET / C++.NET / C#.NET に対応。 ・ボードをインストールせず、ドライバをコピーした状態で関数を実行すると 「0xC000142」エラーが発生するのを修正。 ・診断プログラムのリミット入力信号検査において、リミットON状態の場合、 初期値設定起動に戻って論理を変更する必要がある仕様に変更。 ・デバイス名生成シーケンス変更。これに伴い Cpropsub.exe をインストール構成 から削除。 Ver2.00->Ver2.10 (Web提供 2007.04.23) -------------------------------- ・SMC-4/8DL-PCIで直線補間設定関数SmcWSetBankInterpolationを実行すると エラーとなるのを修正。 ・直線補間1設定時に、補間制御軸よりも他の補間対象軸の方に大きな移動距離を   設定した場合、加減速せず、開始速度での補間動作となってしまうのを修正。 ・イベント発生時、ボードIDだけではなく軸番号もパラメータとして返すよう に変更。 ・SMC-4/8DF-PCIで直線補間1動作中に補間制御軸に対し減速停止関数 (SmcWMotionDecStop)を実行すると、減速停止はするがSmcWGetStopStatusで ステータスが「動作中」のままとなってしまうのを修正。 またその他の補間対象軸に対して関数を実行しても停止しないのも併せて修正。 ・VCサンプル - Ctlio BaseMove Status デバイス名が変更された場合にSmcWSetInitParamを実行していたが、必要のない 処理なので削除。 Ver1.20->Ver2.00 (For SMC Ver. Feb.2007) -------------------------------- ・新規デバイス対応 :SMC-4DF-PCI、SMC-8DF-PCI  ・新規関数追加 (*):SMC-4/8DL-PCI使用不可  同期動作関数  :SmcWSetSync, SmcWGetSync, SmcWSyncMotionStart  バンクイベント関数  :SmcWBankEvent(*)  バンク番号取得関数  :SmcWGetBankNo  バンク/補間関数  :SmcWSet/GetBankNumber, SmcWSet/GetBankReady, SmcWSet/GetBankDistance,   SmcWSet/GetBankResolveSpeed, SmcWSet/GetBankStartSpeed,   SmcWSet/GetBankTargetSpeed, SmcWSet/GetBankAccelTime,   SmcWSet/GetBankDecelTime, SmcWSet/GetBankSSpeed,   SmcWSet/GetBankInterpolation,   SmcWSet/GetBankArcPoint(*), SmcWSet/GetBankArcParam(*) ・SmcWSetCtrlTypeOutに出力パルスカウンタカウント一致信号(CP1)、  エンコーダカウンタカウント一致信号(CP2)を追加。  これにより各カウント一致イベント発生時に信号出力(レベル)。 ・ORG動作で、方向指定なしでZ相使用設定とした場合、ORGを通過して停止時に  折り返し前にZ相カウント分動作してから折り返してしまうのを修正。  ・イベントプロセスが2つ以上起動していて、かつ片方だけ同種イベント要因   Enable時にDisableの方の同種イベント要因でもイベント発生してしまうの   を修正。 Ver1.10->Ver1.20 (Ver. Feb.2007) -------------------------------- ・Windows Vistaに対応 ・ドライバにデジタル著名を追加 ・ドライバの自動インストール機能追加(W2000系OSのみ) Ver1.00->Ver1.10 (Ver. Nov.2006) --------------------------------  ・新規関数追加   モーションチェンジ関数   :SmcWMotionChange, SmcWSetMotionChangeReady, SmcWGetMotionChangeReady   ラッチカウンタ取得関数   :SmcWGetLatchOutPulse, SmcWGetLatchCountPulse   イベント関数:SmcWStopEvent, SmcWCountEvent  ・SmcWMotionStart実行時、リミットもしくはアラーム入力状態であっても   エラーを返していなかったのを修正。  ・終了方向指定なしでORG動作実行した場合、ORGセンサ外で停止すると次の   ORGサーチ動作が行われないのを修正。 Ver1.00 (Ver. Aug.2006) ------------------------------------- ・ファーストリリース