Skip to content

二次开发API(作业文件,指令操作)

本章节介绍作业文件管理、指令插入与运行队列控制的全部接口。

函数分类索引

作业文件管理

函数说明
NRC_CreateJobfile / NRC_OpenJobfile / NRC_DeleteJobfile新建/打开/删除作业文件
NRC_JudgeJobIsExist判断作业文件是否存在
NRC_GetJobfileLineSum获取作业文件总行数
NRC_JobfileEraseCmd删除作业文件中指定行的指令

作业文件运行控制

函数说明
NRC_StartRunJobfile开始/继续运行作业文件
NRC_PauseRunJobfile暂停运行作业文件
NRC_StopRunJobfile停止运行作业文件(从头开始)
NRC_StopRunJobfileNotPoweroff停止运行(不下使能)
NRC_StepRunJobfile单步运行一行指令
NRC_GetCurrentOrderRuns获取执行方向(顺序/倒序)
NRC_GetDistanceToOldTrack获取距原轨迹停止点距离
NRC_GetCycleIndex / NRC_GetCycleCount / NRC_GetCycleTimeSec循环次数/时间查询
NRC_SetCycleIndex设置循环次数

局部后台程序

函数说明
NRC_CreatePthreadJobfile / NRC_OpenPthreadJobfile新建/打开后台程序
NRC_DeletePthreadJobfile / NRC_JudgePthreadJobIsExist删除/判断后台程序

无文件运行队列

函数说明
NRC_CreateNoFlieRunqueue创建无文件运行队列
NRC_InsertNoFlieRunqueue插入一组指令到队列
NRC_StartRunNoFlieRunqueue开始运行无文件队列
NRC_PauseRunNoFlieRunqueue暂停运行队列
NRC_StopRunNoFlieRunqueue停止运行队列
NRC_StopRunNoFlieRunqueueNotPoweroff停止(不下使能)

追加运行模式

函数说明
NRC_OpenInstrAppendRunMode开启追加运行模式(自动上使能)
NRC_CloseInstrAppendRunMode关闭追加运行模式(自动下使能)
NRC_AppendRunInstr追加运行指令
NRC_PauseInstrAppendRun / NRC_PauseInstrAppendRunAsynchronous暂停(同步/异步)
NRC_RestartInstrAppendRun继续运行
NRC_PauseInstrAppendedRunInBreakpoint / NRC_RestartInstrAppendRunInBreakpoint断点模式暂停/继续
NRC_StopInstrAppendRun停止并清空队列
NRC_StopInstrAppendRunNotPoweroff停止(不下使能)
NRC_GetIsInstrAppendRunMode获取当前是否在追加模式
NRC_GetRestAppendInstrNum获取剩余指令数
NRC_GetCurrentInstrRestPosNum获取当前指令剩余点数

作业文件插入指令(按类型)

运动指令:

函数说明
NRC_JobfileInsertMOVJ / MOVL / MOVS / MOVC / IMOV关节/直线/圆弧/增量运动
NRC_JobfileInsertMOVJEXT / MOVLEXT / MOVCEXT带外部轴的运动指令
NRC_JobfileInsertPOSCALALL点位全改指令

IO 与时间指令:

函数说明
NRC_JobfileInsertDOUT数字输出
NRC_JobfileInsertTIMER延时
NRC_JobfileInsertWAIT等待条件

流程控制指令:

函数说明
NRC_JobfileInsertUNTIL / NRC_JobfileInsertENDUNTIL条件循环
NRC_JobfileInsertIF / NRC_JobfileInsertVarIF条件判断(端口/变量)
NRC_JobfileInsertELSEELSE 分支
NRC_JobfileInsertENDIF条件结束
NRC_JobfileInsertWHILE / NRC_JobfileInsertVarWHILEWHILE 循环
NRC_JobfileInsertENDWHILE循环结束

程序控制指令:

函数说明
NRC_JobfileInsertPAUSERUN暂停运行
NRC_JobfileInsertCONTINUERUN继续运行指定程序
NRC_JobfileInsertSTOPRUN停止运行
NRC_JobfileInsertRESTARTRUN重启运行
NRC_JobfileInsertPthreadStart / PthreadEnd启动/结束后台程序
NRC_JobfileInsertSETVAR设置变量
NRC_JobfileInsertOPCmd运算指令
NRC_JobfileInsertCMDNOTE备注

码垛指令:

函数说明
NRC_JobfileInsertPALON / PALOFF码垛开启/关闭
NRC_JobfileInsertPALGRIPPER / PALCLEAR抓手切换/清除
NRC_JobfileInsertPALENTER / PALSHIFT / PALREAL进入/偏移/放置

焊接指令:

函数说明
NRC_JobfileInsertARCON / ARCOFF焊接起弧/收弧
NRC_JobfileInsertTOFFSETON / TOFFSETOFF工具偏移开启/关闭

自定义:

函数说明
NRC_JobfileInsertCustomInstruction插入自定义指令

运行队列插入指令

对应作业文件插入指令,通过 NRC_RunqueueInsert* 系列函数将指令插入无文件运行队列,参数与作业文件版本基本一致(无需 line 参数)。

状态查询

函数说明
NRC_GetProgramRunStatus获取程序运行状态(0-停止 1-暂停 2-运行)
NRC_GetRobotRunStatus获取机器人运动状态
NRC_GetTeachBoxConnectStatus获取示教盒连接状态
NRC_GetOpenJobFileName获取当前打开的作业文件名
NRC_GetRunqueueCurrentRunLine获取队列当前运行行号
NRC_GetJobfileCurrentRunLine获取作业文件当前运行行号
NRC_GetCurrentInstrRestPosNum获取当前指令剩余点数

回调函数

函数说明
NRC_SetCompleteOneInstrCallBack设置指令完成回调(无参/带参两种重载)

详细接口文档

