RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PLC編程規(guī)范及建議28條

機(jī)械自動化前沿 ? 來源:機(jī)械自動化前沿 ? 2023-01-03 10:47 ? 次閱讀

完美的PLC程序需滿足的設(shè)計(jì)要求

一套完整的PLC程序,并不僅僅是使系統(tǒng)能夠運(yùn)行起來這么簡單,它也需要完整的注釋、精良的架構(gòu)、良好的可擴(kuò)展性、完備的報警保護(hù)系統(tǒng)、運(yùn)行前的模擬系統(tǒng)。

1. 簡單性

使PLC程序盡可能簡單。簡單的含義就是盡可能的使用標(biāo)準(zhǔn)化的程序框架,盡可能使用簡單的指令。

要想程序簡單,從大的方面講,要優(yōu)化程序結(jié)構(gòu),用流程控制指令簡化程序,從小的方面講還要用功能強(qiáng)的指令取代功能單一的指令,以及注意指令的安排順序等。

2. 可讀性

要求所設(shè)計(jì)的程序可讀性要好。這不僅便于程序設(shè)計(jì)者加深對程序的理解,便于調(diào)試,而且,還要便于別人讀懂你的程序,便于使用者維護(hù)。必要時,也可使程序推廣。

要使程序可讀性好,所設(shè)計(jì)的程序就要盡可能清晰。要注意層次,實(shí)現(xiàn)模塊化,以至于用面向?qū)ο蟮姆椒ㄟM(jìn)行設(shè)計(jì)。要多用一些標(biāo)準(zhǔn)的設(shè)計(jì)。

如遇特殊情況下采用語言編程,多數(shù)情況下請使用梯形圖編程,方便閱讀。

再就是I/O分配要有規(guī)律性,便于記憶與理解。必要時,還要做一些注釋工作。內(nèi)部器件的使用也要講規(guī)律性,不要隨便地拿來就用。

可讀性在程序設(shè)計(jì)開始時就要注意。這不易完全做到。因?yàn)樵诔绦蛘{(diào)試的過程中,指令的增減,內(nèi)部器件的使用變化,可能使原較清晰的程序,變的有些亂。所以在設(shè)計(jì)時就對調(diào)試增減留有一定的余地,然后調(diào)試完畢后再做一下整理,這樣所設(shè)計(jì)的程序具有更高的質(zhì)量。

程序的注釋,起碼應(yīng)該有以下幾個方面:

A、系統(tǒng)注釋:整套程序的版權(quán)公司和此套程序用途

B、程序塊注釋:此程序塊的主要用途和作者

C、段注釋:此段代碼的用途

D、變量注釋:重要性無需多言,包含I/O注釋、中間變量注釋

feb649be-8a41-11ed-bfe3-dac502259ad0.jpg

而至于保密性的考慮,我覺得應(yīng)該在程序的加密算法或者塊的加密上考慮,而不應(yīng)該用減少注釋這種小聰明來實(shí)現(xiàn)。

3. 正確性

PLC的程序一定要正確,并要經(jīng)過實(shí)際工作驗(yàn)證,證明其能夠正確工作。這是對PLC程序的最根本的要求,若這一點(diǎn)做不到,其它的再好也沒有用。

要使程序正確,一定要準(zhǔn)確的使用指令,正確的使用內(nèi)部器件。準(zhǔn)確的使用指令與準(zhǔn)確理解指令相聯(lián)系,為此對指令含義和使用條件一定要弄清楚。必要時,可編些小程序?qū)σ恍┎磺宄闹噶钭餍y試。

同一指令,由于PLC的出廠批次不同或是PLC的系列型號的不同,一些指令細(xì)節(jié)有可能不一樣,應(yīng)仔細(xì)查閱編程手冊。

內(nèi)部器件正確使用也是重要的。如有的PLC有掉電保護(hù),有的PLC沒有。一定要做到該掉電保護(hù)的一定要用掉電保護(hù)的器件,反之則不能用。

總之,要準(zhǔn)確的使用指令,正確使用內(nèi)部器件,使所編的程序能正確要作,這是對PLC程序最根本的要求。

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

4. 可靠性

程序不僅要正確,還要可靠??煽糠从持鳳LC程序的穩(wěn)定性,這也是對PLC程序的基本要求。

有的PLC程序,在正常的工作條件下或合法操作時能正確工作,而出現(xiàn)非正常工作條件(如臨時停電,又很快再通電)或進(jìn)行非法操作(如一些按鈕不按順序按,或同時按若干按鈕)后,程序就不能正常工作了。這種程序,就不大可靠,或說不穩(wěn)定,就是不好的程序。

