哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

關(guān)于PLC編程該選擇那種IEC 61131-3編程語言最適合

jf_f8pIz0xS ? 來源:控制工程網(wǎng) ? 作者:Gary L. Pratt ? 2021-04-14 15:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

在參加我的培訓(xùn)班時,很多學(xué)生抱著這樣一種心態(tài):選擇最適合自己的語言,然后專門學(xué)習(xí)該語言。上課伊始,他們經(jīng)常會問我會推薦適用哪種語言?;蛘?,“最好的語言是哪個?”

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

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

圖2:該圖比較了在Codesys中實現(xiàn)復(fù)雜布爾邏輯的不同語言。

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

梯形圖編程

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

不幸的是,控制器變得越來越強大,能夠?qū)崿F(xiàn)的功能也已經(jīng)遠遠超過繼電器和計時器,LD語言被用于各種新的場景,而這并不是LD所擅長的,因此效果也不是特別理想。

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

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

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

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

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

順序功能圖編程

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

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

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

1.設(shè)置線圈或復(fù)位線圈;

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

3.由代碼設(shè)置的內(nèi)部標志,用于決定未來的行為。

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

1.它們易于設(shè)計,因為它清楚地描述了系統(tǒng)可能的狀態(tài),系統(tǒng)如何在這些狀態(tài)之間轉(zhuǎn)換,系統(tǒng)在這些狀態(tài)下應(yīng)采取的行動。

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

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

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

如何實現(xiàn)狀態(tài)機?

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

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

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

一些供應(yīng)商還可以用統(tǒng)一建模語言(UML)來實現(xiàn)狀態(tài)圖,作為SFC的更強大、更靈活的替代方法,但這需要更長的學(xué)習(xí)曲線,而且在工業(yè)控制領(lǐng)域中的接受度有限。

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

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

功能塊圖編程

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

1.基于塊的功能編程(執(zhí)行布爾和數(shù)學(xué)運算);

2.分層設(shè)計(調(diào)用其它功能和功能塊)。

·基于塊的編程

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

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

結(jié)構(gòu)引腳(structure pin)具有3個優(yōu)點:

1.在層次化結(jié)構(gòu)設(shè)計中,每個層次都消除了不必要的細節(jié),更清晰易于理解;

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

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

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

·分層設(shè)計

分層設(shè)計是一種從很多簡單的構(gòu)建塊層層設(shè)計的實踐。與傳統(tǒng)的扁平化設(shè)計相比,分層設(shè)計具有許多優(yōu)點:

1.定制;

2.創(chuàng)建;

3.測試與完善;

4.理解和維護;

5.易于復(fù)用。

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

使用LD作為構(gòu)建塊語言的傳統(tǒng)方法會存在2個弊端:

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

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

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

分層設(shè)計是面向?qū)ο蟮墓I(yè)編程(OOIP)的關(guān)鍵功能。在部署和配置用戶自定義的功能塊以后,CFC編程開始與分布式控制系統(tǒng)DCS)的編程/組態(tài)有點類似,但使用IEC 61131-3程序員可以控制底層的塊。如果某個塊需要較小的改進,程序員就可以執(zhí)行此操作,而無需費時費力的請DCS供應(yīng)商介入。

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

結(jié)構(gòu)化文本編程

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

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

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

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

3.位運算,例如按位與、移位、旋轉(zhuǎn);

4.文本字符串運算;

5.具有特殊要求或特別復(fù)雜的狀態(tài)機;

6.純粹的面向?qū)ο缶幊蹋ㄕ{(diào)用方法,設(shè)置屬性等)。

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

圖6:此處的分層設(shè)計是在連續(xù)功能圖編程中實現(xiàn)的。

使用最合適的語言編程

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

