Skip to content

基础控制例程 3:报警指示(常亮 / 慢闪 / 快闪) ​

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

场景:超限、故障要在面板上有明显提示。写 L 可编程灯最简单——一个赋值就能让它自己闪,不用搭定时器。

软元件

软元件作用
D100实测温度
L0面板指示灯(0 灭 / 1 亮 / 2 慢闪 1Hz / 3 快闪 5Hz)

块图(照着拖即可)

例程 3:报警指示(常亮 / 慢闪 / 快闪) 的块图

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

json
{
  "version": 1,
  "name": "分级报警指示",
  "scan_ms": 200,
  "lines": [
    {
      "op": "if",
      "cond": {
        "op": "cmp",
        "cmp": ">=",
        "args": [{"op":"ref","device":"D","addr":100},{"op":"const","value":80}]
      },
      "then": [
        {
          "op": "assign",
          "target": {"op":"ref","device":"L","addr":0},
          "expr": {"op":"const","value":2}
        }
      ],
      "else": [
        {
          "op": "assign",
          "target": {"op":"ref","device":"L","addr":0},
          "expr": {"op":"const","value":0}
        }
      ],
      "elseif": [
        {
          "cond": {
            "op": "cmp",
            "cmp": ">=",
            "args": [{"op":"ref","device":"D","addr":100},{"op":"const","value":60}]
          },
          "then": [
            {
              "op": "assign",
              "target": {"op":"ref","device":"L","addr":0},
              "expr": {"op":"const","value":1}
            }
          ]
        }
      ]
    }
  ]
}

要点

  • L 是可编程灯,地址和 Y 相同(八进制编号),写 2 / 3 就自己按 1Hz / 5Hz 闪。
  • 分级指示用「否则如果」串起来,条件从严格到宽松排列:先 80 再 60,顺序反了永远轮不到 80 那一档。
  • 定时器块是有状态块(要唯一实例标识),能用 L 灯解决的就别占用定时器名额。

验证:D100 写 50 → L0 = 0;写 70 → L0 = 1(常亮);写 90 → L0 = 2(每秒闪一次)。

注意事项

  • L 和 Y 是同一批地址:同一个点既写 Y0 又写 L0,两边互相顶,行为不可预期。一个点只选一种写法。
  • 只有两档频率(1Hz / 5Hz),做不到 0.5Hz 这种自定义频率——那种需求用定时器「脉冲输出」。
  • 「否则如果」最多 3 个,不够就拆成多段平铺的「如果」。

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