好的PLC程序?qū)Ψ钦9ぷ鳁l件出現(xiàn),能予以識別,并能使其與正常條件銜接,可使程序適應(yīng)于多種情況。好的PLC程序?qū)Ψ欠ú僮髂苡枰跃芙^,且不留下“痕跡”。只接受合法操作。

聯(lián)鎖是拒絕非法操作常用的手段,繼電電路常用這個方法,PLC也可繼承這個方法。

5. 易改性

要使程序易改,也就是要便于修改。

PLC的特點(diǎn)之一就是方便,可靈活地適用于各種情況。其辦法就是靠修改或重新設(shè)計(jì)程序。

重新設(shè)計(jì)程序用于改變PLC工藝的用途要求的情況,不僅程序重編,而且I/O也要重新分配。多數(shù)情況下不需要重編程序,作一些修改就可以了。這就要求程序具有易性,便于修改。

易改也就是彈性,要求只要作很少的改動,即可達(dá)到改變參數(shù)或理改動作的目的。

6. 擴(kuò)展性

許多程序可能在進(jìn)現(xiàn)場之前都已經(jīng)編好,但是到了現(xiàn)場,可能還需要添加另外的程序,為了避免打亂整套系統(tǒng)的結(jié)構(gòu),需要在每個功能區(qū)預(yù)留一定的空間作為備用。

硬件上留出足夠的余量,軟件在編寫的時候把手動,自動,半自動考慮好,位置留出來。

7. 完備報警系統(tǒng)

PLC系統(tǒng)往往用于工業(yè)環(huán)境中,每一次的事故都會造成或大或小的損失,為了做到事故預(yù)處理或者在事故中將損失降到最小,必須重視PLC的報警和保護(hù),在此將其摘出來作為系統(tǒng)的一個重要組成部分。

8. 程序模擬

為了保證現(xiàn)場的調(diào)試進(jìn)度或者給客戶展示,往往在進(jìn)現(xiàn)場之前,要對自己的程序進(jìn)行全自動的模擬。為此需要在程序中加入模擬程序部分,模擬程序部分在正常現(xiàn)場運(yùn)行之后斷開。為了使程序具備模擬功能,需要做以下工作:

(1)、將實(shí)際的PLC的I/O點(diǎn)轉(zhuǎn)換為PLC的中間變量或者數(shù)據(jù)塊變量;

(2)、根據(jù)工藝要求編寫各個設(shè)備的模擬程序。

在設(shè)計(jì)PLC程序的過程中,能夠滿足以上幾個方面的要求的就能稱的上是一個好程序了。

PLC程序設(shè)計(jì)規(guī)范

1、選擇合適的PLC型號及I/O點(diǎn)數(shù),有特殊功能需求時選擇特殊功能模塊。

2、熟悉所選擇的PLC編程指令及編譯軟件。

3、進(jìn)行軟元件規(guī)劃,包括內(nèi)部繼電器、保持繼電器、數(shù)據(jù)寄存器、定時器、計(jì)數(shù)器等。

4、進(jìn)行程序規(guī)劃,一般以故障提取、故障處理、手動處理、自動處理、輸出處理這樣的順序進(jìn)行編程。比較大型的工程或設(shè)備按功能單元分段、分塊進(jìn)行處理,如一條自動化生產(chǎn)線中有提升機(jī)、移行、頂起旋轉(zhuǎn)裝置等,則應(yīng)按上述單元分段分塊編程。

5、在分段分塊編寫的程序前應(yīng)加上簡短的段注釋,說明此段程序的功能,如有必要可以注明相應(yīng)的工藝流程。分塊或分段的程序再總體程序的位置順序應(yīng)基本上按工藝流程順序排列,便于程序的可讀性。

6、在程序設(shè)計(jì)之前,應(yīng)對設(shè)備進(jìn)行抽象,對如停止、急停、過載、超限、超時、安全光幕、碰停、門開關(guān)等共用因子進(jìn)行提取,放在啟動回路或啟動主控、連鎖回路,作為整個程序結(jié)構(gòu)的大前提,在此基礎(chǔ)下,再將程序分為自動、手動兩大功能區(qū)。

7、將程序結(jié)構(gòu)手動功能區(qū)共用因子,如手動、危及設(shè)備人身安全等因數(shù)因子進(jìn)行提取,放在手動主控、連鎖回路,對手動控制進(jìn)行保護(hù)、屏蔽、報警。

