(續(xù)前)
* `- k- h0 ?4 z, w2 `3 ]4 h, V! t
{9 ? p" L& v: T$ x7 _4 t0 k) p8 q四、硬件模塊的組態(tài)和確認( ^/ h2 E6 _ o7 J0 m7 y( E A. N, p
對于各種PLC的現(xiàn)場硬件組態(tài)和軟件調(diào)試,通常有經(jīng)驗的工程師應(yīng)該先花一些時間對自己的現(xiàn)場工作進行一個簡單的規(guī)劃,通常應(yīng)當采取如下的步驟:
" A F; o* F$ x" k6 f (1) 系統(tǒng)的規(guī)劃1 g; H4 a8 H% O" Z! v
首先,必須深入了解系統(tǒng)所需求的功能,并調(diào)查可能的控制方法,同時與用戶或設(shè)計院共同探討最佳之操作程序,根據(jù)所歸納之結(jié)論來擬定系統(tǒng)規(guī)劃,決定所采行的PLC系統(tǒng)架構(gòu)、所需之I/O點數(shù)與I/O模塊型式。3 U! X# B( P% R0 U' k6 g3 i
(2) I/O模塊選擇與地址設(shè)定, J0 {+ H) n* Q
當I/O模塊選妥后,依據(jù)所規(guī)劃之I/O點使用情形,由PLC的CPU系統(tǒng)自動設(shè)定I/O地址,或由使用者自定I/O模塊的地址。
+ {; _, i( E* o9 c# j. g3 f5 k (3) 梯形圖程序的編寫與系統(tǒng)配線
/ s% i0 z3 ^3 a% I2 D 在確定好實際的I/O地址之后,依據(jù)系統(tǒng)需求的功能,開始著手梯形圖程序的編寫。同時,I/O之地址已設(shè)定妥當,故系統(tǒng)之配線亦可著手進行。
1 {5 i1 W" R$ |. N7 s (4) 梯形圖程序的仿真與修改
0 b: L; p: `+ I' P8 |! x9 t: s: ^- Q" G 在梯形圖程序撰寫完成后,將程序?qū)懭隤LC,便可先行在PC與OpenPLC系統(tǒng)做在線連接,以執(zhí)行在線仿真作業(yè)。倘若程序執(zhí)行功能有誤,則必須進行除錯,并修改梯形圖程序。
7 a6 e, I+ g0 Z p (5) 系統(tǒng)試車與實際運轉(zhuǎn)
! E2 {/ T2 Y0 {* _0 k6 } 在線上程序仿真作業(yè)下,若梯形圖程序執(zhí)行功能正確無誤,且系統(tǒng)配線亦完成后,便可使系統(tǒng)納入實際運轉(zhuǎn),項目計劃亦告完成。& t: k7 k: |) w$ U4 K+ \# E
(6)程序注釋和歸檔
3 n0 H/ L- K* ^ 為確保日后維修的便利,要將試車無誤可供實際運轉(zhuǎn)的梯形圖程序做批注,并加以整理歸檔,方能縮短日后維修與查閱程序之時間。這是職業(yè)工程師的良好習慣,無論對今后自己進行維護,或者移交用戶,這都會帶來極大的便利,而且是你的職業(yè)水準的一個體現(xiàn)。7 S. p0 R0 p1 m
8 a+ p% t0 W5 T$ w3 N5 H- G
以上工作中,復雜的系統(tǒng)規(guī)劃可能需要幾天甚至更長的時間,但一個簡單的系統(tǒng)規(guī)劃在一個具有良好的職業(yè)習慣的編程工程師手中,可能只需要幾個小時。' v8 d. g6 l. U
這里要強調(diào)一個問題,是十分簡單但卻幾乎每個項目都會發(fā)生的,那就是對PLC的接線。這往往是經(jīng)驗不足的工程師常常忽略的一個問題。其實,現(xiàn)場調(diào)試大部分的問題和工作量都是在接線方面。有經(jīng)驗的工程師首先應(yīng)當檢查現(xiàn)場的接線。通常,如果現(xiàn)場接線是由用戶或者其它的施工人員完成的,則通過看其接線圖和接線的外觀,就可以對接線的質(zhì)量有個大致的判斷。然后要對所有的接線進行一次完整而認真的檢查。現(xiàn)場由于接線錯誤而導致PLC被燒壞的情況屢次發(fā)生,在進行真正的調(diào)試之前,一定要認真地檢查。即便接線不是你的工作,檢查接線也是你的義務(wù)和責任,而且,可以省去你后面大量的時間。# J! w) Z* E- K! h' J
2 U" a. n6 A& a3 M五、通訊的設(shè)置
, C1 Z3 _0 n x 現(xiàn)在的PLC大多數(shù)需要與人機界面進行連接,而下面也常常有變頻器需要進行通訊,而在需要多個CPU模塊的系統(tǒng)中,可能不同的CPU所接的I/O模塊的參量有需要協(xié)同處理的地方,或者,即使不需要協(xié)同控制,可能也要送到某一個中央控制室進行集中顯示或保存數(shù)據(jù)。即便只有一個CPU模塊,如果有遠程單元的話,就牽涉到本地CPU模塊與遠程單元模塊的通訊。此外,即使只有本地單元,CPU模塊也需要通過通訊口與編程器進行通訊。因此,PLC的通訊是十分重要的。而且,由于涉及到不同廠家的產(chǎn)品,通訊往往是令人頭痛的問題。9 P6 L# V3 d* i% H8 [
PLC的通訊有RS232、RS485、以太網(wǎng)等幾種方式。通訊協(xié)議有MODBUS、PROFIBUS、LONWORKS、DEVICENET等等,通常以MODBUS協(xié)議使用得最為廣泛,而其它的協(xié)議則與產(chǎn)品的品牌有關(guān)。今后,應(yīng)該是工業(yè)以太網(wǎng)協(xié)議會越來越普遍。2 o+ S1 e, N$ }5 Y5 j
PLC與編程器或手提電腦的通訊大部分采用RS232協(xié)議的串口通訊。用戶在進行程序下載和診斷時都是這種方式,但是,這種通訊的方式絕不僅限于此。在大量的機械設(shè)備控制系統(tǒng)中,PLC都是采用這種方式與人機界面進行通訊的。人機界面通常也是采用串口,協(xié)議則以MODBUS為主,或者是專門的通訊協(xié)議。而界面方面則由HMI的廠家提供軟件來進行設(shè)計。
) E" Y( h w1 X' ?# V5 }# Y 現(xiàn)在的PANEL PC也有采用這種方式來進行通訊的,在PANEL PC上運行一些組態(tài)軟件,通過串口來存取OpenPLC的數(shù)據(jù),由于PANEL PC的逐漸輕型化和價格的下降,這種方式也越來越多地被使用。& X3 \" [: U. U9 p1 M
在需要對多臺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)定而可靠地運行。
$ t6 M% [# ^7 [/ }1 r$ Q 如果對通訊速度要求較高的場合,可以采用點到點的以太網(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# _2 k5 d# R | 還有一種分布式網(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)。
/ p& Y4 i+ Z0 c1 u+ k' _9 O- ]
. c) O4 B1 k9 B% i' p六、軟件調(diào)試; R/ o0 ^3 T3 S4 B# S
PLC的內(nèi)部固化了一套系統(tǒng)軟件,使得你開始能夠進行初始化工作和對硬件的組態(tài)。PLC的啟動設(shè)置、看門狗、中斷設(shè)置、通訊設(shè)置、I/O模塊地址識別都是在PLC的系統(tǒng)軟件中進行的。( |# b& G- V2 A3 x4 _# X6 _+ {
每種PLC都有各自的編程軟件作為應(yīng)用程序的編程工具,常用的編程語言是梯形圖語言,也有ST、IL和其它的語言。如何使用編程語言進行編程,這里就不細述了。8 b8 N0 A$ t( Z# z" n4 t: ~3 t5 Z
但是,用一種編程語言編出十分優(yōu)化的程序,則是工程師編程水平的體現(xiàn)。每一種PLC的編程語言都有自己的特色,指令的設(shè)計與編排思路都不一樣。如果對一種PLC的指令十分熟悉,就可以編出十分簡潔、優(yōu)美、流暢的程序。例如,對于同樣的一款PLC的同樣一個程序的設(shè)計,如果編程工程師對指令不熟悉,編程技巧也差的話,需要1000條語句;但一個編程技巧高超的工程師,可能只需要200條語句就可以實現(xiàn)同樣的功能。程序的簡潔不僅可以節(jié)約內(nèi)存,出錯的概率也會小很多,程序的執(zhí)行速度也快很多,而且,今后對程序進行修改和升級也容易很多。! G3 c" ~3 j2 @4 j; ?- Y
所以,雖然說所有的PLC的梯形圖邏輯都大同小異,一個工程師只要熟悉了一種PLC的編程,再學習第二個品牌的PLC就可以很快上手。但是,工程師在使用一個新的PLC的時候,還是應(yīng)該仔細將新的PLC的編程手冊認真看一遍,看看指令的特別之處,尤其是自己可能要用到的指令,并考慮如何利用這些特別的方式來優(yōu)化自己的程序。; w: b2 L' B9 x8 }
各個PLC的編程語言的指令設(shè)計、界面設(shè)計都不一樣,不存在孰優(yōu)孰劣的問題,主要是風格不同。我們不能武斷地說三菱PLC的編程語言不如西門子的STEP7,也不能說STEP7比ROCKWELL的RSLOGIX要好,所謂的好與不好,大部分是工程師形成的編程習慣與編程語言的設(shè)計風格是否適用的問題。
' |: ?2 O, |3 V9 m1 ^
. @( `7 T3 j: |! z( A 現(xiàn)場常常需要對已經(jīng)編好的程序進行修改。修改的原因可能是用戶的需求變更了,可能是發(fā)現(xiàn)了原來編程時的錯誤,或者是PLC運行時發(fā)生了電源中斷,有些狀態(tài)數(shù)據(jù)會丟失,如非保持的定時器會復位,輸入映射區(qū)會刷新,輸出映射區(qū)可能會清零,但狀態(tài)文件的所有組態(tài)數(shù)據(jù)和偶然的事件如計數(shù)器的累計值會被保存。- O: s1 _% e9 s" W0 y9 Z
工程師在這個時候可能會需要對PLC進行編程,使某些內(nèi)存可以恢復到缺省的狀態(tài)。在程序不需要修改的時候,可以設(shè)計應(yīng)用默認途徑來重新啟動,或者利用首次掃描位的功能。
3 P) X+ A' _, N5 t; ~( k5 O& Y 所有的智能I/O模塊,包括模擬量I/O模塊,在進入編程模式后或者電源中斷后,都會丟失其組態(tài)數(shù)據(jù),用戶程序必須確認每次重新進入運行模式時,組態(tài)數(shù)據(jù)能夠被重新寫入智能I/O模塊。0 H! b# {; K0 b
在現(xiàn)場修改已經(jīng)運行時常被忽略的一個問題是,工程師忘記將PLC切換到編程模式,雖然這個錯誤不難發(fā)現(xiàn),但工程師在疏忽時,往往會誤以為PLC發(fā)生了故障,因此耽誤了許多時間。
& ?: [* w/ _9 O3 A; Y' y 另外,在PLC進行程序下載時,許多PLC是不允許進行電源中斷的,因為這時,舊的程序已經(jīng)部分被改寫,但新的程序又沒有完全寫完,因此,如果電源中斷,會造成PLC無法運行,這時,可能需要對PLC的底層軟件進行重新裝入,而許多廠家是不允許在現(xiàn)場進行這個操作的。大部分新的PLC已經(jīng)將用戶程序與PLC的系統(tǒng)程序分開了,可以避免這個問題。# s* F1 t$ Y( K& O) j+ O
$ p. k" T6 D) f# X
七、結(jié)語
, g! T( h& z {' f& P 現(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)場,你的最重要的任務(wù)是保證系統(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)度的基礎(chǔ)之上的。
1 A+ C: e2 ^: U9 A) a8 r 此外,盡管現(xiàn)場工作壓力十分巨大,但要注意勞逸結(jié)合。有時候,三天三夜不離開現(xiàn)場似乎是必要的。但對于一個編程和調(diào)試工程師來說,可能回去睡它一個好覺,工作一定會完成得更快。如果在現(xiàn)場的調(diào)試時間很長,則抽出一兩天放松一下,也是十分必要的。有時候,游山玩水也是工作。
/ `% _. y1 v( X6 v" e p5 V& t 另外,一個優(yōu)秀的現(xiàn)場工程師,主要依靠的是工作經(jīng)驗的積累,與個人的天分關(guān)系不大,只要勤懇,并做過足夠多的項目,那么絕大多數(shù)人都是可以成為一個優(yōu)秀的現(xiàn)場工程師的。所需要的時間?可能是三年五年,也可能是半年一年。
0 L; v3 l, N* Z- W$ | / E3 g& N- `# A" Y7 \
(全文完)
, z- b% o& C0 \8 y" K+ K9 i |