C++ Windows CAN Bus サンプルコード
UIROBOT CAN Bus 製品の C++ Windows 開発サンプルコード。Visual Studio プロジェクト、モータ制御、SDK 統合。
# C++ Windows CAN Bus サンプルコード
このページでは、C++ と uirSDK3 を使用して Windows 上で UIROBOT CAN bus デバイスを制御するためのサンプルコードを提供します。
---
## Quick Selection
| 接続方法 | 対応製品 | ドキュメント |
|---------|---------|-------------|
| **UIM2513 (RS232)** | UIM342, UIM342A, UIM1616 | [AN006] |
| **UIM2523 (Ethernet)** | UIM342, UIM342A, UIM1616 | [AN007] |
## セクション 1: UIM2513 (RS232-CAN)
### 背景
C++ アプリケーションから UIM2513 ゲートウェイを介して CAN bus モータを制御します。uirSDK3 は Windows 32/64 ビットの DLL ライブラリを提供します。
### サンプルコード
```cpp
#include <iostream>
#include "CAN30SDK_DLL.h"
#include "uirSDKgen3.h"
int main() {
GATEWAY_INFO_OBJ Gtwy = {0};
MEMBER_INFO_OBJ Member[100];
// RS232 ゲートウェイを設定(UIM2513)
Gtwy.detail.type = UIGW3_GW2513;
Gtwy.COMidx = 7; // COM8
Gtwy.COMbaud = 57600; // ボーレート
// CAN ネットワークを開く
ERRO err = SdkStartCanNet(&Gtwy, Member, 0);
if (err) {
std::cerr << "CAN ネットワークを開けませんでした" << std::endl;
return -1;
}
uint g_GtwyHandle = Gtwy.GtwyHandle;
uint NodeID = 5;
// モータを有効化
SdkSetMotorOn(g_GtwyHandle, NodeID, 1, NULL);
// JOG 速度を設定して動作開始
SdkSetJogMxn(g_GtwyHandle, NodeID, 1000, NULL);
SdkSetBeginMxn(g_GtwyHandle, NodeID, 0, NULL);
// 停止して無効化
SdkSetStopMxn(g_GtwyHandle, NodeID, 0, NULL);
SdkSetMotorOn(g_GtwyHandle, NodeID, 0, NULL);
SdkCloseCanNet(g_GtwyHandle);
return 0;
}
```
### プロジェクト設定
| 設定 | 値 |
|------|-----|
| プラットフォーム | Windows 32/64 ビット |
| 開発環境 | Visual Studio 2019+ |
| SDK | uirSDK3(libUirSdkWin32.dll / libUirSdkWin64.dll)|
| サンプルコード | Win32/Win64 C++ プロジェクト |
---
## ダウンロード
| アプリケーションノート | 説明 | ダウンロードリンク |
|---------------------|------|-----------------|
| AN006 | C++ UIM2513 + UIM342 | [Download ZIP](https://www.uirobot.com) |
| AN007 | C++ UIM2523 + UIM342 | [Download ZIP](https://www.uirobot.com) |
| AN008 | C++ UIM2513 + UIM1616 32-bit | [Download ZIP](https://www.uirobot.com) |
| AN009 | C++ UIM2513 + UIM1616 64-bit | [Download ZIP](https://www.uirobot.com) |
---
## 関連ドキュメント
- [uirSDK3 開発キット](/docs/uirsdk3)
- [UIM2513 RS232-CAN ゲートウェイ](/docs/uim2513)
- [C# Windows サンプルコード](/docs/csharp-windows-examples)
- [Python CAN Bus サンプルコード](/docs/python-examples)
---
*最終更新: 2026-07-03*