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