1、开机时,分开掉电保持寄存器中高8位和低8位至另外两个数据寄存器:
其中,r9013是松下fp0系列plc内部所规定的、在plc从program状态到run状态时只动作一个plc扫描周期的脉冲继电器。
指令f65是一个字与指令,它的作用就是将掉电保持数据寄存器dt1655内的数据与十六进制数ff进行字与,然后将结果送到一般数据寄存器dt0,这样就可以分离出掉电保持数据寄存器dt1655内数据的低8位;同样第二行的字与指令可以分离出掉电保持数据寄存器dt1655内数据的高8位。
指令f120是一个不带进位右移指令,即:对数据字进行右移时,对高位进行补零。k8表示右移8位。
指令f0是一个字传送指令,就是将一般数据寄存器dt10内的数据传送到一般数据寄存器dt1。
上述程序段的目的就是在开机时将掉电保持数据寄存器dt1655内的数据分成两个被调整数据。
2、开机之后,将另外两个数据寄存器的数据合并至掉电保持寄存器的高8位和低8位:
r9014是松下fp0系列plc内部所规定的、在plc从program状态到run状态时、第二个plc扫描周期开始动作的脉冲继电器。
指令f121是一个不带进位左移指令,k8即左移8位。
指令f66是一个字或指令,将一般数据寄存器dt20内的数据与一般数据寄存器dt0内的数据进行字或,结果送掉电保持寄存器dt1655。
由上可以看出,在plc运行的时候,可以任意改变一般数据寄存器dt0和dt1中的数据,而这些改变也同时送到了掉电保持寄存器dt1655,这样,当plc掉电时,所被调整的数据也就被保存了。
通过同样的方法,我们可以视被调整数据的大小,灵活的使用掉电保持寄存器的每一个bit位,从而使我们在不增加成本的情况下,提高小型plc控制系统的性能。