谈及时钟和定时器,想来大家都不陌生,就如我,每天都要定三个闹钟才起得了床去上班,而且我敢肯定,不止我一个人。
关于时钟和定时器,我在之前的文章就有分享过一二,但当时并没有讲到相关的指令,不是我不想讲,而是时机未到。然后我掐指一算,现在时机正好!
在三菱FX PLC 中,可以用于表示时间的有定时器、内部时钟和实时时钟三种,定时器T我在之前的文章已有叙述,在此就不再赘述。
而内部时钟,其实也很简单,就是4个特殊辅助继电器,如下图25-1所示的M8011~M8014。
从图可以看到,它们可以发出固定周期的时钟脉冲信号,和我们之前所学的脉冲输出指令有异曲同工之妙。
内部时钟继电器和定时器一样,都是触点利用型继电器,但它的时间周期是不可变的,一旦PLC上电,它们就会工作,输出时钟脉冲。
结合这些内部时钟和计数器,可以实现闪烁电路的设计等,如下图25-2所示为0.2s闪烁电路梯形图。
除此之外,你还能想到内部时钟的哪些应用呢?欢迎留言评论哟~
知道了定时器和内部时钟,实时时钟才是重头戏!
因为接下来所分享的时钟处理指令均是与实时时钟有关的。所以在正式学习指令之前,我们先来了解一下实时时钟吧。
01、三菱FX PLC的实时时钟
所谓实时时钟,即与实际时间相同步,如我们手机、电脑、手表的时间,就是以北京时间为准的。
同样的,PLC也可以像电脑那样,记录实际时间,这个时间就保存在特殊数据寄存器D8013~D8019中,如下图25-3所示。
图25-3所示为D8013~D8019所保存的时间数据内容。从图中可以看到,这7个寄存器所存的时间数据与实际时间的年、月、日、时、分、秒和星期相对应,称为实时时钟数据。既然是实时时钟数据,很显然,它们也会随着实际时间一秒一秒地变化,不管PLC上电与否。即实时时钟是由PLC内部电池供电运作的。
除上述几个特殊数据寄存器外,与实时时钟有关的软元件还有几个特殊辅助继电器,如下图25-4所示。
图25-4已经说明了几个特殊辅助继电器的功能,通过这些功能,我们就可以对实时时钟就行设定啦,例如今晚八点什么的。
显然,如同我们新买的手表要设定时间一样,PLC的实时时钟也需要我们人为地校准。校准的方法不一,如下图25-5所示就是通过梯形图校准的示例,将PLC的时间设定为2021年1月1日0时0分0秒。
当实际时间达到设定时间时,马上断开X0,将时间数据写入时钟数据寄存器,并通过M8017就行±30s的修正。
还有另外一种方法可以校准实时时钟的时间,那就是通过TWR指令,那也是我接下来要分享的指令之一。
02、时钟数据读/写指令TRD/TWR
实时时钟的数据可以通过TER指令写入,也可以通过TRD指令读出,那么TRD指令和TWR指令该如何应用呢?
请听下回,咳咳,请听这回讲解。
1、时钟数据读出指令TRD
下图25-6所示为TRD指令的编程手册和梯形图形式截图,仅适用于16位,有脉冲执行型和连续执行型两种。TRD指令只有一个操作数D,但其占用7个点。
指令的功能就是当驱动条件成立时,把实时时钟的时间数据读取出来,存放到D~D+6中。
例如图25-6所示的梯形图,当X0接通,指令将PLC中D8013~D8019的数据传送到D0~D6中。
看到这里,就是不知道大家有没有这样的疑问:D8013~D8019的数据在D~D+6中是怎么分配的呢?答案如下图25-7所示。
TRD指令比较简单,我们再接着看TWR指令。
2、时钟数据写入指令TWR
下图25-8所示为TWR指令的编程手册和梯形图形式截图,仅适用于16位,有脉冲执行型和连续执行型两种,但在实际应用时,应使用脉冲执行型,即TWRP。
从指令的名字上,我们也可以区分TWR指令和TRD指令的不同。显然,TWR指令是TRD指令的反向操作,它们的两者的功能相反。
TWR指令也只有一个操作数S,占用7个点。当驱动条件成立时,将S~S+6中设定好的时钟数据写入PLC的时钟寄存器D8013~D8019中,写入成功后,PLC的实时时钟数据立刻被更改。其中S~S+7的数据对应D8013~D8019的内容如下图25-9所示。
知道了TWR指令的功能后,回想上文提到的PLC实时时钟校准问题,显然TWR指令的应用也很简单,如下图25-10所示为其梯形图示例,将PLC的时间设定为2021年1月25日16时40分30秒。TWR指令用于时钟设定时,无需将 M8015置ON。
这里要注意到是,当我们在设置时间的时候,应提前编写好梯形图,例如要将时间设定为2021年1月25日16时40分30秒,我们应提前1~2分钟,也就是在16时38分左右就要将梯形图编好,然后等时间到达设定时间,驱动指令执行。
另外,TWR指令提供了另外一种设定PLC时间的方法,但在实际应用中,TWR指令也可以随我们心情写入任何数据,当然,这个数据不能超出设定范围。
03、TWR指令和TRD指令的应用示例
TWR指令和TRD指令都比较简单,它们在实际的应用中也很方便,如对设备的定时通断电、定时操作等。
接下来,参照李老师的课程,我在这里给大家展示两个TWR指令和TRD指令的使用程序吧!
1、控制要求
在1月29日晚上10点半关闭PLC的所有输出,其程序如下图25-11所示。
首先将要关闭输出的时间(月、日、时、分、秒)传送到D11~D15中,然后通过TRD指令将PLC的时间读出,与D11~D15设定的时间相比较,若全部相等,驱动M8034,关闭PLC的所有输出。其中用到的M500作为停电保持用。
2、控制要求
PLC开机即计时,7天后停止M0,14天后停止M1,21天后停机检测,其程序如下图25-12所示。
开机即将PLC时间设定为21年2月1日0时0分0秒并开始计时,然后达到对应时间停止响应输出,其中M500亦为停电保持用。
综上,TWR指令和TRD指令的理解和应用都比较简单,用起来也很方便。而时钟处理指令除了WR指令和TRD指令外,还有其他指令我们将在下一篇文章讲解。
那么,本次分享就到这里。