函数说明
NRC_CreateJobfile新建作业文件。
NRC_OpenJobfile打开作业文件。
NRC_DeleteJobfile删除作业文件。
NRC_JudgeJobIsExist检测作业文件是否存在。
NRC_CreatePthreadJobfile新建局部后台程序。
NRC_OpenPthreadJobfile打开局部后台程序。
NRC_DeletePthreadJobfile删除局部后台程序。
NRC_JudgePthreadJobIsExist检测局部后台程序是否存在。
NRC_GetJobfileLineSum当前打开的作业文件的总行数。
NRC_StartRunJobfile开始/继续运行作业文件。
NRC_StepRunJobfile单步运行作业文件一行指令。
NRC_PauseRunJobfile暂停运行作业文件。
NRC_StopRunJobfile停止运行作业文件。
NRC_GetDistanceToOldTrack获取当前位置距离原插补轨迹停止点的距离。
NRC_StopRunJobfileNotPoweroff停止运行作业文件并且不下使能。
NRC_GetCurrentOrderRuns获取当前程序执行方向是顺序执行还是倒叙执行。
NRC_CreateNoFlieRunqueue创建一个无文件运行队列。
NRC_StartRunNoFlieRunqueue单步运行作业文件一行指令。
NRC_PauseRunNoFlieRunqueue暂停运行无文件运行队列。
NRC_StopRunNoFlieRunqueue停止运行无文件运行队列。
NRC_StopRunNoFlieRunqueueNotPoweroff运动队列停止运行并且不下使能。
NRC_JobfileEraseCmd删除作业文件指令。
NRC_InsertNoFlieRunqueue将一组指令数据插入到运行队列中。
NRC_OpenInstrAppendRunMode开启追加运行模式,添加运行队列即可直接响应运行。
NRC_CloseInstrAppendRunMode关闭追加运行模式。
NRC_AppendRunInstr追加运行模式下,添加运行队列。
NRC_PauseInstrAppendRun暂停追加运行。
NRC_PauseInstrAppendRunAsynchronous异步暂停追加运行。
NRC_RestartInstrAppendRun再启动追加运行。
NRC_PauseInstrAppendedRunInBreakpoint断点模式暂停追加运行。
NRC_RestartInstrAppendRunInBreakpoint断点模式重启追加运行。
NRC_StopInstrAppendRun停止追加运行。
NRC_StopInstrAppendRunNotPoweroff停止已追加的运行。
NRC_GetIsInstrAppendRunMode获取当前是否是追加运行模式。
NRC_GetRestAppendInstrNum获取追加运行当前剩余指令数目。
NRC_GetCurrentInstrRestPosNum获取当前运行指令剩余点数。
NRC_SetCompleteOneInstrCallBack设置执行完一条指令时的回调函数,当执行完一条指令时,将会调用此回调函数。
NRC_SetCompleteOneInstrCallBack设置执行完一条指令时的回调函数,当执行完一条指令时,将会调用此回调函数,该回调函数会将用户参数传入。
NRC_RunqueueInsertMOVJ运行队列插入MOVJ指令。
NRC_RunqueueInsertMOVL运行队列插入MOVL指令。
NRC_RunqueueInsertMOVS运行队列插入MOVS指令。
NRC_RunqueueInsertMOVC运行队列插入MOVC指令。
NRC_RunqueueInsertIMOV运行队列插入IMOV指令。
NRC_RunqueueInsertDOUT运行队列插入DOUT指令。
NRC_RunqueueInsertTIMER运行队列插入TIMER指令。
NRC_RunqueueInsertWAIT运行队列插入WAIT指令。
NRC_RunqueueInsertUNTIL运行队列插入UNTIL指令。
NRC_RunqueueInsertENDUNTIL运行队列插入ENDUNTIL指令。
NRC_RunqueueInsertIF运行队列插入IF指令。
NRC_RunqueueInsertWHILE运行队列插入WHILE指令。
NRC_RunqueueInsertELSE运行队列插入ELSE指令。
NRC_RunqueueInsertENDWHILE运行队列插入ENDWHILE指令。
NRC_RunqueueInsertENDIF运行队列插入ENDIF指令。
NRC_RunqueueInsertPALON运行队列插入PALON指令。
NRC_RunqueueInsertPALOFF运行队列插入PALOFF指令。
NRC_RunqueueInsertPALGRIPPER运行队列插入PALGRIPPER指令。
NRC_RunqueueInsertPALCLEAR运行队列插入PALCLEAR指令。
NRC_RunqueueInsertPALENTER运行队列插入PALENTER指令。
NRC_RunqueueInsertPALSHIFT运行队列插入PALSHIFT指令。
NRC_RunqueueInsertPALREAL运行队列插入PALREAL指令。
NRC_RunqueueInsertTOFFSETON运行队列插入TOFFSETON指令。
NRC_RunqueueInsertTOFFSETOFF运行队列插入TOFFSETOFF指令。
NRC_RunqueueInsertARCON运行队列插入ARCON指令。
NRC_RunqueueInsertARCOFF运行队列插入ARCOFF指令。
NRC_RunqueueInsertCustomInstruction运行队列插入CustomInstruction指令。
NRC_JobfileInsertMOVJ作业文件插入MOVJ指令。
NRC_JobfileInsertMOVL作业文件插入MOVL指令。
NRC_JobfileInsertMOVS作业文件插入MOVS指令。
NRC_JobfileInsertMOVC作业文件插入MOVC指令。
NRC_JobfileInsertIMOV作业文件插入IMOV指令。
NRC_JobfileInsertDOUT作业文件插入DOUT指令。
NRC_JobfileInsertTIMER作业文件插入TIMER指令。
NRC_JobfileInsertWAIT作业文件插入WAIT指令。
NRC_JobfileInsertUNTIL作业文件插入UNTIL指令。
NRC_JobfileInsertENDUNTIL作业文件插入ENDUNTIL指令。
NRC_JobfileInsertIF作业文件插入IF指令。
NRC_JobfileInsertVarIF作业文件插入带参数的IF指令。
NRC_JobfileInsertWHILE作业文件插入WHILE指令。
NRC_JobfileInsertVarWHILE作业文件插入带参数的WHILE指令。
NRC_JobfileInsertELSE作业文件插入ELSE指令。
NRC_JobfileInsertENDWHILE作业文件插入ENDWHILE指令。
NRC_JobfileInsertENDIF作业文件插入ENDIF指令。
NRC_JobfileInsertPAUSERUN作业文件插入PAUSERUN指令。
NRC_JobfileInsertCONTINUERUN作业文件插入CONTINUERUN指令。
NRC_JobfileInsertSTOPRUN作业文件插入STOPRUN指令。
NRC_JobfileInsertRESTARTRUN作业文件插入RESTARTRUN指令。
NRC_JobfileInsertCMDNOTE作业文件插入CMDNOTE指令。
NRC_JobfileInsertPthreadStart作业文件插入PTHREAD_START指令。
NRC_JobfileInsertPthreadEnd作业文件插入PTHREAD_END指令。
NRC_JobfileInsertSETVAR作业文件插入SETVAR指令。
NRC_JobfileInsertOPCmd作业文件插入OPCmd指令。
NRC_JobfileInsertPALON作业文件插入PALON指令。
NRC_JobfileInsertPALOFF作业文件插入PALOFF指令。
NRC_JobfileInsertPALGRIPPER作业文件插入PALGRIPPER指令。
NRC_JobfileInsertPALCLEAR作业文件插入PALCLEAR指令。
NRC_JobfileInsertPALENTER作业文件插入PALENTER指令。
NRC_JobfileInsertPALSHIFT作业文件插入PALSHIFT指令。
NRC_JobfileInsertPALREAL作业文件插入PALREAL指令。
NRC_JobfileInsertTOFFSETON作业文件插入TOFFSETON指令。
NRC_JobfileInsertTOFFSETOFF作业文件插入TOFFSETOFF指令。
NRC_JobfileInsertARCON作业文件插入ARCON指令。
NRC_JobfileInsertARCOFF作业文件插入ARCOFF指令。
NRC_JobfileInsertCustomInstruction作业文件插入CustomInstruction指令。
NRC_GetRunqueueCurrentRunLine获取当前运行队列运行的行号。
NRC_GetJobfileCurrentRunLine获取当前运行作业文件运行的行号。
NRC_GetCycleIndex获取当前作业文件要运行的总次数。
NRC_GetCycleCount获取当前作业文件已运行的次数。
NRC_GetCycleTimeSec获取当前作业文件已运行的时间。
NRC_SetCycleIndex设置当前作业文件要运行的总次数。
NRC_RunqueueInsertMOVJEXT运行队列插入MOVJEXT指令。
NRC_JobfileInsertMOVJEXT作业文件插入MOVJEXT指令。
NRC_RunqueueInsertMOVLEXT运行队列插入MOVLEXT指令。
NRC_JobfileInsertMOVLEXT作业文件插入MOVLEXT指令。
NRC_RunqueueInsertMOVCEXT运行队列插入MOVCEXT指令。
NRC_JobfileInsertMOVCEXT作业文件插入MOVCEXT指令。
NRC_JobfileInsertPOSCALALL作业文件插入点位全改指令。
NRC_RunqueueInsertPOSCALALL运行队列插入点位全改指令。

