施耐德PLC数据掉电保存的应用_New
关于Somachine环境下,PLC掉电后变量的数据保持[1]
![关于Somachine环境下,PLC掉电后变量的数据保持[1]](https://img.taocdn.com/s3/m/00920929e2bd960590c67787.png)
Somachine编程环境下的PLC硬件,掉电上电后,其变量数据的保持,和早期的PLC略有不同,具体分类整理如下:PLC类型变量范围/大小设置方法M218%MW0-%MW499无需任何设置M238%MW0-%MW999M258%MW0-%MW999(试验数据,暂时没有资料出处)M218744bytes保持变量(Retain Variable)在POU的声明部分(图1)或自动声明对话框(图2)M2388168bytesM25810000bytesM218144bytes永久变量(Persistent Retain Variable)通过“添加对象”对话框(图3),选中“保持型变量(图4),在弹出的编辑窗口(图5)中,对变量进行声明M238400bytesM25820000 bytes图1:POU的声明部分图2:自动声明对话框图3:设备树图4:添加对象对话框图5:永久变量声明窗口附:此文档中的相关信息,出处为Somachine 软件的帮助文件,可通过下述路径查找资料出处:Somachine/控制器编程指南/优化控制器/M218 Logic Controller…/Memory Mapping/RAM Memory OrganizationSomachine/控制器编程指南/优化控制器/M238 Logic Controller…/Memory Mapping/RAM Memory OrganizationSomachine/控制器编程指南/系能控制器/M258 Logic Controller…/Memory Mapping/RAM Memory OrganizationCoDeSys/编程参考/声明/……。
PLC内部掉电保持寄存器的应用

PLC 内部掉电保持寄存器的应用
我们在设计小型的PLC 控制系统时,常常会需要在外部改变PLC 内部的数据,譬如Counter, TImer 或者Data 的值,以适应生产过程的需要。
而且要求系统关机以后,这些数据还能够保存在PLC 内部,当下次开机后,这些数据可以被调出继续使用。
现在许多小型的PLC 都或多或少地提供了掉电保持寄存器,以便在PLC 断电的时候,保存用户想要保存的数据。
但大多数时候,PLC 制造厂商为了
节约成本,不可能提供足够数的掉电保持寄存器供系统设计人员使用,所以
当被调整的数据项目超过PLC 内部的掉电保持寄存器的数目的时候,我们不得不减少被调整的数据项目(固定或不用)或者购买具有更多掉电保持寄存
器数目的PLC,这样的话,就使得生产机械缺乏灵活性和适应性,从而降低
产品档次或增加成本。
下面就介绍解决这种问题的一种方法,以便大家设计时参考。
所用PLC:松下FP0-C16T,被调整数据有16 个,PLC 内部掉电保持寄存器数目为10 个,其中8 个数据寄存器(DT1652-DT1659:8 个各16Bit)和2 个字的内部继电器(WR61、WR62:2 个各16Bit)。
如果按常规的一个。
关于松下PLC掉电情况下的数据保存

FlashFlash-ROM 区 FlashFlash-ROM 区
说明: 对于FPΣ和FP-X ,数据传输量的单位(即S2参数的单位) 数据传输量的单位( S2参数的单位 参数的单位) 说明: 对于FPΣ和FPFPΣ 是固定的, 块对应2048 2048字 比如:K10对应20480字 对应20480 是固定的,1块对应2048字。比如:K10对应20480字。
关于PLC 关于PLC掉电情况下的数据保存 PLC掉电情况下的数据保存
3、不同型号PLC在使用F12、F13指令 F12、F13指令时,参数的范围及可操作EEPROM(Flash-ROM)的范围如下: F12 指令
F12指令参数可制定的数值 F12指令参数可制定的数值
参数 FP0-C10/C14/C16 FP0-C32 FP0-T32 FPΣ/FP-X 指定EEPROM(F-ROM) S1 K0~K9 K0~K95 K0~K255 K0~K15 S2 K1~K10 K1~K96 K1~K256 K1~K16 指定数据寄存器 D DT0~DT1595 DT0~DT6080 DT0~DT16320 DT0~DT32720 S1 DT0~DT1595 DT0~DT6080
可使用指令F12 P13进行数据的备份保存 F12、 进行数据的备份保存: 三、 可使用指令F12、P13进行数据的备份保存: 1、对于FP0和FP-e,数据读写至EEPROM。
1)F12(P12)数据读出 2)P13 数据写入
说明: 对于FP0和FP-e,数据传输量的单位(即S2参数的单位) 说明: 对于FP0和FPFP0 数据传输量的单位( S2参数的单位) 参数的单位 是固定的,1块对应64字。比如:K10对应640字。 是固定的, 块对应64字 比如:K10对应640字 64 对应640
关于Somachine环境下,PLC掉电后变量的数据保持

