天津西門子(授權(quán))一級(jí)代理商
5、養(yǎng)成良好的編程習(xí)慣
每個(gè)人編程都會(huì)有不同的習(xí)慣和特點(diǎn),不能強(qiáng)求一致。但是一些好的習(xí)慣還是應(yīng)該為大多數(shù)人所遵循。一是理順邏輯關(guān)系、時(shí)序關(guān)系,編制程序框圖;二是合理分配主程序、子程序和中斷程序;三是合理分配寄存器,編制寄存器符號(hào)表。
PLC編程更接近于單片機(jī),或者說PLC就是模塊化的單片機(jī)。因此PLC的很多操作都是直接針對(duì)寄存器的,如果在程序中出現(xiàn)不合理的寄存器地址重疊,一定會(huì)出現(xiàn)不可預(yù)想的后果。編制寄存器符號(hào)表不僅可以避免上述問題(MicroWin會(huì)有問題提示),而且可以使程序具備更好的可讀性。這和VB中定義變量有異曲同工之處。
VB編程中關(guān)注的是事件,不強(qiáng)調(diào)主程序和子程序的觀念,因?yàn)閂B主程序的工作是由PC的操作系統(tǒng)完成的。PLC則不然。PLC程序是以主程序?yàn)橹鞲傻?,CPU不斷的循環(huán)執(zhí)行主程序,只有觸發(fā)條件成立時(shí)才會(huì)調(diào)用子程序或中斷程序。即子程序和中斷程序所執(zhí)行的任務(wù)不是全時(shí)需要的。如果把這些任務(wù)都放在主程序中會(huì)無端增加主程序的工作量,降低程序的效率。這點(diǎn)和單片機(jī)的編程思路是一致的。子程序的使用可以使整個(gè)程序的邏輯更清晰。而且子程序可以分開編寫、調(diào)試,最后“安裝"到主程序上。這樣你可以一個(gè)一個(gè)解決問題。
PLC編程,無論是LAD,抑或STL,都不如VB那么直觀、有趣,更不如CAD那么形象。但比單片機(jī)的匯編語言的可視性強(qiáng)多了。對(duì)于初學(xué)者,LAD(梯形圖)的編程相對(duì)直觀,更容易上手
一步:閱讀產(chǎn)品說明書。
第一步看起來再簡(jiǎn)單不過了,很多設(shè)備工程師會(huì)說,這臺(tái)設(shè)備我負(fù)責(zé)了很多年,維護(hù)保養(yǎng)每天都做,沒有不熟悉的,看說明書就是浪費(fèi)時(shí)間。哈哈,這就是國(guó)內(nèi)很多工程師的通病,許多人從設(shè)備買回來直到報(bào)廢,沒有人真正認(rèn)真地去閱讀過產(chǎn)品說明書,即使閱讀也是草草地一看。更多的還是通過供貨方的產(chǎn)品培訓(xùn)來了解設(shè)備,孰不知,如果簡(jiǎn)單的培訓(xùn)就可以讓你充分了解設(shè)備特點(diǎn)的話,那么為什么國(guó)際上都要求設(shè)備要配備說明書呢?如果閱讀過說明書,請(qǐng)問說明書最開始的安全守則是否一字一句的看過?每個(gè)元件的說明是否看過?沒種元件的調(diào)試方法是否看過?…
我們會(huì)發(fā)現(xiàn),其實(shí)我們?nèi)粘:雎粤水a(chǎn)品說明書,很多人甚至將說明書扔掉或者放在自己一時(shí)都想不起來的地方。仔細(xì)閱讀說明書是編程的第一步,首先要閱讀安全守則,知道哪些執(zhí)行機(jī)構(gòu)可能會(huì)對(duì)人身造成傷害,哪些機(jī)構(gòu)間最容易發(fā)生撞擊,當(dāng)發(fā)生危險(xiǎn)時(shí)如何解決,這些最致命的問題都在安全守則中,為什么不去看呢?
此外,關(guān)于設(shè)備每個(gè)元件的特性,使用方法,調(diào)試方法也在說明書中,不去閱讀,即使程序正確,如果元件沒有調(diào)試好,設(shè)備一樣不能工作。再有,所有的電路圖、氣動(dòng)液壓回路圖、裝配圖也在說明書中,不去閱讀它怎么知道沒種元件可以做何種改造呢。
第二步:根據(jù)說明書,檢查I/O。
確認(rèn)仔細(xì)通讀說明書了?如果真的仔細(xì)閱讀過,那么進(jìn)行第二步,檢查I/O,俗稱“打點(diǎn)"。
檢查I/O的方法很多,但是一定要根據(jù)說明書提供的地址依次進(jìn)行檢查。前提是按照說明書的安全守則和元件的說明,在絕對(duì)安全的情況下來檢查。
在檢查輸入點(diǎn)時(shí),一般輸入信號(hào)無非是各種傳感器,如電容、電感、光電、壓阻、超聲波、磁感式和行程開關(guān)等傳感器。檢查這些元件比較簡(jiǎn)單,根據(jù)元件說明將工件放在工位上,或是移動(dòng)執(zhí)行機(jī)構(gòu)檢查傳感器是否有信號(hào)即可。當(dāng)然,不同的設(shè)備檢測(cè)的方式可能不同,這要看具體情況而定了。
但是在檢查輸出信號(hào)時(shí)就要格外小心了。如果是電驅(qū)動(dòng)產(chǎn)品,必須在安全情況下,尤其是保證設(shè)備不會(huì)發(fā)生撞擊前提下,讓執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)器得電,檢查執(zhí)行機(jī)構(gòu)是否能夠運(yùn)動(dòng)。如果是液壓或氣動(dòng)執(zhí)行機(jī)構(gòu),同樣在安全情況下手動(dòng)使換向閥得電,從而控制執(zhí)行機(jī)構(gòu)。在檢查輸出信號(hào)時(shí),不論執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)方式是什么,一定要根據(jù)元件說明書,首先要保證設(shè)備和人身安全,要注意并不是所有設(shè)備的執(zhí)行機(jī)構(gòu)都可以通電測(cè)試的,所以有時(shí)個(gè)別的輸出信號(hào)可能無法手動(dòng)測(cè)試。
無論是輸入還是輸出裝置,當(dāng)傳感器有信號(hào)或執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)裝置得電后,必須同時(shí)檢查PLC上的I/O模塊指示燈是否也點(diǎn)亮。很多設(shè)備中,輸入輸出信號(hào)是通過接線端子與PLC連接,有時(shí)接線端子的指示燈有信號(hào) ,但不能保證由于連接導(dǎo)線內(nèi)部斷路,而PLC上相應(yīng)的地址沒有信號(hào)接通。這一點(diǎn)要特別注意。
在測(cè)量輸入輸出信號(hào)后,要同時(shí)將測(cè)量的地址記錄下來,保證信號(hào)地址和說明書中一致。如有不同,再次測(cè)量設(shè)備地址,多次測(cè)量仍然不一致,先聯(lián)系設(shè)備廠家,因?yàn)榇藭r(shí)不能保證廠家提供的地址沒有錯(cuò)誤。