NRC_CreateJobfile

| 函数原型 | int NRC_CreateJobfile(std::string jobname); | | 功能描述 | 新建作业文件。 | | 参数说明 | 输入参数: jobname  要新建的作业文件名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回   -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_OpenJobfile

| 函数原型 | int NRC_OpenJobfile(std::string jobname); | | 功能描述 | 打开作业文件。 | | 参数说明 | 输入参数: jobname  要打开的作业文件名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回   -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_DeleteJobfile

| 函数原型 | int NRC_DeleteJobfile(std::string jobname); | | 功能描述 | 删除作业文件。 | | 参数说明 | 输入参数: jobname  要删除的作业文件名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回   -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_JudgeJobIsExist

| 函数原型 | int NRC_JudgeJobIsExist(std::string jobname); | | 功能描述 | 检测作业文件是否存在。 | | 参数说明 | 输入参数: jobname  要检测的作业文件名称 | | 返回值 | 返回查询的作业文件是否存在 0 作业文件不存在 1 作业文件已存在 | | 备注说明 | 无 |

NRC_CreatePthreadJobfile

| 函数原型 | int NRC_CreatePthreadJobfile(std::string jobname); | | 功能描述 | 新建局部后台程序。 | | 参数说明 | 输入参数: jobname   要新建的局部后台程序名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 后台程序不能插入任何运动指令,只能进行逻辑操作 |

NRC_OpenPthreadJobfile

| 函数原型 | int NRC_OpenPthreadJobfile(std::string jobname); | | 功能描述 | 打开局部后台程序。 | | 参数说明 | 输入参数: jobname   要打开的局部后台程序名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_DeletePthreadJobfile

| 函数原型 | int NRC_DeletePthreadJobfile(std::string jobname); | | 功能描述 | 删除局部后台程序。 | | 参数说明 | 输入参数: jobname   要删除的局部后台程序名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_JudgePthreadJobIsExist

| 函数原型 | int NRC_JudgePthreadJobIsExist(std::string jobname); | | 功能描述 | 检测局部后台程序是否存在。 | | 参数说明 | 输入参数: jobname   要检测的局部后台程序名称 | | 返回值 | 返回查询的作业文件是否存在 0 局部后台程序不存在 1 局部后台程序已存在 | | 备注说明 | 无 |

NRC_GetJobfileLineSum

| 函数原型 | int NRC_GetJobfileLineSum(); | | 功能描述 | 当前打开的作业文件的总行数。 | | 参数说明 | 无 | | 返回值 | 返回当前打开的作业文件的总行数 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_StartRunJobfile

| 函数原型 | int NRC_StartRunJobfile(const std::string &jobname); | | 功能描述 | 开始/继续运行作业文件。 | | 参数说明 | 输入参数:  jobname 要开始运行的作业文件,继续运行时该参数无效 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 该函数仅在运行模式下有效! 成功调用该函数后,机器人将开始运动,请注意安全! |

NRC_StepRunJobfile

| 函数原型 | int NRC_StepRunJobfile(const std::string &jobname, int line); | | 功能描述 | 单步运行作业文件一行指令。 | | 参数说明 | 输入参数:  jobname 要单步运行运行的作业文件,继续运行时该参数无效 line 要单步运行的指令行号,继续运行时该参数无效 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 该函数仅在运行模式下有效! 成功调用该函数后,机器人将开始运动,请注意安全! |

NRC_PauseRunJobfile

| 函数原型 | int NRC_PauseRunJobfile(); | | 功能描述 | 暂停运行作业文件。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 暂停运行作业文件,调用 NRC_StartRunJobfile() 将继续运行 |

NRC_StopRunJobfile

| 函数原型 | int NRC_StopRunJobfile(); | | 功能描述 | 停止运行作业文件。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 停止运行作业文件,执行后再调用 NRC_StartRunJobfile(std::string jobname) 将从头开始运行 |

NRC_GetDistanceToOldTrack

| 函数原型 | int NRC_GetDistanceToOldTrack(int robot, double &distance); | | 功能描述 | 获取当前位置距离原插补轨迹停止点的距离。 | | 参数说明 | 输入参数: robot 机器人编号 distance 停止点和当前点位的直线距离 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_StopRunJobfileNotPoweroff

| 函数原型 | int NRC_StopRunJobfileNotPoweroff(); | | 功能描述 | 停止运行作业文件并且不下使能。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 停止运行作业文件,并且不会下使能,执行后再调用 NRC_StartRunJobfile(std::string jobname) 将从头开始运行 |

NRC_GetCurrentOrderRuns

| 函数原型 | int NRC_GetCurrentOrderRuns(bool &order); | | 功能描述 | 获取当前程序执行方向是顺序执行还是倒叙执行。 | | 参数说明 | 输出参数: order 执行方向 true/false(顺序执行/倒叙执行) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_CreateNoFlieRunqueue

| 函数原型 | int NRC_CreateNoFlieRunqueue(); | | 功能描述 | 创建一个无文件运行队列。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 创建一个无文件运行队列后,调用插入指令函数后,调用开始运行无文件运行队列函数,即可进行一条或多条指令运动 |

NRC_StartRunNoFlieRunqueue

| 函数原型 | int NRC_StartRunNoFlieRunqueue(); | | 功能描述 | 单步运行作业文件一行指令。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 开始运行后,若要添加新的运行指令,请在本次运行结束后重新重新创建一个无文件运行队列 成功调用该函数后,机器人将开始运动,请注意安全 |

NRC_PauseRunNoFlieRunqueue

| 函数原型 | int NRC_PauseRunNoFlieRunqueue(); | | 功能描述 | 暂停运行无文件运行队列。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 暂停运行无文件运行队列,调用 NRC_StartRunNoFlieRunqueue() 将继续运行 |

NRC_StopRunNoFlieRunqueue

| 函数原型 | int NRC_StopRunNoFlieRunqueue(); | | 功能描述 | 停止运行无文件运行队列。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 停止后,若要继续运行,请重新创建一个无文件运行队列 |

NRC_StopRunNoFlieRunqueueNotPoweroff

| 函数原型 | int NRC_StopRunNoFlieRunqueueNotPoweroff(); | | 功能描述 | 运动队列停止运行无文件运行队列并且不下使能。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 停止后,若要继续运行,请重新创建一个无文件运行队列 |

NRC_JobfileEraseCmd

| 函数原型 | int NRC_JobfileEraseCmd(int line); | | 功能描述 | 删除作业文件指令。 | | 参数说明 | 输入参数:  line 要删除的指令所在的行号,参数范围:0 < line <= NRC_GetJobfileLineSum() | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_InsertNoFlieRunqueue

