PLC定时方法、PLC定时器及PLC控制器技术

技术编号:21970738 阅读:35 留言:0更新日期:2019-08-28 01:20
本发明专利技术提供一种PLC定时方法、PLC控制器及计算机可读存储介质,该定时方法包括获取设定的定时器定时周期以及定时时长,根据定时时长与定时周期,计算定时计数值;接收定时使能信号,在定时使能信号存续期间,在一个定时周期结束时,定时周期个数变化一次,在定时周期个数变化次数到达定时计数值时,输出定时结束信号。该PLC控制器及计算机可读存储介质用于实现上述的PLC定时方法。本发明专利技术能够让用户自由设定定时器的定时周期,定时器的设置非常简单,且提高定时器的精度。

PLC Timing Method, PLC Timer and PLC Controller

【技术实现步骤摘要】
PLC定时方法、PLC定时器及PLC控制器
本专利技术涉及逻辑可编程控制器领域,具体的,涉及一种PLC定时方法、实现这种方法的PLC定时器以及计算机可读存储介质。
技术介绍
在工业控制领域,PLC(ProgrammableLogicController,可编程逻辑控制器)的应用非常广泛,而定时器是PLC的重要组成部分。通常,PLC的定时器的设置需要在编程的过程中选择内部定时器的定时周期并设置预置值,用以确定定时时间,例如设置需要选择一个或者多个内部定时器,并且确定每一个内部定时器的使用次数。在定时器的程序运行过程中,PLC内部定时器每个定时周期结束后将被刷新一次,并计数一次,然后将计数值与预置值进行比较,计数值和预置值相等时,定时器的输出状态位将置为1,即输出高电平信号,表示定时时间结束。不同生产厂家的PLC在定时器的设计上略有差异,通常,一套PLC系统内设置有多个内部定时器,多个内部定时器的定时周期不完全相同,常用的一种PLC系统中,多个内部定时器的定时周期分别为1ms、10ms、100ms,而另一种常见的PLC设置有高速定时器(定时周期为0.01s)和普通定时器(定时周期为0.1s),还有一种PLC的多个内部定时器的定时周期分别是8ms和50ms。例如,现有的一款PLC的内部定时器的编程范围为T0~T255,其中内部定时器T0、T64的定时周期为1ms,内部定时器T1~T4、T65~T68的定时周期为10ms,内部定时器T5~T31、T69、T95的定时周期为100ms。可以看出,这款PLC的内部定时器的数量只有256个,内部定时器的数量有限,而且定时周期为1ms的内部定时器的数量只有两个,对于应用定时周期为1ms的内部定时器数量较多的场合,则是无法满足应用的要求。由于采用多个具有固定定时周期的内部定时器,当需要设定PLC定时时长时,需要采用选择不同的定时周期的内部定时器和预置值的方式来设定定时时长,该方法对于PLC的定时器设定值的计算较为复杂,其计算公式如下:其中,T为总的定时时长,PT为内部定时器预设值,S为内部定时器的定时周期,i为第i个内部定时器,n为内部定时器的总个数。用户使用PLC进行二次编程时,需要通过内部定时器型号来对应定时周期,还需设置预置值,增加用户记忆量和计算量,使用体验较差,而且对于多个内部定时器来实现总的定时时长。例如,对于上面提到的一款PLC,假设总的定时时长为183ms,需要一个定时周期为100ms的内部定时器执行1次,一个定时周期为10ms的内部定时器执行8次,一个定时周期为1ms的内部定时器执行3次,不仅执行次数多,而且需要三个不同定时周期的内部定时器配合使用,增加用户二次编程的工作量。参见图1,现有的PLC使用的定时器编程的梯形图包括两个端口,其中,IN是使能信号输入端,编程范围T0至T255,PT是设定值输入端,最大预设值32767。当使能信号输入端的输入有效(接通)时,定时器开始计时,定时器计数的当前值从0开始递增,当计数值大于或等于设定值(PT)时,定时器输出状态位置为1,即输出定时结束的信号,定时器计数的最大值为32767。当使能信号输入端无效(断开)时,定时器的计数值保持,使能信号输入端(IN)再次接通有效时,在原先记录的计数值的基础上递增计时。因此,使用这种PLC定时器进行定时操作时,操作流程如图2所示,首先执行步骤S1,根据总的定时时长设定需要使用哪些定时周期的内部定时器以及确定每一个内部定时器的使用次数,然后,执行步骤S2,根据多个定时周期依次选择多个内部定时器的型号,例如选择定时周期为100ms、10ms以及1ms的内部定时器,再执行步骤S3,依次确定多个内部定时器的定时次数,最后执行步骤S4,编写多个内部定时器的PLC控制逻辑。设定好定时器的控制逻辑后,当PLC运行定时器时,将按照设定好的控制逻辑运行定时器的程序。虽然现有的PLC的内部定时器的定时精度很高,例如定时周期可以到达1ms,但其定时时长有限,而且定时时长较长或则设计中应用内部定时器数量较多时,内部定时器不断的被刷新,对于其他程序执行具有累积性的影响,从而使程序执行效率下降,甚至产生程序执行溢出的致命错误。例如需要设定总的定时时长为50s,PLC的多个内部定时器中,定时周期最长的内部定时器的定时周期为100ms,则需要这个内部定时器执行500次的定时操作,也就是内部定时器需要刷新500次,每次刷新都要进行定时器的计数值加一并与预设值进行比较的操作,即执行程序的相关指令,而指令的执行是需要时间的,假设每一次执行指令耗时20μs,则刷新500次后的定时误差为10ms,累计的误差较大,而且误差随刷新次数的增加而逐级累加。此外,在编程使用的定时器较多时,定时器之间的相互干扰也不容忽略,例如PLC编程后所设定的定时时间有三个,三个定时时间分别5s、7s、8s,则需要使用三个定时器分别进行定时操作,假设都选用定时周期为100ms的内部定时器进行定时,每过100ms需要处理三个定时器的处理函数,假设一个处理函数耗时20μs,则三个定时器的处理函数耗时60μs,内部定时器每次刷新的定时误差增大三倍。定时精度大大降低,而且随着定时器数量的增加和刷新次数的增加,定时误差呈几何倍数增加。
技术实现思路
本专利技术的第一目的是提供一种定时器设定简单并且内部定时器刷新次数少的PLC定时方法。本专利技术的第二目的是提供一种实现上述PLC定时方法的PLC控制器。本专利技术的第三目的是提供一种实现上述PLC定时方法的计算机可读存储介质。为实现本专利技术的第一目的,本专利技术提供的PLC定时方法包括获取设定的定时器定时周期以及定时时长,根据定时时长与定时周期,计算定时计数值;接收定时使能信号,在定时使能信号存续期间,在一个定时周期结束时,定时周期个数变化一次,在定时周期个数变化次数到达定时计数值时,输出定时结束信号。由上述方案可见,用户在设定定时器时,只需要设定定时周期以及定时时长,由定时器自行计算定时周期个数,这样,定时器只需要在每一个定时周期到达时计算一次定时周期个数,在当前计算的定时周期个数到达定时计数值时完成定时操作。由于用户可以自行设定定时周期,对于较长的定时时长,可以将定时周期设置较长,这样定时周期个数较少,能够有效避免内部定时器频繁被刷新而执行相关指令的时间,累计的误差较少,提高定时的精度。另一方面,用户设定定时器时,并不需要选择多个定时周期不同的内部定时器,也不需要计算多个内部定时器的使用次数,因此不需要记住每一个内部定时器的型号以及定时周期,只需要设定定时周期以及总的定时时长即可,定时设置操作非常简单。一个优选的方案是,获取定时周期后,设定PLC内部定时器的定时值,定时周期为PLC内部定时器的定时值的整数倍。由此可见,内部定时器的定时值根据设定的定时周期确定,优选的,内部定时器的定时值可以等于设定的定时周期,也就是内部定时器的定时值到达时,即完成一个定时周期,这样减小内部定时器执行定时操作的次数,也减小定时操作完成后的指令执行次数。进一步的方案是,定时时长为定时周期的整数倍。这样,执行最后一个定时周期时,可以避免出现需要执行不到一个定时周期即到达定时时长的问题,有利于提高定时的精度。更进一步的方案是,定时时长除以本文档来自技高网
...

