技術(shù)文章
西門子S7-300/400 PLC累加器裝載、傳送編程
閱讀:1426 發(fā)布時(shí)間:2015-11-16西門子S7-300/400 PLC累加器裝載、傳送編程
1.S7-300/400的累加器裝載、傳送
在S7-300/400中,數(shù)據(jù)的裝載、傳送與移動(dòng)可以使用不同的指令來(lái)實(shí)現(xiàn)。裝載、傳送在梯形圖中也只能以指令表的形式進(jìn)行顯示。
(1)數(shù)據(jù)裝載
S7-300/400的數(shù)據(jù)裝載可以使用的裝載指令L(Load)來(lái)執(zhí)行裝載操作,一般情況下是直接將的數(shù)據(jù)移動(dòng)到累加器l中,累加器1原有的內(nèi)容自動(dòng)移動(dòng)到累加器2中。
裝載數(shù)據(jù)的實(shí)際長(zhǎng)度決定于指令中所的數(shù)據(jù)源,如:使用指令L MB**時(shí),數(shù)據(jù)長(zhǎng)度為l字節(jié);使用指令L MW**時(shí),數(shù)據(jù)長(zhǎng)度為2字節(jié)(字):使用指令LMD**時(shí),數(shù)據(jù)長(zhǎng)度為4字節(jié)(雙字)。
當(dāng)裝載數(shù)據(jù)的長(zhǎng)度為1字節(jié)或2字節(jié)(字)時(shí),數(shù)據(jù)被存儲(chǔ)在累加器l的低字節(jié)或低字上,累加器l的高字節(jié)或高字位自動(dòng)填入0。
S7-300/400的裝載操作可以使用直接數(shù)據(jù),如:
L +15:裝載十進(jìn)制常數(shù)I5:
L 1# 5366:裝載雙字長(zhǎng)常數(shù)5366:
L B#16# A7:裝載1字節(jié)十六進(jìn)制數(shù)A7;
L W#16# FD32:裝載2字節(jié)十六進(jìn)制數(shù)FD32;
L DW#16# FD32 A453:裝載4字節(jié)十六進(jìn)制數(shù)FD32 A453;
L 2# 0011 1110—1100一1111:裝載2字節(jié)二進(jìn)制數(shù)0011 1110 1100 1111;
L 2.5378 e +12:裝載32位浮點(diǎn)數(shù)2.5378 e +12;
L 、XYZW':裝載ASCII字符XYZW;
L TOD#12:30:3.02:裝載時(shí)間值12時(shí)30分3.02秒;
L D#2006-11-25:裝載日期值2006年11月25日:
L C#50:裝載計(jì)數(shù)器值50;
L T# 1M20S:裝載定時(shí)器值1分20秒:
L S5T#20S:裝載S5格式的定時(shí)器值20秒;
L P# M5.6:裝載二進(jìn)制位地址M5.6。
也可以使用直接尋址的地址,如:
L IBO:裝載輸入字節(jié)IBO:
L IWO:裝載輸入字IWO;
L IDO:裝載輸入雙字IDO;
L T5:裝載定時(shí)器T5的當(dāng)前時(shí)間值;
LC T5:以BCD格式裝載定時(shí)器T5的當(dāng)前時(shí)間值;
L C5:裝載計(jì)數(shù)器C5的當(dāng)前計(jì)數(shù)值;
LC C5:以BCD格式裝載計(jì)數(shù)器C5的當(dāng)前計(jì)數(shù)值。
還可以使用間接尋址,如:
L IB[LD10]:裝載由LD10確定的輸入字節(jié)IB;
L IW[AR1,P#8.0】:裝載由地址寄存器AR1與指針P#8.0確定的輸入字IW。
有關(guān)間接尋址的內(nèi)容可以參見第8章。
(2)數(shù)據(jù)傳送
S7-300/400的數(shù)據(jù)傳送可以使用的傳送指令T(Transfer)來(lái)執(zhí)行傳送操作,可以直接將累加器1的內(nèi)容移動(dòng)到的位置,累加器l的內(nèi)容保持不變。
傳送數(shù)據(jù)的實(shí)際長(zhǎng)度同樣決定于指令中所的目標(biāo)存儲(chǔ)器的數(shù)據(jù)長(zhǎng)度,可以為1字節(jié),2字節(jié)(字)、4字節(jié)(雙字)數(shù)據(jù)。
當(dāng)數(shù)據(jù)長(zhǎng)度為1字節(jié)或2字節(jié)(字)時(shí),累加器1的低字節(jié)或低字被傳送。
當(dāng)數(shù)據(jù)傳送的目標(biāo)為直接輸出PQ時(shí),PLC的輸出映像內(nèi)容被同時(shí)修改。
S7-300/400的傳送操作可以使用直接尋址的地址,如:
T MBO:累加器l的低字節(jié)內(nèi)容傳送到標(biāo)志字節(jié)MBO;
T QWO:累加器1的低16位內(nèi)容傳送到輸出字QWO;
T DBD20:累加器l的32位內(nèi)容傳送到數(shù)據(jù)塊的D20。
也可以使用間接尋址,如:
T QB[LD10]:累加器1的低字節(jié)內(nèi)容傳送到由LD10確定的輸出字節(jié)QB;
T MW[AR1,P# 8.0】:累加器l的低16位內(nèi)容傳送到由地址寄存器AR1與指針P#8.0確定的標(biāo)志字MW。
有關(guān)間接尋址的內(nèi)容可以參見第8章。
2.S7-300/400的地址寄存器的裝載、傳送
在S7-300/400中,裝載也可以對(duì)地址寄存器進(jìn)行。但是,地址寄存器的裝載,應(yīng)以地址寄存器AR1、AR2作為移動(dòng)的目標(biāo)位置;地址寄存器的傳送,應(yīng)以地址寄存器AR1、AR2作為源數(shù)據(jù)。因此,相應(yīng)的裝載指令為L(zhǎng)AR1、LAR2;傳送指令為TAR1、TAR2。應(yīng)注意使用的指令與累加器裝載、傳送之間的區(qū)別,如:
LARl LD10:將局部變量LD10裝入地址寄存器ARl;
LARl:將累加器l的內(nèi)容裝入地址寄存器ARl;
LARl P# M2.0:將二進(jìn)制地址指針M2.0裝入地址寄存器ARl;
LARl P# 2.0:將二進(jìn)制地址指針2.0裝入地址寄存器ARl;
TAR1:將地址寄存器AR1的內(nèi)容傳送到累加器1;
TARl LD10:將地址寄存器AR1的內(nèi)容傳送到LD10;
CAR:交換寄存器AR1、AR2的內(nèi)容。
3.S7-300/400的數(shù)據(jù)移動(dòng)
S7-300/400的數(shù)據(jù)移動(dòng)通過指令MOVE實(shí)現(xiàn),格式與S7-200相似,如圖10-4.3所示。
源數(shù)據(jù)或目標(biāo)存儲(chǔ)位置可以是常數(shù)、存儲(chǔ)器地址、間接尋址存儲(chǔ)器等:字長(zhǎng)可以是字節(jié)B、字W、雙字D、浮點(diǎn)數(shù)R等。程序中的源數(shù)據(jù)與目標(biāo)存儲(chǔ)位置的字長(zhǎng)必須相同。