<object id="5egnf"></object>

    <dfn id="5egnf"></dfn>

  1. <sup id="5egnf"></sup>
        加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線17838383235
        公司新聞
        完美的PLC程序是什么樣子
        發布時間: 2024-06-11 09:39 更新時間: 2024-10-30 14:14

        我想和大家分享一篇有關PLC編程的文章。這篇文章將讓你更深入了解完美的PLC程序應該具備的設計要求,以及在實際工作中關于PLC編程規范及建議。


        對于一套完整的PLC程序而言,要使系統能夠運行起來并不是唯一的目標,它還需要滿足以下設計要求:完整的注釋、精良的架構、良好的可擴展性、完備的報警保護系統以及運行前的模擬系統。

        1.PLC程序要盡可能地簡單化:簡單的含義是盡可能使用標準化的程序框架,并且使用簡單的指令。為了使程序簡單,從大的方面講,需要優化程序結構,利用流程控制指令簡化程序。從小的方面講,還要用功能強大的指令取代功能單一的指令,并注意指令排列的順序等。

        2.PLC程序的可讀性要好:這不僅便于程序設計人員加深對程序的理解,便于調試,而且還要便于其他人讀懂您的程序,便于使用者進行維護。因此,設計時要盡可能清晰,要注意層次、實現模塊化,甚至可以采用面向對象的方法進行設計。同時,要多使用一些標準的設計,如采用梯形圖編程,使程序易于閱讀。在特殊情況下,可以采用語言編程。

        此外,I/O分配要有規律性,便于記憶與理解,必要時還要做一些注釋工作。內部器件的使用也要講規律性,不要隨意使用。

        3.程序的注釋至關重要:為了使程序易于理解,注釋應該包含以下幾個方面:系統注釋(版權公司和此套程序用途)、程序塊注釋(此程序塊的主要用途和作者)、段注釋(此段代碼的用途)以及變量注釋(包括I/O注釋、中間變量注釋)。

         

        雖然在程序調試的過程中,指令的增減和內部器件的使用變化可能會使原本清晰的程序變得有些混亂,但在設計時應該留有一定的余地,以便調試完畢后再進行整理,從而使所設計的程序具有更高的質量關于保密性,我認為應該在程序的加密算法或者塊的加密上考慮,而不應該用減少注釋這種小聰明來實現。

        3.準確性:PLC的程序必須是正確的,并且必須經過實際工作驗證,以證明其能夠正確地運行。這是對PLC程序的基本要求,如果不能做到這一點,那么其他方面再好也是沒有用的。

        要確保程序的正確性,就必須準確地使用指令,正確地使用內部器件。準確地使用指令與正確理解指令是相關聯的,因此必須弄清楚指令的含義和使用條件。有必要時,可以編寫一些小程序來測試一些不清楚的指令。

        同一條指令,由于PLC的出廠批次不同或是PLC的系列型號不同,一些指令的細節可能會有所不同,因此應該仔細查閱編程手冊。

        正確使用內部器件也非常重要。例如,有些PLC具有掉電保護,而有些則沒有。必須確保具有掉電保護功能的地方一定要使用具有掉電保護功能的器件,否則就不能使用。

        要準確地使用指令,正確使用內部器件,以確保編寫的程序能夠正確地運行,這是對PLC程序的基本要求。

        舉個簡單的例子,西門子的上升沿和下降沿需要使用帶存儲功能的變量作為中間變量,比如M點或者DB點,如果使用FC的temp變量就會出問題。

        4.可靠性:程序不僅要正確,還要可靠??煽啃苑从沉薖LC程序的穩定性,這也是對PLC程序的基本要求。

        有些PLC程序在正常的工作條件下或合法操作時能夠正確運行,但在出現非正常工作條件(如臨時停電,又很快再通電)或進行非法操作(如一些按鈕不按順序按,或同時按下若干按鈕)后,程序就不能正常運行。這種程序就不夠可靠,甚至可以說是不穩定的,即不是好的程序。

        好的PLC程序能夠識別非正常工作條件的出現,并能夠使其與正常條件銜接,以使程序適應多種情況。好的PLC程序能夠拒絕非法操作,并且不留下“痕跡”,只接受合法操作。

        聯鎖是拒絕非法操作常用的手段,繼電電路經常使用這種方法,PLC也可以繼承這種方法。

        5.易修改性:要使程序易于修改,也就是要便于修改。PLC的一個特點就是靈活,可以靈活地適應各種情況。要實現這一點,就需要通過修改或重新設計程序來實現。


        重新設計程序用于改變PLC工藝的用途要求的情況,不僅需要重新編寫程序,還需要重新分配輸入/輸出。在大多數情況下,只需要做一些修改而不需要重新編寫整個程序。這就要求程序具有易于修改的特性。

        易于修改也就意味著具有彈性,只需做出很少的改動,就可以達到改變參數或進行其他修改的目的。

        6.延展性:許多程序可能在進入現場之前已經編寫好,但是到了現場,可能還需要添加其他程序,為了避免打亂整套系統的結構,需要在每個功能區預留一定的空間作為備用。

        硬件上要留出足夠的余量,軟件在編寫的時候要考慮好手動、自動、半自動等情況,并留出相應的位置。

        7.完美的報警系統:在工業環境中,PLC系統經常用于控制生產流程。由于每次故障都會造成不同程度的損失,為了在發生故障時減少損失或盡可能地進行事故預處理,必須充分重視PLC的報警和保護功能,并將其作為系統中bukehuoque的重要組成部分。

        8.程序仿真:為了確保現場調試進度或向客戶展示程序功能,通常需要在進入現場之前對自己的程序進行全自動仿真。因此,需要在程序中添加仿真代碼部分,該部分將在正式的現場運行后自動斷開。為使程序具有仿真功能,需要完成以下任務:

        (1)將實際的PLC I/O點轉換為PLC中間變量或數據塊變量;

        (2)根據工藝要求編寫各個設備的仿真程序。

        在設計PLC程序過程中,只有滿足以上幾個方面的需求,才能被稱為的程序。

        PLC程序設計規范

        1、選擇適合的PLC型號和I/O點數,并在需要特殊功能時選擇特殊功能模塊。

        2、熟悉所選PLC編程指令和編譯軟件。

        3、進行軟元件規劃,包括內部繼電器、保持繼電器、數據寄存器、定時器、計數器等。

        4、進行程序規劃,一般按照故障提取、故障處理、手動處理、自動處理、輸出處理的順序進行編程。對于大型設備或工程,可以按功能單元分段和分塊進行處理,例如自動化生產線中的提升機、移載機、頂起旋轉裝置等,應按上述單元分塊進行編程。


        5、在分段或分塊編寫的程序之前,應添加簡短的段注釋,說明此段程序的功能,必要時還可以注明相應的工藝流程。分塊或分段的程序應按照工藝流程順序排列,以便程序更加易讀。

        6、在程序設計之前,應對設備進行抽象,對共用因子如停止、急停、過載、超限、超時、安全光幕、碰停、門開關等進行提取,放置在啟動回路或啟動主控、連鎖回路中,作為整個程序結構的基礎。在此基礎上,將程序分為自動和手動兩大功能區。

        7、將程序結構手動功能區的共用因子,如手動、危及設備人身安全等因素進行提取,放在手動主控、連鎖回路中,以對手動控制進行保護、屏蔽和報警。

        8、將程序結構自動功能區的共用因子,如自動、超限、超時等因數因子進行提取,放在自動主控、連鎖回路中,以對自動控制下的設備進行保護、屏蔽和報警。重要的原則是,在確保安全的前提下,嚴格限制設備的進,寬松限制設備的出。

        9、程序設計時應設計程序總復位功能,以便在設備出現故障時,使用者可以方便快速地恢復設備正常工作??倧臀贿^程中應充分考慮設備和人員的安全。

        10、在自動模式切換到手動模式時,程序應清除自動模式下的輸出和中間狀態。特別是在自動模式使用SET指令時,必須在手動模式用RESET指令予以清除。

        11、在編制程序時,嚴禁使用雙輸出,即同一條輸出語句或同一個輸出線圈在程序中出現2次及以上。不同模式條件下對同一輸出點的輸出應使用中間繼電器進行中轉,后集中到一起并列到輸出點。

        12、在使用觸摸屏時,不得將觸摸屏和PLC公用的控制區和狀態區用于其他功能的編程。

        13、對于PLC的特殊模塊,在使用之前,應先查明其控制區和狀態區是否占用工作字。若占用,不得將這些工作字用于其他方面的編程。

        14、PLC的輸入、輸出、中間繼電器、定時器、計數器、數據寄存器等都要加中文注釋。輸入、輸出還須有元器件名稱位號。默認情況下,所有注釋都應清晰明了,不易引起誤解,盡量少使用泛指。

        15、工程調試完成后,系統必須保留終軟件程序,保存的文件名應包含項目編號/作者/日期信息/版本號等。

        16、關于程序加密:對于加密程序的密碼,必須有專門的文件予以保存,并注明相應的用戶名、密碼和權限。密碼應分發給至少兩個人以上,以防密碼丟失導致無法打開程序的情況。

        編程建議

        1、當PLC和上位機(或觸摸屏)組成監控系統時,在畫面上往往需要有“手動”、“自動”等控制模式(一般都是多個只能一個時)。在程序中可以使用“MOV”指令。例如:當選擇“手動”時,將常數1 MOV到一個寄存器VB10中;當選擇“自動”時,將2 MOV到同一寄存器VB10中。只要判斷寄存器中的數據是多少,就可以知道系統是哪種控制方式。這樣的思路容易理解,不需要互鎖等麻煩程序。

        2、當程序中存在模擬量控制時,如果讀取的模擬量基本上沒有誤差,可以采用時間濾波的方式延遲一段時間。如果讀取的數據誤差很大,就需要采用其他的濾波方式,如算平均值等??梢圆殚喯嚓P資料。

        3、在程序調試過程中(特別是在設備改造時,將自己的程序添加到原來的設備程序中時),當程序語句中出現條件滿足,但輸出線圈未接通時,可以檢查該段程序是否在這樣的語句之間,如JUMP go to等語句。還有一種可能是在中斷程序之后,條件滿足但未輸出未接通,一般都是這段程序未被掃描。

        4、在順序控制程序時,即一個動作完成后進入下一個動作等類似的順序控制,可以采用+10+10控制模式,這樣思路很方便。預置一個寄存器,并將其初始化為0,當系統啟動后對它+10,此時寄存器為10。當寄存器等于10時,可以執行個動作。個動作完成后再對寄存器+10,此時寄存器為20,可以執行第二個動作,第二個動作完成后又+10,此時寄存器為30,通過判斷寄存器中的數據,就可以知道要完成哪個動作。當需要跳躍動作時,可以不再+10,可以+20+30...根據實際需要而定。

        為什么是加10而不是加1?因為加10后,如果需要插入一段程序,只需在這10個空余的位置中隨意選擇一個即可。

        5、在程序設計時,當出現工藝上的故障(非控制系統控制)時,好將故障現象保持,并通過燈光聲音報警。直到操作工人恢復設備正常工作,以讓其知道系統已經出現故障。否則,設備停機,別人可能認為是程序問題。這些問題應在設計新系統時注意。

        6、對于經常調用的子程序,可以做成子模塊,以便頻繁調用。

        7、生產機械的工作循環中,各工步運動的執行時間都有限度。因此,可以以這些時間為參考,在要檢測的工步動作開始時啟動一個定時器。定時器的時間設定值比正常情況下該動作要持續的時間長20%~30%,而定時器的輸出信號可以用于報警或自動停機裝置。當生產機械某工步動作的時間超過規定時間,達到對應的定時器預置時間,且還未轉入下一工步動作時,定時器發出故障信號。該信號停止正常工作循環程序,啟動報警或停機程序,這就是我們常說的超節拍保護。


        8、一些安全用檢測開關(如急停按鈕、安全光幕、極限開關等)實用常閉(NC)輸入。

        9、為安全、節能考慮,盡量將輸出設計成需要動作時才動作,一旦到位就停止輸出,而不要設計成平時一直輸出,需要停止時才讓輸出斷開。

        10、執行元件的動作原則應當是寧可不動,也不要亂動!

        11、單臺設備控制:單臺設備必須有軟手操/自動切換以及軟手操時可以啟/停功能,由自動切換到軟手操時,設備不能停機;由軟手操切換到自動時,設備啟/停取決于自動程序。

        12、單臺設備(泵、風機及其它大型設備)運行滿24小時必須進行輪換,且必須有運行時間累計,如果由上位機設定啟/停順序除外,操作人員自行設定。


        聯系方式

        • 電  話:17838383235
        • 經理:徐嘉泉
        • 手  機:17838383235
        • 微  信:17838383235