產地類別 | 進口 | 應用領域 | 化工,電子/電池 |
---|---|---|---|
產地 | 德國 | 品牌 | 西門子 |
CPU 提供三種類型的計數器,對計數器輸入上的每一個由低到高的跳變事件進行計數: 一種類型僅向上計數,一種僅向下計數,還有一種可向上和向下計數。
有兩個與計數器相關的變量:
當前值: 該 16位有符號整數用于存儲累加的計數值。
計數器位: 比較當前值和預設值后,可置位或清除該位。預設值是計數器指令的一部分。
可以使用計數器地址(C + 計數器編號)訪問這兩個變量。
![]() |
參考價 | 面議 |
更新時間:2022-02-24 11:41:25瀏覽次數:488
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
淄博西門子代理商
在掃描周期的執行階段,CPU
執行主程序,從*條指令開始并繼續執行到后一個指令。
在主程序或中斷例程的執行過程中,使用立即 I/O 指令可立即訪問輸入和輸出。
如果在程序中使用子例程,則子例程作為程序的一部分進行存儲。主程序、另一個子例程或中斷例程調用子例程時,執行子例程。
從主程序調用時子例程的嵌套深度是 8 級,從中斷例程調用時嵌套深度是 4 級。
如果在程序中使用中斷,則與中斷事件相關的中斷例程將作為程序的一部分進行存儲。 在正常掃描周期中并不一定執行中斷例程,而是當發生中斷事件時才執行中斷例程(可以是掃描周期內的任何時間)。
為 14 個實體中的每一個保留局部存儲器:
主程序、八個子例程嵌套級別(從主程序啟動時)、一個中斷例程和四個子例程嵌套級別(從中斷程序啟動時)。
局部存儲器有一個局部范圍,局部存儲器僅在相關程序實體內可用,其它程序實體無法訪問。 有關局部存儲器的詳細信息,請參見本章中的局部存儲區: L。
下圖描述了一個典型的掃描流程,該流程包括局部存儲器使用和兩個中斷事件(一個事件發生在程序執行階段,另一個事件發生在掃描周期的通信階段)。
子例程由下一個較高級別調用,并在調用時執行。
沒有調用中斷例程;發生相關中斷事件時才調用中斷例程。
圖 4-1 典型掃描流程
CPU 將信息存儲在不同存儲單元,每個位置均具有的地址。可以顯式標識要訪問的存儲器地址。 這樣程序將直接訪問該信息。
要訪問存儲區中的位,必須地址,該地址包括存儲器標識符、字節地址和位號(也稱為“字節.位"尋址)。
表格 4- 2 位尋址
位地址元素 | 說明 | |
| A | 存儲區標識符 |
B | 字節地址: 字節 3 | |
C | 分隔符(“字節.位") | |
D | 位在字節中的位置(位 4,共 8 位,編號 7 到 0
的位) | |
E | 存儲區的字節 | |
F | 選定字節的位 |
在此示例中,存儲區和字節地址(“M3")代表 M 存儲器的第 3個字節,用句點(“.")與位地址(位 4)分開。
使用“字節地址"格式可按字節、字或雙字訪問多數存儲區(V、I、Q、M、S、L 和SM)中的數據。
要按字節、字或雙字訪問存儲器中的數據,必須采用類似于位地址的方法地址。這包括區域標識符、數據大小標識和字節、字或雙字值的起始字節地址,如下圖所示。
下表給出了不同數據長度可表示的整數值范圍
淄博西門子代理商
表格 4- 3 不同數據長度表示的十進制和十六進制數范圍
表示方式 | 字節 (B) | 字 (W) | 雙字 (D) |
無符號整數 | 0 到 255
16#00 到 16#FF | 0 到 65,535
16#0000 到 16#FFFF | 0 到 4,294,967,295
16#00000000 到 16#FFFFFFFF |
有符號整數 | -128 到 +127 | -32,768 到 +32,767 | -2,147,483,648 到 +2,147,483,647 |
16#80 到 16#7F | 16#8000 到 16#7FFF | 16#8000 0000 到 16#7FFF FFFF | |
實數(IEEE | 不適用 | 不適用 | +1.175495E-38 到 |
32 | +3.402823E+38(正數) | ||
位浮點數) | -1.175495E-38 到 -3.402823E+38(負數) |
使用包括區域標識符和設備編號的地址格式來訪問其它 CPU 存儲區(如 T、C、HC和累加器)中的數據。
I(過程映像輸入)
CPU
在每次掃描周期開始時對物理輸入點采樣,然后將采樣值寫入過程映像輸入寄存器。用戶可以按位、字節、字或雙字來訪問過程映像輸入寄存器:
表格 4- 4 I 存儲器的尋址
位: | I[字節地址].[位地址] | I0.1 |
字節、字或雙字: | I[大小][起始字節地址] | IB4、
IW7、 ID20 |
Q(過程映像輸出)
掃描周期結束時,CPU
將存儲在過程映像輸出寄存器的值復制到物理輸出點。用戶可以按位、字節、字或雙字來訪問過程映像輸出寄存器:
表格 4- 5 Q 存儲器的尋址
位: | Q[字節地址].[位地址] | Q1.1 |
字節、字或雙字: | Q[大小][起始字節地址] | QB5、QW
14、QD28 |
V(變量存儲器)
可以使用 V 存儲器存儲程序執行程序中控制邏輯操作的中間結果。 也可以使用 V
存儲器存儲與過程或任務相關的其它數據。 可以按位、字節、字或雙字訪問 V 存儲器:
表格 4- 6 V 存儲器的尋址
位: | V[字節地址].[位地址] | V10.2 |
字節、字或雙字: | V[大小][起始字節地址] | VB16、
VW100、 VD2136 |
M(標志存儲器)
可以將標志存儲區(M
存儲器)用作內部控制繼電器來存儲操作的中間狀態或其它控制信息。可以按位、字節、字或雙字訪問標志存儲區:
表格 4- 7 M 存儲器的尋址
位: | M[字節地址].[位地址] | M26.7 |
字節、字或雙字: | M[大小][起始字節地址] | MB0、MW
11、MD20 |
T(定時器存儲器)
CPU 提供的定時器能夠以 1 ms、10 ms 或 100 ms
的精度(時基增量)累計時間。定時器有兩個變量:
當前值: 該 16位有符號整數可存儲定時器計數的時間量。
定時器位: 比較當前值和預設值后,可置位或清除該位。預設值是定時器指令的一部分。
可以使用定時器地址(T + 定時器編號)訪問這兩個變量。訪問定時器位還是當前值取決于所使用的指令:
帶位操作數的指令會訪問定時器位,而帶字操作數的指令則訪問當前值。
如下圖所示,“常開觸點"指令訪問的是定時器位,而“移動字"指令訪問的是定時器的當前值。
定時器: | T[定時器編號] | T24 |
表格 4- 8 T 存儲器的尋址
C(計數器存儲器)
CPU 提供三種類型的計數器,對計數器輸入上的每一個由低到高的跳變事件進行計數: 一種類型僅向上計數,一種僅向下計數,還有一種可向上和向下計數。
有兩個與計數器相關的變量:
當前值: 該 16位有符號整數用于存儲累加的計數值。
計數器位: 比較當前值和預設值后,可置位或清除該位。預設值是計數器指令的一部分。
可以使用計數器地址(C + 計數器編號)訪問這兩個變量。訪問計數器位還是當前值取決于所使用的指令:
帶位操作數的指令會訪問計數器位,而帶字操作數的指令則訪問當前值。
如下圖所示,“常開觸點"指令訪問的是計數器位,而“移動字"指令訪問的是計數器的當前值。
計數器 | C[計數器編號] | C24 |
表格 4- 9 C 存儲器的尋址
圖 4-3 訪問計數器位或計數器的當前值
HC(高速計數器)
高速計數器獨立于 CPU 的掃描周期對高速事件進行計數。 高速計數器有一個有符號 32 位整數計數值(或當前值)。 要訪問高速計數器的計數值,您需要利用存儲器類型 (HC)和計數器編號高速計數器的地址。
高速計數器的當前值是只讀值,僅可作為雙字(32 位)來尋址。
表格 4- 10 HC 存儲器的尋址
高速計數器 | HC[高速計數器編號] | HC1 |
AC(累加器)
累加器是可以像存儲器一樣使用的讀/寫器件。
例如,可以使用累加器向子例程傳遞參數或從子例程返回參數,并可存儲計算中使用的中間值。 CPU 提供了四個 32 位累加器(AC0、AC1、AC2 和 AC3)。
可以按位、字節、字或雙字訪問累加器中的數據。
被訪問的數據大小取決于訪問累加器時所使用的指令。
如下圖所示,當以字節或字的形式訪問累加器時,使用的是數值的低 8 位或低 16 位。
當以雙字的形式訪問累加器時,使用全部 32 位。
表格 4- 11 AC 存儲器的尋址
累加器 | AC[累加器編號] | AC0 |
圖 4-4 訪問累加器
SM(特殊存儲器)
SM 位提供了在 CPU 和用戶程序之間傳遞信息的一種方法??梢允褂眠@些位來選擇和控制 CPU 的某些特殊功能,例如:
在*個掃描周期接通的位、以固定速率切換的位或顯示數學或運算指令狀態的位。可以按位、字節、字或雙字訪問 SM 位:
表格 4- 12 SM 存儲器的尋址