| 函数原型 | int NRC_InsertNoFlieRunqueue(std::vector<NRC_InstrDataBase*>& instrVec); | | 功能描述 | 将一组指令数据插入到运行队列中。 | | 参数说明 | 输入参数: instrVec 要插入的一组指令数据 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 示例: std::vector<NRC_InstrDataBase*> instrVec; //可以不创建队列,会自动创建 instrVec.push_back(new NRC_InstrDataMOVJ(50, pos1, 5)); instrVec.push_back(new NRC_InstrDataMOVL(30, pos2, 2)); instrVec.push_back(new NRC_InstrDataMOVC(20, pos0, 3)); instrVec.push_back(new NRC_InstrDataMOVC(20, pos1, 3)); NRC_InsertNoFlieRunqueue(instrVec); //可以分成多组分次插入,后面插入的会接在之前插入的后面 instrVec.clear(); instrVec.push_back(new NRC_InstrDataIMOV(40, dev1, 0)); instrVec.push_back(new NRC_InstrDataDOUT(5, 1)); instrVec.push_back(new NRC_InstrDataTIMER(3.3)); instrVec.push_back(new NRC_InstrDataWAIT(new NRC_ConditionJudge(NRC_ConditionJudge::INT_, 3, NRC_ConditionJudge::LESS, NRC_ConditionJudge::DOUBLE_, 5), 2.2)); instrVec.push_back(new NRC_InstrDataWAIT(new NRC_ConditionJudge(NRC_ConditionJudge::DIN_, 2, NRC_ConditionJudge::EQUAL_TO, NRC_ConditionJudge::CONST_, 1), 0)); instrVec.push_back(new NRC_InstrDataMOVJ(30, pos1, 1)); NRC_InsertNoFlieRunqueue(instrVec); //开始执行队列 NRC_StartRunNoFlieRunqueue(); |

NRC_OpenInstrAppendRunMode

| 函数原型 | int NRC_OpenInstrAppendRunMode(); | | 功能描述 | 开启追加运行模式,添加运行队列即可直接响应运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 成功调用该函数后,机器人自动上使能,请注意安全 只有伺服在就绪状态下才可开启追加运行模式,即 NRC_GetServoStatus() == 1 时 在追加运行模式中,出现伺服报错、运行报错、解析报错,将自动退出追加运行模式,并下使能 在追加运行模式中,切换示教、运行模式,将会自动退出追加运行模式,并下使能 |

NRC_CloseInstrAppendRunMode

| 函数原型 | int NRC_CloseInstrAppendRunMode(); | | 功能描述 | 关闭追加运行模式。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 成功调用该函数后,机器人会自动下使能 只有在无运行队列或全部运行队列已运行完毕的情况下才可关闭追加运行模式,即 NRC_GetProgramRunStatus() == 0 时 |

NRC_AppendRunInstr

| 函数原型 | int NRC_AppendRunInstr(std::vector<NRC_InstrDataBase*>& instrVec); | | 功能描述 | 追加运行模式下,添加运行队列。 | | 参数说明 | 输入参数: instrVec  要插入的一组指令数据 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 添加运行队列后,机器人将会立即执行加入的队列,请注意安全 添加的运行队列只能是机器人移动指令 示例: //开启追加运行模式,机器人自动上使能 NRC_OpenInstrAppendRunMode(); std::vector<NRC_InstrDataBase*> instrVec; instrVec.push_back(new NRC_InstrDataMOVJ(50, pos1, 5)); instrVec.push_back(new NRC_InstrDataMOVL(30, pos2, 2)); //添加队列后,机器人直接运行 NRC_AppendRunInstr(instrVec); ...... instrVec.clear(); instrVec.push_back(new NRC_InstrDataMOVC(20, pos0, 3)); instrVec.push_back(new NRC_InstrDataMOVC(20, pos1, 3)); //机器人运行完之前添加的队列后,会接上本次添加的队列 NRC_AppendRunInstr(instrVec); ...... NRC_PauseInstrAppendRun();//暂停运行 ...... instrVec.clear(); instrVec.push_back(new NRC_InstrDataMOVJ(50, pos1, 5)); instrVec.push_back(new NRC_InstrDataMOVL(30, pos2, 2)); //暂停时添加的队列,调用再启动运行后,也可正常运行 NRC_AppendRunInstr(instrVec); ...... NRC_RestartInstrAppendRun();//再启动运行 ...... //停止运行,机器人停止,并清空全部队列 NRC_StopInstrAppendRun(); //关闭追加运行模式,机器人自动下使能 NRC_CloseInstrAppendRunMode(); |

NRC_PauseInstrAppendRun

| 函数原型 | NRC_PauseInstrAppendRun();NRC_PauseInstrAppendRun(); | | 功能描述 | 暂停追加运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 成功调用该函数后,机器人将暂停运行,该函数会在机器人停止后或调用500毫秒后退出,调用 NRC_RestartInstrAppendRun() 可继续运行 暂停时添加的运行队列,不会立刻运行,而是放入缓存队列中,调用再启动后,才会运行该队列 |

NRC_PauseInstrAppendRunAsynchronous

| 函数原型 | int NRC_PauseInstrAppendRunAsynchronous(); | | 功能描述 | 异步暂停追加运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 成功调用该函数后,机器人将暂停运行,该函数会直接退出,调用 NRC_RestartInstrAppendRun() 可继续运行 暂停时添加的运行队列,不会立刻运行,而是放入缓存队列中,调用再启动后,才会运行该队列 |

NRC_RestartInstrAppendRun

| 函数原型 | int NRC_RestartInstrAppendRun(); | | 功能描述 | 再启动追加运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 在机器人将暂停时,调用该函数可使机器人继续运行 |

NRC_PauseInstrAppendedRunInBreakpoint

| 函数原型 | int NRC_PauseInstrAppendedRunInBreakpoint(); | | 功能描述 | 断点模式暂停追加运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 成功调用该函数后,机器人将暂停运行,并记录当前断点处运行状态,下电,该函数会在机器人停止后或调用500毫秒后退出,调用 NRC_RestartInstrAppendRunInBreakpoint() 可继续运行 暂停时添加的运行队列,不会立刻运行,而是放入缓存队列中,调用再启动后,才会运行该队列 |

NRC_RestartInstrAppendRunInBreakpoint

| 函数原型 | int NRC_RestartInstrAppendRunInBreakpoint(); | | 功能描述 | 断点模式重启追加运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 在机器人断点停止时,调用该函数可使机器人继续运行 |

NRC_StopInstrAppendRun

| 函数原型 | int NRC_StopInstrAppendRun(); | | 功能描述 | 停止追加运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 成功调用该函数后,机器人将停止运行,并清空全部运行队列,退出追加模式 |

NRC_StopInstrAppendRunNotPoweroff

| 函数原型 | int NRC_StopInstrAppendRunNotPoweroff(); | | 功能描述 | 停止已追加的运行。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 成功调用该函数后,机器人将停止运行,并清空全部运行队列,仍在追加模式,不下电 需要调用 NRC_RestartInstrAppendRun() 才能继续运行新追加队列 |

NRC_GetIsInstrAppendRunMode

| 函数原型 | int NRC_GetIsInstrAppendRunMode(); | | 功能描述 | 获取当前是否是追加运行模式。 | | 参数说明 | 无 | | 返回值 | 当前是否是追加运行模式 0-当前不是追加运行模式  1-当前处于追加运行模式 | | 备注说明 | 无 |

NRC_GetRestAppendInstrNum

| 函数原型 | int NRC_GetRestAppendInstrNum(); | | 功能描述 | 获取追加运行当前剩余指令数目。 | | 参数说明 | 无 | | 返回值 | 当前剩余指令数目 | | 备注说明 | 对于MOVC指令,两条为一对,在插入指令时,插入了两条,但在运行时,是记作一条的 |

NRC_GetCurrentInstrRestPosNum

| 函数原型 | int NRC_GetCurrentInstrRestPosNum(); | | 功能描述 | 获取当前运行指令剩余点数。 | | 参数说明 | 无 | | 返回值 | 当前运行指令剩余点数。 当该指令未计算计算时,返回为-1。 | | 备注说明 | 无 |

NRC_SetCompleteOneInstrCallBack

