为了采集数据,PLC要有实时时钟。以便在采集数据的同时也记录当时的时间。目前大多数PLC都内置有时钟。不必运行时钟程序,做好设定就可以使用内置时钟。设定的方法有:
1.编程软件设定
如欧姆龙PLC运行CX-Programer软件,联机。在其主窗口的“PLC”下拉菜单上,找到“编辑”项。再点击其下的“时钟”项,将弹出“PLC时钟”窗口,如图5-16所示。这时,如果点击“同步”按钮,则把计算机的时钟现值下载给PLC。
如果另作设定,可点击窗口上的“选项”下拉菜单。再点击“设定PLC时钟”项,将弹出“设定PLC时钟窗口”,如图5-17所示。可在其上分别对时间及日期进行设定。
图5-16 PLC时钟窗口
图5-17 设定PLC时钟窗口
CP1H机时钟在辅助区A351~A354中显示,见表5-2。
表5-2 CP1H机时钟用辅助区
2.手持编程器设定
C系列机型,以CQM1机为例,其时钟显示辅助继电器为AR18~AR21。与CP1H机的A351~A354基本对应。可用手持编程器直接写该区进行设定。办法是:
(1)先置AR2114位ON,使时钟停止。
(2)按设定时间要求,修改AR18~AR20的内容。
(3)当达到步骤2设定的时间时,置AR2115位ON,时钟从这个设定的时间开始运行,并自动置时钟停止位OFF。当完成时间设定后,AR2115也将自动置OFF。
只设定秒时,用AR2113位。可简单设定“秒”为“00”,当AR2113为ON时:如果秒是从00~29,清除秒为“00”,分钟不变。如果秒是从30~59,清除秒为“00”,分钟加1。
欧姆龙的CQ1M机内置时钟的值存于AR18~AR20字中。依次为AR18:低字节为秒,高字节为分;AR19:低字节为时,高字节为日;AR20:低字节的月,高字节为年。这里年仅两位数,97为1997。但若为01,则为2001年。
为了便于使用,把上述计数后的年月、日时、分秒及当前的时分,分别用4个字显示。其程序如图5-18所示。
这种时钟的缺点是,PLC不工作,时钟也就不走了,只能用于PLC长期不停止工作的场合。如果PLC停止工作后又重新启动,这时要进行对时;可用编程器、操作器或上位计算机改变CNTR 100~CNTR 105的现值实现。
这种时钟不可能太准,因为定时脉冲精度会受扫描周期变化的影响。一般都会变慢。有时,一天可慢1~2分钟。为了解决这个问题,最好用定时中断(如定时1秒一次中断)来执行这组程序,或至少执行其中的秒计数器,则可做到分秒基本不差。也可不用秒计数器,用分脉冲直接驱动计数器CNTR 101,这样计时误差小些,但时间不能以“秒”计。
3.欧姆龙CP1H机程序设定
CP1H机还可用程序设定。所用指令为DATA。其图形图格式为这里的S、S-1、S+2、S+3与A351~A354对应,存放时间设定值。
图5-19所示为设定时钟程序。当0.01 ON,将把D1500、D1501、D1502、D1503设定的时间下载给PLC。设定值见表5-3,则设定后的时间为2008年8月8日8时8分8秒,星期五。
图5-18 4字显示时钟程序
图5-19 时钟设定程序
表5-3 D1500设定
4.和利时LM机程序设定
此设定要用SET_HD_RTC功能块,也可以用SET_HD_RTC_X功能块。其功能块格式如图5-20所示。SET_HD_RTC功能块的输入输出特性见表5-4。SET_HD_RTC_X功能块输入输出特性见表5-5。
表5-4 SET_HD_RTC功能块输入输出特性
(www.daowen.com)
图5-21所示为SET_HD_RTC功能块调用程序。
图5-20 实时时钟设定功能块
图5-21 SET_HD_RTC功能块调用程序
如图5-21所示,只要“en9”ON,将把DT#2008-1-1-8∶00∶00,即2008年1月1日8点0分0秒时间设为PLC时钟的当时时间。如果设定成功,qq1 ON。
表5-5 SET_HD_RTC_X功能块输入输出特性
图5-22所示为SET_HD_RTC_X功能块调用程序。如图所示,只要“EN”ON,将把DT#2008-1-1-8:00:00,即2008年1月1日13点10分15秒星期2的时间值设为PLC时钟的当时时间。如果设定成功,T_OR_F ON。
提示:实时时钟设定一旦设定成功,即使PLC停机,或下载了新程序,仍继续有效。
和利时LM机读取实时时钟要用GET_HD_RTC功能块。其功能块格式如图5-23所示。功能块的输入输出特性见表5-6。
图5-22 SET_HD_RTC_X功能块调用程序
图5-23 GET_HD_RTC功能块
表5-6 GET_HD_RTC功能块输入输出特性
图5-24所示为GET_HD_RTC功能块调用程序。如图所示只要“en8”ON,将读出PLC的实时时钟现值。这时的PLC时间为2008-1-1-8∶00∶18,即2008年1月1日8点0分18秒星期二。如果设定成功,qq1 ON。
图5-24 GET_HD_RTC功能块调用程序
提示:和利时LM机这种调用功能块的方法实现实时时钟设定与读取,是比用别的PLC用特殊寄存器方便。但使用前必须加载Heolysys_PLC_HDRTC.Lib库文件。
图5-25 时钟程序
其他品牌PLC也都有设定及读取方法,可参阅有关说明书。
5.PLC时钟程序
如果PLC没有内置时钟,也可用自编程序处理。图5-25所示为欧姆龙早期PLC时钟程序。执行本程序后,CNTR 105、CNTR 104、CNTR 103、CNTR 102、CNTR 101及CNTR 100,将分别存储相应的当前的年、月、日、时、分、秒值。
从图5-25可知,它有CNTR 100~CNTR 105共6个可逆计数器,其减计数器接常OFF触点(即25314),而增计数端,CNTR 100的接秒脉冲,其余依次接其前级的计数器常开触点。以秒计数器为例,当其计数值达到59后,再增1s,则CNT 100复位,并产生进位脉冲,使分计数器CNT 101增1。
分计数器达到59后,再增1min,则分计数器CNT 101复位,并产生进位脉冲,使时计数器CNT 102增加1。
时计数器达到23后,再增1h,则日计数器CNT 103复位,并产生进位脉冲,使日计数器增1。
日计数器到底什么时候进位,要依大小月及是否为2月以及是否闰年有关。这里用L9的内容确定。大月时L9为31,小月时为30。正常年份的2月为28,而闰年的2月为29。闰年与否,依年能否被4整除而定(考虑到1995~2050年的情况)。图中用了一系列的比较指令,决定了L9的内容。
日计满后,向月进位,月满后向年进位。为保证日、月计数器的起始值为1,各用了一个比较,只要它为零,则把它显成1。因为月、日不像时、分,没有零值。
提示:执行MOV指令,也会改变标志位P-EQ。当被传数为0时,P-EQ置0,否则置1。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。