C.1 HTTP API

  • BASEURL: /api

C.1.1 用户

C.1.1.1 登录

项目 描述
URL /user/login
Method POST
Code 200 OK
493 密码错误
  • 请求参数
{
    "password":"password",
    "username":"admin"
}
  • 返回示例
{
    "token":"12599b49f6ab6b3abec7d32b3922e9d9"
}

C.1.1.2 登出

项目 描述
URL /user/login
Method DELETE
Code 204 NOCONTENT

C.1.1.3 INFO

项目 描述
URL /user/info
Method GET
Code 200 OK
  • 返回示例
{
    "fingerprint": "3f7d0134a560d0393008b984fef2b936",
    "hardware": "DEVDEVICE",
    "id": 2,
    "lisence": {
        "count": {
            "all": 11
        },
        "exp": 4100688000,
        "fingerprint": "3f7d0134a560d0393008b984fef2b936",
        "vpn": false
    },
    "role": 2,
    "software": "2.0.20220509",
    "username": "admin"
}

C.1.1.4 修改密码

项目 描述
URL /user/change_password
Method GET
Code 204 NOCONTENT
493 密码错误
  • 请求参数
{
    "password":"password",
    "new_password":"new_password"
}

C.1.2 设备

C.1.2.1 设备列表

项目 描述
URL /device
Method GET
Code 200 OK
  • 返回示例
[
    {
        "calc": "function calc(value)\n    for i, v in ipairs(value.cnc_alarm) do\n        value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n        value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n        value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n    end\n    value.cnc_alarm = nil\n    return value\nend",
        "config": {
            "host": "192.168.9.207",
            "port": 8193
        },
        "enable": true,
        "id": 1,
        "interval": 20,
        "model": "default",
        "name": "D001",
        "state": 0,
        "type": "fanuc"
    }
]

C.1.2.2 新增设备

项目 描述
URL /device
Method POST
Code 200 OK
  • 请求参数
{
    "calc": "function calc(value)\n    for i, v in ipairs(value.cnc_alarm) do\n        value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n        value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n        value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n    end\n    value.cnc_alarm = nil\n    return value\nend",
    "config": {
        "host": "192.168.9.207",
        "port": 8193
    },
    "enable": true,
    "interval": 20,
    "model": "default",
    "name": "D001",
    "state": 0,
    "type": "fanuc"
}
  • 返回示例
{
    "calc": "function calc(value)\n    for i, v in ipairs(value.cnc_alarm) do\n        value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n        value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n        value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n    end\n    value.cnc_alarm = nil\n    return value\nend",
    "config": {
        "host": "192.168.9.207",
        "port": 8193
    },
    "enable": true,
    "id": 1,
    "interval": 20,
    "model": "default",
    "name": "D001",
    "state": 0,
    "type": "fanuc"
}

C.1.2.3 获取设备

项目 描述
URL /device/<id>
Method GET
Code 200 OK
  • 返回示例
{
    "calc": "function calc(value)\n    for i, v in ipairs(value.cnc_alarm) do\n        value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n        value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n        value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n    end\n    value.cnc_alarm = nil\n    return value\nend",
    "config": {
        "host": "192.168.9.207",
        "port": 8193
    },
    "enable": true,
    "id": 1,
    "interval": 20,
    "model": "default",
    "name": "D001",
    "type": "fanuc",
    "variables": [
        {
            "calc": "",
            "config": {
                "builtin": true
            },
            "id": 8,
            "name": "cnc_type",
            "readable": true,
            "writable": false
        }
    ]
}

C.1.2.4 修改设备

项目 描述
URL /device/<id>
Method PUT
Code 200 OK
  • 请求参数
{
    "calc": "function calc(value)\n    for i, v in ipairs(value.cnc_alarm) do\n        value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n        value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n        value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n    end\n    value.cnc_alarm = nil\n    return value\nend",
    "config": {
        "host": "192.168.9.207",
        "port": 8193
    },
    "enable": true,
    "id": 1,
    "interval": 20,
    "model": "default",
    "name": "D001",
    "type": "fanuc",
    "variables": [
        {
            "calc": "",
            "config": {
                "builtin": true
            },
            "id": 8,
            "name": "cnc_type",
            "readable": true,
            "writable": false
        }
    ]
}
  • 返回示例
{
    "calc": "function calc(value)\n    for i, v in ipairs(value.cnc_alarm) do\n        value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n        value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n        value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n    end\n    value.cnc_alarm = nil\n    return value\nend",
    "config": {
        "host": "192.168.9.207",
        "port": 8193
    },
    "enable": true,
    "id": 1,
    "interval": 20,
    "model": "default",
    "name": "D001",
    "type": "fanuc",
    "variables": [
        {
            "calc": "",
            "config": {
                "builtin": true
            },
            "id": 8,
            "name": "cnc_type",
            "readable": true,
            "writable": false
        }
    ]
}

C.1.2.5 删除设备

项目 描述
URL /device/<id>
Method DELETE
Code 204 NOCONTENT

C.1.2.6 获取设备数据OBJECT

