一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

PLC面向?qū)ο缶幊毯吞菪螆D邏輯誰更實用一些

autozhineng ? 來源:PLC與自控設(shè)備 ? 2023-01-29 11:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

工業(yè)自動化領(lǐng)域,梯形圖邏輯仍然是最常用的編程語言之一,但對于更加復雜的控制對象,面向?qū)ο缶幊滩皇橐环N高效率的方式。下面先來談?wù)劽嫦驅(qū)ο缶幊蹋?/span>

面向?qū)ο缶幊淌怯嬎銠C高級語言的一種先進的編程模式,在工業(yè)控制系統(tǒng)的PLC程序中也可以采用這種設(shè)計思想,雖然我們無法實現(xiàn)面向?qū)ο蟮暮芏鄡?yōu)秀特點如“繼承”,甚至于它根本就不具備面向?qū)ο缶幊陶Z言的特點,但面向?qū)ο缶幊痰幕靖拍罹褪穷惡皖惖膶嵗磳ο螅?,我們只需要使用這種概念就可以了。在計算機編程中我們需要把一些事物抽象和歸納,才能編寫類,而在工業(yè)控制系統(tǒng)中,控制對象如:電機,閥等等是很明顯的控制類別,不需要抽象就可以很明顯的針對它們編寫類,以下將會用到西門子的Step7編程語言和施奈德的Unity 編程語言來講解PLC的面向?qū)ο缶幊獭?/p>

一、 實現(xiàn)方式

面向?qū)ο缶幊淘赟tep7中使用功能塊(即FB)編程,一談到此大家就會想到西門子提出的模塊化編程,不錯,就是這個模塊化編程,但西門子提出的模塊化、背景數(shù)據(jù)塊、多重背景等名詞并不能讓大家很明白的理解和使用這種優(yōu)秀的設(shè)計理念。

如果大家從面向?qū)ο缶幊痰慕嵌热ダ斫?,則可以很好的理解這種設(shè)計模式?!癋B塊”被看 成“類”,它可以被看成是對相似的控制對象的代碼歸納,如對MM440的變頻器可以編寫FB塊:MtrMM440,這在面向?qū)ο缶幊讨蟹Q為“類”,當需要 編程控制具體的電機時,可以給它分配一個背景DB塊,在面向?qū)ο缶幊讨蟹Q為類的實現(xiàn)(即創(chuàng)建類的實例:對象),當需要控制多個電機時,可以分配不同的背景 DB到這個FB塊,即創(chuàng)建類的多個實例。

Step7中有另外一種程序塊,即FC塊,以FC塊為主的編程在西門子中稱為結(jié)構(gòu)化編程,這也可以類比于計算機編程中的面向過程編程,即純粹以函數(shù)為主體的編程。

施奈德的Unity軟件編程可以更好的理解面向?qū)ο缶幊?。它的DFB定義中包含輸入/輸出參數(shù),私有/共有變量,以及代碼實現(xiàn),而這正是計算機的面向?qū)ο?編程中“類”的基本元素,而創(chuàng)建類的實例(對象)就像創(chuàng)建普通的“布爾”變量一樣,只需在“Function Blocks”中定義這種“類”的變量即可。

Step7和Unity都可以采用面向過程和面向?qū)ο缶幊谭绞?,這兩種編程方式的區(qū)別類似于計算機高級語言中的C語言C++語言編程的區(qū)別。

以下的講解將會把Step7中的FB和Unity中的DFB稱為“類”,Step7中的FB+背景DB以及Unity中DFB的實例稱為“對象”。

二、 面向?qū)ο缶幊碳軜?gòu)

以上講解的是實現(xiàn)細節(jié),而編程思想是建立在程序架構(gòu)上的,不是某個局部使用了面向?qū)ο蠓绞?,則可以稱之為這種編程就是面向?qū)ο缶幊?。這種編程需要從以下方面著手:

1、 電路設(shè)計的結(jié)構(gòu)化。

這里主要以自動線為主介紹,對于單機機床可以是它的簡化結(jié)構(gòu):

