您現在的位置是:首頁 > 攝影首頁攝影

S7-300400:外設定址的概念、用法及其應用特點

由 ZAKER汽車 發表于 攝影2021-09-15
簡介當訪問地址超出了預設的過程映像區範圍時,我們就要做以下選擇了:或者修改過程映像區的大小或者採用外設定址圖2 CPU416-2DP的技術資料(節選)2、輸入輸出模組地址未分配給過程映像區特別是對於S7-400系列CPU而言,要想使用過程映像

定址範圍怎麼算

S7-300400:外設定址的概念、用法及其應用特點

一、 外設定址

與過程映像區不同,外設定址是指直接訪問外設模組。外設定址不能對外設進行位定址,

要求必須至少以位元組為單位進行資料讀寫,即可以位元組、字或者雙字為單位進行定址。其格式如下:

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。當訪問地址超出了預設的過程映像區範圍時,我們就要做以下選擇了:

或者修改過程映像區的大小

或者採用外設定址

S7-300400:外設定址的概念、用法及其應用特點

圖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地址區域。同時使用外設定址和過程映像區訪問同一地址時,在程式執行的某一時刻,二者的結果會存在差異。以下面一段程式為例:

S7-300400:外設定址的概念、用法及其應用特點

圖3 外設定址與過程映像區

其中,“T PQB1”為外設定址,結果會直接送給輸出模組;而“AQ1。0”訪問的是輸出過程映像區,Q1。0的值只有在下個迴圈週期的“輸出映像區的資料寫入輸出模組”階段,才能送給輸出模組。在當前的迴圈週期內,二者對輸出的作用可能是不同的。

3、 由於過程映像區屬於CPU的內部儲存區,因此,相比訪問過程映像區,CPU直接訪問外設地址會更加耗時一些,但這一時間一般來說仍然比CPU的迴圈掃描週期要短的多,因此,總的來說,外設定址的實時性要好一些。