新疆西門子S7-200SMART代理經(jīng)銷商
S7提供8個獨立的硬件中斷,它們有各自的OB。
通過用STEP 7分配參數(shù),觸發(fā)硬件中斷的每一個信號模板。
1)在怎樣的條件下,哪一個通道觸發(fā)一個硬件中斷。
2)哪—個硬件中斷OB分配給單獨的通道組(作為默認(rèn)設(shè)置,硬件中斷是由OB40來處理的)。
對CP和FM(通信和功能模板)由這些模板自己的驅(qū)動軟件來分配參數(shù)。
應(yīng)用STEP 7還可以選擇單個硬件中斷的優(yōu)先權(quán)等級。
在硬件中斷已經(jīng)被觸發(fā)之后,操作系統(tǒng)確認(rèn)“模板槽”和相應(yīng)的硬件中斷OB,如果這- OB具有比當(dāng)前激活的優(yōu)先權(quán)更高的優(yōu)先權(quán)等級,這一中斷將被啟動,在這一硬件中斷執(zhí)行完成后,將發(fā)送通道的應(yīng)答信號。
如果在硬件中斷的“確認(rèn)”和“應(yīng)答”信號的間隔內(nèi),又有另一個觸發(fā)事件出現(xiàn),硬件中斷將依據(jù)以下情況處理:
1)如果觸發(fā)事件是出現(xiàn)在先前觸發(fā)硬件中斷的同一通道上,則新的觸發(fā)事件將不起作用,圖3-69用一個數(shù)字輸入模板通道觸發(fā)的例子來說明上述情況,其觸發(fā)事件是一個上升沿,觸發(fā)的硬件中斷是OB40。

圖3-69 同一通道上的后續(xù)事件中斷將被屏蔽
2)如果觸發(fā)事件是出現(xiàn)在同一模板的另一個通道上,則新的觸發(fā)事件將不會被立即觸發(fā),但是觸發(fā)事件也不會被丟失,而是等待在當(dāng)前中斷的應(yīng)答信號之后,再執(zhí)行新的中斷。
3)如果觸發(fā)事件是出現(xiàn)在另一模板的通道上,則新的中斷請求將被記錄,等現(xiàn)有中斷結(jié)束后處理。
應(yīng)用SFC 39~ SFC 42可以取消或延遲以及重新允許硬件中斷。可以用STEP 7或用SFC 55~SFC 57分配對模板硬件中斷的參數(shù)。
表3-7列出硬件中斷OB的本地暫存數(shù)據(jù)(TEMP),變量名是OB40的默認(rèn)名。
注意:如果CPU具有DPV1的性能(見5.3.3.2節(jié)DP_V1版本),在使用SFB54(“RALRM”)之后,能得到中斷的一些附加信息,是比OB的啟動信息更多的附加信息。對于工作在S7兼容方式下的DP主站也適合使用SFB54。
OB35是周期中斷組織方塊之一,S7多可提供9個周期中斷組織方塊(OB30~OB38),具體由PLC-CPU的技術(shù)指標(biāo)決定能支持哪幾個周期中斷組織塊(例如,CPU 315-2DP,只支持OB35而CPU 317-2 PN-DP可以支持OB32、OB33、OB34、OB35 4個周期中斷)。
OB35只是典型的一個周期中斷組織塊。
與周期中斷有關(guān)的參數(shù)是時間間隔、優(yōu)先權(quán)等級和相偏置( Phase offset)。
由于各個周期中斷的時間間隔呈整倍數(shù)關(guān)系,所以有可能在同一點上啟動不同的周期中斷OB,還有可能引起時間錯誤(周期時間超出),為避免出現(xiàn)這一情況,需要一個相偏置(Phase offset)參數(shù),保證在周期中斷間隔過后,延時一定的時間(相偏置)再執(zhí)行周期中斷。
相偏置=m×基本時鐘脈沖(默認(rèn)為1ms)
要求0<m<n,n是周期中斷時間間隔系數(shù)。
圖3-67所示周期中斷OB38(不帶相偏置)和OB37(帶相偏置,m=5)的執(zhí)行時間對比關(guān)系,OB38的時間間隔為8ms(n=8),OB37的時間間隔為16ms(n=16)。

