西門子CPU1211C中央處理器西門子中國總代理 西門子授權(quán)代理商西門子CPU1211C中央處理器西門子中國總代理 西門子授權(quán)代理商西門子CPU1211C中央處理器西門子中國總代理 西門子授權(quán)代理商西門子PLC同步錯誤組織塊?1.同步錯誤??同步錯誤是與執(zhí)行用戶程序有關(guān)的錯誤,程序中如果有不正確的地址區(qū)、錯誤的編號或錯誤的地址,都會出現(xiàn)同步錯誤,操作系統(tǒng)將調(diào)用同步錯誤OB。
OB121用于對程序錯誤的處理,OB122用于處理模塊訪問錯誤。
??同步錯誤OB的優(yōu)先級與檢測到出錯的塊的優(yōu)先級一致。
因此OB121和OB122可以訪問中斷發(fā)生時累加器和其他寄存器的內(nèi)容。
用戶程序可以用它們來處理錯誤,例如出現(xiàn)對某個模擬量輸入模塊的訪問錯誤時,可以在OB122中用SFC44定義一個替代值。
??可以用SFC36“MASK_FLT”來屏蔽同步錯誤,使某些同步錯誤不觸發(fā)對應(yīng)的OB的調(diào)用,但是CPU在錯誤寄存器中記錄發(fā)生的被屏蔽的錯誤。
SFC 37“DMSK_FLT”在當前優(yōu)先級被執(zhí)行完后,將解除被屏蔽的錯誤,并且清除當前優(yōu)先級的事件狀態(tài)寄存器相應(yīng)的位。
??可以用SFC38“READ_ERR”讀出已經(jīng)發(fā)生的被屏蔽的錯誤。
??對于S7-300(CPU318除外),不管錯誤是否被屏蔽,錯誤都會被送入診斷緩沖區(qū),并且CPU的“SF”LED會被點亮。
??2. 編程錯誤組織塊(OB121)??出現(xiàn)編程錯誤時,CPU的操作系統(tǒng)將調(diào)用OB121。
編程錯誤的診斷將在7.3.2節(jié)介紹。
??3. I/O訪問錯誤組織塊(OB122)??CPU用PI、PQ地址區(qū)訪問有故障的模塊時,如果出現(xiàn)直接訪問I/O錯誤(模塊損壞或找不到),或者訪問了一個CPU不能識別的I/O地址,此時CPU的操作系統(tǒng)將會調(diào)用0B122。
0B122將在7.1.1節(jié)介紹。
??其他組織塊??1. DPV1中斷組織塊 OB55~OB57??如果PROFIBUS-DP V1(簡稱 DPV1)從站的模塊或機架改變了操作模式,例如由RUN切換為STOP,CPU的操作系統(tǒng)可能調(diào)用狀態(tài)中斷組織塊OB55。
??如果用戶通過本地或遠程訪問更改了DPV1從站插槽的參數(shù),CPU的操作系統(tǒng)可能調(diào)用更新中斷組織塊0B56。
OB57是DPV1從站的插槽觸發(fā)的制造商特定的中斷的組織塊。
??2.多處理器中斷組織塊OB60??S7-400的一個機架可以插入最多4個CPU,協(xié)同完成同一個復(fù)雜任務(wù)。
OB60用來確保在多CPU過程中CPU的反應(yīng)與事件同步。
??3.同步循環(huán)中斷組織塊OB61~OB64??DP從站從采集輸入信號到輸出邏輯運算結(jié)果需要經(jīng)過7個不同的循環(huán),同步循環(huán)中斷用于實現(xiàn)各DP從站數(shù)據(jù)處理的同步。
??4.技術(shù)功能同步中斷組織塊OB65??技術(shù)(Technology)功能同步中斷組織塊0B65用于技術(shù)功能CPU的程序啟動和技術(shù)功能塊更新的同步。
??5.背景組織塊OB90??S7-400的CPU可以設(shè)置最小掃描循環(huán)時間,如果它比實際的掃描循環(huán)時間長,在循環(huán)程序結(jié)束后CPU處于空閑的時間內(nèi)可以執(zhí)行背景組織塊(OB90)。
如果沒有對OB90編程,CPU要等到定義的最小掃描循環(huán)時間到達為止,再開始下一次循環(huán)的操作。
用戶可以將對運行時間要求不高的操作放在OB90中去執(zhí)行,以避免出現(xiàn)等待時間。
??OB90的優(yōu)先級為29(最低),不能通過參數(shù)設(shè)置進行修改。
實際編程極少使用OB90。
西門子PLC順序功能圖舉例某專用鉆床用來加工圓盤狀零件上均分布的6個孔(見圖S一13),上面是視圖,面是工件的俯視圖。
??在進入自動運行之前,兩個錯頭應(yīng)在最上面,上限位開關(guān)10.3和10.5為1狀態(tài),系統(tǒng)處于初始步,減計數(shù)器00的設(shè)定值3被送入計數(shù)器字。
在圖S-14中用存儲器位來代表各步,順序功能圖中包含了選擇序列和并行序列。
操作人員放好工件后,按下起動按鈕10.0??轉(zhuǎn)換條件I0.0*10.3*10.5滿足,由初始步轉(zhuǎn)換到步M0.1,Q4.0變?yōu)?狀態(tài),工件被夾緊。
夾緊后壓力繼電器I0.1為1狀態(tài),由步M0.1轉(zhuǎn)換到步M0.2和M0.5,Q4.1和Q4.3 使兩只鉆頭同時開始向下鉆孔。
大鉆頭鉆到由限位開關(guān)10.2設(shè)定的深度時,進入步M0.3,Q4.2使大鉆頭上升,升到由限位開關(guān)10.3設(shè)定的起始位置時停止上升,進入等待步M0.4。
小鉆頭鉆到由限位開關(guān)10.4 設(shè)定的深度時,進入步M0.6,Q4.4使小鉆頭上升,升到由限位開關(guān)I0.5設(shè)定的起始位置時停止上升,進入等待步M0.7。
在步M0.5,設(shè)定值為3的計數(shù)器C0的當前值減1。
減1后當前值為2(非0),C0的常開觸點閉合,轉(zhuǎn)換條件C0滿足。
兩個鉆頭都上升到位后,將轉(zhuǎn)換到步M1.0。
Q4.5使工件旋轉(zhuǎn)120°,旋轉(zhuǎn)到位時10.6變?yōu)?狀態(tài),又返回步M0.2和M0.5,開始鉆第二對孔。
3對孔都鉆完后,計數(shù)器的當前值變?yōu)?,其常閉觸點閉合,轉(zhuǎn)換條件C0滿足,進入步M1.1,Q4.6使工件松開。
松開到位時,限位開關(guān)I0.7為1狀態(tài),系統(tǒng)返回初始步M0.0。
??步M1.0上面的轉(zhuǎn)換條件如果改為10.6,因為在工件開始旋轉(zhuǎn)之前限位開關(guān)I0.6就處于1狀態(tài),轉(zhuǎn)換條件滿足,導致工件不能旋轉(zhuǎn)。
轉(zhuǎn)換條件“↑I0.6”則不存在這個問題,工件旋轉(zhuǎn)120°后,I0.6由0狀態(tài)變?yōu)?狀態(tài),轉(zhuǎn)換條件“↑I0.6”才滿足,轉(zhuǎn)換到步M0.2和步M0.5后,工件停止旋轉(zhuǎn)。
??因為要求兩個鉆頭向下鉆孔和鉆頭提升的過程同時進行,采用并行序列來描述上述的過程。
由M0.2~M0.4和M0.5~M0.7組成的兩個單序列分別用來描述大鉆頭和小鉆頭的工作過程。
在步M0.1之后,有一個并行序列的分支。
當M0.1為活動步,且轉(zhuǎn)換條件I0.1得到滿足(I0.1為1狀態(tài)),并行序列的兩個單序列中的第1步(步M0.2和M0.5)同時變?yōu)榛顒硬健?br>此后兩個單序列內(nèi)部各步的活動狀態(tài)的轉(zhuǎn)換是相互獨立的,例如大孔或小孔鉆完時的轉(zhuǎn)換一般不是同步的。
??兩個單序列的最后一步(步M0.4和M0.7)應(yīng)同時變?yōu)椴换顒硬健?br>但是兩個鉆頭一般不會同時上升到位,不可能同時結(jié)束運動,所以設(shè)置了等待步M0.4和M0.7,它們用來同時結(jié)束兩個并行序列。
當兩個鉆頭均上升到位,限位開關(guān)I0.3和I0.5分別為1狀態(tài),大、小鉆頭兩個子系統(tǒng)分別進入兩個等待步,并行序列將會立即結(jié)束。
??在步M0.4和M0.7之后,有一個選擇序列的分支。
沒有鉆完3對孔時C0的常開觸點閉合,轉(zhuǎn)換條件C0滿足,如果兩個鉆頭都上升到位,將從步M0.4和M0.7轉(zhuǎn)換到步M1.0。
如果已經(jīng)鉆完了3對孔,C0的常閉觸點閉合,轉(zhuǎn)換條件C0滿足,將從步M0.4和M0.7轉(zhuǎn)換到步M1.1。
在步M0.1之后,有一個選擇序列的合并。
當步M0.1為活動步,并且轉(zhuǎn)換條件I0.1得到滿足(I0.1為1狀態(tài)),將轉(zhuǎn)換到步M0.2和M0.5。
當步M1.0為活動步,并且轉(zhuǎn)換條件10.6得到滿足,也會轉(zhuǎn)換到步M0.2和M0.5。