外設尋址不能對外設進行位尋址, 要求必須至少以字節為單位進"/>
西門子: | 西門子電源模塊代理 |
西門子工業電源模塊: | 西門子電源模塊一級代理 |
德國: | 西門子工業電源授權代理 |
單價: | 面議 |
發貨期限: | 自買家付款之日起 天內發貨 |
所在地: | 直轄市 上海 上海寶山 |
有效期至: | 長期有效 |
發布時間: | 2023-12-17 05:10 |
最后更新: | 2023-12-17 05:10 |
瀏覽次數: | 418 |
采購咨詢: |
請賣家聯系我
|
一、 外設尋址
與過程映像區不同,外設尋址是指直接訪問外設模塊。外設尋址不能對外設進行位尋址,
要求必須至少以字節為單位進行數據讀寫,即可以字節、字或者雙字為單位進行尋址。其格式如下:
PIB(Peripheral input Byte):外設字節輸入
PIW(Peripheral input Word):外設字輸入
PID(Peripheral input D-word):外設雙字輸入
PQB(Peripheral output Byte):外設字節輸出
PQW(Peripheral output Word):外設字輸出
PQD(Peripheral output D-word):外設雙字輸出
二、 為什么要用外設尋址
1、訪問地址超出了過程映像區的范圍
對于300的CPU而言,以CPU-315 2DP為例(如圖1所示),I/O地址區總計有2048個字節的輸入和2048個字節的輸出,但其過程映像區的大小僅為128字節。顯然,過程映像區并不能涵蓋整個CPU的輸入/輸出地址區域。當我們要訪問的I/O地址超出了過程映像區的范圍,就必須使用外設尋址了。
圖1 CPU315-2DP的技術數據(節選)
對于400的CPU而言,以CPU-416 2DP為例(如圖2所示),輸入/輸出均16KB,過程映像區默認為512個字節,但***大可調整為16KB。當訪問地址超出了默認的過程映像區范圍時,我們就要做以下選擇了:
或者修改過程映像區的大小
或者采用外設尋址
圖2 CPU416-2DP的技術數據(節選)
2、輸入/輸出模塊地址未分配給過程映像區
特別是對于S7-400系列CPU而言,要想使用過程映像區,需給輸入/輸出模塊地址分配過程映像,OB1-PI或者PIP中的一個。當然,我們也可以不為其分配過程映像區,而直接使用外設尋址。
3、對外設訪問實時性要求比較高的場合
外設尋址跳過了過程映像的刷新過程,CPU和輸入/輸出模塊直接做數據交換,實時性會相對好一些。
三、 外設尋址的特點
1、 外設尋址的***小單位為字節,通過裝載指令"L"***多了讀寫4個字節的連續地址區域,如:L PID 10。如果需要讀寫大于4個字節的連續地址區域,可用SFC14(DPRD_DAT)和SFC15(DPWR_DAT)來實現。
2、 外設尋址可以訪問已經被分配至過程映像區的I/O地址區域。使用外設尋址和過程映像區訪問同一地址時,在程序執行的某一時刻,二者的結果會存在差異。以下面一段程序為例:
圖3 外設尋址與過程映像區
其中,"T PQB1"為外設尋址,結果會直接送給輸出模塊;而"AQ1.0"訪問的是輸出過程映像區,Q1.0的值只有在下個循環周期的"輸出映像區的數據寫入輸出模塊"階段,才能送給輸出模塊。在當前的循環周期內,二者對輸出的作用可能是不同的。
3、 由于過程映像區屬于CPU的內部存儲區,相比訪問過程映像區,CPU直接訪問外設地址會更加耗時一些,但這一時間一般來說仍然比CPU的循環掃描周期要短的多,外設尋址的實時性要好一些