在PLC的工业控制应用中,定时器是最基础且常用的软元件之一,无论是简单的延时启动,还是复杂的时序控制,定时器都是不可或缺的核心元件。其核心功能通过定时器来实现信号的延时接通、延时断开或周期性触发。如《100例PLC程序----定时器和计时》中详细介绍了这三种情况。
不同品牌不同型号的PLC定时器的范围都各不相同,就算是同一个品牌的不同系列PLC也会有差异。现在三菱推出GXworks3全新编程平台,今天,我们就来深入探讨三菱GX Works3中的定时器功能,并揭秘如何实现超长定时控制。
一、三菱PLC定时器基础
三菱5U的PLC中,定时器默认为512个,可以根据实际的需求进行增减(最大为1024点),其中FX5UJ固定为512点不可修改。如下图所示:
从T0~T511都可以随意使用用,在FX5U中不像FX3U那样根据定时器编号进行时基的区分,而是采用指令的方式进行区分。精度的区分方法如下所示:
◆OUT T指令:100ms定时器,:0.1~3276.7秒
◆OUTH T指令:10ms 定时器0.01~327.67秒
◆OUTHS T指令:1ms 定时器:0.001~32.767秒
是否为累计型定时器的需要在程序输入时进行区分,T表示普通定时器,ST表示的是积算型定时器。如下图所示:
注:在三菱iQ-R系列PLC中,可以额外设定定时器的时基。如下图所示:
二、PLC长定时的实现方法
通过上述定时器的介绍,我们可以了解到三菱PLC单个定时器的最大定时时间仅为3276.7s(约55分钟),无法满足工业现场中的长定时需求如:流程工业中的化学反应与发酵、物料静置时间计算、老化测试、设备定期维护与润滑等。因此,我们需要扩展定时范围,改变定时器的用法或采用其他方法来实现长定时控制。
实现长定时的核心思路的是“拆分累积、递增计算”——将长定时时间拆分为多个定时段,通过定时器串联、定时器与计数器配合等方式,将多个短定时的时间进行累积,最终实现超长计时。
以下介绍4种最实用、最易上手的方法,按“操作难度+实用性”排序,兼顾新手入门和工程实战。
1、多个定时器串联计时(最基础方法)
核心逻辑:将前一个定时器的延时常开触点,作为后一个定时器的驱动条件,多个定时器依次触发,总定时时间为所有单个定时器定时时间之和。
优点
逻辑直观:编程简单,易于理解和调试,非常适合初学者。
无需额外软元件:仅使用标准定时器,不占用计数器等资源。
缺点与注意事项
精度累积误差:每个定时器都有微小的计时误差,串联后总误差会累积。对于需要高精度同步的场合需注意。
受限于单定时器最大值:单个定时器的最大设定值有限(例如常见为3276.7秒)。若需定时10小时,可能需要串联多个定时器,导致程序段冗长。
抗干扰性:若在运行中系统断电或重启,通常所有定时器会复位,需要从头开始计时,可能不符合某些工艺要求。
占用定时器资源:长时间定时会连续占用多个定时器编号。
程序示例:假设需要实现3600s(60分钟)的长定时,单个定时器最大定时3276.7s,可拆分两个定时器:T0设定3000s,T1设定600s。当驱动信号M0接通时,T0开始计时;T0计时达到3000s后,其常开触点闭合,触发T1开始计时;T1计时达到600s后,其常开触点闭合,触发输出Y0动作,总定时时间=3000s+600s=3600s。
2、定时器与计数器配合(最实用方法)
核心逻辑:用一个定时器产生固定周期(如1s、10s)的脉冲信号(每次导通一个扫描周期),将该脉冲信号作为计数器的计数输入,计数器累计脉冲次数,当累计次数达到设定值时,实现长定时。总定时时间=定时器周期×计数器设定值。
优点
定时范围极广:通过组合可轻松实现从几分钟到数月的定时,突破单个定时器上限。
精度高且稳定:总误差仅取决于时基定时器的周期精度,无累积误差。
灵活性极强:修改总定时时间只需改变计数器设定值,程序结构无需变动。
资源占用少:仅需1个定时器和1个计数器,节省PLC软元件资源。
易于监控与调试:可实时读取计数器当前值,清晰显示已进行的时间比例。
缺点与注意事项
逻辑稍复杂:需编写脉冲发生和计数逻辑,比单个定时器更考验编程功底,且需要写计数器的复位程序。
依赖断电保持:若未正确使用保持型计数器或保存数据,断电后计数值丢失,定时失效,若需要断电保持,需要使用累积定时器和断电保持型计数器。
存在最小分辨率:总定时时间必须是时基周期的整数倍,可能无法实现任意时间值(如设定1秒时基,无法实现1.5秒的精确总定时)。
存在数据溢出风险:若定时很长,计数器值可能超出上限。
程序示例:假设需要实现3600s(1小时)的长定时,可使用定时器T0产生1s周期的脉冲,计数器C0设定K3600(累计3600次),总定时时间=1s×3600=3600s=1小时。
3、利用系统时钟和自增指令(最灵活方法)
核心逻辑:利用PLC的内部时钟脉冲(如SM409:10ms时钟;SM410:100ms时钟;SM411:200ms时钟;SM412:1s时钟),通过自增指令(INC)或加法指令(ADD/+)让数据寄存器(D)统计时钟脉冲数,再通过比较指令判断寄存器当前值是否达到设定的数值。
优点
资源占用极少:不消耗任何定时器(T)或计数器(C)资源,仅使用数据寄存器(D)和内部标志位,是多路长定时或资源紧张项目的首选。
定时精度最高:直接利用PLC系统提供的高精度时钟脉冲(如1秒脉冲),其稳定性不受用户程序扫描周期影响,无累积误差。
功能灵活性最强:
易于调整:通过修改寄存器设定值即可改变定时时间。
便于扩展:可轻松实现正计时显示、倒计时显示、中途暂停/继续等复杂功能。
集成度高:定时值可直接用于HMI显示、数据记录或参与复杂运算。
缺点与注意事项
编程逻辑复杂:需要熟练运用边沿检测、数据比较、运算和复位等指令。
依赖断电保持:普通数据寄存器(D)断电后数据会丢失。必须使用具有断电保持功能的寄存器。
存在数据溢出风险:若使用16位寄存器且定时很长,计数值可能超出上限(32767)。
必须使用上升沿触发:系统时钟为周期时钟,例如1s时钟,其导通和断开时间都为0.5s。
程序示例:假设需要实现3600s(1小时)的长定时,选用SM412(1s时钟),数据寄存器D0累计脉冲数。M0接通后,SM412产生周期时钟,触发D0自增加1,通过指令比较D0与K3600,当D0≥3600时,控制Y0输出,总定时时间=1s×3600=3600s=1小时。
4、长定时编程注意事项
1、避免计时丢失:若需保证断电后定时不丢失,需选用积算型定时器、积算型计数器。
2、设置复位电路:设置必要的定时复位程序。
3、精度:软件编程方式受PLC扫描周期影响,定时精度均存在微小误差。
4、当有多处长定时需求时,也可考虑对上述三种长定时方法进行FB封装,提高程序复用性。
2347