<1>、自動線層:這是最高層次,它擁有一個主PLC,對屬于它下面的各區(qū)域控制<2>、工程層:擁有獨立的配送電系統(tǒng),但沒有PLC,只有分布式模塊,由自動線控制。顧名思義,它有著較大的獨立性,可以作為一個單獨的工程項目設(shè)計和制造,當自動線比較小時,可以省略該層次。

<3>、功能組層:根據(jù)工藝劃分,將實現(xiàn)某一個工藝功能的區(qū)段設(shè)備劃分為一個功能組,它隸屬于工程層,當工程層被省略時,隸屬于自動線層。面向?qū)ο缶幊滩⒉灰欢ㄒ笫褂靡陨系慕Y(jié)構(gòu),但好的電氣結(jié)構(gòu)更利于面向?qū)ο缶幊獭?/p>

2、 任何控制對象邏輯都在“類”中實現(xiàn)。

為了做到這點,必須分析與控制對象相關(guān)的信息,譬如,對于一個電機,有以下相關(guān)的信息需要考慮:

輸入信息:

<1>、電路保護信息,如電機的空氣開關(guān),熱繼電器等。

<2>、功能保護信息,如運動電機的限位開關(guān),風機的風壓開關(guān),油泵的油位開關(guān)等。

<3>、啟動和終止條件,以上的電路保護和功能保護都可能導致電機運轉(zhuǎn)終止,復位也可能導致重啟動,但這里的條件指的是正常運行的啟動和終止條件,譬如順序控制的流程步。

<4>、控制模式:如手動和自動等。

<5>、故障復位:通過復位信息,重新啟動。

輸出信息:

<1>、控制輸出,如控制電機的主接觸器。

<2>、狀態(tài)信息輸出

<3>、故障輸出

狀態(tài)儲存信息:

用于代碼實現(xiàn)的中間變量以及可以被人機界面讀出的狀態(tài)變量等。把以上信息都整合到一個類中,并盡量使類的參數(shù)標準化。不過,同高級編程語言還是曾在一些差別,針對Step7,應該遵循的標準是:程序結(jié)構(gòu)由FC實現(xiàn),對象控制由FB實現(xiàn),如下的一種結(jié)構(gòu)體系(其電氣結(jié)構(gòu)來自上面的介紹):這只不過是一個粗略的PLC程序架構(gòu)體系,好的架構(gòu)應該更完善和科學。

3、 規(guī)劃好數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)的定義相當重要,并盡量統(tǒng)一這些結(jié)構(gòu),不要顧慮存儲空間,當今的PLC內(nèi)存足以容納大量的數(shù)據(jù)。說明一點的是在Step7中盡量不要在類的外部定義數(shù)據(jù)結(jié)構(gòu)(UDT),而是在類里面定義,雖然會造成不同類中同一結(jié)構(gòu)的重復性定義,但卻提高了類的獨立性。

在接下來的篇幅中,我們來對比一下這兩種編程方式:

面向?qū)ο缶幊痰膬?yōu)點與梯形圖邏輯相比,面向?qū)ο缶幊逃幸韵聝?yōu)點 :

? 代碼可移植,易于重復使用 ;

? 易于使用數(shù)學函數(shù)、循環(huán)等 ;

? 幾乎在每一門計算機編程課程中,都會教授面向?qū)ο缶幊?;

? 代碼可以在各種硬件平臺上運行。

要掌握面向?qū)ο缶幊?,首先需要理解對象的概念及其使用。一旦對象或模塊類編寫完成, 就很容易通過多次調(diào)用來實現(xiàn)重復利用。例如,創(chuàng)建一個對象來控制電機,用來處理所有輸入、輸出和故障。當需要時,可以通過多次實例化 該單一控制對象,來控制多個電機。這就是所謂的按需實例化。當需要控制多個電動機時, 可以多次使用該單個物體。它在需要時調(diào)用,并在使用時創(chuàng)建實例。

每個電機的每個實例都有自己的特性,如電機停機、電機運行、電機轉(zhuǎn)速、電機過載 等。大多數(shù)編程工作都是在首次創(chuàng)建對象時完成的。這是一種與梯形邏輯不同的思維方式,而且更強大,因為一旦構(gòu)建了一個對象,它就很容易使用和重用。面向?qū)ο缶幊谈子趫?zhí)行復雜的數(shù)學函數(shù)、循環(huán)計算、數(shù)組和嵌套子例程。幾乎每一門計算機編程——無論是高中、大學、還是網(wǎng)絡(luò)上的教程,都會教授這方面的知識。創(chuàng)建的代碼是可移植的,可以在各種硬件平臺上運行。