| 函数原型 | int NRC_SetCompleteOneInstrCallBack(void (*fun)()); | | 功能描述 | 设置执行完一条指令时的回调函数,当执行完一条指令时,将会调用此回调函数。 | | 参数说明 | 输入参数: fun 回调函数的函数指针 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 该函数与 NRC_SetCompleteOneInstrCallBack(void (*fun)(NRC_InstrDataBase::NRC_UserParam)) ,仅最后一次调用的函数生效 该回调函数不可含有耗时操作,否则将对程序的运行产生严重影响 |

NRC_SetCompleteOneInstrCallBack

| 函数原型 | int NRC_SetCompleteOneInstrCallBack(void (*fun)(NRC_InstrDataBase::NRC_UserParam)); | | 功能描述 | 设置执行完一条指令时的回调函数,当执行完一条指令时,将会调用此回调函数,该回调函数会将用户参数传入。 | | 参数说明 | 输入参数: fun 回调函数的函数指针 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 该函数与 NRC_SetCompleteOneInstrCallBack(void (*fun)(NRC_InstrDataBase::NRC_UserParam)) ,仅最后一次调用的函数生效 该回调函数不可含有耗时操作,否则将对程序的运行产生严重影响 |

NRC_RunqueueInsertMOVJ

| 函数原型 | int NRC_RunqueueInsertMOVJ(int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 运行队列插入MOVJ指令。 | | 参数说明 | 输入参数:  vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertMOVL

| 函数原型 | int NRC_RunqueueInsertMOVL(int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 运行队列插入MOVL指令。 | | 参数说明 | 输入参数:  vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertMOVS

| 函数原型 | int NRC_RunqueueInsertMOVS(int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 运行队列插入MOVS指令。 | | 参数说明 | 输入参数:  vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertMOVC

| 函数原型 | int NRC_RunqueueInsertMOVC(int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 运行队列插入MOVC指令。 | | 参数说明 | 输入参数:  vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertIMOV

| 函数原型 | int NRC_RunqueueInsertIMOV(int vel, int acc, int dec, const NRC_Position& deviation, int pl=0,int tm = 0); | | 功能描述 | 运行队列插入IMOV指令。 | | 参数说明 | 输入参数:  vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertDOUT

| 函数原型 | int NRC_RunqueueInsertDOUT(int port, int value, double time_sec); | | 功能描述 | 运行队列插入DOUT指令。 | | 参数说明 | 输入参数:  port 要输出的数字输出端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 timeSec 端口输出的状态持续时间 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertTIMER

| 函数原型 | int NRC_RunqueueInsertTIMER(double timeSec); | | 功能描述 | 运行队列插入TIMER指令。 | | 参数说明 | 输入参数:  timeSec 要延时的时间,单位为秒,参数范围:timeSec > 0 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertWAIT

| 函数原型 | int NRC_RunqueueInsertWAIT( int port, int value, double timeoutSec, bool now = false); | | 功能描述 | 运行队列插入WAIT指令。 | | 参数说明 | 输入参数:  port 要输出的数字输出端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 timeoutSec 超时时间,单位为秒,参数范围:timeSec >= 0 now  PL是否连续  true 连续  false 不连续 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertUNTIL

| 函数原型 | int NRC_RunqueueInsertUNTIL( int port, int value); | | 功能描述 | 运行队列插入UNTIL指令。 | | 参数说明 | 输入参数:  port  要检测的数字输入端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertENDUNTIL

| 函数原型 | int NRC_RunqueueInsertENDUNTIL(); | | 功能描述 | 运行队列插入ENDUNTIL指令。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertUNTIL( int port, int value) 配合使用 |

NRC_RunqueueInsertIF

| 函数原型 | int NRC_RunqueueInsertIF( int port, int value); | | 功能描述 | 运行队列插入IF指令。 | | 参数说明 | 输入参数: port  要检测的数字输入端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertENDIF() 配合使用 |

NRC_RunqueueInsertWHILE

| 函数原型 | int NRC_RunqueueInsertWHILE(); | | 功能描述 | 运行队列插入WHILE指令。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertENDWHILE()配合使用 |

NRC_RunqueueInsertELSE

| 函数原型 | int NRC_RunqueueInsertELSE(); | | 功能描述 | 运行队列插入ELSE指令。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertIF( int port, int value) , NRC_RunqueueInsertENDIF() 配合使用 |

NRC_RunqueueInsertENDWHILE

| 函数原型 | int NRC_RunqueueInsertENDWHILE(); | | 功能描述 | 运行队列插入ENDWHILE指令。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertWHILE( int port, int value) 配合使用 |

NRC_RunqueueInsertENDIF

| 函数原型 | int NRC_RunqueueInsertENDIF(); | | 功能描述 | 运行队列插入ENDIF指令。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertIF( int port, int value) 配合使用 |

NRC_RunqueueInsertPALON

| 函数原型 | int NRC_RunqueueInsertPALON(int id, int type, int var1=0, int var2=0, int var3=0); | | 功能描述 | 运行队列插入PALON指令。 | | 参数说明 | 输入参数: id   码垛工艺的工艺号,参数范围:1 <= id <= 99 type 码垛类型  0-码垛  1-卸垛 var1 存放当前已码工件总数,0表示不存放,1-100表示变量GI001-GI100,参数范围:0 <= var1 <= 100 var2 存放当前已码层数,0表示不存放,1-100表示变量GI001-GI100,参数范围:0 <= var1 <= 100 var3 存放当前层已码工件数,0表示不存放,1-100表示变量GI001-GI100,参数范围:0 <= var1 <= 100 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertPALOFF(int id, int var) 配合使用 |

NRC_RunqueueInsertPALOFF

| 函数原型 | int NRC_RunqueueInsertPALOFF(int id, int var=0); | | 功能描述 | 运行队列插入PALOFF指令。 | | 参数说明 | 输入参数: id   码垛工艺的工艺号,参数范围:1 <= id <= 99 var  存放码垛是否结束判断,0表示不存放,1-100表示变量GB001-GB100,参数范围:0 <= var <= 100 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertPALON(int id, int type, int var1, int var2, int var3) 配合使用 |

NRC_RunqueueInsertPALGRIPPER

| 函数原型 | int NRC_RunqueueInsertPALGRIPPER(int id, int tool); | | 功能描述 | 运行队列插入PALGRIPPER指令。 | | 参数说明 | 输入参数: id   码垛工艺的工艺号,参数范围:1 <= id <= 99 tool  要更换的抓手编号,参数范围:1 <= id <= 4 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertPALCLEAR

| 函数原型 | int NRC_RunqueueInsertPALCLEAR(int id); | | 功能描述 | 运行队列插入PALCLEAR指令。 | | 参数说明 | 输入参数: id   码垛工艺的工艺号,参数范围:1 <= id <= 99 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertPALENTER

| 函数原型 | int NRC_RunqueueInsertPALENTER(int id, int moveType, int vel, int acc, int dec, int pl); | | 功能描述 | 运行队列插入PALENTER指令。 | | 参数说明 | 输入参数: id   码垛工艺的工艺号,参数范围:1 <= id <= 99 moveType  该条指令所使用的插补方式 1-关节插补 2-直线插补 3-圆弧插补  vel  机器人的运行速度,插补方式为关节时  为机器人最大速度的百分比,参数范围:0 < vel <= 100,插补方式为直线或圆弧时  为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1 acc  机器人运行加速度,参数范围:0 < vel <= 100,插补方式为关节时  为机器人各关节最大加速度的百分比,插补方式为直线或圆弧时  为机器人笛卡尔最大加速度的百分比 dec  机器人运行减速度,参数范围:0 < vel <= 100,插补方式为关节时  为机器人各关节最大减速度的百分比,插补方式为直线或圆弧时  为机器人笛卡尔最大减速度的百分比 pl   平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertPALSHIFT

| 函数原型 | int NRC_RunqueueInsertPALSHIFT(int id, int moveType, int vel, int acc, int dec, int pl); | | 功能描述 | 运行队列插入PALSHIFT指令。 | | 参数说明 | 输入参数: id   码垛工艺的工艺号,参数范围:1 <= id <= 99 moveType  该条指令所使用的插补方式 1-关节插补 2-直线插补 3-圆弧插补  vel  机器人的运行速度,插补方式为关节时  为机器人最大速度的百分比,参数范围:0 < vel <= 100,插补方式为直线或圆弧时  为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1 acc  机器人运行加速度,参数范围:0 < vel <= 100,插补方式为关节时  为机器人各关节最大加速度的百分比,插补方式为直线或圆弧时  为机器人笛卡尔最大加速度的百分比 dec  机器人运行减速度,参数范围:0 < vel <= 100,插补方式为关节时  为机器人各关节最大减速度的百分比,插补方式为直线或圆弧时  为机器人笛卡尔最大减速度的百分比 pl   平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertPALREAL

| 函数原型 | int NRC_RunqueueInsertPALREAL(int id, int moveType, int vel, int acc, int dec, int pl); | | 功能描述 | 运行队列插入PALREAL指令。 | | 参数说明 | 输入参数: id   码垛工艺的工艺号,参数范围:1 <= id <= 99 moveType  该条指令所使用的插补方式 1-关节插补 2-直线插补 3-圆弧插补  vel  机器人的运行速度,插补方式为关节时  为机器人最大速度的百分比,参数范围:0 < vel <= 100,插补方式为直线或圆弧时  为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1 acc  机器人运行加速度,参数范围:0 < vel <= 100,插补方式为关节时  为机器人各关节最大加速度的百分比,插补方式为直线或圆弧时  为机器人笛卡尔最大加速度的百分比 dec  机器人运行减速度,参数范围:0 < vel <= 100,插补方式为关节时  为机器人各关节最大减速度的百分比,插补方式为直线或圆弧时  为机器人笛卡尔最大减速度的百分比 pl   平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_RunqueueInsertTOFFSETON

| 函数原型 | int NRC_RunqueueInsertTOFFSETON(const NRC_Position& data); | | 功能描述 | 运行队列插入TOFFSETON指令。 | | 参数说明 | 输入参数: data 偏移量 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertTOFFSETOFF() 配合使用 |

NRC_RunqueueInsertTOFFSETOFF

| 函数原型 | int NRC_RunqueueInsertTOFFSETOFF(); | | 功能描述 | 运行队列插入TOFFSETOFF指令。 | | 参数说明 | 无 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和NRC_RunqueueInsertTOFFSETON(const NRC_Position& data) 配合使用 |

NRC_RunqueueInsertARCON

| 函数原型 | int NRC_RunqueueInsertARCON(int id); | | 功能描述 | 运行队列插入ARCON指令。 | | 参数说明 | 输入参数: id  码垛工艺的工艺号,参数范围:1 <= id <= 99 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertARCOFF(int id) 配合使用 |

NRC_RunqueueInsertARCOFF

| 函数原型 | int NRC_RunqueueInsertARCOFF(int id); | | 功能描述 | 运行队列插入ARCOFF指令。 | | 参数说明 | 输入参数: id  码垛工艺的工艺号,参数范围:1 <= id <= 99 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 需要和 NRC_RunqueueInsertARCON(int id) 配合使用 |

NRC_RunqueueInsertCustomInstruction

| 函数原型 | int NRC_RunqueueInsertCustomInstruction(int id, const std::string& cmd_param = ""); | | 功能描述 | 运行队列插入CustomInstruction指令。 | | 参数说明 | 输入参数: id  自定义指令的ID cmd_param  自定义指令的标识 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_JobfileInsertMOVJ

| 函数原型 | int NRC_JobfileInsertMOVJ(int line, int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 作业文件插入MOVJ指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertMOVL

| 函数原型 | int NRC_JobfileInsertMOVL(int line, int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 作业文件插入MOVL指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertMOVS

| 函数原型 | int NRC_JobfileInsertMOVS(int line, int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 作业文件插入MOVS指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertMOVC

| 函数原型 | int NRC_JobfileInsertMOVC(int line, int vel, int acc, int dec, const NRC_Position& target, int pl=0,int tm = 0); | | 功能描述 | 作业文件插入MOVC指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertIMOV

| 函数原型 | int NRC_JobfileInsertIMOV(int line, int vel, int acc, int dec, const NRC_Position& deviation, int pl=0,int tm = 0); | | 功能描述 | 作业文件插入IMOV指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置 pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 tm 提前执行时间,本条指令运行结束前 tm 秒开始执行下一条指令 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 deviation.coord为NRC_ACS时,该指令将使用关节插补方式,deviation.coord为其他值时,使用直线插补方式 |

NRC_JobfileInsertDOUT

| 函数原型 | int NRC_JobfileInsertDOUT(int line, int port, int value, double time_sec); | | 功能描述 | 作业文件插入DOUT指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) port 要输出的数字输出端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 time_sec 端口输出的状态持续时间 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertTIMER

| 函数原型 | int NRC_JobfileInsertTIMER(int line, double timeSec); | | 功能描述 | 作业文件插入TIMER指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) timeSec 要延时的时间,单位为秒,参数范围:timeSec > 0 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertWAIT

| 函数原型 | int NRC_JobfileInsertWAIT(int line,  int port, int value, double timeoutSec, bool now = false); | | 功能描述 | 作业文件插入WAIT指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) port 要输出的数字输出端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 timeoutSec 超时时间,单位为秒,参数范围:timeSec >= 0 如果等待timeoutSec时间仍未满足要求,将不再继续等待,本条指令执行结束,值为0时,将无限时间等待,直到条件成立  now  PL是否连续 true 连续  false 不连续 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertUNTIL

| 函数原型 | int NRC_JobfileInsertUNTIL(int line,  int port, int value); | | 功能描述 | 作业文件插入UNTIL指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) port 要输出的数字输出端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertENDUNTIL(int line) 配合使用 |

NRC_JobfileInsertENDUNTIL

| 函数原型 | int NRC_JobfileInsertENDUNTIL(int line); | | 功能描述 | 作业文件插入ENDUNTIL指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertIF

| 函数原型 | int NRC_JobfileInsertIF(int line,  int port, int value); | | 功能描述 | 作业文件插入IF指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) port 要输出的数字输出端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertVarIF

| 函数原型 | int NRC_JobfileInsertVarIF(int line, const std::string &varName, NRC_JUDGE type, double value); | | 功能描述 | 作业文件插入带参数的IF指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) varName 要比较的参数,例如 “GI001” type  比较的方法 value  要比较的大小 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertWHILE

| 函数原型 | int NRC_JobfileInsertWHILE(int line,  int port, int value); | | 功能描述 | 作业文件插入WHILE指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) port 要输出的数字输出端口号,参数范围:port > 0 value 端口输出的状态 0-输出低电平 1-输出高电平 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertENDWHILE(int line) 配合使用! |

