1、#include <reg52.h>
2、#define uchar unsigned char
3、#define uint unsigned int
4、sbit LED = P0^0uchar T_Count = 0void main(){TMOD = 0x01TH0 = (65535-50000)/256TL0 = (65535-50000)%256IE = 0x82TR0 = 1while(1)}
5、void LED_Flash() interrupt 1{TH0 = (65535-50000)/256TL0 = (65535-50000)%256if(++T_Count == 20){LED = !LEDT_Count = 0}}
6、这个程序是1秒钟LED灯会亮与灭显示。
1单片机,拥有两个定时器,用来中断计数,分别是T0和T1。而52单片机和51单片机的定时器是一样的,只是52比51多了一个定时器/计数器T2,它们的设置都大同小异。
三菱plc FX系列的定时器为通电延时定时器,其工作原理是:定时器线圈通电后,开始延时,待定时时间到,触点动作在定时器的线圈断电时,定时器的触点瞬间复位。
但是在实际应用中,我们常遇到如断电延时、限时控制、长延时等控制要求,这些都可以通过程序设计来实现。
0
1
通电延时控制
延时接通控制程序如图3-27所示。它所实现的控制功能是,X1接通5、后,Y0才有输出。
工作原理分析如下:
当X1为0N状态时,辅助继电器M0的线圈接通,其常开触点闭合自锁,可以使定时器T0的线圈一直保持得电状态。
T0的线圈接通5s后,T0的当前值与设定值相等,T0的常开触点闭合,输出继电器Y0的线圈接通。
当X2为ON状态时,辅助继电器M0的线圈断开,定时器T0被复位,T0的常开触点断开,使输出继电器Y0的线圈断开。
0
2
断电延时控制
延时断开控制程序如图3-28所示。它所实现的控制功能是,输入信号断开l0s后,输出才停止工作。
工作原理分析如下:
当X0为ON状态时,辅助继电器M0的线圈接通,其常开触点闭合,输出继电器Y3的线圈接通。但是定时器T0的线圈不会得电(因为其前面(图
)是断开状态)。
当X0由ON变为OFF状态,(图
)都处于接通状态,定时器T0开始计时。l0s后,T0的常闭触点打开,M0的线圈失电,输出继电器Y0断开。
0
3
限时控制
在实际工程中,常遇到将负载的工作时间限制在规定时间内的控制。这可以通过如图3-29所示的程序来实现,它所实现的控制功能是,控制负载的最大工作时间为l0s。
如图3-30所示的程序可以实现控制负载的最少工作时间。该程序实现的控制功能是,输出信号Y2的最少工作时间为10s。
0
4
长时间延时控制程序
在PLC中,定时器的定时时间是有限的,最大为3276.7s,还不到lh。要想获得较长时间的定时,可用两个或两个以上的定时器串级实现,或将定时器与计数器配合使用,也可以通过计数器与时钟脉冲配合使用来实现。
(1)定时器串级使用
定时器串级使用时,其总的定时时间为各个定时器设定时间之和。
图3-31是用两个定时器完成1.5h的定时,定时时间到,Y0得电。
(2)定时器和计数器组合使用
图3-32是用一个定时器和一个计数器完成1h的定时。
当X0接通时,M0得电并自锁,定时器T0依靠自身复位产生一个周期为100s的脉冲序列,作为计数器C0的计数脉冲。当计数器计满36个脉冲后,其常开触点闭合,使输出Y0接通。从X0接通到Y0接通,延时时间为100s x 36 = 3600s,即1h。
(3)两个计数器组合使用
图3-33是用两个计数器完成1h的定时。
以M8013 (1s的时钟脉冲)作为计数器C0的计数脉冲。当X0接通时,计数器C0开始计时。
计满60个脉冲(60s)后,其常开触点C0向计数器C1发出一个计数脉冲,同时使计数器c0复位。
计数器C1对c0脉冲进行计数,当计满60个脉冲后,C1的常开触点闭合,使输出Y0接通。从X0接通到Y0接通,定时时间为60s x 60 = 3600s,即1h。
0
5
开机累计时间控制程序
PLC运行累计时间控制电路可以通过M8000, M8013和计数器等组合使用,编制秒、分、时、天、年的显示电路。在这里,需要使用断电保持型的计数器(C100~C199),这样才能保证每次开机的累计时间能计时,如图3-34所示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)