第一篇:PLC編程經驗詳談
PLC編程經驗詳談
(晴天)2009-3-17 13:31:00
------------------
PLC程序調試步驟
人的腦力是有限的,并且記事情也有時間性。過了N天就會忘記每次修改的原因,為什么要加這條指令,為什么要刪除這個網絡,讓自己以后看自己以前編寫的程序時都會很困惑。做到以下步驟,對所有程序理解與修改會有很大幫助的。
1、把原有程序另存一個, 在另存的程序上作修改。文件命名一個主要的程序名稱,標注第幾次修改,并加上修改的日期,最好是在文件名外加上簡要的修改標題。例如: 《 捆扎程序5(06.10.23翻板步進電機加條件)》
2、用.doc文件記錄修改的年月日。
3、在日期下面記錄修改程序的步驟,增加或是刪除了哪些指令等。并在程序的編輯條注釋中做記錄,以備下次修改。
4、在.doc文件中詳細記錄修改程序的原因,所出現的故障現象是什么,故障是如何排除的。
5、在.doc文件中標注修改后所現用的程序全名,包括日期與簡要的修改標題。
6、把過時與現用的程序用,過時文件夾與現用文件夾分開整理,按日期排列。
這樣每次所作的修改就有了詳細的檔案,便于以后的程序修改。現用的程序是標有最近日期的程序。
這樣的工作步驟同時也適用于電氣圖紙的修改
PLC編程經驗
弄通有關PLC程序設計理論是重要的。沒有這方面的理論準備或指導,僅靠在實踐中摸索,簡單的問題還好辦。復雜的就不好辦了。不僅無從下手,而且花了很多時間與精力,也難編出效率較高、質量也較高的程序,常常是事倍功半。
但是,編程的具體實踐,以及在這個實踐中得來的知識或技能,即經驗,也是重要的。沒有經驗,僅有理論,既無法深刻理解理論,又無法靈活應用理論。這正如學數學,如僅了解一些定理或記住一些公式,沒有作相應的練習,肯定是學不好的。更不用說,任何理論也都只是經驗的總結,歸根到底也都有是來自實踐。
1、經驗積累
經驗有別人的,也有自己的,都很重要。前者要靠細心學習,后者要靠用心積累,都要在一定的時間與必要的精力。
別人的經驗有上了書的或登載在雜志上的。有的是細心學習別人的,但多數是我自己的經驗。所有的例子都經我測試過,都經實踐證明是可行的。我想,別的書本或雜志上介紹的也會是這樣的。所以學習這樣楊功的經驗是必要的。
還有就是你同事的經驗,也是值得學習。這種經驗離你很“近”,很易借鑒。
自己的經驗則是最重要的。要在自己的實踐中,積累自己的經驗。同時,最好在學別人的經驗時,也能親自作些測試,能使自己也有類似的經歷,進而把這些經驗變成自己的。這也是自己經驗的重要積累。
還有一些失敗的經驗,這往往是不會公開的,但這些經驗也要學習,也要積累。
經驗的積累要用自己的腦記,更要用電腦記。最好作些分類,建立一個自用的程序庫,以便于隨時引用。
2、經驗升華
經驗還有待升華。升華有三個層次:
最低的層次就是建立一個典型的程序庫,供今后再用。若程序復雜,還可建一些功能塊,或子程序,以便以后引用。
其次,要總結出有效算法。如單按鈕起停程序庫等。
最高層次的升華是把經驗上升到理論的高度,為豐富PLC程序設計理論作貢獻。我想,隨著PLC使用的普及與提高,是會有越來越多從經驗中升華出來的,而又能用以指導實踐的PLC編程理論的。
3、經驗應用
經驗積累、經驗升華都是為了應用。經驗應用有三方面:
1)用作工程設計模板。設計新系統時,選用一個或幾個與現設計工程類似的,已取得成功的工程,作樣板進行設計。這既可減輕設計的工作量,又增加設計的成功率。這也是信息可重用的一大好處。
2)用作程序設計參考。在無成功的工程可作樣板時,在新設計的邏輯中,仍有相當一部分控制邏輯,可采用或借用已有典型邏輯,這也可減少設計的工作量,增加設計的成功率。
3)用作算法設計參考。在既無樣板可參照,又無典型可采用時,還可運用過去的一些成功的算法。
經驗是寶貴的,但是經驗特別是個人經驗,總是有限的。所以,經驗的應用也還要與編程理論相結合PLC現場工程師工作指南
一、出發前的準備
從事PLC的技術支持的人,如果是要到現場開始進行系統調試,無論是對OEM客戶,還是對一個過程控制的系統集成,都要在事先做好一些準備工作。就像一個“驢友”出行前,要更換自己的服裝尤其是鞋子,帶好水、食品,還要準備在野外的一些防身用品,如果是過夜的話,還要有帳篷、手電筒等一樣,作為一個職業的PLC技術支持工程師,也有不少的東西是要準備的。
首先要安排自己的行程計劃和衣食住行。如果是需要住宿的話,那么如何定機票、酒店(旅館、招待所),這里就不多說了。如果時間很長(如超過一個月),為了省錢,就要考慮在當地租房子了,尤其是出發的是一個小組,而不是一個人的時候。衣食住行,這些問題與普通的旅行是一樣的,雖然這些問題對你完成任務的影響力并不亞于你的專業水平。想
象一下,你到了現場,因為食物中毒導致一個星期拉痢疾的情況會對工作造成什么樣的影響,就知道該準備那些東西了。通常,有經驗的自動化公司的行政部門會為工程師考慮好這些情況,但是,作為工程師自己一定要進行確認,看看是否所有的事情都已經安排好了。
安頓好了衣食住行的后,要準備自己的工具。作為PLC的現場調試工程師,并不需要很多的調試工具。但是,一個螺絲刀、一臺萬用表,還是必備的。另外,如果要與現場的儀表傳感器進行系統聯調的時候,還要有一臺信號發生器來模擬現場儀表的信號,以確定當發生問題時,現場的信號是完好的。還有,一臺結實的手提電腦,是你編程和調試的必需的工具。雖然這些工具你可以要求用戶準備好,但是,作為一個職業的PLC工程師,如果連這幾樣工具都沒有,會被用戶懷疑你的職業水平的。其它的一些儀器儀表,如果需要的話,你可以向公司或者客戶提出來,讓他們提前準備,比如,示波器、穩壓電源等等。畢竟這些不那么通用的儀器,通常是不可能隨身攜帶或備用的。
有一些常被忽視的小東西,你準備了之后一定有用的。如,電氣膠帶、熱縮套管、打火機(你吸煙的話自然會有,沒有別人也會有),束線帶、還有,如果現場接線已經完成了,要準備好一些與信號線相同的電纜,和一些固定基座的螺絲。你可能懷疑要這些做什么用,相信我,帶上這些,雖然有些只值幾分錢,但到了現場后,可能會節約你一天甚至幾天的時間,尤其是你去的地方是在一個偏遠的山區的時候。雖然在發貨的時候廠家都有螺絲釘,但是到了現場什么都有可能發生,如果螺絲釘不夠(而這是每次都必然發生的),會引起許多問題。
除了以上的東西,就是這次調試所要帶的備品備件了。雖然現場的貨物清單可能會已經考慮了備品備件的問題,但為了應付萬一的情況,有些備件你最好還是自己要隨身攜帶。首先是PLC的基板(有的成為機架)、電源、CPU模塊,因為這些是一臺PLC能夠工作的基礎,如果現場只有一套系統,那么這些模塊就只有一個,假如沒有備分的話,一旦出現故障,你的所有的工作都必須停下來。因此最好帶上一套。
其它的I/O模塊和通訊模塊,如果現場只有一個的,你都要考慮在多帶一個。對于那些現場已經有兩塊以上的模塊,你就不用考慮自己帶了。
二、設計交底工作
如果系統設計不是你自己做的,那么在出發前,就要與系統的設計人員進行充分的溝通,對于不清楚和不明白的地方,一定要弄清楚,確保自己清晰地理解了要完成的工作目標,和設計者的意圖。不要輕易否定設計者的方案,也不要輕易地說別人那里設計得不行。
但是,因為你是從事現場的工程師,因此,也不必過于迷信設計者。你可以提出自己的建議。比如,PLC的機架和CPU模塊和I/O模塊的搭配原則,可能有時候,設計師不知道你所用的 PLC的機架有4槽、6槽和8槽,甚至12槽的,因此,也許全部都選了8槽的,而導致了幾個槽的空缺,你可以建議它修改為4槽或6槽的。
方案設計中,最容易出問題的地方是通訊,現場調試最麻煩的地方也是通訊,所以對于通訊的部分,你必須清晰了解系統的框架結構,并且對需要進行通訊的東西在出發前就要全部進行一遍調試,而且要確認其中的所有需要通訊的模塊是可以通訊的。比如,操作臺電腦、觸摸屏、PLC、變頻器、其它的PLC、一些智能儀表和儀器,如果這些東西需要通訊的話,你必須要確認它們相互之間是可以通訊的,如果你不確認的話,就要與廠家聯絡,并親自再試一次。如果PLC的節點數較多,要考慮距離和廠家CPU的限制。
如果系統較大,遠程單元、本地機架數量、每個機架的模塊數量的限制,并非出于系統功能和技術上的限制,而是由于使用規范性的限制。在系統硬件組態時,要考慮這些模塊的搭配作用。
對于電源模塊的配置,一個資深的工程師應該能夠做出比較合理的搭配。例如,電源模塊通常有5A和10A的分別,如果模塊較少,可以選用功率小的電源模塊,如果模塊較多,則應該選用大功率的電源模塊。而一般,如果現場儀表需要PLC也供應24V直流電源而不是采用外部電源供電(如RTU)的情景,通常CPU所在的機架上選用大功率的電源比較合理。
此外,在I/O模塊的安裝時,根據不同的系統,通常同型號的模塊放置在一起。但是,如果對于輸出模塊與輸入模塊形成回路的,則可以將一個回路的參量所涉及的模塊放置在一個機架上(或一個CPU所控制的機架上)比較合理。有的設計師在設計的時候不會考慮這一點,你可以調整過來。
在選型的時候,因為各種PLC都有大型、中型、小型的分別,這些分別主要是由CPU模塊的性能不同造成的。在實際上,并非一定大型的功能就是合適的。除了價格方面的考量之外,主要是,如果控制點數不多,小型的CPU模塊完全可以勝任,則小型的CPU反而比大型的CPU模塊工作還要可靠一些。因為,小型的CPU所涉及的資源少,而大型CPU的資源多,在程序執行中,為處理那些程序不需用到的資源時,也要分配時間去處理,這樣不僅造成資源的浪費,可能在程序處理上不及小型CPU可以更單純和穩定地工作。
在設計交底的過程中要指出的是,對于設計中的任何變更,你只能提建議,而不是擅自做修改。因為,你的職責是按照設計施工,而不是設計,因此,對于任何你發現的不合理的東西,你可以提出意見,但必須要等到設計變更確認書下到你手里后,你才能按照變更后的設計工作,盡管這個變更可能是你的意見。還有,即使最初的設計也是你做的,你在變更后,也要通知客戶,并取得客戶的書面同意。
三、裝機步驟
到了現場后,進行系統安裝前,需要考慮安裝環境是否滿足PLC的使用環境要求,這一點可以參考各類產品的使用手冊。但無論什么PLC,不都能裝設在下列場所:含有腐蝕性氣體之場所,陽光直接照射到的地方,溫度上下值在短時間內變化急遽的地方,油、水、化學物質容易侵入的地方,有大量灰塵的地方,振動大且會造成安裝件移位的地方。
如果必須要在上面的環境使用,則要為PLC制作合適的控制箱,采用規范和必要的防護措施。如果需要在野外極低溫度下使用,可以使用有加熱功能的控制箱。如何做這些防護箱或控制箱,各制造商和和資格的系統集成商將會為客戶提供相應的供應和設計。
在使用控制箱時,在控制箱內OpenPLC安裝的位置要注意如下事項:控制箱內空氣流通是否順暢(各裝置間須保持適當的距離),變壓器、馬達控制器、變頻器等是否與PLC保持適當距離,動力線與信號控制線是否分離配置,組件裝設之位置是否利于日后之檢修,是否需預留空間,供日后系統擴充使用。
除了上述注意事項之外,還有其它注意事項要留意。
首先比較重要的是靜電的隔離。靜電是無形的殺手,但可能因為不會對人造成生命危險,所以許多人常常忽視它。在中國的北方、干燥的場所,人體身上的靜電都是造成靜電損壞電子組件的因素。雖然你被靜電打到的話,只不過是輕微的酥麻,但這對PLC和其它任何電子器件就足以致命了。
要避免靜電的沖擊有下列三種方式:在進行維修或更換組件時,請先碰觸接地的金屬,以去除身上的靜電;不要碰觸電路板上的接頭或是IC接腳;電子組件不使用時,請用有隔離靜電的包裝物,將組件放置在里面。想象PLC里的元器件是一個嬌嫩的嬰兒,而那些靜電會導致這個嬰兒死亡,你就會更容易以正確的態度對待這個問題了。
基座安裝(RACK)時,在決定控制箱內各種控制組件及線槽位置后,要依照圖紙所示尺寸,標定孔位,鉆孔后將固定螺絲旋緊到基座牢固為止。在裝上電源供應模塊前,必須同時注意電源線上的接地端有無與金屬機殼連結,若無則須接上。接地不好的話,會導致一系列的問題,靜電、浪涌、外干擾,等等。由于不接地,往往PLC也能夠工作,因此,不少經驗不足的工程師就誤以為接地不那么重要了。這就像登山的時候,沒有系上保護纜繩一樣,雖然你正常前進的時候,保護纜繩沒有任何作用,但一旦你失足的時候,沒有那根繩子,你的生命就完結了。PLC的接地,就相當于給PLC系上保護纜繩。
在I/O模塊安裝時,須注意如下事項:I/O模塊插入機架上的槽位前,要先確認模塊是否為自己所預先設計的模塊;I/O模塊在插入機架上的導槽時,務必插到底,以確保各接觸點是緊密結合的;模塊固定螺絲務必鎖緊;接線端子排插入后,其上下螺絲必須旋緊。由于現場的變壓器、電機等影響,多少會有振動,如果這些螺絲釘松動了,會導致模塊從機架中松開
第二篇:PLC編程心得
即使是同一個項目,同一個人,要他重新寫一次,也會與原來的不同,我只是看別人的一種思路,是怎樣把程序去組織好,如何規范合理分配好元件,我看簡單也不一定好,我的編程習慣是要求流程要清晰,即使多花點步數也好。所以我現在一般都不用一個梯形圖完成,而是用SFC去編排組織梯形圖的執行順序,這樣就不用擔心什么互鎖連鎖的問題,我現在在編寫的程序我估計在18000步左右,若是用單一的梯形圖來編,我估計對以后的維護和修改會做成很大的困難。
現在工控制軟件大部份是可以破解,但如果不想別看懂的程序的話,把里面最好不放常數,全部是數據寄存器,多用一些功能指令,拿出點技術來,要把哭程序寫少而精,不要多而雜。我不鼓歡太亂的程序。如果你把技巧都定上去啦,相信不是一般的高手都沒辦法看懂,那樣別人是服了你的技術,而不是服你的亂!我一向都不怕別人看程序,我也不喜歡看別人程序,這就是這的風格!單一!寧可少而精,不可多而雜
上是高手啊,我公司有一臺設備的PLC程序真的不放常數,全部是數據寄存器,下載下來的程序在另外一臺PLC就不能使用!
我們公司有幾臺設備都是意大利進口的,都是幾千萬的設備,老外的程序都沒見有常數,應用了好多數據塊,一般的工程師都看不懂的
第三篇:編程經驗
1.當性能遇到問題時,如果能在應用層進行計算和處理,那就把它從數據庫層拿出來。排
序和分組就是典型的例子。在應用層做性能提升總是要比在數據庫層容易的多。就像對于MySQL,sqlite更容易掌控。
2.關于并行計算,如果能避免就盡量避免。如果無法避免,記住,能力越大,責任越大。
如果有可能,盡量避免直接對線程操作。盡可能在更高的抽象層上操作。例如,在iOS中,GCD,分發和隊列操作是你的好朋友。人類的大腦沒有被設計成用來分析那些無窮臨時狀態——這是我的慘痛教訓所得。
3.盡可能簡化狀態,盡可能局部本地化,適用至上。
4.短小可組合的方法是你的好朋友。
5.代碼注釋是危險的,因為它們很容易更新不及時或給人誤導,但這不能成為不寫注釋的理由。不要注釋雞毛蒜皮的事情,但如果需要,在某些特殊地方,戰略性的長篇注釋是需要的。你的記憶會背叛你,也許會在明天早上,也許會在一杯咖啡后。
6.如果你認為一個用例場景也許“不會有問題吧”,它也許就是一個月后讓你在發布的產品
中遭受慘痛失敗的地方。做一個懷疑主義者,測試,驗證。
7.有疑問時,和團隊中所有相關人交流。
8.做正確的事情——你通常會知道這指的是什么。
9.你的用戶并不傻,他們只是沒有耐心理解你的捷徑。
10.如果一個開發人員沒有被安排長期的維護你們開發的系統,對他保持警惕。80%的血、汗、淚水都是在軟件發布后的時間里流的——那時你會變成一個厭世者,但也是更聰明的“行家”。
11.任務清單是你的好朋友。
12.主動讓你的工作更有樂趣,有時這需要你付出努力。
13.悄無聲息的崩潰,我仍然會為此從噩夢中驚醒。監控,日志,警報。清楚各種的假警報
和不可避免的感覺鈍化。保持你的系統對故障的敏感和及時警報。
14.復雜是大敵。
第四篇:三菱PLC編程使用方法
三菱PLC編程使用方法
1、FX系列不用設置 PLC I/F 選定確認CPU系列后,在通訊選擇頁直接按確認;
2、A系列要設置 PLCI/F(三菱PLC編程電纜的自制2和3 已測試成功)選定確認ACPU后,在通訊選擇頁的PLCI/F設置欄,雙擊“CPU模塊”,選擇“使用MAC/MTA透明模式”再按確認; 之后就能同時傳輸主程序和參數等數據了。
第五篇:plc編程學習總結
1:PLC編程語言有5種,即順序功能圖(SFC),梯形圖(STL),功能塊圖,指令表,和結構文本。其中順序功能圖(SFC)是最容易理解的,按照時間的先后順序執行。然后轉換成梯形圖,因為梯形圖是PLC普遍采用的編程語言。不過SFC轉換梯形圖是很簡單的。
2:就好比是開關在合上時兩觸點接觸的一瞬間繼電器就有動作了,這叫上升沿。
下降沿就好比開關兩觸點始終保持接觸時,繼電器沒有動作,只有開關兩點斷開時的瞬間繼電器才動作。