利用编码器高速脉冲转化为角度,停电前将高速计数存储到MD0,来电后将MD0恢复,MD0设置为停电保持,停电10天后,角度还是恢复为零,没有记忆到停电时的状态,请问如何才能保持这数据呢,程序如下
LDN M0.4
LPS
A SM0.1
AN T32
MOVD MD0, VD3000
AENO
MOVD VD3000, SMD38
MOVD VD3000, SMD38
LPP
TON T32, +1
LDN SM0.1
LPS
MOVD HC0, VD3000
AENO
AN T96
MOVD VD3000, MD0
LPP
TON T96, +1
最佳答案
关于这个问题,有以下几种方式可供你选择——
1、用V存储区,在"系统块"->"断电数据保持"。断电后,CPU221 和 CPU222的超级电容可提供约50h的数据保持,CPU224、CPU226、CPU226XM可保持数据约190h。超级电容在CPU上电时充电,为保证获得上述指标的数据保持时间,需要充电至少24h。CPU断电 后,首先依靠内置的超级电容为数据提供电源。超级电容放电完毕后,电池才起作用。完全靠电池为CPU提供数据备份电源时,电池寿命约200天。
2、用MB0-MB13。S7-200 CPU的M存储区有14字节(MB0-MB13),可以在CPU断电时自动 将其中的内容写入到EEPROM的相应区域中,则数据可以永久保存。默认 情况下,M存储区的这14个字节未设置为在断电时自动保存,需要在S7- 200项目的系统块中进行设置。
3、用永久存储区。在程序中利用SMB31和SMW32特殊存储器,可以把V存储区中的任意地 址的数据写到相应的EEPROM单元中,达到永久保存的目的。每次操作可以写入1个字节、字或双字长度的数据。多次执行操作,可以写入多个数 据。在<200系统手册>的40页有具体的例子。但由于EEPROM的写操作资料 有限(至少10万次,典型100万次),在程序中必须注意写入操作的频度。
提问者对于答案的评价:
a
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc308150.html