Skip to content

指令-条件控制类

调用子程序 (CALL)

说明:调用另一个程序,被调用的程序运行完后返回主程序CALL指令的下一行继续运行。

指令名:CALL

参数名类型必填说明
callInParaVarDataarray输入参数个数及选择;有0-12个元素。元素格式:{"data":0.0,"secondvalue":0,"value":2,"varname":"D001"}
callOutParaVarDataarray输出参数个数及选择;有0-12个元素。元素格式:{"data":0.0,"secondvalue":0,"value":2,"varname":"D001"}
jobNamestring调用程序名称,不能是本身,调用的程序中须有参数声明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCALL在枚举数列中为15
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例:有两个参数

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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintRETURN在枚举数列中为251
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 251,
    "userParamInt": 0,
    "userParamString": ""
}

调用Lua文件 (CALL_LUAFILE)

说明:参数定义好之后,直接上传Lua文件,然后插入调用Lua文件指令,指令运行结束后会把写好的所有参数变量传入和输出。

指令名:CALL_LUAFILE

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCALL_LUAFILE在枚举数列中为218
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
inParaVarDataarray传入参数个数及选择;元素个数[0-12]。元素格式:{"data":0.0,"secondvalue":0,"value":1,"varname":"I001"}
luafileNamestring调用的lua文件
outParaVarDataarray输出参数个数及选择;元素个数[0-12]。元素格式:{"data":0.0,"secondvalue":0,"value":1,"varname":"I001"}
textEditTypebool文本编译类型;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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintIF在枚举数列中为9
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
ifconditionArrayFINALobject表示if判断;{}内的为if判断的数据

ifconditionArrayFINAL 结构

参数名类型说明
conditionGrouparray元素个数表示有多少个判断
logicarrayif判断与if判断之间的关系,按数组内元素顺序;1:或,0:与
logicGrouparrayconditionGroup节点的元素的判断条件;1:或,0:与,null表示该层没有判断

conditionGroup 元素结构

参数名类型说明
logicTypeintif判断条件比较方式;1:==,2:<,3:>,4:<=,5:>=,6:!=
paraGroupOneobject变量1,格式:{"data":0.0,"secondvalue":0,"value":1,"varname":"I002"}
paraGroupTwoobject变量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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintEND IF在枚举数列中为12
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 12,
    "userParamInt": 0,
    "userParamString": ""
}

否则如果 (ELSE IF)

指令名:ELSE IF

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintELSE IF在枚举数列中为11
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
ifconditionArrayFINALobject表示if判断;{}内的为if判断的数据

ifconditionArrayFINAL 结构

参数名类型说明
conditionGrouparray元素个数表示有多少个并列判断,元素的数组内的元素为并列判断
logicarrayif判断与if判断之间的关系,按数组内元素顺序;1:或,0:与
logicGrouparrayconditionGroup节点的元素的判断条件;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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintELSE在枚举数列中为10
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 10,
    "userParamInt": 0,
    "userParamString": ""
}

等待 (WAIT)

说明:条件成立之前程序处于等待状态,条件成立后继续执行等待指令后面的指令。

指令名:WAIT

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintWAIT在枚举数列中为8
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
m_filterTimedouble滤波时间,输入信号需满足的时间;[0,9999]s。滤波时间要小于等待时间
paraTimeobject等待时间;double类型;[0.01,9999]s
para_wait_result_object等待结果,满足条件为true;bool类型
waitConditionFinalobject{}内为参与判断的条件和变量
wait_value_check_bool是否接受结果;true:存在"para_wait_result_"节点,false:不存在

waitConditionFinal 结构

参数名类型说明
conditionGrouparray元素个数表示有多少个并列判断,元素的数组内的元素为并列判断
logicarrayif判断与if判断之间的关系,按数组内元素顺序;1:或,0:与
logicGrouparrayconditionGroup节点的元素的判断条件;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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintWHILE在枚举数列中为13
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
whileconditionArrayFINALobject表示while判断;{}内的为while判断的数据

whileconditionArrayFINAL 结构

参数名类型说明
conditionGrouparray元素个数表示有多少个并列判断,元素的数组内的元素为并列判断
logicarraywhile判断与while判断之间的关系,按数组内元素顺序;1:或,0:与
logicGrouparrayconditionGroup节点的元素的判断条件;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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintENDWHILE在枚举数列中为14
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 14,
    "userParamInt": 0,
    "userParamString": ""
}

