Skip to content

时序与定时例程 5:按时段自动启停(系统时钟) ​

这一页只讲这一个例程。母页 b-02-timing 里留着例程 1,其余例程各自一页、在那一页的目录里点。

场景:设备只在上班时间运行,下班和周末自动停。「系统时钟」块取设备当前时间参与判断。

软元件

软元件作用
系统时钟·时当前小时 0~23
系统时钟·周周日 = 1 … 周六 = 7
Y0设备

块图(照着拖即可)

例程 5:按时段自动启停(系统时钟) 的块图

对应的 ddc.json(点「生成 JSON」得到的就是它;也可存成 .ddc.json 导入)

json
{
  "version": 1,
  "name": "时段启停",
  "scan_ms": 200,
  "lines": [
    {
      "op": "if",
      "cond": {
        "op": "and",
        "args": [
          {
            "op": "and",
            "args": [
              {
                "op": "cmp",
                "cmp": ">=",
                "args": [{"op":"clock","part":"week"},{"op":"const","value":2}]
              },
              {
                "op": "cmp",
                "cmp": "<=",
                "args": [{"op":"clock","part":"week"},{"op":"const","value":6}]
              }
            ]
          },
          {
            "op": "and",
            "args": [
              {
                "op": "cmp",
                "cmp": ">=",
                "args": [{"op":"clock","part":"hour"},{"op":"const","value":8}]
              },
              {
                "op": "cmp",
                "cmp": "<",
                "args": [{"op":"clock","part":"hour"},{"op":"const","value":18}]
              }
            ]
          }
        ]
      },
      "then": [
        {
          "op": "assign",
          "target": {"op":"ref","device":"Y","addr":0},
          "expr": {"op":"const","value":1}
        }
      ],
      "else": [
        {
          "op": "assign",
          "target": {"op":"ref","device":"Y","addr":0},
          "expr": {"op":"const","value":0}
        }
      ]
    }
  ]
}

要点

  • 「系统时钟」可取年、月、日、时、分、秒、周(周日 = 1),取出来就是一个数,直接参与比较。
  • 时段判断的本质是"时"和"周"两个条件的与/或组合。跨零点必须改成或(22:00~06:00 写成 时 ≥ 22 或 时 < 6)。
  • 需要精确到分钟(8:30 开机)时写成 时 > 8 或 (时 = 8 且 分 ≥ 30)。

验证:设备时间设成周二 9:00 → Y0 = 1;设成 20:00 → Y0 = 0;设成周日(周 = 1)9:00 → Y0 = 0。

注意事项

  • 时钟不准,时段全错:设备 RTC 靠电池/网络校时,时间不对时整个时段逻辑失效,先核对设备时间。
  • 跨零点写成"与"(时 ≥ 22 且 时 < 6):永远不成立,设备再也不会开。
  • 只判断小时不判断周:周末也在跑。

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研