當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器 > 大型PLC可編程控制器
發(fā)布日期:2022-04-26 點(diǎn)擊率:76 品牌:施耐德_Schneider
,油泵的油位開關(guān)等。
、啟動和終止條件,以上的電路保護(hù)和功能保護(hù)都可能導(dǎo)致電機(jī)運(yùn)轉(zhuǎn)終止,復(fù)位也可能導(dǎo)致重啟動,但這里的條件指的是正常運(yùn)行的啟動和終止條件,譬如順序控制的流程步。
、控制模式:如手動和自動等。
、故障復(fù)位:通過復(fù)位信息,重新啟動。
輸出信息:
、控制輸出,如控制電機(jī)的主接觸器。
、狀態(tài)信息輸出
、故障輸出
.........
狀態(tài)儲存信息:
用于代碼實現(xiàn)的中間變量以及可以被人機(jī)界面讀出的狀態(tài)變量等
把以上信息都整合到一個類中,并盡量使類的參數(shù)標(biāo)準(zhǔn)化。不過,同高級編程語言還是曾在一些差別,針對Step7,應(yīng)該遵循的標(biāo)準(zhǔn)是:程序結(jié)構(gòu)由FC實現(xiàn),對象控制由FB實現(xiàn),如下的一種結(jié)構(gòu)體系(其電氣結(jié)構(gòu)來自上面的介紹):這只不過是一個粗略的PLC程序架構(gòu)體系,好的架構(gòu)應(yīng)該更完善和科學(xué)。
3、規(guī)劃好數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)的定義相當(dāng)重要,并盡量統(tǒng)一這些結(jié)構(gòu),不要顧慮存儲空間,當(dāng)今的PLC內(nèi)存足以容納大量的數(shù)據(jù)。說明一點(diǎn)的是在Step7中盡量不要在類的外部定義數(shù)據(jù)結(jié)構(gòu)(UDT),而是在類里面定義,雖然會造成不同類中同一結(jié)構(gòu)的重復(fù)性定義,但卻提高了類的獨(dú)立性。
三、優(yōu)越性
1、標(biāo)準(zhǔn)化
使用這種設(shè)計模式,可以將程序設(shè)計分為兩個階段,即標(biāo)準(zhǔn)庫、基本架構(gòu)開發(fā),以及實際應(yīng)用層面設(shè)計。其中標(biāo)準(zhǔn)庫、基本架構(gòu)是制定程序標(biāo)準(zhǔn)化的基礎(chǔ),而應(yīng)用層設(shè)計是針對具體的控制工程編程,這樣可以把程序設(shè)計人員分成兩類,一類是標(biāo)準(zhǔn)開發(fā),由資深程序員負(fù)責(zé),一類是應(yīng)用設(shè)計(其中程序調(diào)試規(guī)劃到應(yīng)用設(shè)計),由經(jīng)過標(biāo)準(zhǔn)化培訓(xùn)的一般程序員完成,通過這種分配就可以解決中國工業(yè)自動化中面臨的尷尬局面。傳統(tǒng)的中國控制工業(yè),一個程序設(shè)計由一個人完成,這樣他還必須負(fù)責(zé)現(xiàn)場調(diào)試,而擁有豐富經(jīng)驗的程序員一般是三十歲后,這時他已經(jīng)成家,而顯然長期出差對家庭不利,很多優(yōu)秀的程序員為了家庭考慮不得不改行,要么轉(zhuǎn)到管理崗位,要么去制造工廠搞設(shè)備維護(hù),這是資源的嚴(yán)重流失。毫無疑問,使用以上的設(shè)計流程,我么可以讓經(jīng)驗豐富的程序員搞標(biāo)準(zhǔn)庫和架構(gòu)的設(shè)計,而讓剛踏入這個行業(yè)的年輕人搞應(yīng)用設(shè)計和調(diào)試,這不僅可以讓老程序員繼續(xù)他自己的工作,而不影響家庭,也可以讓年輕的程序員參入現(xiàn)場調(diào)試,培養(yǎng)自己的經(jīng)驗,提高自己的收入。
這可能讓某些人士擔(dān)心,認(rèn)為年輕的程序員可以參加現(xiàn)場的調(diào)試嗎?可以肯定的是沒有標(biāo)準(zhǔn)化支撐的程序不僅年輕的程序員編不出來,而且現(xiàn)場調(diào)試會問題多多。但有了好的標(biāo)準(zhǔn)化后,一年半以上工作經(jīng)驗的程序員就應(yīng)該能夠獨(dú)立面對自動線。
PLC中的面向?qū)ο缶幊痰暮诵木褪呛谙蛔泳幊?,針對Step7,我們使用FB去實現(xiàn)每一個對象的控制,控制邏輯、報警處理、信號交換全在FB中,對于應(yīng)用設(shè)計人員,不需要明白里面的代碼實現(xiàn),只需要了解該FB的功能以及如何使用好它就行,這樣對于應(yīng)用程序人員的編程能力要求大大降低,對于編程只不過是遵循架構(gòu),拷貝代碼,改變輸入輸出條件而已。
那么調(diào)試呢?很多人認(rèn)為使用FB編程的最大麻煩就是FB的多次調(diào)用后,根本無法診斷這些代碼,從技術(shù)層面上講確實如此,我們除了從背景DB上查看信息外,是無法在它多次被調(diào)用后監(jiān)控代碼的,但我已說過,這是黑匣子編程,我們不需要診斷這些代碼,只需要知道什么樣的輸入、什么樣的參數(shù)設(shè)定導(dǎo)致什么樣的輸出就行,代碼的邏輯與功能好壞是由標(biāo)準(zhǔn)庫開發(fā)人員負(fù)責(zé)的,這就要求標(biāo)準(zhǔn)開發(fā)人員需要對他設(shè)計的功能塊在不同條件下進(jìn)行不同的測試,保證無誤,還需要編寫完整、詳盡的功能說明文檔,以便于應(yīng)用設(shè)計人員了解這些塊,標(biāo)準(zhǔn)架構(gòu)并不是制定出來就一勞永逸的,針對千變?nèi)f化的工程,它是需要不斷完善和修訂的,這也是一個工程公司可以實實在在進(jìn)行知識積累的地方。
程序不僅需要給調(diào)試人員使用,而且用戶(設(shè)備維護(hù)人員)也需要了解,如果把完整的標(biāo)準(zhǔn)庫文檔給用戶,可能曾在技術(shù)外泄的可能,若不給,對他們診斷設(shè)備可能曾在困難,這就需要標(biāo)準(zhǔn)制定人員制作另外一分文檔,即設(shè)備維護(hù)文檔,其知識的透漏以用戶能夠使用程序進(jìn)行診斷為限。
2、重用性和易管理型
計算機(jī)面向?qū)ο缶幊痰膬?yōu)點(diǎn)也有重用性和易管理型,在PLC中也曾在,以Step7為例,需要討論FC和FB的差異。觀察數(shù)據(jù)類型,F(xiàn)B比FC只不過多一個“STAT”類型,在使用上FB需要背景DB,F(xiàn)C不需要,但就這個差別導(dǎo)致FB擁有自己獨(dú)立的數(shù)據(jù)儲存空間,而FC的數(shù)據(jù)儲存卻必須借助公有變量(如中間變量M或者共享DB),有這樣一種準(zhǔn)則,程序塊的獨(dú)立性越強(qiáng),其重用性也越好,產(chǎn)生數(shù)據(jù)訪問沖突的可能性也更少,則更易于管理。有些公司生產(chǎn)的PLC,其程序語言沒有類似FB的這種特性,這時可以采用類似“FC+共享DB”的替代方案解決,但它的獨(dú)立性已經(jīng)大大降低。
同樣的代碼的獨(dú)立性是標(biāo)準(zhǔn)制定的一個重要環(huán)節(jié),很難想象一個與其他功能塊之間有著千絲萬縷聯(lián)系的功能塊能夠被作為標(biāo)準(zhǔn)塊在不同工程中有效的重復(fù)使用。
縱觀計算機(jī)語言的發(fā)展,最開始的編程都是令人恐怖的,而當(dāng)今的編程讓人們得到很大的解脫,有很多現(xiàn)成的標(biāo)準(zhǔn)類庫實用,人們可以把更多的編程精力放在實現(xiàn)功能本身上,plc編程也應(yīng)該朝這種方向發(fā)展,應(yīng)該讓更多的人從事應(yīng)用層面的設(shè)計,那些標(biāo)準(zhǔn)功能塊不應(yīng)該重復(fù)的被不同人員開發(fā),雖然各大PLC廠開發(fā)了大量的程序庫,但工業(yè)控制對象各式各樣,不同行業(yè)都應(yīng)該擁有自己的程序庫,而代碼的可重用性是評價這些功能塊好壞的關(guān)鍵。
3、設(shè)計思想的先進(jìn)性
在電路圖設(shè)計中我們早已經(jīng)在使用針對控制對象的繪圖方式,即把基本的主配送電路和PLC配置完成后,我們會針對每一個現(xiàn)場控制對象如:電機(jī)、閥、氣缸等控制對象繪制電路圖,他們的電源來自主配送電路,控制和反饋與PLC建立連接,硬件連鎖根據(jù)實際情況調(diào)整,一個個控制對象就象搭建積木一樣有組織的堆積起來,同樣的,編程也是針對一個個控制對象使用相應(yīng)的標(biāo)準(zhǔn)控制塊實現(xiàn)就可以,把程序控制細(xì)節(jié)實現(xiàn)了有效的封裝,使程序看起來簡潔和易于維護(hù),而好的設(shè)計可以把原理圖和程序進(jìn)行很好的關(guān)聯(lián),甚至于做到一對一的關(guān)系,如原理圖中的一個控制對象可以在程序中找到相應(yīng)的FB調(diào)用與之對應(yīng),真正做到面向控制對象編程。
可能有人疑慮,PLC編程大部分是步進(jìn)編程,這一個個標(biāo)準(zhǔn)塊都是針對控制對象的,那控制順序如何實現(xiàn)呢?這就要求編寫專門的順序控制FB塊,或者使用Siemens現(xiàn)成的Graph7來實現(xiàn),這點(diǎn)與一般編程沒什么差別。
結(jié)束語:現(xiàn)在的工業(yè)控制領(lǐng)域有很多程序高手,他們很精通算法,也有著自己的編程理念,當(dāng)我和一些人探討標(biāo)準(zhǔn)化時,他們認(rèn)識到標(biāo)準(zhǔn)化的高效性,但認(rèn)為這樣無法體現(xiàn)自己的編程水準(zhǔn),是的,如上所述作為應(yīng)用層面的程序設(shè)計是不要很高的編程水平,但要想想,一個人難道能一輩子去搞現(xiàn)場調(diào)試嗎?若想體現(xiàn)自己的價值,可以從事標(biāo)準(zhǔn)編程。我更希望他們能花一點(diǎn)時間研究程序架構(gòu),各行各業(yè),真正的大師是系統(tǒng)架構(gòu)設(shè)計者,編程小技巧只不過是為好的架構(gòu)錦上添花。<br
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV