一、出發(fā)前的準備
從事PLC的技術(shù)支持的人,如果是要到現(xiàn)場開始進行系統(tǒng)調(diào)試,無論是對OEM客戶,還是對一個過程控制的系統(tǒng)集成,都要在事先做好一些準備工作。就像一個“驢友”出行前,要更換自己的服裝尤其是鞋子,帶好水、食品,還要準備在野外的一些防身用品,如果是過夜的話,還要有帳篷、手電筒等一樣,作為一個職業(yè)的PLC技術(shù)支持工程師,也有不少的東西是要準備的。
首先要安排自己的行程計劃和衣食住行。如果是需要住宿的話,那么如何定機票、酒店(旅館、招待所),這里就不多說了。如果時間很長(如超過一個月),為了省錢,就要考慮在當?shù)刈夥孔恿耍绕涫浅霭l(fā)的是一個小組,而不是一個人的時候。衣食住行,這些問題與普通的旅行是一樣的,雖然這些問題對你完成任務的影響力并不亞于你的專業(yè)水平。想象一下,你到了現(xiàn)場,因為食物中毒導致一個星期拉痢疾的情況會對工作造成什么樣的影響,就知道該準備那些東西了。通常,有經(jīng)驗的自動化公司的行政部門會為工程師考慮好這些情況,但是,作為工程師自己一定要進行確認,看看是否所有的事情都已經(jīng)安排好了。
安頓好了衣食住行的后,要準備自己的工具。作為PLC的現(xiàn)場調(diào)試工程師,并不需要很多的調(diào)試工具。但是,一個螺絲刀、一臺萬用表,還是必備的。另外,如果要與現(xiàn)場的儀表傳感器進行系統(tǒng)聯(lián)調(diào)的時候,還要有一臺信號發(fā)生器來模擬現(xiàn)場儀表的信號,以確定當發(fā)生問題時,現(xiàn)場的信號是完好的。還有,一臺結(jié)實的手提電腦,是你編程和調(diào)試的必需的工具。雖然這些工具你可以要求用戶準備好,但是,作為一個職業(yè)的PLC工程師,如果連這幾樣工具都沒有,會被用戶懷疑你的職業(yè)水平的。其它的一些儀器儀表,如果需要的話,你可以向公司或者客戶提出來,讓他們提前準備,比如,示波器、穩(wěn)壓電源等等。畢竟這些不那么通用的儀器,通常是不可能隨身攜帶或備用的。
有一些常被忽視的小東西,你準備了之后一定有用的。如,電氣膠帶、熱縮套管、打火機(你吸煙的話自然會有,沒有別人也會有),束線帶、還有,如果現(xiàn)場接線已經(jīng)完成了,要準備好一些與信號線相同的電纜,和一些固定基座的螺絲。你可能懷疑要這些做什么用,相信我,帶上這些,雖然有些只值幾分錢,但到了現(xiàn)場后,可能會節(jié)約你一天甚至幾天的時間,尤其是你去的地方是在一個偏遠的山區(qū)的時候。雖然在發(fā)貨的時候廠家都有螺絲釘,但是到了現(xiàn)場什么都有可能發(fā)生,如果螺絲釘不夠(而這是每次都必然發(fā)生的),會引起許多問題。
除了以上的東西,就是這次調(diào)試所要帶的備品備件了。雖然現(xiàn)場的貨物清單可能會已經(jīng)考慮了備品備件的問題,但為了應付萬一的情況,有些備件你最好還是自己要隨身攜帶。首先是PLC的基板(有的成為機架)、電源、CPU模塊,因為這些是一臺PLC能夠工作的基礎,如果現(xiàn)場只有一套系統(tǒng),那么這些模塊就只有一個,假如沒有備分的話,一旦出現(xiàn)故障,你的所有的工作都必須停下來。因此最好帶上一套。
其它的I/O模塊和通訊模塊,如果現(xiàn)場只有一個的,你都要考慮在多帶一個。對于那些現(xiàn)場已經(jīng)有兩塊以上的模塊,你就不用考慮自己帶了。
二、設計交底工作
如果系統(tǒng)設計不是你自己做的,那么在出發(fā)前,就要與系統(tǒng)的設計人員進行充分的溝通,對于不清楚和不明白的地方,一定要弄清楚,確保自己清晰地理解了要完成的工作目標,和設計者的意圖。不要輕易否定設計者的方案,也不要輕易地說別人那里設計得不行。
但是,因為你是從事現(xiàn)場的工程師,因此,也不必過于迷信設計者。你可以提出自己的建議。比如,PLC的機架和CPU模塊和I/O模塊的搭配原則,可能有時候,設計師不知道你所用的 PLC的機架有4槽、6槽和8槽,甚至12槽的,因此,也許全部都選了8槽的,而導致了幾個槽的空缺,你可以建議它修改為4槽或6槽的。
方案設計中,最容易出問題的地方是通訊,現(xiàn)場調(diào)試最麻煩的地方也是通訊,所以對于通訊的部分,你必須清晰了解系統(tǒng)的框架結(jié)構(gòu),并且對需要進行通訊的東西在出發(fā)前就要全部進行一遍調(diào)試,而且要確認其中的所有需要通訊的模塊是可以通訊的。比如,操作臺電腦、觸摸屏、PLC、變頻器、其它的PLC、一些智能儀表和儀器,如果這些東西需要通訊的話,你必須要確認它們相互之間是可以通訊的,如果你不確認的話,就要與廠家聯(lián)絡,并親自再試一次。如果PLC的節(jié)點數(shù)較多,要考慮距離和廠家CPU的限制。
如果系統(tǒng)較大,遠程單元、本地機架數(shù)量、每個機架的模塊數(shù)量的限制,并非出于系統(tǒng)功能和技術(shù)上的限制,而是由于使用規(guī)范性的限制。在系統(tǒng)硬件組態(tài)時,要考慮這些模塊的搭配作用。
對于電源模塊的配置,一個資深的工程師應該能夠做出比較合理的搭配。例如,電源模塊通常有5A和10A的分別,如果模塊較少,可以選用功率小的電源模塊,如果模塊較多,則應該選用大功率的電源模塊。而一般,如果現(xiàn)場儀表需要PLC也供應24V直流電源而不是采用外部電源供電(如RTU)的情景,通常CPU所在的機架上選用大功率的電源比較合理。
此外,在I/O模塊的安裝時,根據(jù)不同的系統(tǒng),通常同型號的模塊放置在一起。但是,如果對于輸出模塊與輸入模塊形成回路的,則可以將一個回路的參量所涉及的模塊放置在一個機架上(或一個CPU所控制的機架上)比較合理。有的設計師在設計的時候不會考慮這一點,你可以調(diào)整過來。
在選型的時候,因為各種PLC都有大型、中型、小型的分別,這些分別主要是由CPU模塊的性能不同造成的。在實際上,并非一定大型的功能就是合適的。除了價格方面的考量之外,主要是,如果控制點數(shù)不多,小型的CPU模塊完全可以勝任,則小型的CPU反而比大型的CPU模塊工作還要可靠一些。因為,小型的CPU所涉及的資源少,而大型CPU的資源多,在程序執(zhí)行中,為處理那些程序不需用到的資源時,也要分配時間去處理,這樣不僅造成資源的浪費,可能在程序處理上不及小型CPU可以更單純和穩(wěn)定地工作。
在設計交底的過程中要指出的是,對于設計中的任何變更,你只能提建議,而不是擅自做修改。因為,你的職責是按照設計施工,而不是設計,因此,對于任何你發(fā)現(xiàn)的不合理的東西,你可以提出意見,但必須要等到設計變更確認書下到你手里后,你才能按照變更后的設計工作,盡管這個變更可能是你的意見。還有,即使最初的設計也是你做的,你在變更后,也要通知客戶,并取得客戶的書面同意。
三、裝機步驟
到了現(xiàn)場后,進行系統(tǒng)安裝前,需要考慮安裝環(huán)境是否滿足PLC的使用環(huán)境要求,這一點可以參考各類產(chǎn)品的使用手冊。但無論什么PLC,不都能裝設在下列場所:含有腐蝕性氣體之場所,陽光直接照射到的地方,溫度上下值在短時間內(nèi)變化急遽的地方,油、水、化學物質(zhì)容易侵入的地方,有大量灰塵的地方,振動大且會造成安裝件移位的地方。
如果必須要在上面的環(huán)境使用,則要為PLC制作合適的控制箱,采用規(guī)范和必要的防護措施。如果需要在野外極低溫度下使用,可以使用有加熱功能的控制箱。如何做這些防護箱或控制箱,各制造商和和資格的系統(tǒng)集成商將會為客戶提供相應的供應和設計。
在使用控制箱時,在控制箱內(nèi)OpenPLC安裝的位置要注意如下事項:控制箱內(nèi)空氣流通是否順暢(各裝置間須保持適當?shù)木嚯x),變壓器、馬達控制器、變頻器等是否與PLC保持適當距離,動力線與信號控制線是否分離配置,組件裝設之位置是否利于日后之檢修,是否需預留空間,供日后系統(tǒng)擴充使用。
除了上述注意事項之外,還有其它注意事項要留意。
首先比較重要的是靜電的隔離。靜電是無形的殺手,但可能因為不會對人造成生命危險,所以許多人常常忽視它。在中國的北方、干燥的場所,人體身上的靜電都是造成靜電損壞電子組件的因素。雖然你被靜電打到的話,只不過是輕微的酥麻,但這對PLC和其它任何電子器件就足以致命了。
要避免靜電的沖擊有下列三種方式:在進行維修或更換組件時,請先碰觸接地的金屬,以去除身上的靜電;不要碰觸電路板上的接頭或是IC接腳;電子組件不使用時,請用有隔離靜電的包裝物,將組件放置在里面。想象PLC里的元器件是一個嬌嫩的嬰兒,而那些靜電會導致這個嬰兒死亡,你就會更容易以正確的態(tài)度對待這個問題了。
基座安裝(RACK)時,在決定控制箱內(nèi)各種控制組件及線槽位置后,要依照圖紙所示尺寸,標定孔位,鉆孔后將固定螺絲旋緊到基座牢固為止。在裝上電源供應模塊前,必須同時注意電源線上的接地端有無與金屬機殼連結(jié),若無則須接上。接地不好的話,會導致一系列的問題,靜電、浪涌、外干擾,等等。由于不接地,往往PLC也能夠工作,因此,不少經(jīng)驗不足的工程師就誤以為接地不那么重要了。這就像登山的時候,沒有系上保護纜繩一樣,雖然你正常前進的時候,保護纜繩沒有任何作用,但一旦你失足的時候,沒有那根繩子,你的生命就完結(jié)了。PLC的接地,就相當于給PLC系上保護纜繩。
在I/O模塊安裝時,須注意如下事項:I/O模塊插入機架上的槽位前,要先確認模塊是否為自己所預先設計的模塊;I/O模塊在插入機架上的導槽時,務必插到底,以確保各接觸點是緊密結(jié)合的;模塊固定螺絲務必鎖緊;接線端子排插入后,其上下螺絲必須旋緊。由于現(xiàn)場的變壓器、電機等影響,多少會有振動,如果這些螺絲釘松動了,會導致模塊從機架中松開。
四、硬件模塊的組態(tài)和確認
對于各種PLC的現(xiàn)場硬件組態(tài)和軟件調(diào)試,通常有經(jīng)驗的工程師應該先花一些時間對自己的現(xiàn)場工作進行一個簡單的規(guī)劃,通常應當采取如下的步驟:
(1) 系統(tǒng)的規(guī)劃
首先,必須深入了解系統(tǒng)所需求的功能,并調(diào)查可能的控制方法,同時與用戶或設計院共同探討最佳之操作程序,根據(jù)所歸納之結(jié)論來擬定系統(tǒng)規(guī)劃,決定所采行的PLC系統(tǒng)架構(gòu)、所需之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) 梯形圖程序的仿真與修改
在梯形圖程序撰寫完成后,將程序?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è)工程師的良好習慣,無論對今后自己進行維護,或者移交用戶,這都會帶來極大的便利,而且是你的職業(yè)水準的一個體現(xiàn)。
以上工作中,復雜的系統(tǒng)規(guī)劃可能需要幾天甚至更長的時間,但一個簡單的系統(tǒng)規(guī)劃在一個具有良好的職業(yè)習慣的編程工程師手中,可能只需要幾個小時。
這里要強調(diào)一個問題,是十分簡單但卻幾乎每個項目都會發(fā)生的,那就是對PLC的接線。這往往是經(jīng)驗不足的工程師常常忽略的一個問題。其實,現(xiàn)場調(diào)試大部分的問題和工作量都是在接線方面。有經(jīng)驗的工程師首先應當檢查現(xiàn)場的接線。通常,如果現(xiàn)場接線是由用戶或者其它的施工人員完成的,則通過看其接線圖和接線的外觀,就可以對接線的質(zhì)量有個大致的判斷。然后要對所有的接線進行一次完整而認真的檢查。現(xiàn)場由于接線錯誤而導致PLC被燒壞的情況屢次發(fā)生,在進行真正的調(diào)試之前,一定要認真地檢查。即便接線不是你的工作,檢查接線也是你的義務和責任,而且,可以省去你后面大量的時間。
五、通訊的設置
現(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)品的品牌有關。今后,應該是工業(yè)以太網(wǎng)協(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)網(wǎng)的時候,如果PLC的數(shù)量不是很多(15個節(jié)點以內(nèi))、數(shù)據(jù)傳輸量不大的系統(tǒng),常采用的方式是通過RS485所組成的一個簡單串行通訊口連接的通訊網(wǎng)絡。由于這種通訊方式編程簡單,程序運行可靠,結(jié)構(gòu)也比較合理,因此很受離散制造行業(yè)的工廠工程師的歡迎。在總的I/O點數(shù)不超過上10000個,開關量I/O點占80%以上的系統(tǒng),都可以采用這種通訊方式能夠穩(wěn)定而可靠地運行。
如果對通訊速度要求較高的場合,可以采用點到點的以太網(wǎng)通訊方式。使用控制器的點到點通訊指令,通過標準的以太網(wǎng)口,用戶可以在控制器之間或者擴展控制器的存儲器之間進行數(shù)據(jù)交換。這PLC較為廣泛使用的一種多CPU模塊的通訊方式,與串口的RS485所構(gòu)成的點對點網(wǎng)絡相比,由于以太網(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)絡在大型PLC系統(tǒng)中是最為廣泛考慮的結(jié)構(gòu)。通過使用人機界面(HMI)和DDE 服務器均可獲得對象控制器的數(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ù)的保存則在上位機的服務器中完成。數(shù)據(jù)的顯示和打印等則通過HMI界面和組態(tài)軟件來實現(xiàn)。
六、軟件調(diào)試
PLC的內(nèi)部固化了一套系統(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é)約內(nèi)存,出錯的概率也會小很多,程序的執(zhí)行速度也快很多,而且,今后對程序進行修改和升級也容易很多。
所以,雖然說所有的PLC的梯形圖邏輯都大同小異,一個工程師只要熟悉了一種PLC的編程,再學習第二個品牌的PLC就可以很快上手。但是,工程師在使用一個新的PLC的時候,還是應該仔細將新的PLC的編程手冊認真看一遍,看看指令的特別之處,尤其是自己可能要用到的指令,并考慮如何利用這些特別的方式來優(yōu)化自己的程序。
各個PLC的編程語言的指令設計、界面設計都不一樣,不存在孰優(yōu)孰劣的問題,主要是風格不同。我們不能武斷地說三菱PLC的編程語言不如西門子的STEP7,也不能說STEP7比ROCKWELL的RSLOGIX要好,所謂的好與不好,大部分是工程師形成的編程習慣與編程語言的設計風格是否適用的問題。
現(xiàn)場常常需要對已經(jīng)編好的程序進行修改。修改的原因可能是用戶的需求變更了,可能是發(fā)現(xiàn)了原來編程時的錯誤,或者是PLC運行時發(fā)生了電源中斷,有些狀態(tài)數(shù)據(jù)會丟失,如非保持的定時器會復位,輸入映射區(qū)會刷新,輸出映射區(qū)可能會清零,但狀態(tài)文件的所有組態(tài)數(shù)據(jù)和偶然的事件如計數(shù)器的累計值會被保存。
工程師在這個時候可能會需要對PLC進行編程,使某些內(nèi)存可以恢復到缺省的狀態(tài)。在程序不需要修改的時候,可以設計應用默認途徑來重新啟動,或者利用首次掃描位的功能。
所有的智能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)度。現(xiàn)場的工作環(huán)境不像在自己的公司里那么舒適,常常是又臟又亂的,而且由于有工期和時間的限制,壓力也很大。而且,要面對用戶和其它專業(yè)(如電氣、儀表、工藝、管線施工等)的現(xiàn)場人員的要求和指責,需要有協(xié)調(diào)和靈活變通的能力。另外,現(xiàn)場工程師與研發(fā)工程師在工作中有一個很大的不同點在于,在現(xiàn)場,你的最重要的任務是保證系統(tǒng)能夠按時正常運行。如果一個方案暫時走不通,要立即考慮第二甚至第三方案,哪怕是先將就一下,也要使系統(tǒng)能夠先正常工作起來。而研發(fā)工作是不能變通的,你要實現(xiàn)這個功能,必須用這個辦法,其它方法雖然可以實現(xiàn),但你是不能使用的。許多現(xiàn)場工程師由于不了解這個差別,常常在現(xiàn)場鉆入牛角尖,一條路走到死,結(jié)果導致了現(xiàn)場調(diào)試工作的延誤。這也是為什么一個優(yōu)秀的研發(fā)工程師往往并不是一個好的現(xiàn)場工程師的原因。現(xiàn)場的工程師必須有開放的頭腦和靈活的心態(tài),當然這是建立在嚴謹?shù)墓ぷ鲬B(tài)度的基礎之上的。