Controller
Controller 是 .NET SDK 的主入口类,提供对控制器所有功能的统一访问。Controller.Connect() 建立与控制器的 UDP 连接(默认 127.0.0.1:60049),返回进程级单例实例。
方法
Connect
public static Controller Connect()
与控制器建立 UDP 连接并返回 Controller 实例。若已有活动连接,先自动断开。内部完成以下操作:调用 OneSysConnect、检查系统初始化状态、必要时调用 InitializeSystem、启动诊断轮询器。
返回值:新建立的 Controller 实例。
异常:若连接失败或初始化失败,抛出 OneException。
Disconnect
public static void Disconnect()
断开当前连接,停止所有轮询线程并释放资源。finally 块中推荐调用此方法,确保运动指令安全停止。
Reset
public void Reset()
请求控制器复位。复位为控制器进程级重启:控制器安全下电、应答后退出,由 OneLauncher 守护进程重新拉起。本方法在收到应答后即返回,连接随即断开;之后请重新 Connect(连接流程会自动执行系统初始化)完成恢复。
属性
| 属性 | 类型 | 说明 |
|---|---|---|
ConnectedController |
static Controller |
当前活动连接实例,若无连接则 null |
IsRunning |
static bool |
控制器系统是否已初始化并运行 |
Commands |
TaskSelectionCommands |
任务选择命令,提供 [TaskId] 索引器 |
Variables |
ControllerVariableContainer |
全局变量和 VirtualIO 访问入口 |
Tasks |
TasksCollection |
任务集合,提供 [TaskId] 索引器 |
Information |
ControllerInformation |
控制器信息(轴列表、型号等) |
示例
// 连接
var controller = Controller.Connect();
// 查询系统是否运行
Console.WriteLine($"System running: {Controller.IsRunning}");
// 获取轴信息
var axes = controller.Information.Axes;
// 执行运动
controller.Commands.Motion.MoveAbs("X", 10.0, 10.0);
// 断开
Controller.Disconnect();
相关页面
- Commands - 命令树结构
- Variables - 变量访问
- Tasks-OneScript - 任务与 OneScript 引擎
- Exceptions - 异常处理