8、將程序結(jié)構(gòu)自動功能區(qū)共用因子,如自動、超限、超時等因數(shù)因子進(jìn)行提取,放在自動主控、連鎖回路,對自動控制下設(shè)備進(jìn)行保護(hù)、屏蔽、報警。一個總的原則就是,在確保安全的前提下,嚴(yán)格限制設(shè)備的進(jìn),寬松限制設(shè)備的出。

9、程序設(shè)計(jì)時應(yīng)設(shè)計(jì)程序總復(fù)位功能,便于使用者在設(shè)備出現(xiàn)故障情況下,可以方便盡快恢復(fù)設(shè)備正常工作??倧?fù)位應(yīng)充分考慮在復(fù)位過程中設(shè)備和人員的安全。

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

11、嚴(yán)禁在編制程序中使用雙輸出,即同一條輸出語句或同一個輸出線圈在程序中出現(xiàn)2次及以上。在不同模式條件下的對同一輸出點(diǎn)的輸出使用中間繼電器進(jìn)行中轉(zhuǎn),最后集中到一起并列到輸出點(diǎn)。

12、使用觸摸屏?xí)r,對觸摸屏和PLC公用的控制區(qū)和狀態(tài)區(qū),不得做其他功能方面的編程使用。

13、對PLC的特殊模塊,在使用之前,應(yīng)先查明其控制區(qū)和狀態(tài)區(qū)是否占用工作字,若占用,不得將這些工作字做其他方面的編程。

14、PLC的輸入、輸出、中間繼電器、定時器、計(jì)數(shù)器、數(shù)據(jù)寄存器等都要加中文注釋。輸入、輸出還要有元器件名稱位號。對應(yīng)的輸入點(diǎn),一般情況下默認(rèn)為外圍開關(guān)連接的是NO觸點(diǎn),對于需要接NC觸點(diǎn)的須在注釋中標(biāo)明。所有注釋應(yīng)當(dāng)清晰明了,不易產(chǎn)生誤解,盡量少使用泛指。

15、工程調(diào)試完成后,系統(tǒng)必須保留最終軟件程序,保存的文件名應(yīng)包含項(xiàng)目編號/作者/日期信息/版本號等。

16、關(guān)于程序加密:對于加密程序的密碼必須有專門的文件予以保存,并注明相應(yīng)的用戶名+密碼+權(quán)限,分發(fā)給至少兩個人以上了解密碼,防止密碼丟失帶來無法打開程序的情況。

編程建議

1、PLC和上位機(jī)(或觸摸屏)組成監(jiān)控系統(tǒng)時,在畫面上很多時候需要有“手動”、“自動”等控制模式(一般都是多個只能一個時)。在程序里面可以用“MOV”指令。如:當(dāng)選擇“手動”就將常數(shù)1 MOV到一個寄存器VB10里面,當(dāng)選擇“自動”就將2 MOV到同一寄存器VB10。只要判斷寄存器的數(shù)據(jù)是多少,就知道系統(tǒng)是那種控制方式。這樣的思路好處是容易理解,不需要互鎖之類的麻煩程序。

ffe46ab4-8a41-11ed-bfe3-dac502259ad0.png

2、程序有模擬量控制時,如果讀取的模擬量基本上沒誤差,可以采取時間濾波的方式,延時一段時間。如果讀取的數(shù)據(jù)誤差很大,就需要采取其它的濾波方式,如算平均值等??梢圆殚喯嚓P(guān)的資料。

3、在程序調(diào)試過程中(特別是設(shè)備改造時,你的程序是加入到原來設(shè)備的程序中時),當(dāng)程序語句中出現(xiàn)條件滿足,而輸出線圈不接通時,可以檢查你的這段程序是否是在這樣的語句之間,如JUMPgo to等語句。還有一種可能就是在中斷程序之后,條件滿足而沒輸出不接通,一般都是這段的程序不被掃描。

4、在順序控制程序時,即一個動作完成后,進(jìn)入到下一個動作,等類似的順序控制,采用+10+10控制模式,本人覺得很方便。其思路是:預(yù)置一個寄存器,在初始化時值為0,當(dāng)系統(tǒng)啟動后,對它+10,此時寄存器為10,寄存器等于10時可以做第一個動作;第一個動作完成后,再對寄存器+10,此時寄存器等于20,可以做第二個動作,第二個動作完成后又+10,此時寄存器等于30,這樣只要判斷寄存器里面數(shù)據(jù)為多少,就知道要完成那個動作。當(dāng)需要跳躍動作時,可以不再+10,可以加+20+30.。..,看實(shí)際的需要而定。

