信捷 PLC C语言 POU 指示灯交替灭0.5秒亮0.5秒(保持型定时器)

1.在全局变量表中定义2个定时器变量timer_1,timer_2

名称 类型

timer_1 TMR_A_FB False -- False False

timer_2 TMR_A_FB False -- False False

ot2 BOOL False -- False False

ot2表示指示灯

2.新建pou FC(C语言):POU_two_hold_time

3.编写代码

void POU_two_hold_timer()

{

#define SysRegAddr_HD_D_HM_M

if(!ot2)

{

TMR_FB_BODY ( &timer_1 ); //取(定时器)功能快变量的地址给功能块做参数

timer_1.Enable =true;//全局变量给定时器的线圈通电

timer_1.TimeBase = 100;//设定定时器单位

timer_1.Circle = 5; //设定值定时长度

}

else

{

TMR_FB_BODY ( &timer_2 ); //取(定时器)功能快变量的地址给功能块做参数

timer_2.Enable = true;//全局变量给定时器的线圈通电

timer_2.TimeBase = 100;//设定定时器单位

timer_2.Circle = 5; //设定值定时长度

}

if(!ot2 && timer_1.QStatus)

{

TMR_A_RST_FC ( &timer_1 ); //定时器复位,取(定时器)功能快变量的地址给功能做参数

ot2 = true;

}

if(ot2 && timer_2.QStatus)

{

TMR_A_RST_FC ( &timer_2 ); 定时器复位,取(定时器)功能快变量的地址给功能做参数

ot2 = false;

}

}

4.调用pou

相关推荐
玩转C语言和数据结构32 分钟前
C语言编程入门攻略(最新学习路线,适合新手小白)
c语言·c语言入门·c语言下载·c语言知识点总结·c语言自学·c语言教程·c语言怎么学
AI科技星35 分钟前
为什么宇宙无限大?
开发语言·数据结构·经验分享·线性代数·算法
Appreciate(欣赏)1 小时前
JAVA使用poi类读取xlxs文件内容拼接成添加数据SQL
java·开发语言·sql
Bona Sun1 小时前
单片机手搓掌上游戏机(十四)—pico运行fc模拟器之电路连接
c语言·c++·单片机·游戏机
oioihoii1 小时前
性能提升11.4%!C++ Vector的reserve()方法让我大吃一惊
开发语言·c++
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于JAVA的恒星酒店客房管理系统为例,包含答辩的问题和答案
java·开发语言
思密吗喽1 小时前
景区行李寄存管理系统
java·开发语言·spring boot·毕业设计·课程设计
Rust语言中文社区1 小时前
【Rust日报】Dioxus 用起来有趣吗?
开发语言·后端·rust
小灰灰搞电子1 小时前
Rust Slint实现颜色选择器源码分享
开发语言·后端·rust
无限进步_2 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio