Skip to content

定时器(接通/断开延时/脉冲) ​

定时器(接通/断开延时/脉冲)(类型名 ddc_timer):接通延时:输入为1持续Ti秒后输出1。断开延时:输入变0持续Ti秒后输出0。脉冲:输入上升沿后输出1持续Ti秒。时间设置引脚接表达式可动态改 Ti,未接用默认值。每个块是独立实例。

这块是什么 ​

  • 编辑器里的名字:定时器(接通/断开延时/脉冲)
  • 类型名:ddc_timer(写在程序文件 ddc.json 里的身份,AI 生成或改逻辑时按它对名,别猜中文名)
  • 分类:逻辑(判断与运算)
  • 形态:值块
  • 状态:有状态

接通延时:输入为1持续Ti秒后输出1。断开延时:输入变0持续Ti秒后输出0。脉冲:输入上升沿后输出1持续Ti秒。时间设置引脚接表达式可动态改 Ti,未接用默认值。每个块是独立实例。

块面长什么样 ​

定时器(接通/断开延时/脉冲)在逻辑编程编辑器里的样子

图上这一颗就是刚把它从工具箱拖到画布时的样子:下拉框和输入框里是默认值,凹口(←形的那个孔)是要接值的地方,右边凸起是能被别人接的输出口。

块面参数(在块上直接填/选) ​

  • MODE:接通延时=on / 断开延时=off / 脉冲输出=pulse
  • TI:数 5(0.1~86400)

等号后面那串(如 =year)是画布上不显示、但程序文件里必须照抄的值(写出来是 "part": "year");没有等号的选项,界面上看到的和文件里填的是同一串。

连线端子(从别的块接进来) ​

  • 输出 Number
  • 端子 IN、TI_IN

下发到设备变成什么 ​

  • 生成 ddc.json 的操作(op):timer

状态什么时候没

这个块跨扫描周期记住东西(上一轮的电平、计时到几秒),所以每个块都是独立实例,复制一块互不影响。实例在程序里靠一个**实例标识(id)**认领:同一个程序内不能重复,也不能为空 —— 校验会报「有状态块实例标识重复」或「块缺少实例标识(id),有状态块必须能跨周期保存状态」。重新下发程序或设备重新上电后,状态全部回到初始值 —— 见 3.1 下发与设备端运行。

手册里其它相关位置 ​

三种工作模式 ​

模式行为典型用途
接通延时输入为真并持续满设定时间后,输出才变真;中途断开重新计时风机先开,30 秒后再允许压缩机启动
断开延时输入变真时输出立即为真;输入断开后再等设定时间输出才变假人走灯延迟熄灭、停机后风扇延时冷却
脉冲输出输入为真期间,输出按设定时间输出一个定时脉冲定时排气、按固定时长动作

定时器三种模式时序图

时间怎么给 ​

  • 时间设置单位秒,默认 5 秒,范围 0.1~86400(一整天)
  • 时间也可以接动态输入 —— 把 TI_IN 端子接上(比如接一个 D 寄存器),运行中改寄存器就能改定时时间, 不用重新下发程序;不接就用块上填的默认值

一个组合示例 ​

「按一下启动按钮,风机延时 10 秒启动,按停止立即停」:

应用逻辑主循环
 └─ 赋值 D300 ← 脉冲触发(M0 上升沿)     ← 启动请求(只记一下)
 └─ 启停控制
     ├─ 启动 ← D300
     ├─ 停止 ← M1(停止按钮)
     └─ 输出 → 定时器(接通延时 10s) → D200

(另见 脉冲触发、启停控制。)

这一块记的是「计到几秒了」 ​

重启或重新下发后计时从零开始(实例标识与状态复位的通用规矩,见本页上方的「状态什么时候没」)。 需要跨断电累计时间的场合用累计时间,它有保持寄存器。

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