本人用的300(313c-2dp)做項目,還是主從通訊。由于數據量很大(超過130),我查了下這個cpu的參數,上面有:i/o過程映像:輸入128字節,輸出128字節。
i/o地址區總計:輸入1024字節,輸出1024字節
請問意思是不是我打包通訊的數據總量不能超過128個字節?
dp從站組態通訊數據時只要起始地址不超過1024都可以?
這個cpu組從通訊最多能傳送多少數據?
答:1、 i/o過程映像:輸入128字節,輸出128字節.......... 輸出1024字節.......請問意思是不是我打包通訊的數據總量不能超過128個字節?
不是的。打包通訊的數據與i/o過程映像沒有關系。數據塊db,連續的標志區m均可作為打包的數據區。
2、 dp從站組態通訊數據時只要起始地址不超過1024都可以?
沒有這種說法。
3、 這個cpu組從通訊最多能傳送多少數據?
a、dp通訊講究一致性數據傳輸。
b、有關dp的一致性數據傳輸:
通 訊作業不在循環程序的執行處來處理,而是在程序循環過程中的一個固定的時間段里處理。從系統來講,數據格式字節,字 和雙字永遠可以得到一致性的處理,就是說傳輸一個字節,一個字(兩個字節)或雙字(4個字節)是不會被打斷的。
c、不同的通訊卡cp,不同的cpu通訊數據的最大長度也不一樣,例如:
cp342-5 作為profibus dp主站時,和每個從站最多可以交換244個輸入字節(bbbbb)和244個輸出字節(output)。cp342-5 作為從站時,與主站最多能夠交換240個輸入字節和240個輸出字節。
在s7-300中,通過sfc14和sfc15,讀寫一致性數據傳輸的字節最大長度是32個字節。
cpu 在程序循環處理過程中有一段連續的地址區域存儲過程信號叫做過程映象區,他處于cpu的系統存儲區中。這樣cpu 可以訪問內部存儲區獲得i/o 信號而不用直接訪問i/o 模塊。
過程映象區中的i/o 值不反映當前的i/o 信號,他記錄的是循環掃描起始期的i/o 值。當輸入模塊中的一個信號狀態發生改變,過程映象區中該信號的狀態直到下次循環開始時才會更新。
通過過程映像區訪問時,地址格式是i/q(輸入/輸出),最小可以訪問到位,如i0.0,q10.0
一般通過過程映像區訪問的循環程序運行流程如下:
1. 執行cpu 內部任務
2. 將過程映像區輸出區(piq)送到模塊輸出通道
3. 從模塊的輸入通道到過程映像區輸入區(pii)
4. 執行用戶程序段
但是過程映象區僅有128 個字節,而對于新型的cpu315-2dp(2ag10),它支持的數字量通道是16384,即有2048byte,有時候在i/o 量很大的情況下有必要采用直接i/o 訪問的方式而不占用過程映像區,最小訪問單位是字節。地址格式如下:
pib/ pqb 256 ,piw / pqw 256,pid / pqd 256。
注意:直接i/o 訪問,最小按字節進行,不能單獨對位進行操作。
cpu 系統循環掃描周期:
一般在循環掃描周期中,過程映象區會自動地更新,但在s7-400 和cpu 318 中您可以取消這樣的更新方式,進行直接的i/o 訪問或者在程序的不同地方調用sfc26”updat_pi”
和sfc27”updat_po”來更新過程映象區。










