跳转至

DLLExecute

函数 DLLExecute 执行一条指令并返回成功或失败,是客户执行指令的统一主入口——运动(MOVEABS/LINEAR/RAPID)、使能、回零、参数设置指令、诊断操作等绝大多数操作都经本接口下发。失败原因通过 DLLGetLastCommandDetail 获取。

所属:C/C++ API 函数索引

C/C++

ErrorCode DLLExecute(INT_PTR hClientHandle, int taskNumber, const char* commandString);

C#

controller.Commands[TaskId].Execute("...") —— 完整形式为 DLLExecuteCommand(含查询返回值出参),仅 .NET SDK 内部使用。

参数

hClientHandle (INT_PTR)

客户端会话句柄,来自 DLLSysConnect 获取。

taskNumber (int)

目标任务号(1-indexed)。

commandString (const char*)

指令字符串,如 "ENABLE X""MOVEABS X 5 10"。语法见 Terminal 指令

返回值

返回 ErrorCodeNoError (0) 表示指令已受理,正值为错误码,详见 SDK 发布头 ErrorCode.h。失败时 DLLGetLastCommandDetail 返回控制器给出的具体原因。

说明

推荐客户大部分指令统一从本接口执行:指令即文档(语法见 Terminal 指令),一条通道覆盖所有任务操作,学习与维护成本最低。仅当需要以结构化方式读取状态或参数值时,配合 DLLStatusGetItem / DLLStatusGetItems / DLLGetParameter 等查询接口使用。

示例

ErrorCode err = DLLExecute(handle, 1, "MOVEABS X 10 50");
if (err != NoError) {
    char detail[256] = {0};
    DLLGetLastCommandDetail(detail, sizeof(detail));
    printf("Move failed: %s\n", detail);
}

PCO(位置比较输出)配置流程(具体见 Terminal 指令 · PCO):

DLLExecute(handle, 1, "PCO UNIT 0");
DLLExecute(handle, 1, "PCO CONFIG X 10");
DLLExecute(handle, 1, "PCO PULSE X 100");
DLLExecute(handle, 1, "PCO WINDOW X 200 800");
DLLExecute(handle, 1, "PCO ARM X");
/* ...运动... */
DLLExecute(handle, 1, "PCO DISARM X");

相关函数