```
LD W#12000 //将十进制值 12000 载入中间寄存器
TIM M1000 //将中间寄存器的值(单位为 ms)载入定时器 M1000
```
上面的代码中,“W#12000” 表示将 120 分钟转换为毫秒,并将值保存在中间寄存器中;“M1000” 是一个可编程的计时器寄存器号。
此外,为了保证定时器能够正确执行,在程序中需要定期读取定时器寄存器的值,以判断是否达到计时时间。
下面是一个完整的弊销搏 PLC 程序代码示例,用于实现 120 分钟定时功能:
```
LD W#12000 //将十进制值 12000 载入 W10 中间寄存器
TIM M1000 //将中间寄存器的值(单位为 ms)载入定时器 M1000
:LOOP //循环开始
TPL M1000 //读取定时器 M1000 的累加值
JMP NZ, LOOP//如果累加值不为零,则继续等待
... //定时时间到达后要执行的 *** 作
CLR M1000 //清除定时器 M1000 中的累加值
```
在以上的代码中,“TPL” 指令用于读取定时器 M1000 的累加值,如果累加值不为零,则代表定时时间还未到,继续等待;否则,即达到了定时时间,就会斗悉执行代码中“...”处的 *** 作。最后,“CLR” 指令用来清除定时器中的累加值,以备下一次使用。
希望这个简单的程序对您有所帮助。请注意,这里只是提供了一种可能的实现方法,具体实现需要根据实际情况进行调整和优化。同时,PLC 编程需要非常注意安全性,确保程序稳定性和安全性。
//-------------------// 函数名称: void delay_s(uchar t)
// 函数功能: 利用定时器延时猜晌t秒子程穗兆锋序
//-------------------
delay_s(uchar t)
{
uchar count,a
TMOD=0x10 //定时器1,模式1
TH0=(65536-50000)/猜运256 // 定时为50ms
TL0=(65536-50000)%256
EA=1
ET1=1
TR1=1
while(1)
{
if(a==t)break
}
}
void timer1() interrupt 3 //定时器1
{
TR1=0
TH1=(65536-50000)/256 // 定时为50ms
TL1=(65536-50000)%256
count++
if(count==20)//判断是否到1秒
{
count=0
a++
}
TR1=1
}
三菱PLC,定时器的助记符是T
指令方法
T+常数(如K10
D10)
常用于延时接通,或延时断开,常数单位是毫秒K10表示1秒,D10是数据存放的地址,就是将D10里面基轿存放的数据作为时间常数。
楼上的程序表示:
M8000接通,设定计时器T1,并计时5秒,LD
T1是将T1的常开点写在梯形图母线左端,
5秒后搏孝肆,T1接通,输出Y1线圈,这是延时接通
LD
T1换成LDI
T1,则将T1的常闭点写在梯形图中,程序结果则变成5秒后断开Y1,这是延时断开慎则
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)