“為了創(chuàng)建有效的工業(yè)控制程序,掌握合適的語言,并知道如何有效使用這些語言非常重要?!?br /> 編輯:lyn

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

    關(guān)注

    2

    文章

    243

    瀏覽量

    30430
  • PLC編程
    +關(guān)注

    關(guān)注

    47

    文章

    248

    瀏覽量

    40891
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    三菱FX3U串口PLC遠程編程實現(xiàn)方法(下)

    下面介紹如何利用華辰智通Hinet網(wǎng)關(guān)完成對三菱FX3U串口PLC的遠程編程操作。 遠程編程整體分為五個步驟: 第一步:開啟華辰智通Hinet工業(yè)智能網(wǎng)關(guān),配置串口相關(guān)參數(shù); 第二步:
    的頭像 發(fā)表于 04-21 11:22 ?164次閱讀
    三菱FX<b class='flag-5'>3</b>U串口<b class='flag-5'>PLC</b>遠程<b class='flag-5'>編程</b>實現(xiàn)方法(下)

    【技術(shù)指南】一文讀懂:原子光譜如何選擇最適合的分析技術(shù)?珀金埃爾默為您全方位解答?

    選對技術(shù),才能精準出擊!在元素分析領(lǐng)域,從PPM到PPQ,如何為您的實驗室選擇最合適的原子光譜技術(shù),常常是一個令人困惑的難題。我們常說,沒有最好,只有最適合。面對火焰原子吸收光譜(FAAS)、石墨爐
    的頭像 發(fā)表于 04-13 09:03 ?83次閱讀
    【技術(shù)指南】一文讀懂:原子光譜如何<b class='flag-5'>選擇</b><b class='flag-5'>最適合</b>的分析技術(shù)?珀金埃爾默為您全方位解答?

    PLC標準IEC61499 vs IEC61131:自動化工程師必須搞懂的核心區(qū)別

    PLC 控制的嗎?到底有什么差別?” 今天用工程師能看懂、也能給客戶講清楚的方式,帶你快速梳理這兩個標準的真實區(qū)別。 IEC 61131:傳統(tǒng) PLC 的標準 → 程序以“周期掃描方
    的頭像 發(fā)表于 01-13 17:00 ?1021次閱讀
    <b class='flag-5'>PLC</b>標準<b class='flag-5'>IEC</b>61499 vs <b class='flag-5'>IEC61131</b>:自動化工程師必須搞懂的核心區(qū)別

    Beremiz 開源 PLC 從安裝到運行全流程實操指南

    一、產(chǎn)品概述 Beremiz是一款開源的PLC(可編程邏輯控制器)開發(fā)軟件,專為工業(yè)自動化控制系統(tǒng)的編程和調(diào)試而設(shè)計。它支持IEC 61131-3
    的頭像 發(fā)表于 01-05 16:42 ?777次閱讀
    Beremiz 開源 <b class='flag-5'>PLC</b> 從安裝到運行全流程實操指南

    為什么單片機還在用C語言編程?

    ,只是C語言最適合單片機編程的高級語言。 一、單片機編程的特點 1.對單片機編程來說,我
    發(fā)表于 11-28 07:37

    C語言編程技巧

    一個成員是一個未知大小的數(shù)組,適用于動態(tài)分配內(nèi)存并關(guān)聯(lián)一個可變長度的數(shù)組。? ?3、匿名結(jié)構(gòu)體和聯(lián)合體?:C語言允許在結(jié)構(gòu)體或聯(lián)合體中定義不帶標簽的內(nèi)部結(jié)構(gòu)體或聯(lián)合體,簡化代碼結(jié)構(gòu)。 ?4
    發(fā)表于 11-27 06:46

    一文了解Mojo編程語言

    Mojo 是一種由 Modular AI 公司開發(fā)的編程語言,旨在將 Python 的易用性與 C 語言的高性能相結(jié)合,特別適合人工智能(AI)、高性能計算(HPC)和系統(tǒng)級
    發(fā)表于 11-07 05:59

    CoDeSys3基礎(chǔ)編程及應(yīng)用指南

    電子發(fā)燒友網(wǎng)站提供《CoDeSys3基礎(chǔ)編程及應(yīng)用指南.pdf》資料免費下載
    發(fā)表于 09-23 17:45 ?1次下載

    信捷XS STUDIO編程軟件V2.3.2版本的全新功能

    XS Studio(V2.3.2)編程軟件,是面向XS系列的編程組態(tài)軟件,集成了PLC編程、可視化HMI、安全PLC、控制器實時核、現(xiàn)場總線
    的頭像 發(fā)表于 09-20 14:19 ?2416次閱讀
    信捷XS STUDIO<b class='flag-5'>編程</b>軟件V2.3.2版本的全新功能

    如何選擇適合的可編程交流電源?

    選擇一款合適的可編程交流電源,需要綜合考慮測試需求、功能特性、品牌信譽和售后服務(wù)。源儀電子憑借其高性能的產(chǎn)品和完善的售后服務(wù),能夠為用戶提供可靠的測試解決方案。無論是在新能源設(shè)備測試、工業(yè)制造還是科研實驗室,源儀電子的程控交流電源都能滿足用戶的需求,助力用戶提升測試效率和
    的頭像 發(fā)表于 08-29 10:02 ?784次閱讀
    如何<b class='flag-5'>選擇</b><b class='flag-5'>適合</b>的可<b class='flag-5'>編程</b>交流電源?

    梯形圖語言補充編程說明書

    電子發(fā)燒友網(wǎng)站提供《梯形圖語言補充編程說明書.pdf》資料免費下載
    發(fā)表于 07-09 14:14 ?3次下載

    Rockchip RV1106系列規(guī)格差異詳解:如何選擇最適合您的AI視覺處理器?

    ,RV1106系列的各型號究竟有哪些差異?如何根據(jù)需求選擇最適合的型號?本文將為您詳細解析。RV1106共有以下型號RV1106G2、RV1106G3、RV1106BG1、
    的頭像 發(fā)表于 06-16 09:37 ?5107次閱讀
    Rockchip RV1106系列規(guī)格差異詳解:如何<b class='flag-5'>選擇</b><b class='flag-5'>最適合</b>您的AI視覺處理器?

    嵌入式開發(fā),如何選擇適合的系統(tǒng)?

    在嵌入式ARM開發(fā)中,面對多種操作系統(tǒng)的選擇,如何做出最適合項目的決策?本文將為您梳理常見系統(tǒng)的特性,幫助您快速了解它們的優(yōu)缺點,以便更好地選擇適合的系統(tǒng)。引言在嵌入式ARM開發(fā)中,
    的頭像 發(fā)表于 05-20 11:32 ?1293次閱讀
    嵌入式開發(fā),如何<b class='flag-5'>選擇</b><b class='flag-5'>適合</b>的系統(tǒng)?

    從初學(xué)到進階:樹莓派上最適合你的代碼編輯器推薦!

    安裝樹莓派操作系統(tǒng)后,你就可以使用Python、Scratch、Java、C/C++等受Linux支持的多種編程語言進行編程了。其中,Python是樹莓派上最受歡迎的編程
    的頭像 發(fā)表于 05-15 16:20 ?1382次閱讀
    從初學(xué)到進階:樹莓派上<b class='flag-5'>最適合</b>你的代碼編輯器推薦!

    單片機c語言編程實例大全

    單片機c語言編程實例大全_18
    發(fā)表于 04-30 16:11 ?7次下載
    开原市| 南靖县| 江口县| 子长县| 南郑县| 同心县| 南郑县| 阆中市| 阿坝县| 石首市| 扬中市| 偏关县| 青铜峡市| 乾安县| 彰化县| 合山市| 兴国县| 尚义县| 西安市| 开封市| 张北县| 田阳县| 靖宇县| 资阳市| 同江市| 越西县| 依安县| 西宁市| 宁安市| 雷波县| 灵寿县| 日照市| 德钦县| 饶河县| 丰顺县| 黔南| 霍邱县| 长顺县| 张家川| 靖江市| 桃江县|