Somachine编程环境下的PLC硬件,掉电上电后,其变量数据的保持,和早期的PLC略有不同,具体分类整理如下:PLC类型变量范围/大小设置方法M218%MW0-%MW499无需任何设置M238%MW0-%MW999M258%MW0-%MW999(试验数据,暂时没有资料出处)M218744bytes保持变量(Retain Variable)在POU的声明部分(图1)或自动声明对话框(图2)M2388168bytesM25810000bytesM218144bytes永久变量(Persistent Retain Variable)通过“添加对象”对话框(图3),选中“保持型变量(图4),在弹出的编辑窗口(图5)中,对变量进行声明M238400bytesM25820000 bytes图1:POU的声明部分图2:自动声明对话框图3:设备树图4:添加对象对话框图5:永久变量声明窗口附:此文档中的相关信息,出处为Somachine 软件的帮助文件,可通过下述路径查找资料出处:Somachine/控制器编程指南/优化控制器/M218 Logic Controller…/Memory Mapping/RAM Memory OrganizationSomachine/控制器编程指南/优化控制器/M238 Logic Controller…/Memory Mapping/RAM Memory OrganizationSomachine/控制器编程指南/系能控制器/M258 Logic Controller…/Memory Mapping/RAM Memory OrganizationCoDeSys/编程参考/声明/……。
施耐德PLC数据掉电保存的应用_New

施耐德PLC数据掉电保存的应用————————————————————————————————作者:————————————————————————————————日期:施耐德PLC数据掉电保存的应用很多设备在实际使用中需要将设备运行中的部分数据保存,以便下一次运行时使用。
被保存的数据要求在设备断电的情况下不丢失,也就是在某些plc中所称的“数据的掉电保存”,这一功能在Twido PLC 可以很方便的实现。
施耐德Twido PLC全系列CPU本体中都内置有一个可充电的电池,在保证该电池完全充电(PLC连续通电时间大于15小时)时,并且在PLC 的程序中未对%S0做输出的情况下,PLC内部的%MW等中间数据全部具有掉电保存功能,保存时间约30天(见图1);对于TWDLCA*40DRF 的CPU本体,通过加装外部电池TSXPLP01,可将掉电保存时间加长到3年以上;如果设备掉电的时间很长,或用户希望掉电后数据的保存不依赖于内部电池或外部电池,那么可以利用Twido的内置Flash 来实现数据的掉电保存功能。
图1具体描述使用Twido的内置Flash来实现数据的掉电保存功能需要注意:被保存的数据是从%MW0开始的一个长度不超过512的区间,假定需要对300个数据进行掉电保存功能,那么要在程序中做合理的规划,将要做掉电保存数据寄存器集中在%MW0~%MW299区间内。
另外,值得注意的地方是对Flash的写的操作不太频繁,如果程序设计的不合理,可能会对Flash造成永久性损坏。
所以,找到合适的将数据写入Flash的条件是非常重要的。
常见的写数据到Flash的条件有很多种,例如当数据发生变化时(数据变化不频繁时),或通过人机操作界面的某一个按键,或者当设备突然掉电时。
在这里,主要介绍一下,当设备突然掉电时将数据写入Flash的方法。
图2 是一种比较可行的捕捉突然掉电的方法,同样,对于使用AC220V 电源的TWDLCA***DRF的产品也可以使用同样的方法。
施耐德 Twido PLC的数据永久保存与恢复功能

Schneider-施耐德LEC使用技巧文集[第18讲]——施耐德Twido PLC的数据永久保存与恢复功能
目前,对于一些对数据有严格要求的控制系统,在PLC断电或运行期间时,它要求保存PLC的一些重要数据,例如,参数的设定值、系统运行的过程值等等。
我们希望这些数据在PLC断电后甚至PLC主板电池(或超级电容)失电情况下可以永久保存,并在需要时恢复这些数据。
这在Twido PLC中可以轻松实现,步骤如下:
为了清晰地理解Twido PLC的此功能,我们可以在TwidoSoft的帮助文件中预先参考下列系统字和系统位的功能:
%SW96:应用程序和%MW存储/恢复功能的命令和/或诊断。
%SW97:存储/恢复功能的命令和诊断
%S95:恢复存储字
1.使得PLC RAM中有一个有效程序,则%SW96:X6=1,即程序调试完毕,并已备份到EEPROM 中,此时PLC RAM与EEPROM中程序相等
2.设置%SW97的值:需要保存的%MW(存储字)的长度。
长度不能超过PLC或程序中存储字的配置长度,且必须大于0,不超过512。
例如,%SW97:=10,即%MW0至%MW9这10个字需要保存至EEPROM
3.将%SW96:X0置为1,被要求的%MW数据存入EEPROM
4.将%S95置为1,恢复已存入的%MW数据
下面,举例说明如何编程实现Twido PLC的数据保存与恢复功能。
例:通过数字输入点保存并恢复%MW0至%MW9共10个内存字,程序见图T1-001
(主要程序片断)
图T1-001。
掉电保存方案

