S7-200長(zhǎng)時(shí)間掉電的知識(shí)
如果S7-200長(zhǎng)時(shí)間掉電(超過(guò)7天),內(nèi)部數(shù)據(jù)會(huì)丟失。
PLC在再次上電時(shí),發(fā)現(xiàn)數(shù)據(jù)丟失,第一個(gè)掃描周期會(huì)置位SM0.2,可用來(lái)控制一些特殊操作
如果數(shù)據(jù)頁(yè)中定義了數(shù)據(jù),會(huì)使用數(shù)據(jù)頁(yè)數(shù)據(jù)。
如果使用了默認(rèn)的掉電保持設(shè)置,會(huì)讀取EPROM中的數(shù)據(jù)到內(nèi)存,并且覆蓋數(shù)據(jù)頁(yè)定義的數(shù)據(jù),V內(nèi)存若需要長(zhǎng)時(shí)間掉電保持,需要單獨(dú)編寫(xiě)程序。
如果MB0-MB13,定義了掉電保持,也會(huì)讀取EPROM中的數(shù)據(jù)到內(nèi)存,這14字節(jié)不需要編寫(xiě)程序即可保存掉電前的數(shù)據(jù)。
長(zhǎng)時(shí)間掉電再次上電時(shí),時(shí)鐘會(huì)停止走動(dòng),并且被設(shè)置為90年1月1日 0時(shí)0分1秒
這里貢獻(xiàn)一個(gè)自己編寫(xiě)的掉電保持子程序,將下面這段文字直接粘貼到記事本中保存為:掉電保持.awl,在編程環(huán)境中導(dǎo)入即可。
若將VB100開(kāi)始的20個(gè)字節(jié)存入EEPROM中,adr=100 ,num=20, 需要寫(xiě)入時(shí),將write 做一次0-1的跳變即可。
SUBROUTINE_BLOCK Wrom:SBR9
TITLE=
VAR_INPUT
adr:WORD; // 寫(xiě)入地址(相對(duì)VB0的偏移量)
num:WORD; // 寫(xiě)入字節(jié)數(shù)
write:BOOL;
END_VAR
BEGIN
Network 1
LD L4.0
EU
S SM31.6, 1
Network 2
LD SM31.6
LPS
AN SM31.5
MOVW LW0, SMW32
R SM31.0, 4
S SM31.5, 1
LRD
AN SM31.4
S SM31.4, 1
S SM31.7, 1
LPP
A SM31.4
AN SM31.7
LPS
INCW SMW32
MOVW LW0, AC0
+I LW2, AC0
AW< SMW32, AC0
R SM31.4, 1
LPP
AW> SMW32, AC0
R SM31.0, 8
Network 3 // 網(wǎng)絡(luò)標(biāo)題
// 網(wǎng)絡(luò)注釋
END_SUBROUTINE_BLOCK
[ 此帖被醉湮邃虞在2013-03-08 15:49重新編輯 ]