跳到主要内容

设备资源调度

概述

设备资源调度是通过提供可视化的方式,使用JavaScript语言编写产线各设备之间的柔性调度逻辑,不再需要额外配备PLC或上位机。可支持150ms以上实时性要求的调度。

设备1
设备1
Janus数据定义
Janus数据定义
触发规则
触发规则
数据下发处理
数据下发处理
设备1数据
设备1数据
下发至设备2数据
下发至设备2数据
上传数据
上传数据
下发指令
下发指令
设备2
设备2
上传数据
上传数据
下发指令
下发指令
产线自动化规则1
产线自动化规则1
触发规则
触发规则
数据下发处理
数据下发处理
设备N数据
设备N数据
下发至设备N+1数据
下发至设备N+1数据
产线自动化规则N
产线自动化规则N
设备N
设备N
上传数据
上传数据
下发指令
下发指令
设备N+1
设备N+1
上传数据
上传数据
下发指令
下发指令
Viewer does not support full SVG 1.1

操作步骤

新建自动化化规则

登录Janus边缘计算平台,点击左侧菜单栏 设备资源调度 - 自动化规则,进入自动化规则页面。

点击右上角 新增规则 ,进入自动化规则编辑页。

点击“产线自动化”应用,在自动化规则页面点击“新建规则”,进入产线自动化编辑页面。

基础信息

进入编辑页面,在 基础信息 标签页中填写自动化规则的基础信息。

  • 名称:填写描述该自动化规则的名称(必填);
  • 备注:填写描述该规则的备注信息(选填);
  • 启用:若勾选,则在点击 保存 时,启用该自动化规则。

设备范围

进入编辑页面,在 设备范围 标签页中配置本次产线自动化规则涉及到的设备,并给设备设置别名,用于在后面规则编写。

  1. 在设备一列中点击 ⚙按钮 在设备一行中点击 选择此设备 ;
  2. 不允许其他规则使用:若勾选,则该设备仅可通过本自动化规则执行设备资源调度;
  3. 设置别名:设置一个别名,用于在后续规则设置及代码中用别名代称该设备;
  4. 点击 同步 按钮,可替换当前规则中的原有名称,比如替换规则及触发条件、执行下发代码中的设备别名。

添加规则

进入编辑页面,在 规则 标签页中编写调度逻辑。

点击 添加规则 ,在对话窗口中输入规则名称,点击 确认 即可新建一条规则。

完成创建后,可对该创建的规则编写调度逻辑。

  • 触发规则:可选 数据驱动定时下发
    • 若选择数据驱动,则需设定 相关设备 数据驱动的数据范围;
    • 若选择定时下发,则需设定 定时下发 的时间周期。
  • 触发方式:可选 满足条件即触发仅结果变更时触发
    • 满足条件即触发:当设备上传的数据满足触发条件,则根据设定的触发次数执行若干次执行代码;
    • 仅结果变更时触发:根据触发条件返回结果判断是否执行触发,当触发判断结果从false变为true时,执行一次执行代码;
  • 触发条件:点击编辑按钮,可进入触发条件代码编辑窗口,编写调度成立的条件;
  • 执行代码:点击编辑按钮,可进入执行代码编辑窗口,编写调度成立时需要传输的内容;
  • 规则名称:编辑该规则名称;
  • 是否启用:控制该规则的 启用/关闭 状态。

触发条件示例

if ($CNC$ ['FeedSign']) { // $CNC$为设备别称,FeedSign为该设备某个布尔值数据栏位
return true;
}
return false; // 触发条件需最终输出一个true或false

执行代码示例

if (root["$mqtt$"]["LeftStart"] == 1) {
var params = {};
params["deviceID"] = "CNC001";
params["operation"] = "LeftStart";
}

if (root["$mqtt$"]["LeftEnd"] == 1) {
var params = {};
params["deviceID"] = "CNC001";
params["operation"] = "LeftEnd";
params["successPieces"] = root["$mqtt$"]["successPieces"];
params["failedPieces"] = root["$mqtt$"]["failedPieces"];
params["totalPieces"] = root["$mqtt$"]["totalPieces"];
}

运行日志

代码编写完毕后,若相关联设备上传数据,触发对应的产线自动化,在运行日志可查看执行情况,确认规则是否触发。