NRC_JobfileInsertVarWHILE

| 函数原型 | int NRC_JobfileInsertVarWHILE(int line, const std::string &varName, NRC_JUDGE type, double value); | | 功能描述 | 作业文件插入带参数的WHILE指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) varName  要比较的参数,例如 “GI001” type  比较的方法 value  要比较的大小 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertENDWHILE(int line) 配合使用! |

NRC_JobfileInsertELSE

| 函数原型 | int NRC_JobfileInsertELSE(int line); | | 功能描述 | 作业文件插入ELSE指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertIF(int line,  int port, int value), NRC_JobfileInsertENDIF(int line) 配合使用 |

NRC_JobfileInsertENDWHILE

| 函数原型 | int NRC_JobfileInsertENDWHILE(int line); | | 功能描述 | 作业文件插入ENDWHILE指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertWHILE(int line,  int port, int value) 配合使用! |

NRC_JobfileInsertENDIF

| 函数原型 | int NRC_JobfileInsertENDIF(int line); | | 功能描述 | 作业文件插入ENDIF指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertIF(int line,  int port, int value) 配合使用 |

NRC_JobfileInsertPAUSERUN

| 函数原型 | int NRC_JobfileInsertPAUSERUN(int line); | | 功能描述 | 作业文件插入PAUSERUN指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertIF(int line,  int port, int value) 配合使用 |

