One SDK 快速上手
本文档帮助首次使用 One SDK 的开发者快速完成环境配置并运行第一个程序。
环境准备
安装 SDK
从 Coretech 官方获取 SDK 安装包,解压到本地目录。SDK 包含以下子目录:
SDK/
├── Sdk/
│ ├── CLibrary/ # C/C++ 原生接口
│ │ ├── OneSysC.h
│ │ ├── ErrorCode.h
│ │ ├── OneSysCore.lib
│ │ └── OneSysCore.dll
│ └── DotNet/ # .NET 托管接口
│ ├── Coretech.One.dll
│ ├── Coretech.One.xml
│ ├── Coretech.Base.dll
│ ├── Coretech.Resources.dll
│ └── OneSysCore.dll
└── Samples/
├── C/CLibrary/
├── Cpp/CLibrary/
└── CSharp/DotNet/
运行时依赖
- Windows x64 系统
OneSysCore.dll必须位于可执行文件同一目录或系统 PATH 中- .NET 10 运行时(DotNet 接口)
- 控制器可访问(默认地址
127.0.0.1:60049)
C# 第一个程序
创建项目
使用 .NET CLI 创建控制台项目并引用 SDK:
dotnet new console -n MyApp -o MyApp
cd MyApp
dotnet add reference /path/to/Sdk/DotNet/Coretech.One.dll
或直接在 .csproj 中添加 HintPath 引用:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<Reference Include="Coretech.One">
<HintPath>..\..\Sdk\DotNet\Coretech.One.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
程序示例
以下程序演示了完整的连接、使能、回零、绝对运动、状态读取和断开流程:
using Coretech.One;
using Coretech.One.Exceptions;
using Coretech.One.Status;
Controller controller = null;
try
{
// 连接控制器(默认 127.0.0.1:60049;目标地址由 Setup Manager 应用配置)
controller = Controller.Connect();
// 使能和回零
controller.Commands.Axes["X", "Y"].Motion.Enable();
controller.Commands.Axes["X", "Y"].Motion.Home();
// 绝对运动
controller.Commands.Motion.MoveAbs("X", 10.0, 10.0);
controller.Commands.Motion.MoveAbs("Y", -10.0, 10.0);
// 读取位置反馈
double position = controller.Commands.Status.AxisStatus("X", AxisStatusSignal.PositionFeedback);
Console.WriteLine($"Position: {position:F3}");
// 写入全局变量(批量接口)
controller.Variables.Global.Doubles.SetMultiple(0, new double[] { 100.0 });
Controller.Disconnect();
}
catch (OneException ex)
{
Console.WriteLine($"控制器错误: {ex.Message}");
}
运行前提
- 控制器运行在默认地址(
127.0.0.1:60049;目标地址由 Setup Manager 应用配置) - 轴名称必须与控制器配置一致(如 "X"、"Y")
OneScripts\programflow.pgm文件存在(运行 OneScript 程序时需要)
C/C++ 第一个程序
项目配置
在 Visual Studio 中创建 Win32 控制台项目,配置以下选项:
- 附加包含目录:添加
Sdk\CLibrary\路径 - 附加库目录:添加
Sdk\CLibrary\路径 - 附加依赖项:添加
OneSysCore.lib - 平台:x64
程序示例
#include <stdio.h>
#include "OneSysC.h"
#define MOVE_DONE_BIT 0x400000
int main()
{
INT_PTR handle = 0;
ErrorCode err = DLLSysConnect(&handle);
if (err != NoError) { printf("连接失败: %d\n", err); return 1; }
// 使能轴 X
DLLExecute(handle, 0, "ENABLE X");
// 回零
DLLExecute(handle, 0, "HOME X");
// 绝对运动
DLLExecute(handle, 0, "MOVEABS X 10 10");
// 读取位置
double pos = 0;
DLLStatusGetItem(handle, 0, 0, 0, &pos); // axis=0, item=PositionFeedback
printf("Position: %f\n", pos);
DLLExecute(handle, 0, "DISABLE X");
DLLSysDisconnect(handle);
return 0;
}
构建示例工程
SDK 在 Samples/ 目录下提供了可直接编译运行的完整示例解决方案:
| 语言 | 路径 | 说明 |
|---|---|---|
| C++ | Samples/Cpp/CLibrary/CppSamples.sln |
ConsoleExample、StatusQuery、MotionByCommand、MotionByOneScript(扁平 C API,C 客户同样适用) |
| C++ | Samples/Cpp/CLibrary/MotionByCommand/ |
极简运动示例:DLLExecute + 轮询到位 |
| C++ | Samples/Cpp/CLibrary/MotionByOneScript/ |
推荐:加载并运行 OneScript 运动程序 |
| C# | Samples/CSharp/DotNet/CSharpSamples.sln |
包含 ConsoleExample、ProgramMonitor、GuiDemo 三个项目 |
构建步骤
# 1. 确保 OneSysCore.dll 在 PATH 中或与 csc.exe 同目录
# 2. 还原 NuGet 包(如有)
dotnet restore Samples/CSharp/DotNet/CSharpSamples.sln
# 3. 构建
dotnet build Samples/CSharp/DotNet/CSharpSamples.sln -c Release
# 4. 运行
dotnet run --project Samples/CSharp/DotNet/ConsoleExample/ConsoleExample.csproj
相关页面
- SDK_Overview - SDK 概述与交付内容
- SDK_Conventions - API 约定
- SDK_Samples - 示例程序详解