西門子總線電纜代理商
西門子總線電纜代理商

立即讀取或?qū)懭?/span> I/O
CPU 指令集提供立即讀取或?qū)懭胛锢?I/O 的指令,。這些立即 I/O
指令可用來直接訪問實(shí)際輸出或輸入點(diǎn),即使映像寄存器通常用作 I/O
訪問的源地址或目的地址,。使用立即指令來訪問輸入點(diǎn)時(shí),,不改變相應(yīng)過程映像輸入寄存
器單元,。使用立即指令來訪問輸出點(diǎn)時(shí),將同時(shí)更新相應(yīng)過程映像輸出寄存器單元,。
說明
讀取模擬量輸入時(shí),,可立即讀取到相應(yīng)的值,。向模擬量輸出寫入值時(shí),會(huì)立即更新該輸出
,。
在程序執(zhí)行期間,,使用過程映像寄存器比直接訪問輸入或輸出點(diǎn)更有優(yōu)勢(shì)。使用映像寄存
器共有三個(gè)原因:
● 在掃描開始時(shí)對(duì)所有輸入進(jìn)行采樣可在掃描周期的程序執(zhí)行階段同步和凍結(jié)輸入值,。
程序執(zhí)行完成后,,使用映像寄存器中的值更新輸出。這樣會(huì)使系統(tǒng)更穩(wěn)定。
● 程序訪問映像寄存器的速度比訪問 I/O 點(diǎn)的速度快得多,,從而可以更快地執(zhí)行程序,。
● I/O
點(diǎn)是位實(shí)體,必須以位或字節(jié)的形式訪問,,但可以采用位、字節(jié),、字或雙字的形式訪
問映像寄存器,。因此,映像寄存器更為靈活,。
4.1.3
執(zhí)行用戶程序
在掃描周期的執(zhí)行階段,,CPU
執(zhí)行主程序,從條指令開始并繼續(xù)執(zhí)行到后一個(gè)指令,。
在主程序或中斷例程的執(zhí)行過程中,,使用立即 I/O 指令可立即訪問輸入和輸出。
如果在程序中使用子例程,,則子例程作為程序的一部分進(jìn)行存儲(chǔ),。
主程序、另一個(gè)子例程或中斷例程調(diào)用子例程時(shí),,執(zhí)行子例程,。
從主程序調(diào)用時(shí)子例程的嵌套深度是 8 級(jí),從中斷例程調(diào)用時(shí)嵌套深度是 4 級(jí),。
如果在程序中使用中斷,,則與中斷事件相關(guān)的中斷例程將作為程序的一部分進(jìn)行存儲(chǔ)。
在正常掃描周期中并不一定執(zhí)行中斷例程,,而是當(dāng)發(fā)生中斷事件時(shí)才執(zhí)行中斷例程(可以
是掃描周期內(nèi)的任何時(shí)間),。
為 14 個(gè)實(shí)體中的每一個(gè)保留局部存儲(chǔ)器:
主程序、八個(gè)子例程嵌套級(jí)別(從主程序啟動(dòng)時(shí)),、一個(gè)中斷例程和四個(gè)子例程嵌套級(jí)別
(從中斷程序啟動(dòng)時(shí)),。
局部存儲(chǔ)器有一個(gè)局部范圍,局部存儲(chǔ)器僅在相關(guān)程序?qū)嶓w內(nèi)可用,,其它程序?qū)嶓w無法訪
問,。 有關(guān)局部存儲(chǔ)器的詳細(xì)信息,請(qǐng)參見本章中的局部存儲(chǔ)區(qū): L,。