掉电保存方案
掉电保存方案主要通过在系统中加入掉电检测电路和掉电数据保存功能来实现。
下面是一种常见的单片机掉电检测电路和掉电数据保存方案:
单片机掉电检测电路通常由法拉电容实现。
法拉电容具有大容量、高储能的特性,能够储存足够多的电能。
在电源断电的情况下,法拉电容可以通过电荷泵电路等将电力输送给单片机,使其保持工作状态,并将数据保存在存储器中。
当电源恢复供电时,单片机将继续执行任务,并且可以从存储器中恢复掉电前保存的数据。
掉电数据保存方案通常采用数据备份和恢复机制。
在系统运行过程中,单片机可以定期将重要的数据备份到非易失性存储器中,如EEPROM、Flash等。
当电源断电时,单片机可以立即将剩余的数据写入存储器中,确保数据不会丢失。
当电源恢复供电时,单片机可以从存储器中恢复数据,确保数据的完整性。
另外,为了避免电源断电时对单片机的干扰,可以采用低功耗技术来降低单片机的工作电流,使其在断电时能够快速进入休眠状态。
同时,可以在单片机外部添加去抖动电路、滤波电路等抗干扰措施,以确保数据的准确性。
总的来说,掉电保存方案需要在硬件和软件方面进行全面设计和实现。
硬件方面需要选择合适的法拉电容、非易失性存储器等器件,软件方面需要编写相应的掉电检测和数据备份程序,以确保系统在掉电时能够正确地保存数据并恢复工作状态。
PLC掉电保护数据

