信捷 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

相关推荐
坤坤子吖7 小时前
Python基础语法学习:条件、循环与程序控制
开发语言·笔记·python·学习
吠品7 小时前
volatile到底在拦什么:SysTick->VAL读的哪格
java·服务器·开发语言
|_⊙7 小时前
理清字节序
c语言
狼与自由7 小时前
python打包
开发语言·python
进击的雷神7 小时前
OpenClaw 太重、启动太慢?我试了试这个 Rust 重写的轻量版 AI 助手网关
开发语言·人工智能·rust·zeroclaw
辛苦才能7 小时前
C++ 红黑树(上):五条规则背后的近似平衡与插入的三类情况
开发语言·c++
Είναι η κοπέλα7 小时前
Python 虚拟环境:venv、conda 与 Python 版本选择全解
开发语言·python·conda
程序员老陆7 小时前
嵌入式 Qt:QWidgets 还是 QML / Qt Quick?
开发语言·qt
.道阻且长.7 小时前
C++11 :新的类功能,lambda,包装器
开发语言·c++·后端
言乐67 小时前
JavaScript概括前端原理
开发语言·前端·javascript·python·ecmascript