在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于PLC編程該選擇那種IEC 61131-3編程語言最適合

jf_f8pIz0xS ? 來源:控制工程網 ? 作者:Gary L. Pratt ? 2021-04-14 15:23 ? 次閱讀

編程邏輯控制器PLC)有很多編程語言可供選擇。有種說法,標準的偉大之處在于有很多選擇!盡管這很諷刺,但在IEC 61131-3編程語言中,有多種語言標準可供選擇確實是一個優勢。

在參加我的培訓班時,很多學生抱著這樣一種心態:選擇最適合自己的語言,然后專門學習該語言。上課伊始,他們經常會問我會推薦適用哪種語言。或者,“最好的語言是哪個?”

圖1:IEC 61131-3編程語言提供了適合特定需求的語言。

我沒有回答,問他們一個問題:“在阿拉伯數字中,哪個數字最好?”或“英語中,哪個詞最好?” 再比如:辦公室軟件中,哪個工具最好?是文檔編輯器、演示文稿編輯器,還是電子表格編輯器?雖然可以使用文檔編輯器創建演示文稿和電子表格,但這是正確的方法嗎?

圖2:該圖比較了在Codesys中實現復雜布爾邏輯的不同語言。

使用一種工具實現多種目的,需要學習各種技巧,這是否值得付出?僅學習該工具對工作有用的主要功能,是不是更有效?與辦公軟件一樣,為應用選擇最佳編程語言是最有效的,可以避免很多麻煩。當使用的IEC 61131-3編程語言能夠充分發揮其語言的優勢時,PLC的編程和維護功能就會得到加強。

梯形圖編程

梯形圖(LD)編程的歷史,可以追溯到大約100年前的繼電器梯形邏輯(RLL),它主要用于描述電氣元件系統(如繼電器、計時器和電動機)。在自動化時代初期PLC逐步替換繼電器和計時器時,創建一種用戶熟悉并與被替換的工具相似的編程語言非常重要。

不幸的是,控制器變得越來越強大,能夠實現的功能也已經遠遠超過繼電器和計時器,LD語言被用于各種新的場景,而這并不是LD所擅長的,因此效果也不是特別理想。

圖3:該圖顯示了順序功能圖的編程組件。

PLC供應商提供新的、更適合PLC和可編程自動化控制器(PAC)應用的語言的速度比較緩慢,使這種情況進一步惡化。對于源自北美的控制器而言尤其如此,這可以解釋在全球范圍內,LD持久受歡迎的程度為什么會有所差異。

LD編程的優勢是什么?為什么它能持久受歡迎?關鍵就是圖形化。而通常來說工程師是更傾向于圖形化思維的。

起初,大多數LD編程的替代方法都是基于文本的語言,這些語言與工程師的圖形化思維不會產生共鳴,其結果就是不愿從LD轉向其它語言。幸運的是,這種情況正在發生變化。

LD仍然是一門偉大的語言,它的初衷是執行復雜的布爾邏輯。在這個領域內,LD邏輯易于設計且易于調試。要確定為什么結果與預期不符,有多容易?在LD語言中,只需要觀察藍色實心觸點的路徑在何處中斷就可以快速獲得答案。

順序功能圖編程

順序功能圖(SFC)是一種圖形語言,非常適合表示狀態機(state machine),并且像LD語言一樣,它吸引了工程師的圖形化思維天性。

圖4:基于Codesys連續功能圖語言,展示了一個基于塊的編程設計示例。

狀態機的歷史可以追溯到很多年前,但是直到最近才被用于工業編程。狀態機是表示系統行為的一種非常強大的方法,可用于表達行為取決于過去歷史記錄的系統邏輯,例如:

1.設置線圈或復位線圈;

2.封裝邏輯(布爾反饋);

3.由代碼設置的內部標志,用于決定未來的行為。

實際上,即使是簡單的TON On-Timer和R-Trig one-shot都是狀態機。它們的下一個行為取決于先前的輸入和行為。與其它編碼技術相比,狀態機具有許多優勢:

1.它們易于設計,因為它清楚地描述了系統可能的狀態,系統如何在這些狀態之間轉換,系統在這些狀態下應采取的行動。

