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