PLC内部掉电保持寄存器的巧妙利用 2022-01-06

全自动工业控制器

在设计小型PLC控制系统时,通常需要从外部改变PLC的内部数据,如计数器、定时器或数据的值,以满足生产过程的需要。此外,系统关闭后,这些数据也可以保存在PLC中。下次启动后,可以调用这些数据并继续使用。现在,许多小型PLC或多或少地提供掉电保持寄存器,以便在PLC断电时保存用户想要保存的数据。因此,当调整后的数据项超过PLC中断电保持寄存器的数量时我们必须减少调整后的数据项(固定或不固定),或购买具有更多断电保持寄存器的PLC,这样,生产机械缺乏灵活性和适应性,从而降低产品档次或增加成本。

下面就介绍解决问题的一种方法,以便大家设计时参考。

所用PLC:松下FP0-C16T,被调整数据:16个,PLC内部掉电保持寄存器数目:10个『8个数据寄存器(DT1652-DT1659:8个各16Bit)和2个字的内部继电器(WR61、WR62:2个各16Bit)』。如果使用一个调整数据占用一个数据寄存器的常规方法,显然16个调整数据不能调整,但只能调整10个调整数据。为此,本人专门分析了16个被调整数据的数据调整范围,发现多数数据的调整范围只需要从0~255,即0~28-1;而掉电保持数据寄存器DT1652等内部的数据大小为216-1,即256×256-1;所以我们可以将一个被调整的数据只用到数据寄存器的低8位,然后,数据寄存器的上8位可用于存储另一个调整后的数据。

本节中的程序如下所示:

1、开机时,分开掉电保持寄存器中高8位和低8位至另外两个数据寄存器:其中,r9013是松下FP0系列PLC中指定的脉冲继电器,当PLC从程序状态变为运行状态时,仅运行一个PLC扫描周期。指令F65是一个单词和指令。其功能是将掉电保持数据寄存器dt1655中的数据与十六进制数FF进行字匹配,然后将结果发送到通用数据寄存器dt0,以便能够分离掉电保持数据寄存器dt1655中的数据的低8位;类似地,第二行中的字和指令可以分离掉电保持数据寄存器dt1655中的数据的上8位。

指令F120是不带进位的右移指令,即当数据字右移时,高位置零。K8表示8位向右移位。

指令F0是字传输指令,它将通用数据寄存器dt10中的数据传输到通用数据寄存器dt1。

上述程序部分的目的是在启动时将掉电保持数据寄存器dt1655中的数据分成两个调整后的数据。

2. 通电后,将另外两个数据寄存器的数据合并到掉电保持寄存器的上8位和下8位:R9014是松下FP0系列PLC中指定的脉冲继电器,当PLC从程序状态变为运行状态时,在第二个PLC扫描周期中开始动作。指令f121是不带进位的左移位指令,K8是将8位左移位。

指令F66是将通用数据寄存器dt20中的数据与通用数据寄存器dt0中的数据进行字或比较的字或指令,并且结果被发送到掉电保持寄存器dt1655。从上面可以看出,当PLC运行时,通用数据寄存器dt0和dt1中的数据可以任意更改,同时这些更改也发送到掉电保持寄存器dt165。

3. PLC断电时,将保存调整后的数据。

通过同样的方法,我们可以根据调整数据的大小灵活地使用掉电保持寄存器的每一位,从而在不增加成本的情况下提高小型PLC控制系统的性能。