- 締切済み
SMC-4DL-PCIボードでの制御プログラム
- SMC-4DL-PCIボードでアクチュエータを制御するためのプログラム作成に問題があります
- VC6.0を使用してプログラミングを行い、ビルドしてもアクチュエータが動きません
- おそらくプログラムのどこかに問題がありますが、初心者でサンプルプログラムも難しく解読できません
- みんなの回答 (1)
- 専門家の回答
みんなの回答
さすがにこれだけじゃあわからない 実機もないし int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // Ret の 宣言 long Ret; // DeviceName の宣言 & "SMC000" 代入 char *DeviceName ="SMC000" ; // Id の 宣言 short Id ; // SmcWinit (初期化)失敗したら Ret に なんか変えるので ブレークポイント 作って 見る Ret = SmcWInit( DeviceName , &Id ); // PulseMode DirTimer の宣言 short PulseMode ; short DirTimer ; // 代入 PulseMode = 5; DirTimer = 1; // 失敗したら Ret に なんか変えるので ブレークポイント 作って 見る Ret = SmcWSetPulseType( Id , 1, PulseMode , DirTimer ); // 失敗したら Ret に なんか変えるので ブレークポイント 作って 見る Ret = SmcWSetInitParam( Id , 1); // 宣言 short MotionType ; short StartDir ; // 代入 MotionType = 2; StartDir = 0; // 失敗したら Ret に なんか変えるので ブレークポイント 作って 見る Ret = SmcWSetReady( Id , 1, MotionType , StartDir ); // 宣言 short Coodinate ; short StopPosition ; // 代入 Coodinate = 1; StopPosition = 1000; // 失敗したら Ret に なんか変えるので ブレークポイント 作って 見る Ret = SmcWSetStopPosition( Id , 1, Coodinate , StopPosition ) ; // 失敗したら Ret に なんか変えるので ブレークポイント 作って 見る Ret = SmcWMotionStart( Id , 1); // 失敗したら Ret に なんか変えるので ブレークポイント 作って 見る Ret = SmcWExit( Id ); return 0; } デバッグの仕方を覚えましょう たぶん素人なので話がかみ合わないんだと思う たとえば char *DeviceName ="SMC000" ; を char *DeviceName ="SNC000" ; と打ち間違えても 実行ファイルはできます コンパイルする前に VC6 だと F8 で ステップ 起動できるはずなので それで トレース していくべきです まあ、普通 Ret を 見て エラーが発生したら 処理すべきですが してないので 初心者に優しくない プログラムだと思う そのプログラムは エラーが発生しても 駄々流しです デバッグの仕方 http://www.vcppclub.com/kouza/beginner/beginner3.html まあ、本当に初心者なので ハローワールドから はじめてみたほうがいいです
補足
ブレークポイントとは何でしょうか? デバッグで何か引っかかってもビルドできてしまうことはあるんですか? 実機をお持ちでなかったらおそらくおわかりにならないと思います、 このコードはコンテックさんオリジナルのコードなので・・・