四、硬件模塊的組態(tài)和確認
對于各種PLC的現(xiàn)場硬件組態(tài)和軟件調試,通常有經驗的工程師應該先花一些時間對自己的現(xiàn)場工作進行一個簡單的規(guī)劃,通常應當采取如下的步驟:
(1) 系統(tǒng)的規(guī)劃
首先,必須深入了解系統(tǒng)所需求的功能,并調查可能的控制方法,同時與用戶或設計院共同探討最佳之操作程序,根據(jù)所歸納之結論來擬定系統(tǒng)規(guī)劃,決定所采行的PLC系統(tǒng)架構、所需之I/O點數(shù)與I/O模塊型式。
(2) I/O模塊選擇與地址設定
當I/O模塊選妥后,依據(jù)所規(guī)劃之I/O點使用情形,由PLC的CPU系統(tǒng)自動設定I/O地址,或由使用者自定I/O模塊的地址。
(3) 梯形圖程序的編寫與系統(tǒng)配線
在確定好實際的I/O地址之后,依據(jù)系統(tǒng)需求的功能,開始著手梯形圖程序的編寫。同時,I/O之地址已設定妥當,故系統(tǒng)之配線亦可著手進行。
(4) 梯形圖程序的仿真與修改
在梯形圖程序撰寫完成后,將程序寫入PLC,便可先行在PC與OpenPLC系統(tǒng)做在線連接,以執(zhí)行在線仿真作業(yè)。倘若程序執(zhí)行功能有誤,則必須進行除錯,并修改梯形圖程序。
(5) 系統(tǒng)試車與實際運轉
在線上程序仿真作業(yè)下,若梯形圖程序執(zhí)行功能正確無誤,且系統(tǒng)配線亦完成后,便可使系統(tǒng)納入實際運轉,項目計劃亦告完成。
(6)程序注釋和歸檔
為確保日后維修的便利,要將試車無誤可供實際運轉的梯形圖程序做批注,并加以整理歸檔,方能縮短日后維修與查閱程序之時間。這是職業(yè)工程師的良好習慣,無論對今后自己進行維護,或者移交用戶,這都會帶來極大的便利,而且是你的職業(yè)水準的一個體現(xiàn)。
以上工作中,復雜的系統(tǒng)規(guī)劃可能需要幾天甚至更長的時間,但一個簡單的系統(tǒng)規(guī)劃在一個具有良好的職業(yè)習慣的編程工程師手中,可能只需要幾個小時。
這里要強調一個問題,是十分簡單但卻幾乎每個項目都會發(fā)生的,那就是對PLC的接線。這往往是經驗不足的工程師常常忽略的一個問題。其實,現(xiàn)場調試大部分的問題和工作量都是在接線方面。有經驗的工程師首先應當檢查現(xiàn)場的接線。通常,如果現(xiàn)場接線是由用戶或者其它的施工人員完成的,則通過看其接線圖和接線的外觀,就可以對接線的質量有個大致的判斷。然后要對所有的接線進行一次完整而認真的檢查,F(xiàn)場由于接線錯誤而導致PLC被燒壞的情況屢次發(fā)生,在進行真正的調試之前,一定要認真地檢查。即便接線不是你的工作,檢查接線也是你的義務和責任,而且,可以省去你后面大量的時間。
五、通訊的設置
現(xiàn)在的PLC大多數(shù)需要與人機界面進行連接,而下面也常常有變頻器需要進行通訊,而在需要多個CPU模塊的系統(tǒng)中,可能不同的CPU所接的I/O模塊的參量有需要協(xié)同處理的地方,或者,即使不需要協(xié)同控制,可能也要送到某一個中央控制室進行集中顯示或保存數(shù)據(jù)。即便只有一個CPU模塊,如果有遠程單元的話,就牽涉到本地CPU模塊與遠程單元模塊的通訊。此外,即使只有本地單元,CPU模塊也需要通過通訊口與編程器進行通訊。因此,PLC的通訊是十分重要的。而且,由于涉及到不同廠家的產品,通訊往往是令人頭痛的問題。
PLC的通訊有RS232、RS485、以太網等幾種方式。通訊協(xié)議有MODBUS、PROFIBUS、LONWORKS、DEVICENET等等,通常以MODBUS協(xié)議使用得最為廣泛,而其它的協(xié)議則與產品的品牌有關。今后,應該是工業(yè)以太網協(xié)議會越來越普遍。
PLC與編程器或手提電腦的通訊大部分采用RS232協(xié)議的串口通訊。用戶在進行程序下載和診斷時都是這種方式,但是,這種通訊的方式絕不僅限于此。在大量的機械設備控制系統(tǒng)中,PLC都是采用這種方式與人機界面進行通訊的。人機界面通常也是采用串口,協(xié)議則以MODBUS為主,或者是專門的通訊協(xié)議。而界面方面則由HMI的廠家提供軟件來進行設計。
現(xiàn)在的PANEL PC也有采用這種方式來進行通訊的,在PANEL PC上運行一些組態(tài)軟件,通過串口來存取OpenPLC的數(shù)據(jù),由于PANEL PC的逐漸輕型化和價格的下降,這種方式也越來越多地被使用。
在需要對多臺PLC進行聯(lián)網的時候,如果PLC的數(shù)量不是很多(15個節(jié)點以內)、數(shù)據(jù)傳輸量不大的系統(tǒng),常采用的方式是通過RS485所組成的一個簡單串行通訊口連接的通訊網絡。由于這種通訊方式編程簡單,程序運行可靠,結構也比較合理,因此很受離散制造行業(yè)的工廠工程師的歡迎。在總的I/O點數(shù)不超過上10000個,開關量I/O點占80%以上的系統(tǒng),都可以采用這種通訊方式能夠穩(wěn)定而可靠地運行。
如果對通訊速度要求較高的場合,可以采用點到點的以太網通訊方式。使用控制器的點到點通訊指令,通過標準的以太網口,用戶可以在控制器之間或者擴展控制器的存儲器之間進行數(shù)據(jù)交換。這PLC較為廣泛使用的一種多CPU模塊的通訊方式,與串口的RS485所構成的點對點網絡相比,由于以太網的速度大大加快,加上同樣具有連接簡單,編程方便的優(yōu)勢,更方便的是,與上位機可以直接通過以太網進行通訊,因此很受用戶的歡迎。甚至,在一些單臺PLC和一臺PANEL PC構成的人機界面的系統(tǒng)中,由于PANEL PC中通常有內置的以太網口,也有用戶采用這種通訊方式。目前,OpenPLC對一些SCADA系統(tǒng)和連續(xù)流程行業(yè)的遠程監(jiān)控系統(tǒng)和控制系統(tǒng),基本上采用這樣的方式。
還有一種分布式網絡在大型PLC系統(tǒng)中是最為廣泛考慮的結構。通過使用人機界面(HMI)和DDE 服務器均可獲得對象控制器的數(shù)據(jù),同時可以通過Internet遠程獲得該控制器的數(shù)據(jù)。各個CPU獨立運行,通過以太網結構采用C/S方式進行數(shù)據(jù)的存取。數(shù)據(jù)的采集和控制功能的實現(xiàn)都在OpenPLC的CPU模塊中實現(xiàn),而數(shù)據(jù)的保存則在上位機的服務器中完成。數(shù)據(jù)的顯示和打印等則通過HMI界面和組態(tài)軟件來實現(xiàn)。
六、軟件調試
PLC的內部固化了一套系統(tǒng)軟件,使得你開始能夠進行初始化工作和對硬件的組態(tài)。PLC的啟動設置、看門狗、中斷設置、通訊設置、I/O模塊地址識別都是在PLC的系統(tǒng)軟件中進行的。
每種PLC都有各自的編程軟件作為應用程序的編程工具,常用的編程語言是梯形圖語言,也有ST、IL和其它的語言。如何使用編程語言進行編程,這里就不細述了。
但是,用一種編程語言編出十分優(yōu)化的程序,則是工程師編程水平的體現(xiàn)。每一種PLC的編程語言都有自己的特色,指令的設計與編排思路都不一樣。如果對一種PLC的指令十分熟悉,就可以編出十分簡潔、優(yōu)美、流暢的程序。例如,對于同樣的一款PLC的同樣一個程序的設計,如果編程工程師對指令不熟悉,編程技巧也差的話,需要1000條語句;但一個編程技巧高超的工程師,可能只需要200條語句就可以實現(xiàn)同樣的功能。程序的簡潔不僅可以節(jié)約內存,出錯的概率也會小很多,程序的執(zhí)行速度也快很多,而且,今后對程序進行修改和升級也容易很多。
所以,雖然說所有的PLC的梯形圖邏輯都大同小異,一個工程師只要熟悉了一種PLC的編程,再學習第二個品牌的PLC就可以很快上手。但是,工程師在使用一個新的PLC的時候,還是應該仔細將新的PLC的編程手冊認真看一遍,看看指令的特別之處,尤其是自己可能要用到的指令,并考慮如何利用這些特別的方式來優(yōu)化自己的程序。
各個PLC的編程語言的指令設計、界面設計都不一樣,不存在孰優(yōu)孰劣的問題,主要是風格不同。我們不能武斷地說三菱PLC的編程語言不如西門子的STEP7,也不能說STEP7比ROCKWELL的RSLOGIX要好,所謂的好與不好,大部分是工程師形成的編程習慣與編程語言的設計風格是否適用的問題。
現(xiàn)場常常需要對已經編好的程序進行修改。修改的原因可能是用戶的需求變更了,可能是發(fā)現(xiàn)了原來編程時的錯誤,或者是PLC運行時發(fā)生了電源中斷,有些狀態(tài)數(shù)據(jù)會丟失,如非保持的定時器會復位,輸入映射區(qū)會刷新,輸出映射區(qū)可能會清零,但狀態(tài)文件的所有組態(tài)數(shù)據(jù)和偶然的事件如計數(shù)器的累計值會被保存。
工程師在這個時候可能會需要對PLC進行編程,使某些內存可以恢復到缺省的狀態(tài)。在程序不需要修改的時候,可以設計應用默認途徑來重新啟動,或者利用首次掃描位的功能。
所有的智能I/O模塊,包括模擬量I/O模塊,在進入編程模式后或者電源中斷后,都會丟失其組態(tài)數(shù)據(jù),用戶程序必須確認每次重新進入運行模式時,組態(tài)數(shù)據(jù)能夠被重新寫入智能I/O模塊。
在現(xiàn)場修改已經運行時常被忽略的一個問題是,工程師忘記將PLC切換到編程模式,雖然這個錯誤不難發(fā)現(xiàn),但工程師在疏忽時,往往會誤以為PLC發(fā)生了故障,因此耽誤了許多時間。
另外,在PLC進行程序下載時,許多PLC是不允許進行電源中斷的,因為這時,舊的程序已經部分被改寫,但新的程序又沒有完全寫完,因此,如果電源中斷,會造成PLC無法運行,這時,可能需要對PLC的底層軟件進行重新裝入,而許多廠家是不允許在現(xiàn)場進行這個操作的。大部分新的PLC已經將用戶程序與PLC的系統(tǒng)程序分開了,可以避免這個問題。
七、結語
現(xiàn)場工程師的工作是十分重要的。要想成為一個優(yōu)秀的現(xiàn)場工程師,首先要對現(xiàn)場的工作有熱情甚至激情,然后要有嚴謹和耐心的態(tài)度,F(xiàn)場的工作環(huán)境不想在自己的公司里那么舒適,常常是又臟又亂的,而且由于有工期和時間的限制,壓力也很大。而且,要面對用戶和其它專業(yè)(如電氣、儀表、工藝、管線施工等)的現(xiàn)場人員的要求和指責,需要有協(xié)調和靈活變通的能力。另外,現(xiàn)場工程師與研發(fā)工程師在工作中有一個很大的不同點在于,在現(xiàn)場,你的最重要的任務是保證系統(tǒng)能夠按時正常運行。如果一個方案暫時走不通,要立即考慮第二甚至第三方案,哪怕是先將就一下,也要使系統(tǒng)能夠先正常工作起來。而研發(fā)工作是不能變通的,你要實現(xiàn)這個功能,必須用這個辦法,其它方法雖然可以實現(xiàn),但你是不能使用的。許多現(xiàn)場工程師由于不了解這個差別,常常在現(xiàn)場鉆入牛角尖,一條路走到死,結果導致了現(xiàn)場調試工作的延誤。這也是為什么一個優(yōu)秀的研發(fā)工程師往往并不是一個好的現(xiàn)場工程師的原因,F(xiàn)場的工程師必須有開放的頭腦和靈活的心態(tài),當然是建立在嚴謹?shù)墓ぷ鲬B(tài)度的基礎之上的。
此外,盡管現(xiàn)場工作壓力十分巨大,但要注意勞逸結合。有時候,三天三夜不離開現(xiàn)場似乎是必要的。但對于一個編程和調試工程師來說,可能回去睡它一個好覺,工作一定會完成得更快。如果在現(xiàn)場的調試時間很長,則抽出一兩天放松一下,也是十分必要的。有時候,游山玩水也是工作。
另外,一個優(yōu)秀的現(xiàn)場工程師,主要依靠的是工作經驗的積累,與個人的天分關系不大,只要勤懇,并做過足夠多的項目,那么絕大多數(shù)人都是可以成為一個優(yōu)秀的現(xiàn)場工程師的。所需要的時間?可能是三年五年,也可能是半年一年。