2.在運行時,可以很容易地確定系統處于什么狀態,在該狀態下正在做什么,以及在什么條件下系統會切換到下一個狀態(或者過程中出了什么問題,導致無法切換到下一個狀態)。

3.促進構思周密且組織良好的設計。這樣可以確保所有可能的事件都已得到妥善處理(就不會有人半夜三更把你從床上叫起來,去修復無法正確處理異常工況的代碼)。

4.易于確定是否已經測試了所有可能事件。只需打印出SFC,并在執檢查時劃掉每個狀態和切換條件即可。完成所有工作后,測試就完成了(程序員的置信度為100%)。

如何實現狀態機?

幾乎任何語言都可以實現狀態機,但它們都需要特定的編碼技術,包括步(step)、轉換(transition)、分支/跳轉(branch/jump)和動作(action)。

步描述了系統可以駐留的狀態;轉換指示系統何時應從上一步轉移至下一步;分支和跳轉指示下一步應該是什么;動作指定在該步期間(進入或退出該步)應執行的操作。

由于其圖形化屬性和工作的專業性,SFC語言是狀態機最自然的選擇。對于那些需求異常復雜或要求特別靈活的系統,狀態機也可以用基于文本的語言來實現。對于只能使用LD的企業,狀態機甚至可以在LD中實現,方法是為每個狀態使用一個線圈,轉移邏輯為每個線圈通電/斷電,將系統從一個狀態轉移到下一個狀態,以及利用使用狀態線圈的獨立邏輯來執行動作。

一些供應商還可以用統一建模語言(UML)來實現狀態圖,作為SFC的更強大、更靈活的替代方法,但這需要更長的學習曲線,而且在工業控制領域中的接受度有限。

對于狀態機,語言的選擇是次要的,所用技術的選擇更重要。在SFC中,該語言強制使用狀態機技術。在其它語言中,使用的技術取決于工程師制定的規則。

圖5:結構引腳可以減少不必要的細節和混亂,從而增強了圖表的可讀性。

功能塊圖編程

功能塊圖(FBD)是一種圖形語言,符合工程師的圖形化思維。來自Codesys(以前被稱為3S-Smart Software Solutions)的集成開發環境提供了兩種FBD,即傳統的IEC 61131-3 FBD和類似但更靈活的連續功能塊圖(CFC),CFC還沒有正式成為IEC 61131-3的一部分。CFC是FBD的超集,具有兩大優勢:

1.基于塊的功能編程(執行布爾和數學運算);

2.分層設計(調用其它功能和功能塊)。

·基于塊的編程

基于塊的設計由預定義功能組件組成,這些組件連接在一起執行布爾邏輯、數學計算或二者兼而有之。當輸出是輸入的函數時(換句話說,當沒有狀態變量,例如布爾反饋、設置/復位線圈或標志時),CFC塊編程非常出色。當同時使用無狀態功能和基于狀態的功能時,請結合使用CFC和SFC。

因為連接性是用功能塊之間的線來表示的,所以很容易理解信息流以及信息是如何沿著其路徑進行修改的。如果功能開始變得復雜,則應將其分為較小的、更易于管理的子塊。如果塊之間存在大量連接,則可以將這些線連接至數據結構類型的引腳。

結構引腳(structure pin)具有3個優點:

1.在層次化結構設計中,每個層次都消除了不必要的細節,更清晰易于理解;

2.保持較小的功能塊,可以在一頁上查看整個信息流;

3.允許信息流向上游和下游,以進一步減少不必要的細節。

對于以前采用LD實施基于塊或分層功能的PLC程序員來講,CFC提供了一種更為簡潔和靈活的方法。CFC的開發速度更快,而且對于將來負責維護或改進代碼的工程師來說,也更容易理解。

·分層設計

分層設計是一種從很多簡單的構建塊層層設計的實踐。與傳統的扁平化設計相比,分層設計具有許多優點:

1.定制;

2.創建;

3.測試與完善;

4.理解和維護;

5.易于復用。

