[小 迪 导读]:通过物联网平台记录生产工单,节省人力与管理成本:
老式方案 | 智慧工厂 |
---|---|
手动记录,费时费力,信息不可靠容易丢失 | 自动记录,一键查询 |
针对工厂表单整体产品结构如下
首先为对象建立产品,产品名为工厂产品。并将其信息录入通道选择为FACTORY类型通道。
根据结构图建立产品具体表单与物模型。在建立物模型时需明确物模型对应的表单,表单名对应物模型中的设备类型。而物模型的标识符则由{表单名+_+属性标识}结构构成,下图则在product表单下建立一个名为status的字段。
对于非时变数据,也即在每次上报中都存在但值却不会发生变化。选择不存储即可。
数据类型支持多种,建议做法为,时间戳选择长整型、简单字符串选择text类型,针对复杂较长的规范性数据,如产品规格,原材料类型建议使用枚举类型。
针对表单内数据构建完成后需额外为每个表单增加一id物模型,此项用作每条数据的唯一标识,由代码自动生成填写,数据类型选择text,长度为10,存储。如下为product表的id物模型。
完成所有表单建立后,需额外新建一person表单,此表单用于记录操作信息。
token属性用于记录操作者唯一标识。
type属性用于记录操作工单类型。
可根据需要添加额外属性。
物模型构建完成后如下:
数据存入接口为put_amis_device_id接口
参数为id和body两个
id:id为订单的id对应dgiot平台中在杰诺产品下的设备id
body:body中为具体内容
其传参格式(以product表单为例)为:
{ "content":{ "product":{ "cdate":"2022-07-19", "condition":1, "dingdan":"MO000015", "fmater":1, "machine":" 1#机 2#机", "mhour":0, "packspec":"100片/包 8包/箱", "people":" worker", "pnumber":11, "prom":"V7070W-1-300350-100QF-8-1", "prostand":"300X350MM", "rejects":1, "smater":1, "subtime":1658208217024, "ymater":1, "ymodel":"38*25.5*32CM" }, "person":{ "type":"product" } } }
所有信息位于conten字段下,conten下分别有两个字段:product和person。person字段下为物模型中person表单中的字段内容,用于记录操作人员和操作表单、product为需要具体存储的表单数据(其他表单只需替换表单名即可)。
product和person字段下各字段分别对应物模型中各自表单下物模型标识符后半部分,如针对 product_condition,只需在product下为condition字段赋值即可。
根据是否修改可将表单分为修改性表单与非修改性表单。
针对非修改性表单只需将需要存储的数据按照格式调用接口即可。
针对修改性表单,需首先调用查询接口获得需要修改的信息,之后修改内容后调用存储接口存储数据即可。
数据查询结构为factory下get_data接口。
其参数如下:
修改信息需首先查询需要修改的信息,在返回值中将会返回信息的唯一id,在完成修改后需将id传递给存储结构,用于标记同一条信息。
通过设置查询接口new为true可以实现查询最新记录,其他则会返回所有历史记录。
[小 迪 点评]
想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。