esp32掉电保持寄存器怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了esp32掉电保持寄存器怎么用相关的知识,希望对你有一定的参考价值。

在设计小型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。
参考技术A esp32掉电保持寄存器是PLC维修时控制系统在设计的时候,为适应⽣产过程的
PLC维修时如何妙⽤掉电保持寄存器电⽓⼯程师在PLC维修⼯作中发现,⼩型的PLC控制系统在设计的时候,为适应⽣产过程的

需要,常常需要在PLC外部改变PLC内部的数据,譬如Counter,Timer或者Data的值。同时还要求这些数据在系统关机以后,还能继续保存在PLC内部,这样的话这些数据在下次开机后,还可以被调出来继续使⽤。

stm32hal库rtc设置出错

参考技术A 一、STM32CubeMX RTC配置
二、RTC初始化
三、RTC日期掉电不更新(F1...这里暂时只考虑F103,其他系列未测试,对比的也只考虑F4)
四、解决办法
4.1、上电对时
4.2、将时间和日期都换算存入到CNT寄存器中(存入时间戳)
4.3、设置时间时将日期同时设置,且保存到RTC备份存储区

以上是关于esp32掉电保持寄存器怎么用的主要内容,如果未能解决你的问题,请参考以下文章

stm32 RTC 掉电后数据保存在哪里

esp32管脚供电程序就崩溃

三菱PLC数据寄存器D的数值范围是多少?是怎么算来的?

stm32hal库rtc设置出错

STM32系统中的2种数据掉电保护方法!

keil和jlink仿真调试stm32串口时,怎么一直看不到接收寄存器变化?程序不仿真直接运行是正