為什么加10而不是加1,因?yàn)榧?0之后,如果插入一段,只要在這10個空余的地方隨便選擇一個位置就可以了。

5、在設(shè)計(jì)程序的時候,當(dāng)出現(xiàn)工藝上的故障(非控制系統(tǒng)控制),最好將故障現(xiàn)象保持,并有燈光聲音報警。直到操作工復(fù)位,以讓其知道系統(tǒng)出現(xiàn)了故障。不然停機(jī)了,別人還認(rèn)為你的程序問題。一般都是在設(shè)計(jì)一個新系統(tǒng)時,要注意到這些。

6、對于經(jīng)常調(diào)用的子程序,可以做成子模塊,頻繁調(diào)用。

7、由于生產(chǎn)機(jī)械在工作循環(huán)中的各工步運(yùn)動在執(zhí)行時需要一定的時間,且這些時間都有一定的限度,因此可以以這些時間為參考,在要檢測的工步動作開始的同時,起動一個定時器,定時器的時間設(shè)定值比正常情況下該動作要持續(xù)的時間長20%~30%,而定時器的輸出信號可以用于報警或自動停機(jī)裝置。當(dāng)生產(chǎn)機(jī)械某工步動作的時間超過規(guī)定時間,達(dá)到對應(yīng)的定時器預(yù)置時間,還未轉(zhuǎn)入下一工步動作時定時器發(fā)出故障信號,該信號停止正常工作循環(huán)程序,起動報警或停機(jī)程序,這就是我們常說的超節(jié)拍保護(hù)。

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

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

10、執(zhí)行元件的動作原則應(yīng)當(dāng)是寧可不動,也不要亂動!

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

12、單臺設(shè)備(泵、風(fēng)機(jī)及其它大型設(shè)備)運(yùn)行滿24小時

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5010

    文章

    13271

    瀏覽量

    463055
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3614

    瀏覽量

    93686
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3785

    瀏覽量

    81003

原文標(biāo)題:【經(jīng)典好文】PLC編程規(guī)范及建議28條