“梯形圖邏輯遵循繼電器控制系統(tǒng)中使用的梯形電氣圖的格 式,大多數(shù)人都可以快速學習 并掌握它?!?/p>

不過,與梯形圖邏輯相比,面向?qū)ο缶幊逃幸韵氯秉c :

? 費用更高 ;

? 更陡峭的學習曲線 ;

? 對于維護人員來說,故障排除不是特別 容易 ;

? 在將源代碼上傳到處理器之前,通常需要編譯。

與梯形圖邏輯相比,面向?qū)ο缶幊掏枰嗟膬?nèi)存和更強的處理能力,因此費用就更高。面向?qū)ο缶幊陶Z言的學習時間可能更長。很可能需要課堂學習,需要大量的時間、實踐、測試和應用來掌握核心概念。編程人員必須經(jīng)常研究面向?qū)ο缶幊?,以便使用跟蹤器來追蹤代碼,或調(diào)試器來調(diào)試邏輯。使用這種類型的高級編程,可能很難實現(xiàn)實時在線監(jiān)視功能。

在將源代碼下載到控制器之前,必須對其進行編譯。通常,源代碼并不保存在處理器內(nèi)存中。這意味著必須小心備份源代碼,因為編譯過的代碼通常是不可編輯的。使用面向?qū)ο缶幊?,庫文件必須與在編譯過程中使用的其它資源相連接。如果不了解連接和資源,將很難使程序運行。

梯形圖邏輯優(yōu)勢:

梯形圖邏輯是一種簡單且自文檔化的編碼方法,甚至有人懷疑它是否是一種編程語言。它遵循繼電器控制系統(tǒng)中使用的梯形電氣圖的格式,大多數(shù)人都可以快速學習并掌握它。它是在過去的數(shù)十年來唯一在機器自動化領(lǐng)域中大規(guī)模應用的編程語言,并且在可預見的將來, 仍然是自動化行業(yè)中使用的主要編程語言之一。

隨著時間的推移,具有不同背景的人從不同領(lǐng)域進入該行業(yè),各種編程語言被引入工業(yè)自動化工具箱中。其中包括功能塊編程、結(jié)構(gòu)化文本、狀態(tài)編程和順序功能圖。這 4 種編程語言和梯形圖邏輯,構(gòu)成了IEC61131-3 國際電工委員會 (IEC) 的標準編程語言。

IEC61131 背后的邏輯是 :如果每個供應商都遵循該標準,那么至少在某種程度上,一個人只需學習這 5 種編程語言,就可以輕松地在來自不同供應商提供的平臺之間進行切換。然而,事實卻并非如此。

基本梯形圖邏輯(如使用繼電器觸點和線圈)也是一樣的 ;但是在編程時,必須學習每個供應商的語法和用戶體驗,以及如何使用編程平臺的詳細信息。盡管缺乏標準化,但與面向?qū)ο缶幊滔啾龋菪螆D邏輯有以下優(yōu)勢 :

? 非常適合機器和過程控制 ;

? 由于本質(zhì)上是自文檔,因此更易于理解;

? 易于對受控系統(tǒng)進行故障排除 ;

? 易于調(diào)試 ;

? 源代碼通??梢源鎯υ谔幚砥髦?。

梯形圖邏輯非常適合于機器和過程控制, 特別是具有大量離散輸入、輸出(I/O)的自動化系統(tǒng)。多年來,梯形圖邏輯也在不斷改進,以處理模擬量I/O,使其更適合于眾多的過程控制應用。

與機器控制應用相比,過程應用中模擬量 I/O 的比例往往較高。

因為梯形圖邏輯比面向?qū)ο缶幊谈子谑褂?,因此眾多熟練的技術(shù)人員和工程人員可以快速學習梯形圖邏輯。邏輯高度系統(tǒng)化、有序化,再加上其具有自文檔的性質(zhì),使其更易于理解和掌握。在啟動某個設(shè)備之前,每行代碼都必須為真。如果有 5 個電機需要控制,那么至少需要 5行代碼,實現(xiàn)了高度簡化。

