【S7-300使用指南】29.ANY參數(shù)類型
唐琳
發(fā)布于2015-12-31 09:52
23
0
標(biāo)簽:程序編寫, 軟件,
1 ANY參數(shù)類型概念
在Pointer參數(shù)類型中我們已經(jīng)告訴大家Pointer參數(shù)類型是基于交叉區(qū)域寄存器間接尋址發(fā)展而來的,由于交叉區(qū)域寄存器間接尋址無法存放數(shù)據(jù)塊編號(hào)信息,所以我們?yōu)榱丝梢詫?duì)數(shù)據(jù)塊進(jìn)行尋址,在交叉區(qū)域寄存器間接尋址的存儲(chǔ)空間中增加了一個(gè)字的空間來存放數(shù)據(jù)塊編號(hào)信息,但是這樣也只能一次尋址一個(gè)存儲(chǔ)區(qū)域,如果我們想對(duì)連續(xù)的幾個(gè)存儲(chǔ)空間進(jìn)行尋址比如對(duì)MW0、MW2、MW4一起進(jìn)行尋址,無論是寄存器尋址還是Pointer參數(shù)類型都是無法完成的。此時(shí)我們引進(jìn)ANY參數(shù)類型,ANY參數(shù)類型在Pointer參數(shù)類型的基礎(chǔ)上又增加了兩個(gè)字的存儲(chǔ)空間。
圖1-1
圖1-2
圖1-3
ANY參數(shù)類型中第0字節(jié)是ANY參數(shù)類型的標(biāo)識(shí)位,無論何時(shí)只要是ANY參數(shù)類型第0字節(jié)就是16進(jìn)制的10。第1字節(jié)是數(shù)據(jù)類型信息,確定每個(gè)存儲(chǔ)空間的數(shù)據(jù)類型,圖 1-4是每種數(shù)據(jù)類型對(duì)應(yīng)的16進(jìn)制代碼,第2第3字節(jié)重復(fù)因子表示由幾個(gè)存儲(chǔ)空間構(gòu)成的這段指針。
圖 1-4
2 ANY參數(shù)類型舉例 下面我們用P#DB1.DBX0.0 WORD 3這個(gè)ANY類型指針來給大家具體舉例,首先我們要明確指針P#DB1.DBX0.0 WORD 3是由DB1.DBW0、DB1.DBW2、DB1.DBW4、三個(gè)連續(xù)的存儲(chǔ)空間構(gòu)成同時(shí)這三個(gè)存儲(chǔ)空間的數(shù)據(jù)類型是WORD。
圖2-1
圖2-2
圖2-3
圖2-4
圖2-5
3 程序示例 首先要告訴大家我們這個(gè)程序的功能是將ANY指針規(guī)定的空間的數(shù)值相加求和。
圖3-1
圖3-2
圖3-3
圖3-4
圖3-5
圖3-6