NRC_JobfileInsertCONTINUERUN

| 函数原型 | int NRC_JobfileInsertCONTINUERUN(int line,int programtype,const std::string& jobName); | | 功能描述 | 作业文件插入CONTINUERUN指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) programtype  程序类型:1-主程序  2-后台程序 jobName 程序名 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertSTOPRUN

| 函数原型 | int NRC_JobfileInsertSTOPRUN(int line); | | 功能描述 | 作业文件插入STOPRUN指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertIF(int line,  int port, int value) 配合使用 |

NRC_JobfileInsertRESTARTRUN

| 函数原型 | int NRC_JobfileInsertRESTARTRUN(int line); | | 功能描述 | 作业文件插入RESTARTRUN指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertIF(int line,  int port, int value) 配合使用 |

NRC_JobfileInsertCMDNOTE

| 函数原型 | int NRC_JobfileInsertCMDNOTE(int line,  const std::string note); | | 功能描述 | 作业文件插入CMDNOTE指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) note 备注内容 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPthreadStart

| 函数原型 | int NRC_JobfileInsertPthreadStart(int line,  const std::string &jobName); | | 功能描述 | 作业文件插入PTHREAD_START指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) jobName 要开启的局部后台程序名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPthreadEnd

| 函数原型 | int NRC_JobfileInsertPthreadEnd(int line,  const std::string &jobName); | | 功能描述 | 作业文件插入PTHREAD_END指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) jobName 要结束的局部后台程序名称 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertSETVAR

| 函数原型 | int NRC_JobfileInsertSETVAR(int line, std::string varName, double varValue); | | 功能描述 | 作业文件插入SETVAR指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) varName 要写入的变量名,如“GI001”,“B099” varValue 要写入的值 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertOPCmd

| 函数原型 | int NRC_JobfileInsertOPCmd(int line, const std::string &varName, NRC_OPREATION type, double value); | | 功能描述 | 作业文件插入OPCmd指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) varName 运算参数 type 运算类型 value 运算值 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPALON

| 函数原型 | int NRC_JobfileInsertPALON(int line, int id, int type, int var1=0, int var2=0, int var3=0); | | 功能描述 | 作业文件插入PALON指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  备注内容 type 码垛类型 0-码垛 1-卸垛 var1存放当前已码工件总数,0表示不存放,1-100表示变量GI001-GI100,参数范围:0 <= var1 <= 100 var2存放当前已码层数,0表示不存放,1-100表示变量GI001-GI100,参数范围:0 <= var2 <= 100 var3存放当前层已码工件数,0表示不存放,1-100表示变量GI001-GI100,参数范围:0 <= var3 <= 100 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertPALOFF(int line, int id, int var) 配合使用 |

NRC_JobfileInsertPALOFF

| 函数原型 | int NRC_JobfileInsertPALOFF(int line, int id, int var=0); | | 功能描述 | 作业文件插入PALOFF指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 var 存放码垛是否结束判断,0表示不存放,1-100表示变量GB001-GB100,参数范围:0 <= var <= 100 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertPALON(int line, int id, int type, int var1, int var2, int var3) 配合使用 |

NRC_JobfileInsertPALGRIPPER

| 函数原型 | int NRC_JobfileInsertPALGRIPPER(int line, int id, int tool); | | 功能描述 | 作业文件插入PALGRIPPER指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 tool 要更换的抓手编号,参数范围:1 <= id <= 4 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPALCLEAR

| 函数原型 | int NRC_JobfileInsertPALCLEAR(int line, int id); | | 功能描述 | 作业文件插入PALCLEAR指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPALENTER

| 函数原型 | int NRC_JobfileInsertPALENTER(int line, int id, int moveType, int vel, int acc, int dec, int pl); | | 功能描述 | 作业文件插入PALENTER指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 moveType 该条指令所使用的插补方式 1-关节插补 2-直线插补 3-圆弧插补 vel 机器人的运行速度: 插补方式为关节时  为机器人最大速度的百分比,参数范围:0 < vel <= 100 插补方式为直线或圆弧时  为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1 acc 机器人运行加速度,参数范围:0 < vel <= 100 dec 机器人运行减速度,参数范围:0 < vel <= 100 pl  平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPALSHIFT

| 函数原型 | int NRC_JobfileInsertPALSHIFT(int line, int id, int moveType, int vel, int acc, int dec, int pl); | | 功能描述 | 作业文件插入PALSHIFT指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 moveType 该条指令所使用的插补方式 1-关节插补 2-直线插补 3-圆弧插补 vel 机器人的运行速度: 插补方式为关节时  为机器人最大速度的百分比,参数范围:0 < vel <= 100 插补方式为直线或圆弧时  为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1 acc 机器人运行加速度,参数范围:0 < vel <= 100 dec 机器人运行减速度,参数范围:0 < vel <= 100 pl  平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPALREAL

| 函数原型 | int NRC_JobfileInsertPALREAL(int line, int id, int moveType, int vel, int acc, int dec, int pl); | | 功能描述 | 作业文件插入PALREAL指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 moveType 该条指令所使用的插补方式 1-关节插补 2-直线插补 3-圆弧插补 vel 机器人的运行速度: 插补方式为关节时  为机器人最大速度的百分比,参数范围:0 < vel <= 100 插补方式为直线或圆弧时  为机器人末端位置点绝对运行速度,单位为 毫米每秒(mm/s),参数范围:vel > 1 acc 机器人运行加速度,参数范围:0 < vel <= 100 dec 机器人运行减速度,参数范围:0 < vel <= 100 pl  平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertTOFFSETON

| 函数原型 | int NRC_JobfileInsertTOFFSETON(int line, const NRC_Position& data); | | 功能描述 | 作业文件插入TOFFSETON指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) data 偏移量 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertTOFFSETOFF(int line) 配合使用 |

NRC_JobfileInsertTOFFSETOFF

| 函数原型 | int NRC_JobfileInsertTOFFSETOFF(int line); | | 功能描述 | 作业文件插入TOFFSETOFF指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertTOFFSETON(int line, const NRC_Position& data) 配合使用 |

NRC_JobfileInsertARCON

| 函数原型 | int NRC_JobfileInsertARCON(int line, int id); | | 功能描述 | 作业文件插入ARCON指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertARCOFF(int line, int id) 配合使用 |

NRC_JobfileInsertARCOFF

