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