【技术保护点】
1.PLC定时方法,其特征在于,包括:获取设定的定时器定时周期以及定时时长,根据所述定时时长与所述定时周期,计算定时计数值;接收定时使能信号,在所述定时使能信号存续期间,在一个所述定时周期结束时,定时周期个数变化一次,在所述定时周期个数变化次数到达所述定时计数值时,输出定时结束信号。

【技术特征摘要】
1.PLC定时方法,其特征在于,包括:获取设定的定时器定时周期以及定时时长,根据所述定时时长与所述定时周期,计算定时计数值;接收定时使能信号,在所述定时使能信号存续期间,在一个所述定时周期结束时,定时周期个数变化一次,在所述定时周期个数变化次数到达所述定时计数值时,输出定时结束信号。2.根据权利要求1所述的PLC定时方法,其特征在于:获取所述定时周期后,设定PLC内部定时器的定时值,所述定时周期为所述PLC内部定时器的定时值的整数倍。3.根据权利要求1或2所述的PLC定时方法,其特征在于:所述定时时长为所述定时周期的整数倍。4.根据权利要求3所述的PLC定时方法,其特征在于:所述定时时长除以所述定时周期预的商为小于或等于预设阈值的整数。5.根据权利要求2所述的PLC定时方法,其特征在于:接收到所述定时使能信号并开始计时后,在所述定时结束信号输出前,如所述定时使能信号中断,则暂停计时操作,在所述定时使能信号恢复后,继续计时操作。6.根据权利要求5所述的PLC定时方法,其特征在于:所述暂停计时操作包括:暂停所述PLC内部定时器的计...

【专利技术属性】
技术研发人员:翟亚飞何春茂王长恺
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1