西門子6ES7211-1HE40-0XB0詳細說明
西門子6ES7211-1HE40-0XB0詳細說明
S7-200 PLC可以連接型編碼器嗎?
解答:S7-200 PLC可以連接型編碼器,但應注意以下幾點:
?。?)S7-200 PLC可連接并行輸出的型編碼器。串行輸出、總線型輸出、變送一體型輸出等型編碼器需PLC具有相應的接口或組態(tài)能力,不能與西門子S7-200 PLC 直接連接。
?。?)接入S7-200 PLC 的型編碼器信號輸出是格雷碼。如是純二進制碼,在數據刷新時可能有多位變化,讀數會在短時間里造成錯碼。
?。?)型編碼器在每圈的每個位置都有的編碼,由于 PLC數據更新受程序掃描周期的影響,因此經PLC讀取并換算后的編碼器位置值相對于編碼器當前位置值存在一定的誤差。
?。?)對型編碼器進行接線時,必須確保其與PLC輸入點連接好。如有個別連接不良點,該點電位始終是0,將會造成錯碼而無法判斷。
問題2:S7-200 PLC與型編碼器怎樣接線?
解答:并行輸出的型編碼器輸出有多少位就要占用PLC的多少位接點,以S7-200 PLC CPU224 為例,如使用12位輸出的單圈型編碼器(PNP集電極開路輸出) ,需要占用CPU224的12位輸入點。型編碼器的12位信號輸出線L0—L11依次接入CPU224 的I0.0—I0.7,I1.0—I1.3。如圖1所示:
圖1 CPU224輸入端與型編碼器接線圖
問題3:怎樣處理格雷碼碼值?
解答:西門子S7-200 PLC的寄存器中地址越高,字節(jié)位越低。如在輸入寄存器中IW0 的
IB0 是高字節(jié),IB1是低字節(jié),因此必須將IW0 中的格雷碼值左循環(huán)8 次,將高、低位字節(jié)調換一次位置得到正確排序的格雷碼值存入VW0中。如圖2所示:
圖2 字循環(huán)左移8次
而且,由于接入12位輸出的單圈型編碼器,需屏蔽掉IW0字內的I1.4—I1.7,將需要的格雷碼數據存入VW2中。如圖3所示:
圖3 邏輯與運算
在實際應用中,為了計算編碼器轉過的角度或位置,需使用格雷碼指令GRAY_BIN_W功能塊將格雷碼解碼為字類型的標準二進制碼,對應放到VW4中。如圖4所示:
圖4 格雷碼轉換
SIMATIC S7-300和S7-400使用廣泛,應用在各行各業(yè)的工業(yè)環(huán)境中。在調試和使用PLC和相關網絡過程中,發(fā)生一些PLC或者網絡故障是不可避免的。故障出現后,用戶可能無法從上位機獲取相關診斷信息,只有通過連接PG到PLC上,使用Step7在線的方式或者查看CPU的診斷信息來分析和判斷故障原因,根據所提示的內容來解決現場問題。
但是通過上述方法,由于獲取故障信息緩慢,從而不能快速有效的解決現場問題。西門子對于PLC和相關網絡提供多種多樣的診斷方式,包括使用故障組織塊例如OB82,OB86,診斷功能塊,例如SFC51,SFC13,SFB52等,使用RSE/WinCC/WinCC flexible方式,使用Web服務(集成在新的PN CPU中),使用已有的診斷方式,例如FB126,或者使用Maintenance station(維護站)等方式。其中使用 OB8x ( 359 KB ) 是簡單基本的獲取基本故障信息的方法,同時也可以配合診斷功能塊進行詳細故障的診斷。
SIMATIC PLC判斷發(fā)生故障,會立即調用相應的故障組織塊OB,如果PLC中沒有加入相應的組織塊PLC可能會停機,停機的目的就是保證生產過程處于安全狀態(tài)。如果使用OB8x而沒有編寫任何診斷程序在用戶程序中,PLC雖然不會因為發(fā)生故障而停機,但是這種方式并不可取。不能讓產生故障的PLC仍無條件的運行,因為這種方式可能導致生產處于某種危險的狀態(tài)。例如,當DO模塊發(fā)生斷線故障,相關的控制設備因此停止,但是DO可能并沒有獲取故障信息而停止輸出,如果維護人員檢查故障并做好接線后,DO會立刻輸出控制信號導致相應的控制設備動作,這可能會造成現場人員或者設備的傷害。的方式之一就是通過OB8x獲取故障信息,然后通過編程連鎖該輸出信號,使其輸出為“0",當維修完畢后,通過用戶確認后(例如上位機界面中的操作按鈕),然后再輸出信號“1"。所以使用OB8x就是快速的獲取故障信息,然后根據此類故障進行條件式的監(jiān)視和處理,這樣才是有效使用PLC的方法。
本文介紹如何使用OB82,OB83,以及OB86來判斷現場故障,并作出相應的處理。OB82為診斷中斷組織塊,相關的診斷報警例如“DO模板的DO信號斷線"會使PLC調用OB82;OB83為插拔中斷組織塊,當插拔機架上的模塊時PLC會調用OB83;OB86為機架故障組織塊,當擴展機架丟失,分布式IO掉站時,PLC會調用OB86。各個組織塊的詳細信息可以參看下面介紹。
上述組織塊都具有20個字節(jié)的臨時變量,對于用戶在編程時不能占用和修改這些臨時變量。這些臨時變量會由PLC在調用相應的故障組織塊時自動生成,所以這些臨時變量為只讀屬性,用戶只需要讀取這些臨時變量的數值或者狀態(tài)來判斷哪里出現什么樣的故障。每一個故障組織塊的臨時變量隨診斷功能的不同而不同,另外還可以根據相應故障組織塊的臨時變量OB8x_Date_Time得到故障出現的時間日期。該時間雖然是調用相關OB8x的時間,但是也可以參考故障出現的大致時間。
1, OB82診斷
OB82是診斷中斷組織塊。
PLC的模板狀態(tài)從嚴重程度上可以分為兩類,一類表示“完好",一類表示“故障"。然而對于PROFINET模板其狀態(tài)具有另外一種中間狀態(tài),該狀態(tài)處于“完好"和“故障"之間,是一種臨界狀態(tài),稱為“維護",利用該狀態(tài)用戶可以盡早的發(fā)現故障,盡快維護現場設備,可以有效的防止由于故障導致生產的停頓。
使用該組織塊診斷“故障"。首先要求PLC的模板具有診斷能力,然后通過組態(tài)使能相關診斷(Diagnostics:)去檢測一個故障事件,例如“斷線"(wire break),“短路"(short circuit to M)等,參考圖1 ET200S DO模塊的參數設置。相關的診斷“故障"的方法參考上述連接文檔。
使用該組織塊診斷“維護"。對于PROFINET的接口模板,例如ET200S IM151-3 PN HF接口模塊支持檢測網絡錯誤,包括同步丟失,端口連接狀態(tài),光纖信號質量等。這些事件就是維護中斷事件,同樣也需要通過組態(tài)使能檢測網絡錯誤參考圖2,當這些事件出現后,接口模板的MAINT/FO燈亮。如果需要CPU獲取這些維護信息,需要在CPU的PN-IO屬性中設置使能OB82,參考圖3 使能OB82/I/O fault task。
圖1 ET200S DO模塊的參數設置
圖2 使能檢測ET200S接口模塊的網絡錯誤
圖3