===================================================================== = モータコントロール用ドライバについて   = = API-SMC(98/PC) Ver4.10 = = CONTEC Co.,Ltd. = ===================================================================== ◆ 目次 ======= はじめに 制限事項 注意事項 インストールされるファイル サンプルプログラム バージョンアップ履歴 ◆ はじめに =========== 日頃から格別のお引き立てを賜りまして厚く御礼申し上げます。 API-SMC(98/PC)に関する説明を以下に記載します。ヘルプ等に記載 されていない事項もありますので、ぜひご一読下さい。 ◆ 制限事項 =========== この製品はWindowsMe/98SE/98/95、及びWindows Vista/XP/2000/NT/ Server 2003に対応しております。 Windows3.1および16Bitアプリケーションには対応しておりませんので ご注意下さい。 ◆注意事項 ========== ・Windows Vista/XP/2000/NT/Server 2003でインストールされる場合、 必ずAdministrator権限でログインして下さい。 ・Windows Vista/XP/2000/NT/Server 2003で「API-TOOL Configuration」 および「初期設定ユーティリティ」を実行する場合、必ずAdministrator 権限でログインして下さい。 ◆インストール方法(Webダウンロード) ============================ ・弊社ホームページよりダウンロードしていただいた場合は 以下の場所に展開されたインストーラを実行してください。 開発環境(フルセット) C:\TEMP\APIPAC\SMC\Disk1\Setup.exe 実行環境(ランタイム)のみ C:\TEMP\APIPAC\Runtime\SMC\Disk1\Setup.exe Windows Vistaで使用する場合は、ボードを実装する前に C:\TEMP\INF\WinVista\SMC\DPInst.exe を実行してドライバのインストールを行ってください。 詳しくは、開発環境でインストールされるハードウェアの登録方法を参照してください。 ※C:\TEMPはデフォルトの展開先 ・API-PAC(W32)のCD-ROMからインストールされる場合は Autorun.exeからインストールできます。 ◆インストールされるファイル ============================ ・本製品のセットアッププログラムは、次の様な構成で ファイルをシステ ムディレクトリあるいは、ユーザー指定のディレクトリにインストール します。 ・また、既に他のAPI-TOOLドライバがインストールされている場合は、そ のディレクトリへインストールします。 \ CONFIG.EXE ハードウェアの設定を行なうコンフィギュレ ーションプログラム APISMC.CHM ヘルプファイル ※1 CTSTSMC.EXE ボードの診断を行うユーティリティ SMC\INITSMC.EXE 初期値の設定を行うユーティリティ SMC\VER240\SMC5TD.CHM Ver2.40 以前のヘルプファイル ※1 SMC\SAMPLES\ サンプルプログラム ※1 ※1 「実行環境(ランタイム)」ではインストールされません。 \\System ・API-TOOL共有ファイル APCFG.DLL CONFIG.EXEの動作に必要 APCFG.VXD CONFIG用デバイスドライバ CMESSAGE.OCX VB/VB.NETでイベントを使用するためのOCX MSGECHO.OCX VBでイベントを使用するためのOCX MSGECHO.DEP ディストリビューションウィザード用定義フ ァイル ・API-SMC(98/PC) システムファイル APISMC.DLL デバイスドライバを呼ぶためのDLL APISMC00.VXD デバイスドライバ APISMC01.VXD デバイスドライバ APISMC.DEP ディストリビューションウィザード用定義フ ァイル ・OS共有ファイル OC30.DLL MSGECHO.OCXの動作に必要 MFCANS32.DLL ゞ OLEPRO32.DLL ゞ OLEAUT32.DLL ゞ MSVCRT20.DLL ゞ \\system32 ・API-TOOL共有ファイル APCFG.DLL CONFIG.EXEの動作に必要 CMESSAGE.OCX VB/VB.NETでイベントを使用するためのOCX MSGECHO.OCX VBでイベントを使用するためのOCX MSGECHO.DEP ディストリビューションウィザード用定義フ ァイル ・API-SMC(98/PC) システムファイル APISMC.DLL デバイスドライバを呼ぶためのDLL APISMC.DEP ディストリビューションウィザード用定義フ ァイル ・OS共有ファイル OC30.DLL MSGECHO.OCXの動作に必要 MFCANS32.DLL ゞ OLEPRO32.DLL ゞ OLEAUT32.DLL ゞ MSVCRT20.DLL ゞ \\system32\drivers ・API-TOOL共有ファイル APCFG.SYS CONFIG用デバイスドライバ ・API-SMC(98/PC) システムファイル APISMC00.SYS デバイスドライバ APISMC01.SYS デバイスドライバ ◆サンプルプログラム ==================== サンプルプログラムは、各言語ごとに以下のディレクトリで構成されてい ます。 \ | +--\SMC | +--\SAMPLES | | | +--\INC C/C++用インクルード(ヘッダ)ファイル | | VB用標準モジュールファイル,DELPHI用関数宣言ファイル | | | +--\LIB C/C++用ライブラリファイル | | | +--\VB4 Visual Basic Ver.4.0(32bit)用サンプルプログラム | | | +--\VB6 Visual Basic Ver.6.0用サンプルプログラム | | | +--\VBNET Visual Basic.NET用サンプルプログラム | | | +--\VC2C Visual C++(C言語)Ver.2.0用サンプルプログラム | | | +--\VC2CPP Visual C++(C++)Ver.2.0用サンプルプログラム | | | +--\VC6C Visual C++(C言語)Ver.6.0用サンプルプログラム | | | +--\VC6CPP Visual C++(C++)Ver.6.0用サンプルプログラム | | | +--\VCNET Visual C++.NET用サンプルプログラム | | | +--\VCS Visual C#.NET用サンプルプログラム | | | +--\BC45 Borland C++(C言語)Ver.4.52用サンプルプログラム | | | +--\BUILDER5 Borland C++ Builder Ver.5.0用サンプルプログラム | | | +--\DELPHI4 Borland Delphi Ver.4.0用サンプルプログラム | フォルダの説明 \SMC\SAMPLES\INC C/C++,VBおよびDelphi用の関数定義を行ったファイルがあります。ご自 分でプログラムを組まれる場合、これらのファイルをC/C++場合インク ルード、VBの場合プロジェクトに追加してご使用下さい。 また、これらのファイルは編集しないでください。 \SMC\SAMPLES\LIB C/C++用のLIBファイルがあります。ご自分でプログラムを組まれる場合 、これらのファイルをプロジェクトに追加してください。 なお、ファイルはVisual C++用とBorland C++用/Borland C++Builer用 に分かれています。 ApiSmc.lib Visual C++用 ApiSmcBc.lib Borland C++用 ApiSmcCb.lib Borland C++ Builder用 ◆バージョンアップ履歴 ======================= Ver4.03->Ver4.10 (Ver. Jan.2010) ------------------------------------- ・Windows 7 対応 Ver4.01->Ver4.03 ------------------------------------- ・SMC-3(PC)で、SmcInit()/SmcInitAll()/SmcOpen()実行時にパルスが 出力されてしまうのを修正。 ・SmcCalcBankParam()を行わないで一定速動作をバンク設定した場合、 1バンク目に設定した開始速度で動作してしまうのを修正。 ・ヘルプ記載の 「目標速度が開始速度以下である場合、目標速度の定速移動を行います」 「AccelRateが0の場合、瞬時に目標速度に設定されます」 「DecelRateが0の場合、AccelRateの値が使用されます」 が、それぞれ記述通りの動作となっていなかったのを修正。 ・SmcGetBankNo()で取得したバンク番号が、次のバンク番号にずれる 場合があるのを修正。例えば、10バンク目実行中にも関わらず、 SmcGetBankNo()ではバンク11が取得される。 なおその後、11バンク目実行中では、バンク11が取得される。 Ver4.00->Ver4.01 (Ver. Oct.2008) ------------------------------------- ・Visual Studio 2008に対応。サンプル修正。 ・連続的にカウントイベント条件を変更した場合、  イベントの発生が止まってしまうのを修正。 Ver3.55->Ver4.00 ------------------------------------- ・Windows Vista対応 ・ヘルプファイル形式変更(*.HLP->*.CHM)  ドライバ本体の変更なし。 Ver3.54->Ver3.55 (Ver. Aug.2006) ------------------------------------- ・ヘルプ、Readmeなどのテキスト類の表示を以下のように変更。   API-SMC(98/PC)NT,W95 → API-SMC(98/PC)  ドライバ本体の変更なし。 Ver3.53->Ver3.54 (Ver. Apr.2006) ------------------------------------- ・Visual Studio 2005に対応。 ・初期設定ユーティリティの論理設定画面のGUIを変更。 Ver3.52->Ver3.53 (Ver. Aug.2005) ------------------------------------- ・Windows Server 2003に対応。 ・Builder5、Delphi4、VcNet、各サンプルプログラム修正。 Ver3.51->Ver3.52 (Ver. Oct. 2004) ------------------------------------- ・Visual C#.NETに対応。 ・SmcInit()実行時、既に起動している他軸のスレッドまで 終了してしまう問題を修正。 ・SmcInitAll() 実行時にエラー情報が正常に返っていなかったのを修正。 ・初期化後、SmcSetBankNumber()を実行せずにSmcSetBankReady()を 実行した場合にエラーとなるように変更。 ・SmcSetBankNumber()実行時、関数エラーとなった場合でもパラメーター がセットされていた問題を修正。 ・バンク動作後SmcSetBankNumber()でバンク数を変更すると、 動作ステータスが「動作中」になってしまいエラー553が発生する問題を 修正。 Ver3.50->Ver3.51 (Ver. Nov.2003) ------------------------------------- ・補間動作において、加速度が範囲外になるようなケースの場合にエラー (561H)を返せていなかった問題を修正。 ・Set/GetInitialParam()にパラメータ追加。 ・ORG動作時にクリアパルスを出力できるように修正。 ・加速度が0の場合、正しく減速できなかった問題を修正。 ・関数 SmcSetRevisePosition の追加 Ver3.43->Ver3.50 (Ver. Dec.2002) -------------------------------------  ・Borland C++ Builder Ver.5.0/6.0に対応。  ・Borland Delphi Ver.4.0/5.0/6.0に対応。  ・Visual Basic.NETに対応。  ・Visual C++.NETに対応。 Ver3.42->Ver3.43 (Ver. Aug.2002) ------------------------------------- ・SmcBankEvent()において、イベント発生のタイミングがバンク(フレーム )の動作完了時ではなく、開始時になっていた点を修正。 ・SmcCalcBankParam()の仕様において、正しく補間ができない場合、エラ ーコード561Hを返すように変更。 ・初期設定ユーティリティの「定格動作パラメータ設定」ダイアログにお いて、分解能の値を1未満に設定した場合、SmcCalcBankParam()で "Division by 0"のエラーが発生する問題を修正。 ・SmcSet/GetInitialParam()関数に、以下の機能を追加。 ・共通パルス使用時、方向転換時に200μSecのウェイトを入れないよ うに設定する機能を追加。 Ver3.41->Ver3.42 (Web提供 2002.03.11) ------------------------------------- ・関数を追加(SmcSet/GetInitialParam)。本関数により、以下の機能の追 加および問題点を改善。 ・これまで、SD(Slow Down)信号では減速停止しかできなかったものを 減速のみ(停止しない)にする事が可能。 ・SD信号を使用する設定(初期設定ユーティリティによる)において、 正しくORG動作ができない場合があった問題を修正。 Ver3.40->Ver3.41 (Web提供 2002.02.08) ------------------------------------- ・バンクを使用した動作において、ボードのステータスを頻繁に確認する と、ステータスが正しく表示されない場合がある問題を修正。 ・バンクを使用した動作において、SmcSetTargetSpeed()を使用した場合、 移動速度が指定した通りにならない場合がある問題を修正。 ・初期設定ユーティリティにおいて、汎用入力端子(IN1〜IN7)の設定によ って、論理が固定される場合がある問題を修正。 ・初期設定ユーティリティと診断プログラムにおいて、相互の起動が正し くできなかった問題を修正。 Ver3.32->Ver3.40 (Ver. Jan.2002) -------------------------------- ・WindowsXP対応。 ・WindowsNT環境下でPCIボードリソースが規格範囲外にある場合でもアク セスできるように修正 ・バンク動作において、SMC_PASSを含む場合正常に同期できなかった問題 を修正。 Ver3.30->Ver3.32 (Web提供 2001.10.03) ------------------------------------- ・SmcCalcBankParam()において、"Division by 0"のエラーが発生する場合 がある問題、および加速度を大きくした場合に正確な値にならない場合 がある問題を修正。 ・ORG動作またはSlowDown動作中にSmcGetLimitSts()を実行すると、Limit を通過しても停止しない場合がある問題を修正。 Ver3.21->Ver3.30 (Ver. Aug.2001) -------------------------------- ・バンクを使用した直線補間において、移動距離を大きくすると同期が取 れなくなる場合があった問題を修正。 ・PTP動作において約20KPPSまでしか速度が上がらず、それ以上にすると 1KPPS程度の速度になってしまう問題を修正。 ・直線補間動作において直線動作の精度を向上。 ・初期設定ユーティリティにおいて、信号論理の設定が保存されない場合 があった問題を修正。 ・SMC-3(PC)+SmcRunSts関数において、Limit位置から動作を開始した場合 、動作が正常に終了した場合にも停止要因がLimitによるものになってし まう問題を修正。 Ver3.20->Ver3.21 (Web提供 2000.12.01) ------------------------------------- □ドライバ修正内容 ・S字加減速動作を行うと減速停止できない場合があった問題を修正。 ・SmcSetBankBaseSpeedにおいてBank間での速度Downができない問題を修正。 ・開始速度と目標速度を同じにして動作を開始した場合、速度変更時に加 減速レートを変更しても正確な加減速にならない場合があった問題を修 正。 ・ORG動作中に停止コマンドにて強制停止させた場合、停止要因が「他軸の 停止」になってしまう問題を修正。 ・減速停止時に起動時の減速レートでしか停止できなかった問題を修正。 減速停止前に減速レート(DecelRate)を設定することで指定した減速レ ートで停止できるよう修正しました。 ・PTP動作中に速度変更すると減速停止が正常に行えない問題を修正。 上記修正に伴い、以下の制限事項が追加されました。 ◇PTP動作中の速度変更において、加速レート(AccelRate)・減速レー ト(DecelRate)の変更はできません。変更した場合、最終減速停止が 行えない場合があります。 なお、「加速レート(AccelRate)」「減速レート(DecelRate)」につい ては下記内容を参照してください。 □Help修正・追加内容 ・AccelRate、DecelRateの意味合いを変更。 AccelRate、DecelRateについて意味合いを次のように変更いたします のでご注意下さい。 ◇Ver3.21以降(新) AccelRate:加速レート。加速を行う場合の加速度を指定。 DecelRate:減速レート。停止時を含む減速を行う場合の加速度を 指定。 ◇Ver3.20以前(旧) AccelRate:加減速レート。加速および停止以外の減速を行う場合 の加速度を指定。 DecelRate:最終減速レート。停止時の減速加速度を指定。 ・加速レート(AccelRate)と減速レート(DecelRate)の関係について。 AccelRateとDecelRateには次のような相関関係がありますのでご注意 下さい。 ◇DecelRateを0に設定した場合: 加速、減速(停止を含む)ともAccelRateの値が加速度として使用さ れます。 ◇DecelRateを0以外に設定した場合: 加速はAccelRate、減速(停止を含む)はDecelRateの値が加速度と して使用されます。 このため、減速時に瞬時に速度変更を行いたい場合、AccelRateおよび DecelRate両方の値を0に設定する必要があります。 Ver3.11->Ver3.20 (Ver. Oct.2000) -------------------------------- ・WindowsMeのサポート。 ・初期設定ユーティリティのインターフェイス修正。 ・診断プログラムのマスク機能追加。 Ver3.10->Ver3.11 (Web提供 2000.08.07) ------------------------------------- ・リミットマスクがされない場合があったのを修正。 ・実行速度が高速の場合、ORGで停止しない場合があった不具合を修正。 ・直線補完機能で数値が大きい場合、オーバーフローする場合がある不具 合を修正。 ・レガシー関数でSMC-2P(PCI),SMC-4P(PCI)を使用した場合の初期設定ユー ティリティで設定データが正常に保存されない場合があった不具合を修 正。 Ver3.01->Ver3.10 (Ver. Apr.2000) -------------------------------- ・Windows2000サポート ・コンソールアプリケーションサンプル追加 ・マルチCPUのサポート ・関数 SmcMotionStartAll の追加 ・関数 SmcSetBankBaseSpeed の追加 ・関数 SmcGetBankBaseSpeed の追加 Ver3.00->Ver3.01 (Ver. Nov.1999) -------------------------------- ・関数 SmcMotionBankStop の追加 ・関数 SmcExit の追加 ・関数 SmcExitAll の追加 Ver2.40->Ver3.00 (Ver. Aug.1999) -------------------------------- ・SMC-2P(PCI)、SMC-4P(PCI)ボードのサポート ・初期値設定ユーティリティの添付 ・診断ユーティリティの添付 ・同期制御の実現 ・マルチプロセスのサポート ・基本動作設定関数の追加 ・拡張動作設定関数の追加 ・制御信号設定関数の追加 ・動作ステータス取得関数の追加 ・初期化関数の追加 ・モータ動作関数の追加 ・パラメータ演算関数の追加 ・イベント関数の追加 Ver2.30->Ver2.40 (Ver. Jan.1999) -------------------------------- ・Windows98 のサポート ・モータ停止完了イベント設定関数の追加 関数 SmcSetEventの追加 ・任意の位置に設定可能な関数の追加 関数 SmcSetLocの追加 ・SmcGetLoc単独で使用できるように変更 SmcGetLocを実行する際に、SmcRunStsを実行する必要はありません。 ・SmcStop単独で使用できるように変更 SmcStopを実行した後に、SmcRunStsを実行する必要はありません。 ・SmcDecStop単独で使用できるように変更 SmcDecStopを実行した後に、SmcRunStsを実行する必要はありません。 ・移動動作関数単独で使用できるように変更 移動動作関数を実行する前に、SmcRunStsを実行する必要はありません。 ・Visual C++ Ver6.0, Visual Basic Ver6.0のサポート Ver2.21->Ver2.30 ---------------- ・使用可能ボード枚数の追加 使用可能ボード枚数が従来の4グループから16グループになります。 ・UnInstallerの追加 Ver2.10->Ver2.21 ---------------- ・PC98-NXのサポート Ver2.00->Ver2.10 ---------------- ・現在位置を0に設定する関数の追加 関数 SmcLocResetの追加、および Sample programの追加 ・モータのリミット信号入力の禁止/許可の設定を行う関数の追加(PC版) 関数 SmcLimMaskの追加、および Sample programの追加(PC版) : 下記のように-LIMとORGを共通で使用し、-LIMが必要でない場合に有効 です。 ORG SS1 SS2 +LIM +---------+---------+---------+ ・Visual C++ Ver5.0, Visual Basic Ver5.0のサポート Ver1.00->Ver2.00 ---------------- ・WindowsNT Ver4.0のサポート