西門子模塊6ES7214-2AS23-0XB8型號介紹
西門子模塊6ES7214-2AS23-0XB8型號介紹
1,、編程需要堅(jiān)強(qiáng)的毅力和足夠的耐心
人各有所長。有些人把編程看作一項(xiàng)冗長而枯燥的工作,;有些人把編程看作一項(xiàng)趣味的智力游戲。如果你是前者,,強(qiáng)烈建議你遠(yuǎn)離這份工作,。畢竟編程工作是對人的毅力和耐心的挑戰(zhàn)。我所在實(shí)驗(yàn)室中,,很多學(xué)生看到我編程序就會驚訝于我面對這一堆堆符號所表現(xiàn)出的專注,。其實(shí),這是興趣使然,。興趣使我具備了足夠的毅力和耐心,。經(jīng)過無數(shù)次失敗后,當(dāng)看到一個個符號按我的思路整齊的排列,,PLC按我的要求有條不紊的運(yùn)行時,,興趣得到了極大的滿足,如同打通了一個游戲的關(guān)口,。所以,,我告訴這些學(xué)生:你們看到的是一堆枯燥怪異的符號,我看到的卻是一群熱情奔放的舞者,,而我則是她們的導(dǎo)演,。
2,、編程需要敢于實(shí)踐的信心
我曾經(jīng)教過一個學(xué)生學(xué)AutoCAD,我對她的要求就是實(shí)踐,。我告訴她:你隨便怎么操作,,大不了一張圖重畫;最壞的結(jié)果是系統(tǒng)崩潰,,沒關(guān)系,,系統(tǒng)重做,再來,;只要電腦沒被砸了,,怎么都行。兩年后,,我再看到她做的CAD圖紙,,也自嘆不如。
同樣道理,,只有不斷地在PLC上運(yùn)行這些指令,,觀察運(yùn)行的結(jié)果,才能弄清PLC指令的作用,。很多初學(xué)者對PLC一臉的迷茫,,往往是出于一種畏懼,擔(dān)心損壞設(shè)備,。而這些畏懼是沒有任何道理的,。仔細(xì)的閱讀手冊是非常重要的,但是僅靠讀書是成不了一個工程師的,。更何況手冊上的內(nèi)容并非面面俱到,。我在接觸到那些不熟悉的指令時,喜歡單獨(dú)編一個小程序,,讓PLC運(yùn)行,。然后逐個修改條件,觀察運(yùn)行的結(jié)果(MicroWin為用戶提供了非常好的監(jiān)控手段),,反過來再重新理解手冊的描述,,這樣就可以非常直觀的理解這些指令的作用和使用方法。不必?fù)?dān)心自己寫的程序會有什么問題,,會影響PLC的正常工作,。程序有沒有問題,只有讓PLC運(yùn)行了才能發(fā)現(xiàn),。而發(fā)現(xiàn)問題并解決問題就是對自己能力的提高,。撇開硬件操作不談,單就軟件來說,,我還真沒有遇到過由于軟件問題而損壞PLC的事,。在這里不必?fù)?dān)心繼電器電路接錯線可能造成的后果,。所以,大膽的實(shí)踐是PLC編程的必由之路,。
當(dāng)然,,大膽實(shí)踐并不是野蠻操作,而是必須遵循必要的規(guī)范,。還有一個要注意的,,在程序未經(jīng)可靠性證實(shí)之前,千萬不要掛接負(fù)載,,以免造成不必要的損失,。數(shù)字量的輸出有LED顯示;而模擬量處理可以采用一些硬件或軟件模擬手段來解決,。
3,、編程需要有縝密的邏輯思維
編程本身就是一種邏輯思維過程。在高級語言中,,使用最多的是ifthenelse,、select這些條件判別語句,這就是邏輯中的因果關(guān)系,。PLC程序就是由這些因果關(guān)系組成的:判別條件是否成立,進(jìn)而決定執(zhí)行相應(yīng)的指令,。最初的PLC是用來替代繼電器邏輯電路的,,所以繼承了繼電器電路以觸點(diǎn)作為觸發(fā)條件的描述方式。在PLC中,,以虛擬觸點(diǎn)代替了繼電器的金屬觸點(diǎn),,而繼電器電路所表達(dá)的邏輯關(guān)系還是被完整的保留下來。即使引入了繼電器電路難以勝任的數(shù)值處理過程,,PLC從根本上還是在執(zhí)行一個個因果關(guān)系,。所以,理順對象的各個事件之間的邏輯關(guān)系,,是編程之前必須精心做好的準(zhǔn)備工作,。我在接到一項(xiàng)任務(wù)后,第一件事就是整理出一份邏輯關(guān)系圖,,與用戶反復(fù)商討,,取得用戶的認(rèn)可,然后才真正進(jìn)入程序的編寫過程,。
4,、的相關(guān)知識
PLC的程序是直接作用于對象的具體工藝過程,那么對對象具體工藝過程的理解是非常重要的的,。我在與用戶的交流過程中,,會用我所掌握的UnitOperation的知識分析用戶的工藝過程,,協(xié)助用戶整理過程控制中的各個邏輯關(guān)系,甚至包括各種儀表,、硬件的配置,。這得益于我原本所學(xué)的專業(yè)。當(dāng)然,,不能要求所有搞PLC程序的工程師都有我這樣的經(jīng)歷,。但是有兩門知識卻是的:一是過程儀表的硬件知識,包括傳感器,、變送器(二次儀表)和PLC本身,,這是構(gòu)建控制系統(tǒng)的基礎(chǔ);二是過程控制理論,,包括各種控制模型的原理和應(yīng)用,,其中最重要的是二位調(diào)節(jié)和PID調(diào)節(jié)模型。PID調(diào)節(jié)是目前用得泛的過程控制手段,,且變化多端,。學(xué)習(xí)PID方法就是讀書。幾乎所有講解過程控制的書籍都有關(guān)于PID的內(nèi)容,,多讀基本相關(guān)的書籍對理解PID是很有益處的,。我發(fā)現(xiàn)不少網(wǎng)友在進(jìn)入PLC領(lǐng)域時,缺乏這些相關(guān)知識,。這并不可怕,;可怕的是當(dāng)事者不能靜下心來彌補(bǔ)知識的缺陷。我們不要怪罪學(xué)校沒有教授這些內(nèi)容,,而是要注重自己如何去學(xué)習(xí)這些知識,。工作中遇到的許多問題是學(xué)校里沒講過的,這不能成為我們拒絕工作的理由,,而應(yīng)該以積極的態(tài)度去應(yīng)對這些問題,。我的體會是,為了解決工作中的問題而學(xué)習(xí)的知識,,比課堂上學(xué)的東西更容易記住,。
5、養(yǎng)成良好的編程習(xí)慣
每個人編程都會有不同的習(xí)慣和特點(diǎn),,不能強(qiáng)求一致,。但是一些好的習(xí)慣還是應(yīng)該為大多數(shù)人所遵循。一是理順邏輯關(guān)系,、時序關(guān)系,,編制程序框圖;二是合理分配主程序、子程序和中斷程序,;三是合理分配寄存器,,編制寄存器符號表。
PLC編程更接近于單片機(jī),,或者說PLC就是模塊化的單片機(jī),。因此PLC的很多操作都是直接針對寄存器的,如果在程序中出現(xiàn)不合理的寄存器地址重疊,,一定會出現(xiàn)不可預(yù)想的后果,。編制寄存器符號表不僅可以避免上述問題(MicroWin會有問題提示),而且可以使程序具備更好的可讀性,。這和VB中定義變量有異曲同工之處,。
VB編程中關(guān)注的是事件,不強(qiáng)調(diào)主程序和子程序的觀念,,因?yàn)閂B主程序的工作是由PC的操作系統(tǒng)完成的,。PLC則不然。PLC程序是以主程序?yàn)橹鞲傻?,CPU不斷的循環(huán)執(zhí)行主程序,,只有觸發(fā)條件成立時才會調(diào)用子程序或中斷程序。即子程序和中斷程序所執(zhí)行的任務(wù)不是全時需要的,。如果把這些任務(wù)都放在主程序中會無端增加主程序的工作量,,降低程序的效率。這點(diǎn)和單片機(jī)的編程思路是一致的,。子程序的使用可以使整個程序的邏輯更清晰,。而且子程序可以分開編寫、調(diào)試,,最后“安裝"到主程序上。這樣你可以一個一個解決問題,。
PLC編程,,無論是LAD,抑或STL,,都不如VB那么直觀,、有趣,更不如CAD那么形象,。但比單片機(jī)的匯編語言的可視性強(qiáng)多了,。對于初學(xué)者,LAD(梯形圖)的編程相對直觀,,更容易上手
一步:閱讀產(chǎn)品說明書,。
第一步看起來再簡單不過了,很多設(shè)備工程師會說,這臺設(shè)備我負(fù)責(zé)了很多年,,維護(hù)保養(yǎng)每天都做,,沒有不熟悉的,看說明書就是浪費(fèi)時間,。哈哈,,這就是國內(nèi)很多工程師的通病,許多人從設(shè)備買回來直到報(bào)廢,,沒有人真正認(rèn)真地去閱讀過產(chǎn)品說明書,,即使閱讀也是草草地一看。更多的還是通過供貨方的產(chǎn)品培訓(xùn)來了解設(shè)備,,孰不知,,如果簡單的培訓(xùn)就可以讓你充分了解設(shè)備特點(diǎn)的話,那么為什么國際上都要求設(shè)備要配備說明書呢,?如果閱讀過說明書,,請問說明書最開始的安全守則是否一字一句的看過?每個元件的說明是否看過,?沒種元件的調(diào)試方法是否看過,?…
我們會發(fā)現(xiàn),其實(shí)我們?nèi)粘:雎粤水a(chǎn)品說明書,,很多人甚至將說明書扔掉或者放在自己一時都想不起來的地方,。仔細(xì)閱讀說明書是編程的第一步,首先要閱讀安全守則,,知道哪些執(zhí)行機(jī)構(gòu)可能會對人身造成傷害,,哪些機(jī)構(gòu)間最容易發(fā)生撞擊,當(dāng)發(fā)生危險時如何解決,,這些最致命的問題都在安全守則中,,為什么不去看呢?
此外,關(guān)于設(shè)備每個元件的特性,,使用方法,,調(diào)試方法也在說明書中,不去閱讀,,即使程序正確,,如果元件沒有調(diào)試好,設(shè)備一樣不能工作,。再有,,所有的電路圖、氣動液壓回路圖,、裝配圖也在說明書中,,不去閱讀它怎么知道沒種元件可以做何種改造呢,。
第二步:根據(jù)說明書,檢查I/O,。
確認(rèn)仔細(xì)通讀說明書了,?如果真的仔細(xì)閱讀過,那么進(jìn)行第二步,,檢查I/O,,俗稱“打點(diǎn)"。
檢查I/O的方法很多,,但是一定要根據(jù)說明書提供的地址依次進(jìn)行檢查,。前提是按照說明書的安全守則和元件的說明,在絕對安全的情況下來檢查,。
在檢查輸入點(diǎn)時,,一般輸入信號無非是各種傳感器,如電容,、電感,、光電、壓阻,、超聲波,、磁感式和行程開關(guān)等傳感器。檢查這些元件比較簡單,,根據(jù)元件說明將工件放在工位上,,或是移動執(zhí)行機(jī)構(gòu)檢查傳感器是否有信號即可。當(dāng)然,,不同的設(shè)備檢測的方式可能不同,,這要看具體情況而定了。
但是在檢查輸出信號時就要格外小心了,。如果是電驅(qū)動產(chǎn)品,,必須在安全情況下,尤其是保證設(shè)備不會發(fā)生撞擊前提下,,讓執(zhí)行機(jī)構(gòu)的驅(qū)動器得電,,檢查執(zhí)行機(jī)構(gòu)是否能夠運(yùn)動。如果是液壓或氣動執(zhí)行機(jī)構(gòu),,同樣在安全情況下手動使換向閥得電,從而控制執(zhí)行機(jī)構(gòu),。在檢查輸出信號時,,不論執(zhí)行機(jī)構(gòu)的驅(qū)動方式是什么,一定要根據(jù)元件說明書,,首先要保證設(shè)備和人身安全,,要注意并不是所有設(shè)備的執(zhí)行機(jī)構(gòu)都可以通電測試的,所以有時個別的輸出信號可能無法手動測試。
無論是輸入還是輸出裝置,,當(dāng)傳感器有信號或執(zhí)行機(jī)構(gòu)的驅(qū)動裝置得電后,,必須同時檢查PLC上的I/O模塊指示燈是否也點(diǎn)亮。很多設(shè)備中,,輸入輸出信號是通過接線端子與PLC連接,,有時接線端子的指示燈有信號 ,但不能保證由于連接導(dǎo)線內(nèi)部斷路,,而PLC上相應(yīng)的地址沒有信號接通,。這一點(diǎn)要特別注意。
在測量輸入輸出信號后,,要同時將測量的地址記錄下來,,保證信號地址和說明書中一致。如有不同,,再次測量設(shè)備地址,,多次測量仍然不一致,先聯(lián)系設(shè)備廠家,,因?yàn)榇藭r不能保證廠家提供的地址沒有錯誤,。
第三步:打開編程軟件,進(jìn)行硬件配置,,并將I/O地址寫在符號表中,。
不同的PLC使用不同的編程軟件。但是對于任何一種軟件來說,,編程前的第一步就是進(jìn)行硬件組態(tài),,根據(jù)實(shí)際PLC的類型建立硬件配置及相應(yīng)的通訊配置。硬件組態(tài)完成后,,將之前在紙上記錄下來的I/O地址寫在軟件的符號表中,。由于軟件不同,對于符號表的定義可能不同,,但一般的軟件都有該功能,,這一步是至關(guān)重要的。在編寫符號表時,,不僅要把設(shè)備輸入輸出的絕對地址寫正確,,最好再給每個地址命名并添加注釋,這對后面的編程會非常方便,。不需要在編程時每次都查詢絕對地址,,只要填寫命名好的名稱即可。當(dāng)然,,這也取決于軟件是否具備此功能,。
第四步:寫出程序流程圖
在編程之前,,一定要在草稿上寫出程序的流程圖。一個完整的程序,,應(yīng)該包括主程序,、停止程序、急停程序,、復(fù)位程序等部分,,如果軟件允許,應(yīng)該將各個程序按“塊"的形式編寫,,即一個程序是一個塊,,最終將每個塊按需求來調(diào)用即可。
PLC最擅長的就是處理順序控制,,在順序控制中主流程是核心,,一定要確保制定好的流程是正確的,要在草稿上仔細(xì)檢查,。如果主流程存在問題,,當(dāng)程序被PLC執(zhí)行后,很可能發(fā)生撞擊,,損壞設(shè)備或?qū)θ松碓斐晌kU,。流程圖的表示方法多種多樣,這里不做具體說明,。
第五步:在軟件中編寫程序
如果確保主流程沒有問題后,,便可以在軟件中編寫程序了。此外,,還要注意停止,、急停和復(fù)位程序的正確性,尤其是停止和急停程序,,這是關(guān)系到人身安全和設(shè)備安全的最重要的程序,,萬萬不可小視。一定要保證無論在任何情況下,,只要執(zhí)行停止或急停程序,,設(shè)備絕對不會對人身造成傷害。
再有,,任何設(shè)備都有自己的初始位置,,一般的設(shè)備在說明書中都規(guī)定了設(shè)備的安全的初始位置。如果沒有,,要仔細(xì)研究其初始位置,,保證初始位置的合理性。
第六步:調(diào)試程序
在調(diào)試程序這一步中,,可以分成兩個方面,。
1.如果條件允許,或是你的邏輯能力,,可以先用軟件的仿真功能做測試,,但是很多繁瑣的程序很難用軟件仿真看出程序是否正確。
2.將程序下傳到PLC中進(jìn)行在線的調(diào)試,。如果設(shè)備不動或運(yùn)行中出現(xiàn)異常情況,,先不要去修改程序,很可能是傳感器沒有調(diào)試到位,,如果確保傳感器無誤,,再去修改程序。
第七步:調(diào)試完成后,,再次編輯程序
在上一步的調(diào)試中,,由于對程序有所修改,故必須再次整體檢查或編輯一下程序,,然后將最終的程序下傳到PLC中,。
第八步:保存程序
在這一步中,要注意一個問題,,就是應(yīng)該將程序保存在什么地方,?PC硬盤?閃存設(shè)備,?移動硬盤,?當(dāng)然這些都不可以,所有這些存儲設(shè)備都可能感染病毒,。所以,,必須且只能將程序燒制到光盤上。而且還有一個問題,,燒制的程序是哪個程序,?在之前我們已經(jīng)將最終調(diào)試并修改完成的程序下載到PLC中,如果PLC在執(zhí)行該程序時無誤的話,,就將該程序上傳到PC中,,將此程序燒制到光盤中。
上面的一切都是為了安全,。
第九步:填寫報(bào)告
完成編程后,,應(yīng)該填寫最后的調(diào)試報(bào)告,將遇到的問題和程序的一些難點(diǎn)問題一一記錄下來,。因?yàn)殚L時間以后,,自己也會對程序的某些技巧的地方遺忘,同時也方便其他同事能夠理解你所編寫的程序