問題描述:
在STEP7函數(shù)FC1中調(diào)用SFC14和SFC15,程序結(jié)構(gòu)如圖1,如何將FC1接口中定義的ANY指針 RD_RECORD及WR_RECORD(圖2)分別傳遞給SFC14及SFC15 ? 圖 1
圖 2
解決方法:
如圖3所示,由于FC接口參數(shù)中定義的ANY類型參數(shù)RD_RECORD 無法作為其調(diào)用函數(shù)SFC14 RECORD參數(shù)的實參,而在臨時變量區(qū)中定義的ANY類型變量卻可以作為SFC14 RECORD參數(shù)的實參,所以可采取通過臨時變量中轉(zhuǎn)的方式來傳遞ANY指針。 圖 3
附件提供的樣例程序中在FC1函數(shù)的臨時變量區(qū)中定義兩個ANY類型變量 RD_Temp和 WR_Temp,分別作為SFC14和SFC15的RECORD參數(shù)。
FC1中的Network 1通過1個WORD和2個DWORD逐字段傳遞的方式將RD_RECORD的內(nèi)容傳遞給 RD_Temp;
FC1中的Network 2通過在LOOP循環(huán)中逐字節(jié)傳遞的方式將WR_RECORD的內(nèi)容傳遞給WR_Temp;
|