西門子總線電纜代理商
西門子總線電纜代理商
立即讀取或?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)勢。使用映像寄存
器共有三個(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ì)信息,請參見本章中的局部存儲(chǔ)區(qū): L。