# 附录

### API函数一览表

下表列出了所使用的 PC 端函数及说明：

功能 | 名称 | 功能说明
--- | --- | ---
控制器配置函数 | Smc_Get_DllVersion | 获取控制器动态库文件版本号
| Smc_Open | 控制器连接初始化函数，分配系统资源
| Smc_Close | 控制器关闭函数，释放系统资源
状态监控 | Smc_Get_PowerStatus | 获取轴使能状态
| Smc_Get_AxisStatus | 获取轴状态
| Smc_Get_ActPosition | 获取指定轴实际运动的位置
| Smc_Get_TargetPosition | 获取指定轴规划运动位置
| Smc_Get_ActVelocity | 获取指定轴实际运动的速度
| Smc_Get_TargetVelocity | 获取指定轴规划速度
| Smc_Get_ActAcceleration | 获取指定轴实际运动的加速度
单轴速度参数 | Smc_Set_MoveSpeed | 设置指定轴 Move 运动速度
| Singel_Get_MoveSpeed | 获取指定轴 Move 运动速度
| Smc_Set_JogSpeed | 设置指定轴 Jog 运动速度
| Singel_Get_JogSpeed | 获取指定轴 Jog 运动速度
单轴操作 | Smc_Axis_Enable | 单轴上使能
| Smc_Axis_Disable | 单轴下使能
| Smc_Get_PowerStatus | 获取轴使能状态
| Smc_Get_AxisStatus | 获取轴状态
| Smc_Axis_Reset | 轴复位
单轴运动 | Smc_MoveAbsolute | 绝对位置运动
| Smc_MoveRelative | 相对位置运动
| Smc_MoveJog | Jog 运动
| Smc_WaitForAxisStop | 等待轴停止
| Smc_MoveStop | 指定轴停止
回原点运动 | AxisHome | 单轴回原点
| Smc_HomeByGroup | 分组回原点
通用 IO 操作 | Smc_IO_WriteDO | 设置指定输出端口信号
| Smc_IO_WriteDO_Flash | 设置指定输出端口闪烁信号
| Smc_IO_ReadDI | 获取指定输入端口信号
| Smc_IO_Set_ForceSwitch_DI | 设置指定输入端口的强制信号
| Smc_IO_Set_ForceValue_DI | 设置指定输入端口的强制值
| Smc_IO_Set_ForceSwitch_DO | 设置指定输出端口的强制信号
| Smc_IO_Set_ForceValue_DO | 设置指定输出端口的强制值
| Smc_IO_Get_DigitIOStatus | 获取数字量 IO 的状态
| Smc_IO_ReadDO | 获取指定输出端口信号状态
模拟量IO | Smc_IO_ReadAO | 读模拟量输出
| Smc_IO_WriteAO | 写模拟量输出
| Smc_IO_Set_ForceSwitch_AO | 设置模拟量强制输出开关
| Smc_IO_Set_ForceValue_AO | 设置模拟量强制输出值
特殊 IO 功能 | MoveAbsoluteAndMemOutIO | 绝对运动同步输出内存信号
| Smc_IO_WriteMemIO | 写内存位 IO
| Smc_IO_ReadMemIO | 读内存位 IO
| Smc_IO_WriteDO_PWM | 写 PWM 信号
| Smc_IO_WriteDO_PSO | 写 PSO 信号
软件限位相关函数 | Smc_Set_SoftwareLimits | 设置软件限位
| Smc_ActivateSoftwareLimits | 激活软件限位
| Smc_Get_SoftwareLimits | 获取软件限位
CNC | Smc_CNC_BeginTransmit | 开始下载
| Smc_CNC_EndTransmit | 结束下载
| Smc_CNC_Transmit | 下载 GCode
| Smc_CNC_BeginRead | 开始上载
| Smc_CNC_ExecuteReadLine | 上载 GCode
| Smc_CNC_EndRead | 结束上载
| Smc_CNC_ExecuteInterpolation | 运行 CNC 插补
| Smc_CNC_IsFinished | CNC 插补是否完成
| Smc_CNC_Pause | 暂停/继续 CNC
| Smc_CNC_SetOverride | 设置 CNC 运动速率
| Smc_CNC_StopInterpolation | 停止 CNC 插补
| Smc_CNC_Reset | 复位 cnc
| Smc_CNC_Get_Info | 获取 CNC 信息
| Smc_CNC_Get_AxisMapID | 获取 CNC 轴映射 ID
| Sgmc_CNC_Set_AxisMapID | 设置 CNC 轴映射 ID
| Smc_CNC_Get_GCodeMD5 | 获取 MD5 值
| Smc_CNC_Set_GCodeMD5 | 设置 MD5 值
其他 | Smc_Get_EncoderIn | 获取外部编码器的值
| Smc_Set_EncoderOffset | 设置外部编码器的值

### 指令运行错误一览表

错误号 | 错误代码 | 可能错误原因
--- | --- | ---
-2 | Error_Init | 初始化错误
-1 | Communication_Error | 通讯错误
0 | NoError | 没有错误
1 | Error_Unknow | 未知错误
2 | Error_FB | FB 错误
3 | Error_AxisIsRunning | 轴在运行错误
4 | Error_AxisIsPowerOn | 轴使能错误
5 | Error_AxisIsNotReady | 轴没有准备好错误
6 | Error_NoFindThisCommand | 没有找到这个 Command 指令错误
7 | Error_StatusError | 状态错误
8 | Error_Transmit | 下载错误
9 | Error_BeginTransmit | 开始下载错误
10 | Error_EndTransmit | 结束下载错误