西門子 S7-300的尋址方式
S7-300編程語(yǔ)言的基本單位是語(yǔ)句,而語(yǔ)句的構(gòu)成是指令,每條指令有兩部分:一部分是操作碼,另一部分是操作數(shù)。操作碼是指出這條指令的功能是什么,操作數(shù)則指明了操作碼所需要的數(shù)據(jù)所在。所謂尋址,就是尋找操作數(shù)的過(guò)程。S7-300 CPU的尋址分三種:立即尋址、直接尋址、間接尋址。
1.立即尋址
在一條指令中,如果操作碼后面的操作數(shù)就是操作碼所需要的具體數(shù)據(jù),這種指令的尋址方式就叫立即尋址。
如:在傳送指令中:MOV IN OUT——操作碼“MOV”指出該指令的功能把IN中的數(shù)據(jù)傳送到OUT中,其中IN——源操作數(shù),OUT——目標(biāo)操作數(shù)。
若該指令為:MOVD 2505 VD500
功能:將十進(jìn)制數(shù)2505傳送到VD500中,這里2505就是源操作數(shù)。因這個(gè)操作數(shù)的數(shù)值已經(jīng)在指令中了,不用再去尋找,這個(gè)操作數(shù)即立即數(shù)。這個(gè)尋址方式就是立即尋址方式。而目標(biāo)操作數(shù)的數(shù)值在指令中并未給出,只給出了要傳送到的地址VD500,這個(gè)操作數(shù)的尋址方式就是直接尋址。
2.直接尋址
在一條指令中,如果操作碼后面的操作數(shù)是以操作數(shù)所在地址的形式出現(xiàn)的,這種指令的尋址方式就叫直接尋址。
如:MOVD VD400 VD500
功能:將VD400中的雙字?jǐn)?shù)據(jù)傳給VD500
3.間接尋址
在一條指令中,如果操作碼后面的操作數(shù)是以操作數(shù)所在地址的地址形式出現(xiàn)的,這種指令的尋址方式就叫間接尋址。
如:MOVD 2505 *VD500, *VD500是指存放2505的地址的地址。
如VD500中存放的是VB0,則VD0則是存放2505的地址。
該指令的功能:將十進(jìn)制數(shù)2505傳送給VD0地址中。