構建塊技術支持并鼓勵在層次結構的每個級別上,展現同等程度的細節,這就使塊技術更易于設計和理解。這樣,在較高層次的設計中,不必因為展現細節而被弄得雜亂無章,這些細節只在較低層的設計中很重要。在層次結構的每個級別上,分層CFC設計應都具有統一的細節展示。

使用LD作為構建塊語言的傳統方法會存在2個弊端:

1.信息的低密度導致LD設計可能會分布到數10頁上,很難或不可能看到和理解全局;

2.不同層次的細節混雜在同一層次上會十分混亂,這使設計難以理解和維護。

而使用結構化文本的CFC分層設計可以解決這兩個問題,同時保持了LD的圖形特性。這是個兩全其美的解決方案。

分層設計是面向對象的工業編程(OOIP)的關鍵功能。在部署和配置用戶自定義的功能塊以后,CFC編程開始與分布式控制系統DCS)的編程/組態有點類似,但使用IEC 61131-3程序員可以控制底層的塊。如果某個塊需要較小的改進,程序員就可以執行此操作,而無需費時費力的請DCS供應商介入。

完整的分層PLC設計,可以看作是一棵由分層CFC構成主干和分支的樹。基于塊的CFC、SFC、LD和ST填充樹葉所處位置的詳細功能設計。IEC 61131-3語言共同構成了一個團隊,該團隊比其各個部分的功能更強大。

結構化文本編程

盡管LD、SFC和FBD/CFC語言可以出色的完成其任務,但有些運算并不適合使用圖形化語言。

一些支持使用結構化文本(ST)語言編程的運算包括:

1.迭代運算,例如For、While和Repeat;

2.復雜條件和選擇,例如IF-THEN和CASE;

3.位運算,例如按位與、移位、旋轉;

4.文本字符串運算;

5.具有特殊要求或特別復雜的狀態機;

6.純粹的面向對象編程(調用方法,設置屬性等)。

有許多很好的教程,可指導工程師從其它基于文本的語言過渡到ST。對于那些完全不熟悉基于文本的語言的人來說,Visual Basic教程是一個很好的起點。盡管結構化文本基于Pascal編程語言,但它與VB有非常相似,因此可以參考應用更廣泛的VB教程。

圖6:此處的分層設計是在連續功能圖編程中實現的。

使用最合適的語言編程

要創建有效的工業控制程序,掌握合適的編程語言并知道如何有效使用這些語言非常重要。有很多語言可供PLC選擇,IEC 61131-3編程語言標準也提供了多種選擇。充分利用每種語言的優勢效率會更高,而不是學習一種語言的各種技巧和變通方法來使其適用于所有應用。程序員應為應用選擇最佳語言。

“為了創建有效的工業控制程序,掌握合適的語言,并知道如何有效使用這些語言非常重要。”
編輯:lyn

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IEC
    IEC
    +關注

    關注

    2

    文章

    200

    瀏覽量

    28917
  • PLC編程
    +關注

    關注

    46

    文章

    246

    瀏覽量

    37510
