首页 理论教育 开关量采集程序及PLC实时时钟读取方法

开关量采集程序及PLC实时时钟读取方法

时间:2023-06-16 理论教育 版权反馈
【摘要】:开关量仅两个取值,较简单,如ON代表开工、OFF代表停工。采集它的目的主要是弄清什么时候发生了变化,如什么时候开工,什么时候停工。图6-4 开关量采集程序图6-4a为CPM2A机的程序。把PLC实时时钟的年、月、日、时、分、秒、星期等值读到VB100开始的8个字节中。对应图6-4a的“开工日时”为VW102,“开工分秒”为VW104;“停工日时”为VW112,“停工分秒”为VW114。节2、3用开工信号“shD”生成相应脉冲“pshD”。

开关量采集程序及PLC实时时钟读取方法

开关量仅两个取值,较简单,如ON代表开工、OFF代表停工。采集它的目的主要是弄清什么时候发生了变化,如什么时候开工,什么时候停工。图6-4所示梯形图即为这个开关量采集程序。

978-7-111-56641-0-Chapter07-4.jpg

图6-4 开关量采集程序

图6-4a为CPM2A机的程序。当“开工”信号ON,则把AR19的值,即PLC的“当前时日”值,传送给“开工日时”存储字,AR18的值,即PLC的“当前分秒”值,传送给“开工分秒”存储字。而当“开工”信号OFF,则也是如此。注意,这里用的都是“微分”传送,只是在ON或OFF的那个扫描周期才进行这个传送。

图6-4b为S-200机的程序。它在“开工”ON或OFF的第一扫描周期中,执行READ-RTC指令。把PLC实时时钟的年、月、日、时、分、秒、星期等值读到VB100开始的8个字节中。对应图6-4a的“开工日时”为VW102,“开工分秒”为VW104;“停工日时”为VW112,“停工分秒”为VW114。

图6-4c为FX2N机的程序。它的实时时钟当前的“日值”存于D8016,当前的“时值”存于D8015中,当前的“分值”存于D8014,当前的“秒值”存于D8013。为了把“日时”及“分秒”集中在一个字中,这里用了“SMOV”指令。其格式如图6-5所示。

978-7-111-56641-0-Chapter07-5.jpg(www.xing528.com)

图6-5 SMOV指令

其功能为:把这里S指定的D1字中,m1指定的第4(K4)位(最高数位)开始(倒数),m2指定的共2(K2)数位,传送给D指定的D2字中,n指定的第3(K3)数位开始(倒数)的两个数位。

这里的数位为4个二进制位组成,即Digit。前已解释,1个字,有2个字节,4个数位。三菱的解释是,最高数位为第4位,最低的为第1位。本指令还可与特殊继电器M8168配合使用,选择是否处理十六进制与BCD码制之间的转换。M8168ON则不进行BCD转换,原样按数位移动。

提示:三菱PLC记录数据均为二进制格式,所谓BCD码,或为十进制表示,则1个字最大值只能为9999。如为十六进制格式,则最大数可达65535或FFFF。

图6-4d为和利时LM机程序,图中节1为启动读取PLC实时时钟功能块。节2、3用开工信号“shD”生成相应脉冲“pshD”。节4用“pshD”把读取的当时的小时、分、秒赋值给相应字。节5、6用开工信号“shD”从ON到OF,生成停工脉冲“pshDn”。节7用“pshDn”把读取的当时的小时、分、秒赋值给相应字。

显然,PLC采集了这组数据,再有了上位计算机读取这两组数据,稍作比较,就可清楚,当前是开工,还是停工?如是开工,还可知道,是什么时候开工?以及上次是什么时候停工?

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