施耐德电气Twido系列PLC数据掉电保存的应用

2017/1/10 11:35:49

前言

  很多设备在实际使用中需要将设备运行中的部分数据保存,以便下一次运行时使用。被 保存的数据要求在设备断电的情况下不丢失,也就是在某些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

  图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

施耐德电气技术文摘:
施耐德电气变频器故障代码及处理方法
ATV61变频器高级多泵卡的PID参数的整定方法
Twido程序不能正常打开的处理
wido plc 在某些有特殊控制规律设备中的使用技巧
施耐德电气LMC058运动控制器的三大功能介绍
Twdio PLC无法自动运行解决方法
为什么变频器不能用作变频电源?
施耐德电气ATV31变频器电机自整定注意事项
施耐德电气石油和天然气管道的安全控制解决方案
施耐德电气热继电器选型方式
两种TWIDO PLC在线修改程序错误的解决方法
Twido PLC上电时数据初始化方法汇总
TWDLC*A10DRF单字乘除扩展功能
TWIDO一种简洁的实现点动开关自锁方式
Twido PLC的数据保持
Twido PLC实现队列控制的一个方法
压力传感器如何选型
利用Twido的周期事件打造超级定时器
更多施耐德电气技术文摘...

通过中华工控网在线联系施耐德电气有限公司:

免费注册为中华工控网会员