圖3-67 對周期中斷相偏置參數(shù)的說明
艾特貿(mào)易網(wǎng)特別提示注意:
必須保證每個周期中斷的運行時間要比中斷周期時間間隔來得短。如果由于間隔時間已經(jīng)超過,而周期中斷的程序還沒有*執(zhí)行完,則會啟動時間錯誤中斷OB80,引起錯誤的周期中斷在OB80后再繼續(xù)執(zhí)行。
應(yīng)用SFC39~SFC42可以禁止或延遲以及重新允許周期中斷。
由CPU的技術(shù)指標(biāo)決定周期中斷的參數(shù),例如,時間間隔范圍、優(yōu)先權(quán)等級和相偏置。應(yīng)用STEP 7的組態(tài),可以改變某些參數(shù)設(shè)置。
周期中斷OB的本地數(shù)據(jù)暫存變量(TEMP)見表3-6,默認(rèn)的變量名是OB35。
用戶在某些情況下,使用周期中斷是比較合適的,例如,對溫度的過程控制,一般溫度過程控制的目標(biāo)系統(tǒng)熱慣性時間常數(shù)都比較大,因此控制的響應(yīng)過程比較慢,而溫度控制的PID算法比其他指令需要更多的時間,如果把溫度控制的程序(FB或FC)放在OB1中調(diào)用,會使OB1周期時間增加很多,影響整個控制響應(yīng)速度。假如使用一個較長時間間隔(例如,1s)的周期中斷來調(diào)用溫度控制程序,一方面還能保證溫度控制的要求(溫度控制本身是一個慢過程),另一方面能使OB1的周期時間大為縮短,從而保證了整個系統(tǒng)有較快的控制響應(yīng)速度。采用這樣的程序結(jié)構(gòu)就比較合理。
事件驅(qū)動處理程序
循環(huán)程序的處理能夠被一定的事件中斷,當(dāng)出現(xiàn)中斷事件時,當(dāng)前正在執(zhí)行的方塊在“命令的邊界”上被中斷,以及另一個分配給中斷事件的組織方塊被調(diào)用,一旦被調(diào)用的組織方塊執(zhí)行完畢,循環(huán)處理程序在中斷的“邊界”上恢復(fù)執(zhí)行。中斷事件包括有硬件輸入模板觸發(fā)的硬件中斷,或者由錯誤引起的事件觸發(fā)。
OB1是執(zhí)行循環(huán)處理程序的組織方塊,S7 CPU的操作系統(tǒng)循環(huán)地執(zhí)行OB1,在OB1執(zhí)行結(jié)束后,操作系統(tǒng)再一次啟動它,如圖3~65所示。循環(huán)執(zhí)行OB1是在CPU完成啟動后開始的。在OB1中可以調(diào)用其他的功能塊( FB、SFB)或功能(FC、SFC),用戶程序有一部分可以直接在OB1中編程(見圖3-66的線性編程),更多的情況是用戶程序分解成各種功能塊和功能,再由OB1調(diào)用(見圖3-66的結(jié)構(gòu)化編程),所以實際的用戶程序通過OB1的循環(huán)執(zhí)行而執(zhí)行。
圖3-65 S7 CPU由操作系統(tǒng)調(diào)用OB1的結(jié)構(gòu)
OB1的優(yōu)先權(quán)等級在所有OB的優(yōu)先權(quán)等級中是低的,換言之,除OB90(底層循環(huán)組織塊)外,所有其他的OB都能中斷OB1的執(zhí)行。操作系統(tǒng)調(diào)用OB1是由以下事件觸發(fā)的:CPU完成啟動過程;前一個OB1周期已經(jīng)執(zhí)行完畢。
當(dāng)OB1執(zhí)行完畢后,操作系統(tǒng)發(fā)送全局?jǐn)?shù)據(jù),在再次啟動OB1之前,操作系統(tǒng)將過程鏡像輸出表的值,寫入輸出模板,接著更新過程鏡像輸入表的值,以及接收發(fā)送給CPU的全局?jǐn)?shù)據(jù)。OB1的運行時間受到定時器的監(jiān)控,S7監(jiān)視大掃描時間,大掃描時間的默認(rèn)預(yù)置值為150ms,這一預(yù)置值是可以通過系統(tǒng)功能SFC43 (RE_TRIGR)進行重新設(shè)置和重新啟動時間監(jiān)視的。如果OB1的執(zhí)行時間超過了大掃描時間預(yù)置值,操作系統(tǒng)會調(diào)用組織方塊OB80(時間錯誤OB),如果用戶程序中沒有編程OB80,在這種情況下CPU將轉(zhuǎn)入停機( STOP)狀態(tài)。除了監(jiān)視大掃描時間外,還可以保證一個小的掃描時間。在小掃描時間到達(dá)之前,操作系統(tǒng)將延時啟動新的循環(huán)(寫過程鏡像輸出表到輸出模板)。
新疆西門子S7-200SMART代理經(jīng)銷商