文章出處:【微信號:robotqy,微信公眾號:機(jī)械自動化前沿】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    plc編程語言編程相關(guān)技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關(guān)編程技巧是工業(yè)自動化領(lǐng)域中不可或缺的知識。 一、PLC編程
    的頭像 發(fā)表于 10-21 16:56 ?317次閱讀

    歐姆龍的PLC編程軟件有哪些?

    歐姆龍(OMRON)是全球領(lǐng)先的自動化解決方案提供商,其可編程邏輯控制器(PLC編程軟件在工業(yè)自動化領(lǐng)域具有廣泛的應(yīng)用。歐姆龍PLC編程
    的頭像 發(fā)表于 10-18 15:48 ?865次閱讀

    TMS320x28xx eCAN的編程示例

    電子發(fā)燒友網(wǎng)站提供《TMS320x28xx eCAN的編程示例.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 11:51 ?0次下載
    TMS320x<b class='flag-5'>28</b>xx eCAN的<b class='flag-5'>編程</b>示例

    在C/C中對TMS320x28xx和28xxx外設(shè)進(jìn)行編程

    電子發(fā)燒友網(wǎng)站提供《在C/C中對TMS320x28xx和28xxx外設(shè)進(jìn)行編程.pdf》資料免費(fèi)下載
    發(fā)表于 10-16 10:28 ?0次下載
    在C/C中對TMS320x<b class='flag-5'>28</b>xx和<b class='flag-5'>28</b>xxx外設(shè)進(jìn)行<b class='flag-5'>編程</b>

    PLC遠(yuǎn)程編程調(diào)試平臺是什么

    在快速發(fā)展的工業(yè)自動化領(lǐng)域,可編程邏輯控制器(PLC)作為核心控制設(shè)備,其穩(wěn)定運(yùn)行對于生產(chǎn)效率和安全性至關(guān)重要。然而,隨著生產(chǎn)規(guī)模的不斷擴(kuò)大和遠(yuǎn)程管理的需求增加,傳統(tǒng)的現(xiàn)場編程調(diào)試模式已難以滿足高效
    的頭像 發(fā)表于 10-08 14:26 ?204次閱讀
    <b class='flag-5'>PLC</b>遠(yuǎn)程<b class='flag-5'>編程</b>調(diào)試平臺是什么

    PLC遠(yuǎn)程編程網(wǎng)關(guān)是什么

    在當(dāng)今高度自動化的工業(yè)環(huán)境中,PLC(可編程邏輯控制器)作為工業(yè)自動化控制系統(tǒng)的核心部件,其重要性不言而喻。然而,隨著工業(yè)環(huán)境的日益復(fù)雜多變,以及對高效、靈活、智能控制的迫切需求,傳統(tǒng)的PLC系統(tǒng)已
    的頭像 發(fā)表于 10-08 14:21 ?169次閱讀
    <b class='flag-5'>PLC</b>遠(yuǎn)程<b class='flag-5'>編程</b>網(wǎng)關(guān)是什么

    淺談PLC編程軟件的特征

    優(yōu)秀的PLC編程軟件通常具備以下特征。
    的頭像 發(fā)表于 09-20 14:59 ?291次閱讀

    plc編程語言有哪幾種

    編程邏輯控制器(PLC)是一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的電子設(shè)備,用于實(shí)現(xiàn)對生產(chǎn)過程的控制和管理。PLC編程語言是實(shí)現(xiàn)控制邏輯的關(guān)鍵工具,以下是對
    的頭像 發(fā)表于 08-25 10:07 ?459次閱讀

    PLC編程方式及編程語言

    在工業(yè)自動化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)因其強(qiáng)大的控制功能和靈活的編程方式而得到了廣泛應(yīng)用。PLC
    的頭像 發(fā)表于 06-27 14:08 ?707次閱讀

    PLC編程語言和C語言的區(qū)別

    在工業(yè)自動化和計(jì)算機(jī)編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們在多個方面存在顯
    的頭像 發(fā)表于 06-14 17:11 ?2778次閱讀

    PLC常用編程語言有哪些

    在工業(yè)自動化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)作為一種核心控制設(shè)備,其編程語言的選擇對于控制系統(tǒng)的設(shè)計(jì)、開發(fā)和維護(hù)具有重要影響。PLC
    的頭像 發(fā)表于 06-14 16:58 ?1414次閱讀

    plc編程入門基礎(chǔ)知識 plc編程語言有幾種

    PLC(Programmable Logic Controller)是可以根據(jù)預(yù)設(shè)邏輯程序自動控制工業(yè)過程的電子設(shè)備。PLC編程語言是與PLC進(jìn)行交互的一種邏輯語言,用于編寫控制程序以
    的頭像 發(fā)表于 02-04 15:55 ?1603次閱讀

    plc梯形圖編程的基本原則

    PLC(可編程邏輯控制器)是現(xiàn)代自動化控制領(lǐng)域中廣泛應(yīng)用的一種控制裝置。PLC的梯形圖編程PLC控制中最常用的
    的頭像 發(fā)表于 01-22 10:51 ?2479次閱讀

    臺達(dá)編程軟件有哪些?如何實(shí)現(xiàn)PLC遠(yuǎn)程上下載程序和編程調(diào)試?

    - 一臺可聯(lián)網(wǎng)操作的電腦 - 一臺單網(wǎng)口的遠(yuǎn)程透傳網(wǎng)關(guān)及博達(dá)遠(yuǎn)程透傳配置工具 - 網(wǎng)線一,用于實(shí)現(xiàn)網(wǎng)絡(luò)連接和連接PLC - 一臺PLC及其編程軟件 - 一張4G卡或WIFI天線實(shí)現(xiàn)通
    的頭像 發(fā)表于 01-21 18:00 ?982次閱讀
    臺達(dá)<b class='flag-5'>編程</b>軟件有哪些?如何實(shí)現(xiàn)<b class='flag-5'>PLC</b>遠(yuǎn)程上下載程序和<b class='flag-5'>編程</b>調(diào)試?

    PLC新手編程入門指南:從基礎(chǔ)到實(shí)踐的旅程

    在掌握了PLC的硬件接線后,您可以開始學(xué)習(xí)PLC編程。首先,您需要了解一些基本的編程術(shù)語,如脈沖信號、時序圖、尋址方式等。接下來,您將學(xué)習(xí)PLC
    的頭像 發(fā)表于 01-14 10:38 ?4606次閱讀
    <b class='flag-5'>PLC</b>新手<b class='flag-5'>編程</b>入門指南:從基礎(chǔ)到實(shí)踐的旅程
    RM新时代网站-首页