| 函数原型 | int NRC_JobfileInsertARCOFF(int line, int id); | | 功能描述 | 作业文件插入ARCOFF指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id  码垛工艺的工艺号,参数范围:1 <= id <= 99 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 需要和 NRC_JobfileInsertARCON(int line, int id) 配合使用 |

NRC_JobfileInsertCustomInstruction

| 函数原型 | int NRC_JobfileInsertCustomInstruction(int line, int id, const std::string& cmdParam = ""); | | 功能描述 | 作业文件插入CustomInstruction指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) id 自定义指令的ID cmd_param  自定义指令的标识 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_GetRunqueueCurrentRunLine

| 函数原型 | int NRC_GetRunqueueCurrentRunLine(); | | 功能描述 | 获取当前运行队列运行的行号。 | | 参数说明 | 无 | | 返回值 | 返回当前运行队列运行的行号 | | 备注说明 | 无 |

NRC_GetJobfileCurrentRunLine

| 函数原型 | int NRC_GetJobfileCurrentRunLine(); | | 功能描述 | 获取当前运行作业文件运行的行号。 | | 参数说明 | 无 | | 返回值 | 返回当前运行作业文件运行的行号 | | 备注说明 | 无 |

NRC_GetCycleIndex

| 函数原型 | int NRC_GetCycleIndex(); | | 功能描述 | 获取当前作业文件要运行的总次数。 | | 参数说明 | 无 | | 返回值 | 返回当前作业文件要运行的总次数 | | 备注说明 | 无 |

NRC_GetCycleCount

| 函数原型 | int NRC_GetCycleCount(); | | 功能描述 | 获取当前作业文件已运行的次数。 | | 参数说明 | 无 | | 返回值 | 返回当前作业文件已运行的次数 | | 备注说明 | 无 |

NRC_GetCycleTimeSec

| 函数原型 | int NRC_GetCycleTimeSec(); | | 功能描述 | 获取当前作业文件已运行的时间。 | | 参数说明 | 无 | | 返回值 | 返回当前作业文件已运行的时间 | | 备注说明 | 无 |

NRC_SetCycleIndex

| 函数原型 | int NRC_SetCycleIndex(int index); | | 功能描述 | 设置当前作业文件要运行的总次数。 | | 参数说明 | 输出参数: index  当前作业文件要运行的总次数,设置为0时循环运行,参数范围:index >= 0 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 无 |

NRC_RunqueueInsertMOVJEXT

| 函数原型 | int NRC_RunqueueInsertMOVJEXT(int vel, int acc, int dec, const NRC_Position& target,const NRC_SyncPosition& targetSync, int pl = 0,int tm = 0); | | 功能描述 | 运行队列插入MOVJEXT指令。 | | 参数说明 | 输入参数: vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置,详见 NRC_Position targetSync 外部轴运动目标位置,详见 NRC_SyncPosition pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_JobfileInsertMOVJEXT

| 函数原型 | int NRC_JobfileInsertMOVJEXT(int line, int vel, int acc, int dec, const NRC_Position& target,const NRC_SyncPosition& targetSync, int pl = 0,int tm = 0); | | 功能描述 | 作业文件插入MOVJEXT指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置,详见 NRC_Position targetSync 外部轴运动目标位置,详见 NRC_SyncPosition pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_RunqueueInsertMOVLEXT

| 函数原型 | int NRC_RunqueueInsertMOVLEXT(int vel, int acc, int dec, const NRC_Position& target,const NRC_SyncPosition& targetSync, int pl = 0,int tm = 0); | | 功能描述 | 运行队列插入MOVLEXT指令。 | | 参数说明 | 输入参数: vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置,详见 NRC_Position targetSync 外部轴运动目标位置,详见 NRC_SyncPosition pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_JobfileInsertMOVLEXT

| 函数原型 | int NRC_JobfileInsertMOVLEXT(int line, int vel, int acc, int dec, const NRC_Position& target,const NRC_SyncPosition& targetSync, int pl = 0,int tm = 0); | | 功能描述 | 作业文件插入MOVLEXT指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置,详见 NRC_Position targetSync 外部轴运动目标位置,详见 NRC_SyncPosition pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_RunqueueInsertMOVCEXT

| 函数原型 | int NRC_RunqueueInsertMOVCEXT(int vel, int acc, int dec, const NRC_Position& target,const NRC_SyncPosition& targetSync, int pl = 0,int tm = 0); | | 功能描述 | 运行队列插入MOVCEXT指令。 | | 参数说明 | 输入参数: vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置,详见 NRC_Position targetSync 外部轴运动目标位置,详见 NRC_SyncPosition pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateNoFlieRunqueue() 创建一个无文件运行队列 |

NRC_JobfileInsertMOVCEXT

| 函数原型 | int NRC_JobfileInsertMOVCEXT(int line, int vel, int acc, int dec, const NRC_Position& target,const NRC_SyncPosition& targetSync, int pl = 0,int tm = 0); | | 功能描述 | 作业文件插入MOVCEXT指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) vel 机器人的运行速度,为机器人最大速度的百分比,参数范围:0 < vel <= 100 acc 机器人运行加速度,为机器人各关节最大加速度的百分比,参数范围:0 < vel <= 100 dec 机器人运行减速度,为机器人各关节最大减速度的百分比,参数范围:0 < vel <= 100 target 机器人运动目标位置,详见 NRC_Position targetSync 外部轴运动目标位置,详见 NRC_SyncPosition pl 平滑度,将和后面一条移动指令进行平滑过渡,数值越大,越平滑,轨迹偏差也越大,参数范围:0 <= pl <= 5 | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 调用该函数前,请先调用 NRC_CreateJobfile(std::string jobname) 或 NRC_OpenJobfile(std::string jobname) 创建或打开一个作业文件 |

NRC_JobfileInsertPOSCALALL

| 函数原型 | int NRC_JobfileInsertPOSCALALL(int line, std::string pos_name,const NRC_Position& change, const NRC_SyncPosition& sync_change); | | 功能描述 | 作业文件插入点位全改指令。 | | 参数说明 | 输入参数: line 将指令插入到第line行,参数范围:0 < line <= (NRC_GetJobfileLineSum()+1) pos_name 需要修改的全局点位名称,范围 "GE0001"~"GE9999" change 详见 NRC_Position(NRC_COORD coo, int usr, int tool, int con, double axis_pos1, double axis_pos2, double axis_pos3, double axis_pos4, double axis_pos5, double axis_pos6, double axis_pos7) sync_change 详见 NRC_SyncPosition | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 注意,无论是 change 还是 sync_change,不存在的轴必需传入 99999 |

NRC_RunqueueInsertPOSCALALL

| 函数原型 | int NRC_RunqueueInsertPOSCALALL(std::string pos_name,const NRC_Position& change, const NRC_SyncPosition& sync_change); | | 功能描述 | 运行队列插入点位全改指令。 | | 参数说明 | 输入参数: pos_name 需要修改的全局点位名称,范围 "GE0001"~"GE9999" change 详见 NRC_Position(NRC_COORD coo, int usr, int tool, int con, double axis_pos1, double axis_pos2, double axis_pos3, double axis_pos4, double axis_pos5, double axis_pos6, double axis_pos7) sync_change 详见 NRC_SyncPosition | | 返回值 | 0:函数调用成功返回 -101:无效的输入参数返回 -102:目标对象不存在,一般出现在系统初始化未完成时,调用其他函数时可能返回该值返回 -103:目标对象当前处于不可操作状态返回 | | 备注说明 | 注意,无论是 change 还是 sync_change,不存在的轴必需传入 99999 |