“梯形圖邏輯源代碼和描述符通常保存在控制器中,無需訪問源代碼,這可以消除程序員在試圖理解編譯程序所遭受的挫敗?!?/p>

對電氣工程師和維護人員來講,梯形圖邏輯非常直觀。雖然梯形圖邏輯需要有與面向?qū)ο缶幊滩煌乃季S方式,但通過學習可以快速掌握,并且理解他人編寫的代碼所需的時間也較少。邏輯何時為真,何時為假,一清二楚。即使編程經(jīng)驗有限的人,也很容易弄清楚開或關(guān)、線圈通電、比較變量和常見的數(shù)學函數(shù)。

81e77660-9f31-11ed-bfe3-dac502259ad0.jpg

它簡單易用,簡化了故障排除和調(diào)試工作。監(jiān)視邏輯時,可以很容易明白目前正在發(fā)生的工況。無需軟件學位或高級編程技能。有了梯形圖邏輯,維護人員和工程人員就很容易跟蹤流程,了解正在發(fā)生的事情。可以將梯形圖邏輯看作真值表。如果左邊的邏輯為真,則右側(cè)的邏輯就會啟動。

梯形圖邏輯源代碼和描述符,通常被保存在控制器中。這可以消除程序員在試圖理解編譯程序而無法訪問源代碼時所遭受的挫敗,面向?qū)ο缶幊桃彩侨绱恕?/p>

然而,與面向?qū)ο缶幊滔啾?,梯形圖邏輯也有如下缺點 :

? 計算機程序員和 IT人員對梯形圖邏輯不熟悉 ;

? 難于進行數(shù)學函數(shù)、文本和數(shù)據(jù)處理 ;

? 依賴于掃描時間 ;

? 需要專門的硬件來執(zhí)行, 如可編程邏輯控制器 (PLC) 。

梯形圖邏輯是計算機程序員和IT人員所不熟悉的一種符號語言,他們在學校里并沒有學習這種語言。在梯形圖邏輯中處理數(shù)學函數(shù)、文本字符串和數(shù)據(jù)可能會很困難,這主要是因為梯形圖邏輯最初并不是為了處理這些函數(shù)而設(shè)計的。

梯形圖邏輯也依賴于掃描時間。較大的程序,需要更長的時間來掃描和處理邏輯。執(zhí)行梯形 圖邏輯時,讀取輸入、掃描邏輯、 更新數(shù)據(jù)表和輸出、執(zhí)行通信, 然后循環(huán)重復??梢詫崿F(xiàn)中斷和其它編程技術(shù)等功能,以確保更快地執(zhí)行某些邏輯。

盡管配置了梯形圖邏輯的基于軟件的PLC可以在PC上運行, 但通常硬件 ( 如 PLC)要與編程軟件相匹配,兩者最好都是從同一個供應商處購買的。這樣就可以確保兼容性,但如果想要更換供應商,則不是特別方便。

除了比較梯形圖邏輯和面向?qū)ο缶幊痰睦淄猓脩暨€應該評估這些編程語言在將要部署的環(huán)境中的使用情況。如果工廠或設(shè)施已實現(xiàn)了梯形圖邏輯的標準化,那么即使面向?qū)ο缶幊谈m合于該應用,也不鼓勵將梯形圖邏輯更換為 面向?qū)ο缶幊?。隨著面向?qū)ο缶幊痰氖褂萌找嬖龆啵A計在未來幾十年內(nèi),它將與梯形圖邏輯共存。一個有遠見的自動化專業(yè)人士,最好要掌握這兩種語言。

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

    關(guān)注

    5037

    文章

    13921

    瀏覽量

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

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95271
  • 梯形圖
    +關(guān)注

    關(guān)注

    8

    文章

    193

    瀏覽量

    22045

原文標題:PLC面向?qū)ο缶幊毯吞菪螆D邏輯,到底誰更實用一些?

