跳转至

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 控制台项目,配置以下选项:

  1. 附加包含目录:添加 Sdk\CLibrary\ 路径
  2. 附加库目录:添加 Sdk\CLibrary\ 路径
  3. 附加依赖项:添加 OneSysCore.lib
  4. 平台: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

相关页面