LABEL 标签 (LABEL)

说明:指定跳转目标行的标签。同一程序无法插入两条标签名相同的标签指令。标签指令不支持上移、下移操作。

指令名:LABEL

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintLABEL在枚举数列中为51
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
labelstring标签名;格式:[$......$]

示例

json
{
    "logout": false,
    "type": 51,
    "userParamInt": 0,
    "userParamString": "",
    "label": "[$EAFF$]"
}

JUMP 跳转 (JUMP)

说明:跳转至指定标签号的指令行。判断条件成立则跳转到LABEL指令行,若判断条件不成立则忽略JUMP指令,继续运行JUMP指令的下一行指令。JUMP指令必须与LABEL(标签)指令配合使用。JUMP指令不可跨程序跳转。例如主程序里面插入LABEL [$Q1$]指令,在子程序插入JUMP [$Q1$]指令,程序运行会报错。

指令名:JUMP

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintJUMP在枚举数列中为52
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
jumpConditionobject表示if判断;{}内的为if判断的数据
jumpConditionFlagbool是否使用判断条件;true:使用,false:不使用
labelstring标签名;格式:[$......$]

jumpCondition 结构

参数名类型说明
conditionGrouparray元素个数表示有多少个并列判断,元素的数组内的元素为并列判断
logicarrayif判断与if判断之间的关系,按数组内元素顺序;1:或,0:与
logicGrouparrayconditionGroup节点的元素的判断条件;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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintUNTIL在枚举数列中为87
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
untilconditionArrayFINALobject{}内的为判断的数据

untilconditionArrayFINAL 结构

参数名类型说明
conditionGrouparray元素个数表示有多少个并列判断,元素的数组内的元素为并列判断
logicarrayif判断与if判断之间的关系,按数组内元素顺序;1:或,0:与
logicGrouparrayconditionGroup节点的元素的判断条件;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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintENDUNTIL在枚举数列中为88
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 88,
    "userParamInt": 0,
    "userParamString": ""
}

工艺跳行 (CRAFTLINE)

说明:只用于专用工艺,程序中插入该指令设置对应行数,在专用工艺界面运行程序时会先跳转到对应的行数。

指令名:CRAFTLINE

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCRAFTLINE在枚举数列中为89
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
lineint专用工艺界面中对应的指令行数;[1,999]

示例

json
{
    "logout": false,
    "type": 89,
    "userParamInt": 0,
    "userParamString": "",
    "line": 3
}

指令注释 (CMDNOTE)

说明:专用工艺指令,程序中运行该指令后,在专用工艺界面会跳转到对应的行数。

指令名:CMDNOTE

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCMDNOTE在枚举数列中为127
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
notestring注释内容;格式:##.......$$

示例

json
{
    "logout": false,
    "type": 127,
    "userParamInt": 0,
    "userParamString": "",
    "note": "##ADSDDD$$"
}

到达判断 (POS_REACHABLE)

说明:判断目标点是否能到达,点位能够到达选择的状态存入的变量置1,不能到达置0。

指令名:POS_REACHABLE

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintPOS_REACHABLE在枚举数列中为133
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
moveTypeint运动类型;0-MOVJ,1-MOVL
positionIdstring位置变量名
_pVarNameobject状态存入变量

示例

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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCLKSTART在枚举数列中为128
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
IDint计时序号;[1,32]
_pVarNameobject存入变量

示例

json
{
    "logout": false,
    "type": 128,
    "userParamInt": 0,
    "userParamString": "",
    "ID": 5,
    "_pVarName": {
        "data": 0.0,
        "secondvalue": 0,
        "value": 2,
        "varname": "D001"
    }
}

计时停止 (CLKSTOP)

指令名:CLKSTOP

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCLKSTOP在枚举数列中为129
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
IDint计时序号;[1,32]

示例

json
{
    "logout": false,
    "type": 129,
    "userParamInt": 0,
    "userParamString": "",
    "ID": 5
}

计时复位 (CLKRESET)

指令名:CLKRESET

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCLKRESET在枚举数列中为130
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
IDint计时序号;[1,32]

示例