文章出處:【微信號:PLC與自控設(shè)備,微信公眾號:PLC與自控設(shè)備】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    PLC梯形圖編程方法(PPT版)

    電路進行拼湊梯形圖。 梯形圖經(jīng)驗設(shè)計法的步驟 分解梯形圖程序 輸入信號邏輯組合 使用輔助元件和輔助觸點 使用定時器和計數(shù)器 使用功能指令 畫互鎖條件 畫保護條件 常用基
    發(fā)表于 05-30 16:46

    PLC梯形圖程序的設(shè)計方法與技巧

    、梯形圖的經(jīng)驗設(shè)計法在PLC發(fā)展的初期,沿用了設(shè)計繼電器電路的方法來設(shè)計梯形圖,即在一些典型
    發(fā)表于 05-22 15:18

    輕輕松松學電工(識圖篇)

    內(nèi)容介紹 結(jié)合廣大電工人員的實際需要,主要介紹了常用電工電路識圖的基礎(chǔ)知識、方法及技巧,內(nèi)容包括常用電氣符號、電工識圖基本方法,以及識讀供配電系統(tǒng)、建筑電氣、電力拖動系統(tǒng)電氣、PLC
    發(fā)表于 04-30 17:18

    樹莓派在自動化控制項目中的一些潛在應用

    盡管RaspberryPi不是可編程邏輯控制器(PLC)的直接替代品,但它有潛力在工業(yè)自動化應用中用于原型設(shè)計、嵌入式系統(tǒng)以及作為低成本的過程控制器。在本文中,我們將探討RaspberryPi在
    的頭像 發(fā)表于 03-25 09:45 ?217次閱讀
    樹莓派在自動化控制項目中的<b class='flag-5'>一些</b>潛在應用

    樹莓派大變身:如何用 OpenPLC 打造你的迷你 PLC

    通過使用RaspberryPi和OpenPLC軟件平臺,可以創(chuàng)建個簡單的PLC,該PLC可以使用梯形圖進行編程,并具有遠程訪問和I/O監(jiān)控
    的頭像 發(fā)表于 03-25 09:41 ?1841次閱讀
    樹莓派大變身:如何用 OpenPLC 打造你的迷你 <b class='flag-5'>PLC</b>

    三菱PLC編程語言解析

    (Sequential Function Chart, SFC)等。以下是對這些編程語言的簡要解析: 1. 梯形圖(Ladder Diagram, LD) 梯形圖PLC
    的頭像 發(fā)表于 12-26 17:36 ?1345次閱讀

    西門子plc200編程實例詳解

    S7-200系列包括多種不同型號的CPU模塊和擴展模塊,可以根據(jù)具體的應用需求進行選擇和配置。其主要特點包括:高性能的CPU、豐富的指令集、強大的網(wǎng)絡(luò)通信功能以及易于使用的編程軟件等。 在編程方面,西門子PLC S7-200支
    的頭像 發(fā)表于 10-22 14:38 ?2872次閱讀

    plc編程語言主要有哪三種

    PLC(可編程邏輯控制器)的編程語言多種多樣,但其中最為常用和廣泛認知的三種主要編程語言是梯形圖
    的頭像 發(fā)表于 10-21 17:04 ?6270次閱讀

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

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

    如何看懂PLC梯形圖

    條簡單的垂直線段,而常閉觸點則附加條斜線以示區(qū)別。 線圈:作為輸出信號的載體,線圈象征著動作的執(zhí)行。旦特定條件被觸發(fā),線圈隨即得電,驅(qū)動外部設(shè)備做出響應。在梯形圖中,線圈以個圓圈
    的頭像 發(fā)表于 09-24 11:20 ?3532次閱讀

    PLC邏輯控制的典型案例

    PLC(可編程邏輯控制器)在邏輯控制方面的典型案例包括多個方面,以下是其中一些常見的例子。
    的頭像 發(fā)表于 09-20 14:51 ?1050次閱讀

    PLC指令的簡要說明

    PLC(可編程邏輯控制器)的指令雖然因不同的制造商和型號而有所差異,但有一些指令是相對比較通用的。
    的頭像 發(fā)表于 09-18 14:15 ?1493次閱讀

    plc編程語言有哪幾種

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

    PLC中的邏輯運算方式有哪些

    PLC(可編程邏輯控制器)中的邏輯運算方式主要包括以下幾種,這些邏輯運算在PLC
    的頭像 發(fā)表于 07-24 16:55 ?1524次閱讀