图: 02
参数 EN
变量类型 说明 BOOL 必须始终为1(高)
Start BOOL 上升沿 (0 ->1)触发程序运行;必须保持1 (高) 直到 BUSY 位变成 0 (低)。
V_Start INT
偏移量指定(起始地址)。例如,200=VBy INT
从偏移量(起始地址)开始待保存的字节数 用于子程序的临时存储区
增 加 的 “EEPROM (v1.0)” 文 件 夹 中 包 含 了 子 程 序 “EEPROM_Direct"” 和 “EEPROM_Indirect”。
图:01 使用子程序:
在网络中从文件夹“EEPROM (v1.0)”插入所需要的子程序。 根据例程中的参数列表给所选子程序分配输入输出参数。 使用适当的逻辑连接,以确保在执行期间程序执行触发输入位“Start”保持为1 (高)。
Busy BOOL 过程状态 1 (高),程序在运行中
Done BOOL
表: 01
结束状态 1 (高),成功完成保存
起始地址为间接寻址“EEPROM_indirect”例程:
图: 03
参数 EN
变量类型 说明 BOOL 必须始终为1(高)
Start BOOL 上升沿 (0 ->1)触发程序运行;必须保持1 (高) 直到 BUSY 位变成 0 (低)。 Address DWORD 指定起始地址偏移量(起始地址以 DWORD 类型变量读入)
更多的信息也可以在子程序的注释中得到。.
注意:不能以很高的频率在 EEPROM 上保存数据。EEPROM 典型的存储次数为100,000次。如果 超过这个值,CPU 将发生故障。 如果按小时在 EEPROM 上保存数值,那么 EEPROM 的预计使 用寿命是 11 到 12 年。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
施耐德PLC数据掉电保存的应用
————————————————————————————————作者:————————————————————————————————日期:
施耐德PLC数据掉电保存的应用
很多设备在实际使用中需要将设备运行中的部分数据保存,以便下一次运行时使用。
被保存的数据要求在设备断电的情况下不丢失,也就是在某些plc中所称的“数据的掉电保存”,这一功能在Twido PLC 可以很方便的实现。
施耐德Twido PLC全系列CPU本体中都内置有一个可充电的电池,在保证该电池完全充电(PLC连续通电时间大于15小时)时,并且在PLC 的程序中未对%S0做输出的情况下,PLC内部的%MW等中间数据全部具有掉电保存功能,保存时间约30天(见图1);对于TWDLCA*40DRF 的CPU本体,通过加装外部电池TSXPLP01,可将掉电保存时间加长到3年以上;如果设备掉电的时间很长,或用户希望掉电后数据的保存不依赖于内部电池或外部电池,那么可以利用Twido的内置Flash 来实现数据的掉电保存功能。
图1
具体描述
使用Twido的内置Flash来实现数据的掉电保存功能需要注意:被保存的数据是从%MW0开始的一个长度不超过512的区间,假定需要对300个数据进行掉电保存功能,那么要在程序中做合理的规划,将要做掉电保存数据寄存器集中在%MW0~%MW299区间内。
另外,值得注意的地方是对Flash的写的操作不太频繁,如果程序设计的不合理,可能会对Flash造成永久性损坏。
所以,找到合适的将数据写入Flash的条件是非常重要的。
常见的写数据到Flash的条件有很多种,例如当数据发生变化时(数据变化不频繁时),或通过人机操作界面的某一个按键,或者当设备突然掉电时。
在这里,主要介绍一下,当设备突然掉电时将数据写入Flash的方法。
图2 是一种比较可行的捕捉突然掉电的方法,同样,对于使用AC220V 电源的TWDLCA***DRF的产品也可以使用同样的方法。
在某些特定的应用场合,PLC的电源供给是使用直流24V的蓄电池,如果作为电源供给的蓄电池回路突然中断,而在这种条件下运行的设备很可能需要通过蓄电池突然中断供电的测试,此时图2中的捕捉电源掉电的方法就无法可靠使用。
这时,要实现捕捉电源掉电,需要利用TWIDO的一些内部特性,首先来看一下使用DC24V电源的TWDLMDA*****/TWDLCDA**DRF的对供电电源的要求,见图3。
使用DC24V电源的TWDLMDA*****/TWDLCDA**DRF的允许供电的直流24V电源发生10ms的中断,而不会对PLC的运行造成影响,也就是说,在24V电源供给断开的10ms内PLC还可以正常运行,再结合Twido
的外部中断(I0.2~I0.4,可在1ms内检测到输入的变化,微型继电器从线圈断电到触点断开需要4ms,剩余的5ms足够完成数据写入Flash 的程序所需的时间)功能,可以完成电源突然中断后将数据保存的要求。
相应的接线及设置见图4、图5及图6。
图2
图3
图4
图5
图6
注意,图6中要将I0.2的滤波时间设置为“不使用”,这样可以使用PLC更快地检测到微型继电器的触点的断开。
下面是为实现使用DC24V电源的TWDLMDA*****/TWDLCDA**DRF的供电掉电捕捉的Twido的测试程序,程序中使用I0.0、I0.1来改变MW288的数据,通过Q0.1的输出来判断数据是否被写入到Flash。
使用这三个辅助点是为了不断地重复掉电前数据的变化及上电后观察数据是否实现掉电保持功能,实际使用时可去掉这些测试部分内容。
测试程序中保存MW0到MW299间的300个数据寄存器,因数据写入Flash 的操作在中断程序中完成,所以与程序的大小无关,也就是完成保存数据的功能与PLC的扫描时间关系不大。
程序清单:
(* 初始化 *)
LD 1
MPS
AND( %S0
OR %S1
OR %S13
)
ST %S0
ST %M0
MPP
AND %S7
ST %M7
(* 开辟存储空间 *)
LD 1
[ %MW1000 := 88 ]
STN %M255
(* 初始化后1.5秒,从FLASH中恢复数据 *)
BLK %TM127
LDN %M0
IN
OUT_BLK
LD Q
ST %M101
END_BLK
(* 防止频繁对FLASH写操作时间限制,时间限制在50MS内 *) BLK %TM126
LDN %I0.0.2
IN
END_BLK
(* 恢复FLASH中的数据,M101为恢复条件,开机后1.5秒自动恢复数据 *)
(* *)
LDR %M101
[ %SW97 := 300 ]
ST %S95
(* Q0.1为测试指示,I0.1接通%MW288赋值88,Q0.1输出,断电后再通电,1.5秒后%Q0.0.1有输出,说明%MW288保存有效 *)
(* 如检测数据保存有效,接通I0.1,%MW288赋值0,Q0.1无输出,断电后再通电,1.5秒后%Q0.0.1无输出,说明%MW288保存有效 *)
LD 1
MPS
AND %I0.0.0
[ %MW288 := 0 ]
MRD
AND %I0.0.1
[ %MW288 := 88 ]
MPP
AND [ %MW288 = 88 ]
AND %S12
ST %Q0.0.1
(* 主程序结束 *)
END
(* 数据保存子程序,SW97需保存的数据区长度(示范为300,允许范围1~511) %I0.0.2为保存条件,此处取其下降沿 *)
(* 要保证写入闪存的条件在正常运行时不能频繁满足,否则可能损坏闪存 *)
SR0:
LDN %TM126.Q
[ %SW97 := 300 ]
ANDN %SW96:X10
AND %SW96:X6
ST %SW96:X0
(* 子程序返回 *)
RET。