- 締切済み
SMC-4DL-PCIボードでのプログラム
コンテックさんのSMC-4DL-PCIボードを使用してアクチュエータを動かそうとしています(動かしたいのはオリエンタルモーターさんのELC)。 VC6.0を使用してプログラミングを行い、ビルドして.exeを実行すると何も起きません。 ボードに付属のサンプルプログラムではアクチュエータが動くので、配線ミスということは無いと思います。 おそらく組んだプログラムのどこかがおかしいのだとは思うのですが、恥ずかしながらプログラミング自体初めてなうえ、サンプルプログラムが難しすぎて解読が全く出来ないのでどうしたらいいか困っています。 卒論で使用するのでとにかく早く作り上げなければなりません。 足りない部分、間違いなどあればご指摘お願いします。 (ちゃんとライブラリファイルも追加してあります) #include "stdafx.h" #include "CSmc.h" #include "CSmcdef.h" int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { long Ret; char *DeviceName ="SMC000" ; short Id ; Ret = SmcWInit( DeviceName , &Id ); short PulseMode ; short DirTimer ; PulseMode = 5; DirTimer = 1; Ret = SmcWSetPulseType( Id , 1, PulseMode , DirTimer ); Ret = SmcWSetInitParam( Id , 1); short MotionType ; short StartDir ; MotionType = 2; StartDir = 0; Ret = SmcWSetReady( Id , 1, MotionType , StartDir ); short Coodinate ; short StopPosition ; Coodinate = 1; StopPosition = 1000; Ret = SmcWSetStopPosition( Id , 1, Coodinate , StopPosition ) ; Ret = SmcWMotionStart( Id , 1); Ret = SmcWExit( Id ); return 0; }
- みんなの回答 (2)
- 専門家の回答
お礼
ありがとうございました!! Ret = SmcWSetPulseType( Id , 1, PulseMode , DirTimer ); Ret = SmcWSetInitParam( Id , 1); を入れ替え、Sleepを追加したら無事に動いてくれました。 卒論の追い込み時期なので、koi1234さんには感謝してもしきれません! 本当にありがとうございました・・・!!!