json
{
    "logout": false,
    "type": 130,
    "userParamInt": 0,
    "userParamString": "",
    "ID": 5
}

读取线速度 (READLINEAR / STOPREADLINEAR)

说明:机器人运行的时候实时读取机器人线速度,将读取到的速度存入到变量。插入读取线速度指令时会同时插入读取线速度停止,如果要删除读取线速度指令请将对应线速度停止指令删除,否则程序会报错。

读取线速度 (READLINEAR)

指令名:READLINEAR

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintREADLINEAR在枚举数列中为146
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
_pVarNameobject变量;int类型或double类型

示例

json
{
    "logout": false,
    "type": 146,
    "userParamInt": 0,
    "userParamString": "",
    "_pVarName": {
        "data": 0.0,
        "secondvalue": 0,
        "value": 4,
        "varname": "GI003"
    }
}

停止读取线速度 (STOPREADLINEAR)

指令名:STOPREADLINEAR

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintSTOPREADLINEAR在枚举数列中为147
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 147,
    "userParamInt": 0,
    "userParamString": ""
}

调用Lua语句 (CALL_LUASTRING)

说明:通过调用Lua语句来实现相应的功能或操作。

指令名:CALL_LUASTRING

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCALL_LUASTRING在枚举数列中为230
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
textEditTypebool文本编译类型;true:文本类型,false:语句类型
variableobjectlua语句变量

示例

json
{
    "logout": false,
    "type": 230,
    "userParamInt": 0,
    "userParamString": "",
    "textEditType": false,
    "variable": {
        "data": 0.0,
        "secondvalue": 0,
        "value": 8,
        "varname": "S001"
    }
}

参数声明 (PARAM_DECLARATION)

说明:声明要输入或者输出的参数,输入参数将被子程序接收并使用,输出参数将返回给主程序使用。

指令名:PARAM_DECLARATION

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintPARAM_DECLARATION在枚举数列中为237
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
declareInParaVarDataarray输入参数变量;元素个数为输入参数个数;参数个数[0,12]
declareInParaVarValuesarray输入参数默认值;元素个数为输入参数个数;参数个数[0,12]
declareInParaVarnotearray输入参数注释;元素个数为输入参数个数;参数个数[0,12]
declareOutParaVarDataarray输出参数值;元素个数为输出参数个数;参数个数[0,12]
declareOutParaVarnotearray输出参数注释;元素个数为输出参数个数;参数个数[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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintWAIT_POS在枚举数列中为238
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
accurarydouble精度;[0.0001,0.1]度/秒
waitTypeint等待类型;0:位置,1:速度
maxTimeint最大等待时间;[20,20000]
minTimeint最小等待时间;[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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintDETECTCOLLISION_SET在枚举数列中为243
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
axis_1_double1轴;[1,10000]
axis_2_double2轴;[1,10000]
axis_3_double3轴;[1,10000]
axis_4_double4轴;[1,10000]
axis_5_double5轴;[1,10000]
axis_6_double6轴;[1,10000]
axis_7_double7轴;[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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintDETECTCOLLISION_RESET在枚举数列中为244
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 244,
    "userParamInt": 0,
    "userParamString": ""
}

Switch 条件分支 (Switch / Case / Default / EndSwitch)

说明:当SWITCH的参数值与某个CASE值匹配,则会跳到对应的CASE语句块中执行相应的指令,执行完该语句块则会跳出SWITCH;若SWITCH的参数值不与任何一个CASE匹配则运行DEFAULT语句。

Switch (Switch)

指令名:Switch

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintSwitch在枚举数列中为247
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
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

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintCase在枚举数列中为248
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义
switch_caseintcase的值

示例

json
{
    "logout": false,
    "type": 248,
    "userParamInt": 0,
    "userParamString": "",
    "switch_case": 22
}

Default (Default)

指令名:Default

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintDefault在枚举数列中为249
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 249,
    "userParamInt": 0,
    "userParamString": ""
}

EndSwitch (EndSwitch)

指令名:EndSwitch

参数名类型必填说明
logoutbool是否被注释;true:在作业文件中将不执行该指令;false:未被注释,可执行
typeintEndSwitch在枚举数列中为250
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
    "logout": false,
    "type": 250,
    "userParamInt": 0,
    "userParamString": ""
}