项目 描述
URL /device/<id>/info
Query type :
before_item_calc 变量计算前
before_device_calc 设备计算前
边缘计算最终结果
Method GET
Code 200 OK
  • 返回示例
{
    "cnc_type": {
        "id": 8,
        "ts": 1652085617619,
        "value": "FANUC 0i MF"
    },
    "cnc_actfspeed": {
        "id": 27,
        "ts": 1652085617763,
        "value": 0
    },
}

C.1.2.7 获取设备数据LIST

项目 描述
URL /device/<id>/info_array
Query type :
before_item_calc 变量计算前
before_device_calc 设备计算前
边缘计算最终结果
Method GET
Code 200 OK
  • 返回示例
[
    {
        "id": 20,
        "name": "cnc_tooloffsetnum",
        "ts": 1652085597698,
        "value": 0
    },
    {
        "id": 8,
        "name": "cnc_type",
        "ts": 1652085597615,
        "value": "FANUC 0i MF"
    }
]

C.1.2.8 检查设备故障

项目 描述
URL /device/<id>/check_health
Method GET
Code 200 OK
  • 返回示例
[
    {
        "code": 90200,
        "important": false,
        "name": "机床已启用",
        "state": 0
    },
    {
        "code": 40000,
        "important": false,
        "name": "证书正常",
        "state": 0
    },
    {
        "code": 10000,
        "important": false,
        "name": "机床连接成功",
        "state": 0
    }
]

C.1.2.9 获取设备变量

项目 描述
URL /device/<id>/variable
Method GET
Code 200 OK
  • 返回示例
[
    {
        "calc": "",
        "config": {
            "builtin": true
        },
        "id": 34,
        "name": "cnc_stemper",
        "readable": true,
        "writable": false
    }
]

C.1.2.10 添加设备变量

项目 描述
URL /device/<id>/variable
Method POST
Code 200 OK
  • 请求参数
{
    "calc": "",
    "config": {
        "builtin": true
    },
    "name": "cnc_stemper",
    "readable": true,
    "writable": false
}
  • 返回示例
{
    "calc": "",
    "config": {
        "builtin": true
    },
    "id": 34,
    "name": "cnc_stemper",
    "readable": true,
    "writable": false
}

C.1.2.11 修改变量

项目 描述
URL /variable/<id>
Method PUT
Code 200 OK
  • 请求参数
{
    "calc": "",
    "config": {
        "builtin": true
    },
    "name": "cnc_stemper",
    "readable": true,
    "writable": false
}
  • 返回示例
{
    "calc": "",
    "config": {
        "builtin": true
    },
    "id": 34,
    "name": "cnc_stemper",
    "readable": true,
    "writable": false
}

C.1.2.12 获取变量

项目 描述
URL /variable/<id>
Method GET
Code 200 OK
  • 返回示例
{
    "calc": "",
    "config": {
        "builtin": true
    },
    "id": 34,
    "name": "cnc_stemper",
    "readable": true,
    "writable": false
}

C.1.2.13 删除变量

项目 描述
URL /variable/<id>
Method DELETE
Code 204 NOCONTENT

C.1.2.14 获取变量值

项目 描述
URL /variable/<id>/value
Method GET
Code 200 OK
  • 返回示例
{
    "ts": 1652086215825,
    "value": 0
}

C.1.2.15 写入变量值

项目 描述
URL /variable/<id>/value
Method PUT
Code 204 NOTCONTENT
  • value内容为json dump后的结果,比如 数字”1”,布尔”true”,字符串”"aaaa"”

  • 返回示例

{
    "value": "1"
}

C.1.2.16 设备边缘计算测试

项目 描述
URL /device/<id>/edge_test
Method PUT
Code 204 NOTCONTENT
  • 请求参数
{
    "current": {
        "cnc_alarm": [
            {
                "alarm_no": 1,
                "alarm_type": "T01",
                "alarm_msg": "待机中"
            },
            {
                "alarm_no": 204,
                "alarm_type": "XXX",
                "alarm_msg": "急停"
            }
        ]
    },
    "last": "",
    "calc": "function calc(value)\n    for i, v in ipairs(value.cnc_alarm) do\n        value['cnc_alarm_' .. i .. '_msg'] = v.alarm_msg\n        value['cnc_alarm_' .. i .. '_no'] = v.alarm_no\n        value['cnc_alarm_' .. i .. '_type'] = v.alarm_type\n    end\n    value.cnc_alarm = nil\n    return value\nend"
}
  • 返回示例

#### 变量边缘计算测试

| 项目 | 描述 |
| :- | :- |
| URL  | `/variable/<id>/edge_test` |
| Method  | `PUT` |
| Code  | `204 NOTCONTENT` |

* 请求参数

```json
{
    "current": "abc",
    "last": "def",
    "calc": "function calc(current,last)\n    current=current .. \"imok\"\n    return current\nend"
}
  • 返回示例
{
    "result": "abcimok"
}

}


#### 变量边缘计算测试

| 项目 | 描述 |
| :- | :- |
| URL  | `/variable/<id>/edge_test` |
| Method  | `PUT` |
| Code  | `204 NOTCONTENT` |

* 请求参数

```json
{
    "current": "abc",
    "last": "def",
    "calc": "function calc(current,last)\n    current=current .. \"imok\"\n    return current\nend"
}
  • 返回示例
{
    "result": "abcimok"
}