Appearance
指令-条件控制类
调用子程序 (CALL)
说明:调用另一个程序,被调用的程序运行完后返回主程序CALL指令的下一行继续运行。
指令名:CALL
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callInParaVarData | array | 否 | 输入参数个数及选择;有0-12个元素。元素格式:{"data":0.0,"secondvalue":0,"value":2,"varname":"D001"} |
| callOutParaVarData | array | 否 | 输出参数个数及选择;有0-12个元素。元素格式:{"data":0.0,"secondvalue":0,"value":2,"varname":"D001"} |
| jobName | string | 是 | 调用程序名称,不能是本身,调用的程序中须有参数声明 |
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CALL在枚举数列中为15 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:有两个参数
json
{
"callInParaVarData": [
{
"data": 0.0,
"secondvalue": 0,
"value": 2,
"varname": "D001"
},
{
"data": 0.0,
"secondvalue": 0,
"value": 2,
"varname": "D002"
}
],
"callOutParaVarData": [
{
"data": 0.0,
"secondvalue": 0,
"value": 5,
"varname": "GD003"
},
{
"data": 0.0,
"secondvalue": 0,
"value": 5,
"varname": "GD004"
}
],
"jobName": "QQQQ",
"logout": false,
"type": 15,
"userParamInt": 0,
"userParamString": ""
}退出 (RETURN)
说明:退出当前运行的作业文件,例如:子程序、后台程序。
指令名:RETURN
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | RETURN在枚举数列中为251 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 251,
"userParamInt": 0,
"userParamString": ""
}调用Lua文件 (CALL_LUAFILE)
说明:参数定义好之后,直接上传Lua文件,然后插入调用Lua文件指令,指令运行结束后会把写好的所有参数变量传入和输出。
指令名:CALL_LUAFILE
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CALL_LUAFILE在枚举数列中为218 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| inParaVarData | array | 否 | 传入参数个数及选择;元素个数[0-12]。元素格式:{"data":0.0,"secondvalue":0,"value":1,"varname":"I001"} |
| luafileName | string | 是 | 调用的lua文件 |
| outParaVarData | array | 否 | 输出参数个数及选择;元素个数[0-12]。元素格式:{"data":0.0,"secondvalue":0,"value":1,"varname":"I001"} |
| textEditType | bool | 否 | 文本编译类型;true:文本类型,false:语句类型 |
示例:
json
{
"logout": false,
"type": 218,
"userParamInt": 0,
"userParamString": "",
"inParaVarData": [
{
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
{
"data": 2.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
],
"luafileName": "demo.lua",
"outParaVarData": [
{
"data": 3.0,
"secondvalue": 0,
"value": 0,
"varname": ""
},
{
"data": 6.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
],
"textEditType": true
}如果 (IF)
说明:通过判断条件是否成立来执行下一目标的指令,判断条件不满足时,执行ELSEIF语句。IF和ENDIF配对使用,不能单独删除或更改,会导致程序运行出错。ELSE IF不可脱离IF单独使用。ELSE不可脱离IF单独使用。
指令名:IF
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | IF在枚举数列中为9 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| ifconditionArrayFINAL | object | 是 | 表示if判断;{}内的为if判断的数据 |
ifconditionArrayFINAL 结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| conditionGroup | array | 元素个数表示有多少个判断 |
| logic | array | if判断与if判断之间的关系,按数组内元素顺序;1:或,0:与 |
| logicGroup | array | conditionGroup节点的元素的判断条件;1:或,0:与,null表示该层没有判断 |
conditionGroup 元素结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| logicType | int | if判断条件比较方式;1:==,2:<,3:>,4:<=,5:>=,6:!= |
| paraGroupOne | object | 变量1,格式:{"data":0.0,"secondvalue":0,"value":1,"varname":"I002"} |
| paraGroupTwo | object | 变量2,格式:{"data":0.0,"secondvalue":0,"value":1,"varname":"I002"} |
示例:
json
{
"logout": false,
"type": 9,
"userParamInt": 0,
"userParamString": "",
"ifconditionArrayFINAL": {
"conditionGroup": [
[
{
"logicType": 2,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
],
[
{
"logicType": 1,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
],
[
{
"logicType": 6,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I002"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
]
],
"logic": [1, 0]
}
}结束如果 (END IF)
指令名:END IF
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | END IF在枚举数列中为12 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 12,
"userParamInt": 0,
"userParamString": ""
}否则如果 (ELSE IF)
指令名:ELSE IF
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | ELSE IF在枚举数列中为11 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| ifconditionArrayFINAL | object | 是 | 表示if判断;{}内的为if判断的数据 |
ifconditionArrayFINAL 结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| conditionGroup | array | 元素个数表示有多少个并列判断,元素的数组内的元素为并列判断 |
| logic | array | if判断与if判断之间的关系,按数组内元素顺序;1:或,0:与 |
| logicGroup | array | conditionGroup节点的元素的判断条件;1:或,0:与,null表示该层没有判断 |
示例:
json
{
"logout": false,
"type": 11,
"userParamInt": 0,
"userParamString": "",
"ifconditionArrayFINAL": {
"conditionGroup": [
[
{
"logicType": 2,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
],
[
{
"logicType": 1,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
],
[
{
"logicType": 6,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I002"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
]
],
"logic": [1, 0]
}
}否则 (ELSE)
指令名:ELSE
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | ELSE在枚举数列中为10 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 10,
"userParamInt": 0,
"userParamString": ""
}等待 (WAIT)
说明:条件成立之前程序处于等待状态,条件成立后继续执行等待指令后面的指令。
指令名:WAIT
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | WAIT在枚举数列中为8 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| m_filterTime | double | 否 | 滤波时间,输入信号需满足的时间;[0,9999]s。滤波时间要小于等待时间 |
| paraTime | object | 否 | 等待时间;double类型;[0.01,9999]s |
| para_wait_result_ | object | 否 | 等待结果,满足条件为true;bool类型 |
| waitConditionFinal | object | 否 | {}内为参与判断的条件和变量 |
| wait_value_check_ | bool | 否 | 是否接受结果;true:存在"para_wait_result_"节点,false:不存在 |
waitConditionFinal 结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| conditionGroup | array | 元素个数表示有多少个并列判断,元素的数组内的元素为并列判断 |
| logic | array | if判断与if判断之间的关系,按数组内元素顺序;1:或,0:与 |
| logicGroup | array | conditionGroup节点的元素的判断条件;1:或,0:与,null表示该层没有判断 |
示例:
json
{
"logout": false,
"type": 8,
"userParamInt": 0,
"userParamString": "",
"m_filterTime": 66.0,
"paraTime": {
"data": 77.0,
"secondvalue": 0,
"value": 0,
"varname": ""
},
"para_wait_result_": {
"data": 0.0,
"secondvalue": 0,
"value": 3,
"varname": "B005"
},
"waitConditionFinal": {
"conditionGroup": [
[
{
"logicType": 1,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I002"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I003"
}
}
],
[
{
"logicType": 2,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I004"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I005"
}
}
],
[
{
"logicType": 3,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I006"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I007"
}
}
]
],
"logic": [1, 0]
},
"wait_value_check_": true
}WHILE 循环 (WHILE)
说明:判断条件为真是反复执行循环语句里面的指令。插入WHILE指令的同时会同时插入ENDWHILE指令。若要删除WHILE指令请同时删掉其对应的ENDWHILE指令,否则会导致程序无法运行。当程序的开头为WHILE且最后一样指令为ENDWHILE时,请在程序的开头或结尾插入一条TIMER(延时)指令。否则当WHILE指令的条件不满足时会导致程序陷入死机。当WHILE内部的指令没有运动类指令或在某种情况下可能会陷入死循环时,请在WHILE与ENDWHILE间插入一条TIMER(延时)指令,否则当WHILE指令的条件满足时可能会导致程序陷入死机。当WHILE指令的条件满足时,会循环运行WHILE与ENDWHILE两条指令之间的指令。在运行到WHILE指令之前若判断条件不满足,在运行到WHILE指令时会直接跳转到ENDWHILE指令而不运行WHILE与ENDWHILE之间的指令;若在运行WHILE与ENDWHILE之间的指令过程中,判断条件变成不满足,会继续运行,直到运行到ENDWHILE行,不再循环而是继续运行ENDWHILE下面的指令。
指令名:WHILE
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | WHILE在枚举数列中为13 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| whileconditionArrayFINAL | object | 是 | 表示while判断;{}内的为while判断的数据 |
whileconditionArrayFINAL 结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| conditionGroup | array | 元素个数表示有多少个并列判断,元素的数组内的元素为并列判断 |
| logic | array | while判断与while判断之间的关系,按数组内元素顺序;1:或,0:与 |
| logicGroup | array | conditionGroup节点的元素的判断条件;1:或,0:与,null表示该层没有判断 |
示例:
json
{
"logout": false,
"type": 13,
"userParamInt": 0,
"userParamString": "",
"whileconditionArrayFINAL": {
"conditionGroup": [
[
{
"logicType": 1,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I002"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I003"
}
}
],
[
{
"logicType": 2,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I004"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I005"
}
}
],
[
{
"logicType": 3,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I007"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I006"
}
},
{
"logicType": 4,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I008"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I009"
}
}
]
],
"logic": [0, 1],
"logicGroup": [null, null, [0]]
}
}结束循环 (ENDWHILE)
指令名:ENDWHILE
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | ENDWHILE在枚举数列中为14 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 14,
"userParamInt": 0,
"userParamString": ""
}LABEL 标签 (LABEL)
说明:指定跳转目标行的标签。同一程序无法插入两条标签名相同的标签指令。标签指令不支持上移、下移操作。
指令名:LABEL
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | LABEL在枚举数列中为51 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| label | string | 是 | 标签名;格式:[$......$] |
示例:
json
{
"logout": false,
"type": 51,
"userParamInt": 0,
"userParamString": "",
"label": "[$EAFF$]"
}JUMP 跳转 (JUMP)
说明:跳转至指定标签号的指令行。判断条件成立则跳转到LABEL指令行,若判断条件不成立则忽略JUMP指令,继续运行JUMP指令的下一行指令。JUMP指令必须与LABEL(标签)指令配合使用。JUMP指令不可跨程序跳转。例如主程序里面插入LABEL [$Q1$]指令,在子程序插入JUMP [$Q1$]指令,程序运行会报错。
指令名:JUMP
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | JUMP在枚举数列中为52 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| jumpCondition | object | 否 | 表示if判断;{}内的为if判断的数据 |
| jumpConditionFlag | bool | 否 | 是否使用判断条件;true:使用,false:不使用 |
| label | string | 是 | 标签名;格式:[$......$] |
jumpCondition 结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| conditionGroup | array | 元素个数表示有多少个并列判断,元素的数组内的元素为并列判断 |
| logic | array | if判断与if判断之间的关系,按数组内元素顺序;1:或,0:与 |
| logicGroup | array | conditionGroup节点的元素的判断条件;1:或,0:与,null表示该层没有判断 |
示例:
json
{
"logout": false,
"type": 52,
"userParamInt": 0,
"userParamString": "",
"jumpCondition": {
"conditionGroup": [
[
{
"logicType": 3,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I005"
},
"paraGroupTwo": {
"data": 89.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
},
{
"logicType": 3,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
"paraGroupTwo": {
"data": 88.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
],
[
{
"logicType": 6,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I089"
},
"paraGroupTwo": {
"data": 78.0,
"secondvalue": 0,
"value": 0,
"varname": ""
}
}
]
],
"logic": [1],
"logicGroup": [[0]]
},
"jumpConditionFlag": true,
"label": "[$EAFF$]"
}UNTIL 直到 (UNTIL)
说明:条件不成立时重复执行UNTIL和ENDUNTIL之间的指令,条件成立时直接跳到ENDUNTIL下面的指令运行。UNTIL指令插入的同时会插入ENDUNTIL指令。若要删除UNTIL指令请同时删掉其对应的ENDUNTIL指令,否则会导致程序无法运行。
指令名:UNTIL
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | UNTIL在枚举数列中为87 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| untilconditionArrayFINAL | object | 是 | {}内的为判断的数据 |
untilconditionArrayFINAL 结构:
| 参数名 | 类型 | 说明 |
|---|---|---|
| conditionGroup | array | 元素个数表示有多少个并列判断,元素的数组内的元素为并列判断 |
| logic | array | if判断与if判断之间的关系,按数组内元素顺序;1:或,0:与 |
| logicGroup | array | conditionGroup节点的元素的判断条件;1:或,0:与,null表示该层没有判断 |
示例:
json
{
"logout": false,
"type": 87,
"userParamInt": 0,
"userParamString": "",
"untilconditionArrayFINAL": {
"conditionGroup": [
[
{
"logicType": 1,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I002"
}
},
{
"logicType": 1,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I003"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I004"
}
}
],
[
{
"logicType": 1,
"paraGroupOne": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I005"
},
"paraGroupTwo": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I006"
}
}
]
],
"logic": [0],
"logicGroup": [[1]]
}
}停止直到 (ENDUNTIL)
指令名:ENDUNTIL
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | ENDUNTIL在枚举数列中为88 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 88,
"userParamInt": 0,
"userParamString": ""
}工艺跳行 (CRAFTLINE)
说明:只用于专用工艺,程序中插入该指令设置对应行数,在专用工艺界面运行程序时会先跳转到对应的行数。
指令名:CRAFTLINE
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CRAFTLINE在枚举数列中为89 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| line | int | 是 | 专用工艺界面中对应的指令行数;[1,999] |
示例:
json
{
"logout": false,
"type": 89,
"userParamInt": 0,
"userParamString": "",
"line": 3
}指令注释 (CMDNOTE)
说明:专用工艺指令,程序中运行该指令后,在专用工艺界面会跳转到对应的行数。
指令名:CMDNOTE
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CMDNOTE在枚举数列中为127 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| note | string | 是 | 注释内容;格式:##.......$$ |
示例:
json
{
"logout": false,
"type": 127,
"userParamInt": 0,
"userParamString": "",
"note": "##ADSDDD$$"
}到达判断 (POS_REACHABLE)
说明:判断目标点是否能到达,点位能够到达选择的状态存入的变量置1,不能到达置0。
指令名:POS_REACHABLE
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | POS_REACHABLE在枚举数列中为133 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| moveType | int | 否 | 运动类型;0-MOVJ,1-MOVL |
| positionId | string | 是 | 位置变量名 |
| _pVarName | object | 是 | 状态存入变量 |
示例:
json
{
"logout": false,
"type": 133,
"userParamInt": 0,
"userParamString": "",
"moveType": 0,
"positionId": "GP0001",
"_pVarName": {
"data": 0.0,
"secondvalue": 0,
"value": 6,
"varname": "GB001"
}
}计时 (CLKSTART / CLKSTOP / CLKRESET)
说明:运行该指令开始计时,并将时间记录到局部或者全局DOUBLE变量。停止对应序号的计时器计时,停止后已存入变量的值不会归零。
计时开始 (CLKSTART)
指令名:CLKSTART
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CLKSTART在枚举数列中为128 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| ID | int | 是 | 计时序号;[1,32] |
| _pVarName | object | 是 | 存入变量 |
示例:
json
{
"logout": false,
"type": 128,
"userParamInt": 0,
"userParamString": "",
"ID": 5,
"_pVarName": {
"data": 0.0,
"secondvalue": 0,
"value": 2,
"varname": "D001"
}
}计时停止 (CLKSTOP)
指令名:CLKSTOP
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CLKSTOP在枚举数列中为129 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| ID | int | 是 | 计时序号;[1,32] |
示例:
json
{
"logout": false,
"type": 129,
"userParamInt": 0,
"userParamString": "",
"ID": 5
}计时复位 (CLKRESET)
指令名:CLKRESET
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CLKRESET在枚举数列中为130 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| ID | int | 是 | 计时序号;[1,32] |
示例:
json
{
"logout": false,
"type": 130,
"userParamInt": 0,
"userParamString": "",
"ID": 5
}读取线速度 (READLINEAR / STOPREADLINEAR)
说明:机器人运行的时候实时读取机器人线速度,将读取到的速度存入到变量。插入读取线速度指令时会同时插入读取线速度停止,如果要删除读取线速度指令请将对应线速度停止指令删除,否则程序会报错。
读取线速度 (READLINEAR)
指令名:READLINEAR
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | READLINEAR在枚举数列中为146 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| _pVarName | object | 是 | 变量;int类型或double类型 |
示例:
json
{
"logout": false,
"type": 146,
"userParamInt": 0,
"userParamString": "",
"_pVarName": {
"data": 0.0,
"secondvalue": 0,
"value": 4,
"varname": "GI003"
}
}停止读取线速度 (STOPREADLINEAR)
指令名:STOPREADLINEAR
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | STOPREADLINEAR在枚举数列中为147 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 147,
"userParamInt": 0,
"userParamString": ""
}调用Lua语句 (CALL_LUASTRING)
说明:通过调用Lua语句来实现相应的功能或操作。
指令名:CALL_LUASTRING
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | CALL_LUASTRING在枚举数列中为230 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| textEditType | bool | 否 | 文本编译类型;true:文本类型,false:语句类型 |
| variable | object | 否 | lua语句变量 |
示例:
json
{
"logout": false,
"type": 230,
"userParamInt": 0,
"userParamString": "",
"textEditType": false,
"variable": {
"data": 0.0,
"secondvalue": 0,
"value": 8,
"varname": "S001"
}
}参数声明 (PARAM_DECLARATION)
说明:声明要输入或者输出的参数,输入参数将被子程序接收并使用,输出参数将返回给主程序使用。
指令名:PARAM_DECLARATION
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | PARAM_DECLARATION在枚举数列中为237 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| declareInParaVarData | array | 否 | 输入参数变量;元素个数为输入参数个数;参数个数[0,12] |
| declareInParaVarValues | array | 否 | 输入参数默认值;元素个数为输入参数个数;参数个数[0,12] |
| declareInParaVarnote | array | 否 | 输入参数注释;元素个数为输入参数个数;参数个数[0,12] |
| declareOutParaVarData | array | 否 | 输出参数值;元素个数为输出参数个数;参数个数[0,12] |
| declareOutParaVarnote | array | 否 | 输出参数注释;元素个数为输出参数个数;参数个数[0,12] |
示例:
json
{
"logout": false,
"type": 237,
"userParamInt": 0,
"userParamString": "",
"declareInParaVarData": [
{
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
},
{
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I002"
},
{
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I003"
}
],
"declareInParaVarValues": [
{
"data": 0.0,
"secondvalue": 0,
"value": 2,
"varname": "D001"
},
{
"data": 0.0,
"secondvalue": 0,
"value": 2,
"varname": "D002"
},
{
"data": 0.0,
"secondvalue": 0,
"value": 2,
"varname": "D003"
}
],
"declareInParaVarnote": [
"000",
"111",
"222"
],
"declareOutParaVarData": [
{
"data": 0.0,
"secondvalue": 0,
"value": 3,
"varname": "B001"
},
{
"data": 0.0,
"secondvalue": 0,
"value": 3,
"varname": "B002"
}
],
"declareOutParaVarnote": [
"333",
"4444"
]
}等到运动到点 (WAIT_POS)
说明:MOV指令执行结束并不代表伺服运行结束,仅为点位下发结束,此指令等待伺服电机运行精准到点,再执行下一个指令。此指令必须在运动指令后执行此指令才生效。此指令只能仅支持前台程序,后台无运动指令自然也不需要使用。此指令不支持提前执行。如果机器人在最小等待时间和最大等待时间之间,运动到点了,就会退出等待,执行下一条指令。
指令名:WAIT_POS
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | WAIT_POS在枚举数列中为238 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| accurary | double | 是 | 精度;[0.0001,0.1]度/秒 |
| waitType | int | 否 | 等待类型;0:位置,1:速度 |
| maxTime | int | 是 | 最大等待时间;[20,20000] |
| minTime | int | 是 | 最小等待时间;[20,20000] |
示例:
json
{
"logout": false,
"type": 238,
"userParamInt": 0,
"userParamString": "",
"accurary": 0.10,
"maxTime": 200,
"minTime": 20,
"waitType": 0
}碰撞检测 (DETECTCOLLISION_SET / DETECTCOLLISION_RESET)
说明:碰撞检测设置:调用临时参数,方便及时调整碰撞检测阈值。碰撞检测设置指令只是临时参数,只对碰撞检测设置指令下面的运动指令有效,不插入碰撞检测设置指令时调用人机协作-力学功能界面的碰撞检测阈值(指令)参数。碰撞检测参数复位:复位临时使用的碰撞检测阈值,执行此条指令后会调用人机协作-力学功能界面的碰撞检测阈值(指令)参数。
碰撞检测设置 (DETECTCOLLISION_SET)
指令名:DETECTCOLLISION_SET
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | DETECTCOLLISION_SET在枚举数列中为243 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| axis_1_ | double | 否 | 1轴;[1,10000] |
| axis_2_ | double | 否 | 2轴;[1,10000] |
| axis_3_ | double | 否 | 3轴;[1,10000] |
| axis_4_ | double | 否 | 4轴;[1,10000] |
| axis_5_ | double | 否 | 5轴;[1,10000] |
| axis_6_ | double | 否 | 6轴;[1,10000] |
| axis_7_ | double | 否 | 7轴;[1,10000] |
| collision_detection_enable_ | int | 否 | 碰撞检测使能;1:使能,0:关闭使能 |
| temp_parameters_enable_ | int | 否 | 使用临时参数;1:使用,0:不使用 |
示例:
json
{
"logout": false,
"type": 243,
"userParamInt": 0,
"userParamString": "",
"axis_1_": 10.0,
"axis_2_": 20.0,
"axis_3_": 30.0,
"axis_4_": 40.0,
"axis_5_": 50.0,
"axis_6_": 60.0,
"axis_7_": 0.0,
"collision_detection_enable_": 1,
"temp_parameters_enable_": 1
}碰撞检测参数复位 (DETECTCOLLISION_RESET)
指令名:DETECTCOLLISION_RESET
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | DETECTCOLLISION_RESET在枚举数列中为244 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 244,
"userParamInt": 0,
"userParamString": ""
}Switch 条件分支 (Switch / Case / Default / EndSwitch)
说明:当SWITCH的参数值与某个CASE值匹配,则会跳到对应的CASE语句块中执行相应的指令,执行完该语句块则会跳出SWITCH;若SWITCH的参数值不与任何一个CASE匹配则运行DEFAULT语句。
Switch (Switch)
指令名:Switch
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | Switch在枚举数列中为247 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| variable_switch_ | object | 是 | 变量;int类型 |
示例:
json
{
"logout": false,
"type": 247,
"userParamInt": 0,
"userParamString": "",
"variable_switch_": {
"data": 0.0,
"secondvalue": 0,
"value": 1,
"varname": "I001"
}
}Case (Case)
指令名:Case
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | Case在枚举数列中为248 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
| switch_case | int | 是 | case的值 |
示例:
json
{
"logout": false,
"type": 248,
"userParamInt": 0,
"userParamString": "",
"switch_case": 22
}Default (Default)
指令名:Default
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | Default在枚举数列中为249 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 249,
"userParamInt": 0,
"userParamString": ""
}EndSwitch (EndSwitch)
指令名:EndSwitch
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| logout | bool | 否 | 是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行 |
| type | int | 是 | EndSwitch在枚举数列中为250 |
| userParamInt | int | 否 | 二次开发中客户自定义,目前无意义 |
| userParamString | string | 否 | 二次开发中客户自定义,目前无意义 |
示例:
json
{
"logout": false,
"type": 250,
"userParamInt": 0,
"userParamString": ""
}