久久免费黄色网站片_高質(zhì)量PLC程序該怎么寫(xiě)?--珠海天力儀表有限公司

歡迎訪(fǎng)問(wèn)天力集團官網(wǎng)!全國免費熱線(xiàn):400-100-7082

新聞中心
當前位置: 首頁(yè) 新聞中心
高質(zhì)量PLC程序該怎么寫(xiě)?
發(fā)布日期:2022-09-03 13:54:45瀏覽量:362
一、PLC程序的設計要求
PLC

一套完整的PLC程序,并不僅僅是使系統能夠運行起來(lái)這么簡(jiǎn)單,它也需要完整的注釋、精良的架構、良好的可擴展性、完備的報警保護系統、運行前的模擬系統。


1、簡(jiǎn)單性

使PLC程序盡可能簡(jiǎn)單。簡(jiǎn)單的含義就是盡可能地使用標準化的程序框架,盡可能使用簡(jiǎn)單的指令。


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


2、可讀性

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


要使程序可讀性好,所設計的程序就要盡可能清晰。要注意層次,實(shí)現模塊化,以致于用面向對象的方法進(jìn)行設計。要多用一些標準的設計。


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


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

可讀性在程序設計開(kāi)始時(shí)就要注意。這不易完全做到。因為在程序調試的過(guò)程中,指令的增減,內部器件的使用變化,可能使原較清晰的程序,變得有些亂。所以在設計時(shí)就對調試增減留有一定的余地,然后調試完畢后再做一下整理,這樣所設計的程序具有更高的質(zhì)量。


程序的注釋?zhuān)鸫a應該有以下幾個(gè)方面:

A、系統注釋?zhuān)赫壮绦虻陌鏅喙竞痛颂壮绦蛴猛荆?/span>

B、程序塊注釋?zhuān)捍顺绦驂K的主要用途和作者;

C、段注釋?zhuān)捍硕未a的用途;

D、變量注釋?zhuān)褐匾詿o(wú)需多言,包含I/O注釋、中間變量注釋。


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


3、正確性

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


要使程序正確,一定要準確地使用指令,正確地使用內部器件。準確de地使用指令與準確理解指令相聯(lián)系,為此對指令含義和使用條件一定要弄清楚。必要時(shí),可編些小程序對一些不清楚的指令作些測試。


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


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


總之,要準確地使用指令,正確使用內部器件,使所編的程序能正確動(dòng)作,這是對PLC程序最根本的要求。


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


4、可靠性

程序不僅要正確,還要可靠??煽糠从持?zhù)PLC程序的穩定性,這也是對PLC程序的基本要求。


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


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


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


5、易改性

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


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


易改也就是彈性,要求只要做很少的改動(dòng),即可達到改變參數或修改動(dòng)作的目的。


6、擴展性

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


硬件上留出足夠的余量,軟件在編寫(xiě)的時(shí)候把手動(dòng),自動(dòng),半自動(dòng)考慮好,位置留出來(lái)。


7、完備報警系統

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


8、程序模擬

為了保證現場(chǎng)的調試進(jìn)度或者給客戶(hù)展示,往往在進(jìn)現場(chǎng)之前,要對自己的程序進(jìn)行全自動(dòng)的模擬。為此需要在程序中加入模擬程序部分,模擬程序部分在正?,F場(chǎng)運行之后斷開(kāi)。為了使程序具備模擬功能,需要做以下工作:

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

(2)根據工藝要求編寫(xiě)各個(gè)設備的模擬程序;

在設計PLC程序的過(guò)程中,能夠滿(mǎn)足以上幾個(gè)方面的要求的就能稱(chēng)得上是一個(gè)好程序了。


二、PLC程序的設計規范
PLC

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


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


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


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


5、在分段分塊編寫(xiě)的程序前應加上簡(jiǎn)短的段注釋?zhuān)f(shuō)明此段程序的功能,如有必要可以注明相應的工藝流程。分塊或分段的程序在總體程序的位置順序應基本上按工藝流程順序排列,便于程序的可讀性。


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


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


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


9、程序設計時(shí)應設計程序總復位功能,便于使用者在設備出現故障情況下,可以方便盡快恢復設備正常工作??倧臀粦浞挚紤]在復位過(guò)程中設備和人員的安全。


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


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


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


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


14、PLC的輸入、輸出、中間繼電器、定時(shí)器、計數器、數據寄存器等都要加中文注釋。輸入、輸出還要有元器件名稱(chēng)位號。對應的輸入點(diǎn),一般情況下默認為外圍開(kāi)關(guān)連接的是NO觸點(diǎn),對于需要接NC觸點(diǎn)的須在注釋中標明。所有注釋?xiě)斍逦髁?,不易產(chǎn)生誤解,盡量少使用泛指。


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


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


三、PLC程序的編程建議
PLC

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


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


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


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


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


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


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


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


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


9、為安全、節能考慮,盡量將輸出設計成需要動(dòng)作時(shí)才動(dòng)作,一旦到位就停止輸出,而不要設計成平時(shí)一直輸出,需要停止時(shí)才讓輸出斷開(kāi)。


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


11、單臺設備控制:?jiǎn)闻_設備必須有軟手操/自動(dòng)切換以及軟手操時(shí)可以啟/停功能,由自動(dòng)切換到軟手操時(shí),設備不能停機;由軟手操切換到自動(dòng)時(shí),設備啟/停取決于自動(dòng)程序。


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


四、PLC程序的命名通用規則
PLC

1、駝峰命令法(CamelCase)

也稱(chēng)駱駝式命名法,就是當變量名或函數名由一個(gè)或多個(gè)單詞連接在一起構成唯一標識符時(shí),作為邏輯斷點(diǎn)的單詞的首字母都采用大寫(xiě),例如:“myName”,這樣的變量名或函數名看上去就像駱駝峰一樣此起彼伏,故得名。駝峰命名法又分為小駝峰法和大駝峰法。(1)小駝峰法:第一個(gè)單詞首字母小寫(xiě),其余單詞首字母大寫(xiě)。變量一般使用小駝峰法命名。例如:“myName”。(2)大駝峰法:又稱(chēng)帕斯卡命名法,即所有單詞首字母大寫(xiě)。函數、類(lèi),一般使用大駝峰法命名。例如:“MyName”。


2、匈牙利命名法(Hungarian)

開(kāi)頭字母用變量類(lèi)型的縮寫(xiě),其余部分用變量的英文或英文的縮寫(xiě),要求單詞第一個(gè)字母大寫(xiě)?;驹瓌t:變量名=屬性+類(lèi)型+對象描述。例如:Int iMyAge; “i”是“int”類(lèi)型的縮寫(xiě);char cMyName[10]; “c”是“char”類(lèi)型的縮寫(xiě);float fManHeight; “f”是“float”類(lèi)型的縮寫(xiě)。


3、帕斯卡命名法(PascalCase)

即前面所述大駝峰命名法。每個(gè)單詞的第一個(gè)字母都大寫(xiě)。例如:“MyName”。


4、下劃線(xiàn)命名法(UnderScoreCase)

變量名或函數名的每個(gè)邏輯斷點(diǎn)都有一個(gè)下劃線(xiàn)來(lái)標記。例如:“my_name”。

国产最新av免费观看_中日韩国内精品视频_丁香五月缴情网站在线看_最新欧美人与禽交片