ここまで、Python+canopenライブラリでEPOS4モータを回しました。ここから、Visual C++を使います。
Visual C++は、無償で使えるVisual Studio Communication 2022で、C++によるデスクトップ開発、.NETデスクトップ開発、ユニバーサルWinodwsプラットフォーム開発にチェックを入れてインストールしました。初めて利用するので、正しい状況になっているかは不明です。
maxonのWebサイトから、EPOS_Win_DLL_Microsoft_Visual_C_E.zipをダウンロードします。中からmExample VC++フォルダを取り出し、デスクトップに置きました。
サンプル・プログラムは、Demo_WinDLLDlg.hとDemo_WinDLLDlg.cppです。
新規に作るアプリに必要なヘッダ・ファイルはDefinitions.h、ライブラリはEposCom64.dllとEposCom64.libファイルです。
新規プロジェクトを作り、ここではepos4bです。右クリックで追加、既存の項目を選択し、上記のファイルをプロジェクトに追加します。
新規のソース(xxx.cpp)は、追加のところで、新規の項目を選びます。
そこそこ古いプロジェクトらしいので、プロジェクト・ファイルをダブルクリックしてVisualStudioに読み込もうとすると、猛烈に変換が行われます。なすべき情報を持っていないので、お任せしました。コメントはどうもドイツ語らしいですが、化け文字が増え、解読できなくなりました。
EPOS4の設定
チューニングは、こちらの記事のように済ませておきます。
日記;回すだけIII ⑨ pythonでSDO、PDOの読み書き<その4 Profile Position Mode(EPOS4)>ベータ版
また、修正のPDOマッピングのところも行っておきます。これらのパラメータは、EPOS4ボードのEEPROMに書き込まれます。EPOS4のnodeIDは5に、ボード上のDIPスイッチで設定します。
ディジタル入力の変更
日記;回すだけIII ⑩ pythonでSDO、PDOの読み書き<その5 Profile Position Mode + ディジタル入出力(EPOS4)>ベータ版
では、ディジタル入力の1番目をQuick Stopにしていました。プルアップしているので、物理的にスイッチをつながないと、常にQuick Stop状態になり、stateをenableにできません。noneに変更しておきます。
資料
EPOS4の資料だけでは足りません。けれど、EPOS2の解説がぜんぶEPOS4に適用できるわけでもないところが悩ましいところです。
- EPOS Command Library Documentation;EposCom64.dllとEposCom64.libファイルの関数の解説
- EPOS と CANsetter で学ぶ CANopen;ベクター社資料。EPOS2対応
- EPOS Application Note;オブジェクト・ディクショナリを使ったEPOS2のデバイス・プログラミング
- EPOS3 EtherCAT Application Notes Collection;オブジェクト・ディクショナリを使ったEPOS3のデバイス・プログラミング
- EPOS4 Firmware Specification;オブジェクト・ディクショナリを使ったEPOS4のデバイス・プログラミング
- EPOS4 Communication Guide;RS232C,USB,CAN,CANopenの通信の詳細な資料。
- EPOS4 Application Notes;詳細な資料。
- 以下、EposCom64.dllとEposCom64.libファイルの利用例
-- https://github.com/RIVeR-Lab/eposcmd
-- https://github.com/ta180109/Hybrid_Navigation_System/tree/master/Motor
-- https://github.com/AnCaPepe/SimplesEngine
文字の大きさの変更
右上のほうにあるギア・アイコンをクリックして、オプションを選択すると、各種設定画面が出ます。ここでフォントの種類や大きさを変更できます。