收藏 人收藏

    評論

    相關推薦

    三菱PLC編程語言解析

    三菱電機(Mitsubishi Electric)是全球知名的自動化和制造解決方案供應商,其PLC(可編程邏輯控制器)產品廣泛應用于工業自動化領域。三菱PLC編程
    的頭像 發表于 12-26 17:36 ?317次閱讀

    如何選擇適合自己的編程語言

    在當今這個技術日新月異的時代,編程語言選擇對于軟件開發者來說至關重要。不同的編程語言有著不同的優勢和適用場景,因此,
    的頭像 發表于 11-15 09:37 ?480次閱讀

    plc編程語言編程相關技巧有哪些

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

    plc編程語言有哪幾種

    編程邏輯控制器(PLC)是一種廣泛應用于工業自動化領域的電子設備,用于實現對生產過程的控制和管理。PLC編程語言是實現控制邏輯的關鍵工具
    的頭像 發表于 08-25 10:07 ?532次閱讀

    plc編程st語言怎么編

    PLC(可編程邏輯控制器)編程中的ST(Structured Text)語言是一種高級編程語言
    的頭像 發表于 08-25 10:05 ?1351次閱讀

    PLC編程方式及編程語言

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

    PLC編程語言和C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。
    的頭像 發表于 06-14 17:11 ?3043次閱讀

    PLC常用編程語言有哪些

    語言多種多樣,每種語言都有其獨特的特點和適用場景。本文將詳細介紹PLC常用的編程語言,包括梯形圖(LD)、指令表(IL)、功能模塊圖(FBD
    的頭像 發表于 06-14 16:58 ?1603次閱讀

    如何選擇最適合你的UV LED固化機?

    在現代化的工業生產中,UV LED固化機以其高效、環保、節能等諸多優點,逐漸成為了固化工藝的首選設備。然而,市場上的UV LED固化機種類繁多,性能各異,如何選擇最適合自己需求的固化機呢?本文將為您
    的頭像 發表于 05-18 14:19 ?442次閱讀
    如何<b class='flag-5'>選擇</b><b class='flag-5'>最適合</b>你的UV LED固化機?

    PLC順序功能圖(SFC)編程深入解析

    稱為順序功能圖 (SFC) 的圖形編程語言IEC 61131-3 標準化。圖表從上到下閱讀,塊用于表示步驟、轉換和功能。這種
    發表于 03-21 11:45 ?1w次閱讀
    <b class='flag-5'>PLC</b>順序功能圖(SFC)<b class='flag-5'>編程</b>深入解析

    高清視頻編碼器選購指南:如何選擇最適合你的編碼器

    高清視頻編碼器作為視頻處理與傳輸的核心設備,對于保證視頻質量和提升用戶體驗至關重要。然而,市面上的高清視頻編碼器種類繁多,功能各異,如何選擇最適合自己的編碼器成為了一個關鍵問題。本文將為你提供一份
    的頭像 發表于 02-20 15:19 ?1198次閱讀

    plc編程語言與c語言的聯系 c語言PLC有什么區別

    PLC編程語言與C語言的聯系 PLC(可編程邏輯控制器)是一種針對自動化控制系統的特殊計算機。
    的頭像 發表于 02-05 14:21 ?4270次閱讀

    plc編程入門基礎知識 plc編程語言有幾種

    PLC(Programmable Logic Controller)是可以根據預設邏輯程序自動控制工業過程的電子設備。PLC編程語言是與PLC
    的頭像 發表于 02-04 15:55 ?1730次閱讀

    plc編程語言有幾種,一般常用有哪些

    PLC(可編程邏輯控制器)是一種用于自動化控制系統的電子設備,它使用特定的編程語言來控制和監視機器或過程。常見的PLC
    的頭像 發表于 02-01 14:31 ?3845次閱讀

    plc常見的編程語言有哪幾種

    PLC(可編程邏輯控制器)常見的編程語言有五種,被稱為IEC 61131-3標準
    的頭像 發表于 01-24 17:59 ?5967次閱讀
    主站蜘蛛池模板: 欧美成人影院| 国产亚洲精品aaa大片| 国产乱码免费卡1卡二卡3卡四 | 理论毛片| 久久婷五月| www午夜视频| 男人的视频网站| 色噜噜噜噜噜在线观看网站| 高清一区二区三区四区五区| 亚洲人免费视频| 色综合久久久久久久久久久| 欧美视频综合| 国产三级在线视频观看| 亚洲午夜网站| 国产亚洲精品成人一区看片| 免费免播放器在线视频观看| 日本口工全彩无遮拦漫画大| 亚洲色图88| 人人做人人爽| 国模私拍视频在线观看| 伊人黄色| 国模娜娜扒开嫩木耳| free性乌克兰高清videos| 国产亚洲欧美一区| 色中射| 久久性感美女视频| 夜夜夜爽爽爽久久久| 久久综合色88| 午夜视频在线网站| 天天综合色一区二区三区| 免费a级网站| 亚洲午夜久久久久久91| 国产精品波多野结衣| 亚1洲二区三区四区免费| 天天摸日日舔| 国产亚洲一区二区精品| 手机在线观看你懂得| 六月综合激情| 亚洲国产激情在线一区| 美剧免费在线观看| 天天碰视频|