PLC編程如何減少工作量?高手編程必須掌握的硬核知識

2021-01-13 工控小魔仙

PLC結構化編程是對應於典型的控制要求,將過程要求中的類似或相關的任務歸類,在功能或功能塊中編寫通用的程序塊,這些程序塊可以反覆被調用,以控制不同的目標,形成通用的解決方案。這些的通用的程序塊就稱為結構,利用各種結構組成程序就稱為結構化編程。可以通過不同的參數調用相同的功能或通過不同的背景數據塊調用相同的功能塊。結構化編程過程中通用的數據和代碼可以共享,其特點是,編寫通用程序塊,對不同的控制任務代入不同的地址和數據,使更多的控制任務可以使用此通用程序塊,因此具有很高的編程和編程調試效率,並且編程結構清晰,適合於複雜的控制任務。

在塊調用時,調用者可以是各種邏輯塊,包括用戶編寫的組織塊(OB)、FB、FC和系統提供的SFB和SFC,被調用的塊是除OB1外的所有邏輯塊。調用功能塊時需要為其指定一個背景數據塊,背景數據塊在功能塊調用的同時被打開,在調用結束時被關閉。

在給功能塊編程時使用的是形參,調用它時需要使用實參來為形參賦值。在一個項目中,可以多次調用同一個塊,如在調用控制電動機的塊時,將不同的實參賦值給形參,就可以實現對類似但不完全相同的被控對象(如直流電動機和交流電動機)的控制。

塊及子程序的調用,可以嵌套調用,即被調用的塊同時還可以調用其他的塊。嵌套調用的嵌套深度與CPU的型號相關。

嵌套調用的深度同時還與局部數據堆棧(L堆棧)有關。每個OB需要至少20 B的L內存。當塊A調用塊B時,塊A的臨時變量將被壓入L堆棧進行現場保護。

程序被分為不同的邏輯塊,每個塊包含了完成部分控制任務所需的邏輯指令。組織塊OB1(主程序)中的指令決定在什麼情況下調用哪一個塊,功能和功能塊(子程序)用來完成不同的過程任務。被調用的塊執行完後,返回到OB的調用點,繼續執行OB1。模塊化編程,將一個較大的程序分成若干塊,易於實現多人同時對一個項目編程。由於只在需要時執行相關的指令,因此提高了CPU的執行效率。

線性化編程是將整個系統的控制程序放在主循環控制組織塊OB1(主程序)中,每一次循環掃描都要不斷地順序執行OB1中的全部指令。這種方法的程序結構簡單,不涉及功能、功能塊、數據塊、局部變量和中斷等比較複雜的概念。

由於所有的指令都集中在一個塊中,即使程序中的某些部分在大多數時候都不需要執行,但每個掃描周期都需要執行所有指令,CPU的執行效率比較低。此外如果需要多次執行相同或相似的程序就需要重複編寫程序。因此,這種編程方法,一般只在編寫簡單的控制系統程序時使用。

模塊化程序的執行

模塊化編程中OB1起著主程序的作用,FC或FB控制著不同的過程任務,相當於主循環程序的子程序。模塊化編程中被調用塊不向調用塊返回數據。

模塊化編程實例

1.模塊化編程實例1 - 液位監視

監視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據需要進行處理,程序將更有效。 在OB1循環掃描處理時,可以按照一定的周期對液位進行監視。

設計方法:

確定液位監視的組成部分和它們的關係;

設計完成所要求控制任務的功能;

規劃從OB中調用塊完成功能的程序執行

過程;

對程序塊的每個段加上文字注釋和標題。

解決方案:

建立一個功能FC,可以監視和控制任務;

建立一個OB,其中每隔一定時間調用塊

(功能)。

2.模塊化編程實例2

有兩臺電動機,控制模式是相同的,按下啟動按鈕(電動機1為I0.0,電動機2為I1.0),電動機起動運行(電動機1為Q4.0,電動機2為Q4.1);按下停止按鈕(電動機1為I0.1,電動機2為I1.1),電動機停止運行。

分析:

這是典型的起保停電路,採用模塊化編程的思想,分別在FC1和FC2中編寫電機的控制程序,在主程序OB1中進行FC1和FC2的調用。

結構化編程

將複雜的任務分解成一些能夠反映過程的工藝、功能或可以反覆使用的單獨解決的小任務,這些任務由相應的程序塊來表示;

某些程序塊可以用來實現相同或相似的功能;

調用者可以是各種邏輯塊,包括用戶編寫的OB、FB、FC和系統提供的SFB與SFC;

被調用的塊是OB之外的邏輯塊;

通用的數據和代碼可以共享。

結構化編程

結構化編程的優點:

1各單個任務塊的創建和測試可以相互獨立地進行;

2通過使用參數,可將塊設計得十分靈活;

3塊可以根據需要在不同的地方以不同的參數數據記錄進行調用;

4在預先設計的庫中,能夠提供用於特殊任務的「可重用」塊。

結構化編程實例-油漆調製

1選擇產品添加劑,需要決定哪個罐的成分要加到混合罐內。

2在選擇開關的選擇基礎上,組織塊調用相應的程序塊,分配當前的參數,控制混合罐的流入量。

設計方法:

1. 確定哪些部件和操作可以應用於所有的罐和相關的控制;

2. 建立功能或功能塊,完成所要求的控制;

3. 建立塊的變量定義表,以便於對要操作的罐和控制進行地址分配;

4. 設計一個程序來根據選擇開關調用功能或功能塊。

解決方案:

1. 建立一個功能塊或功能控制罐的流出量;

2. 為相關的塊建立變量定義表;

3. 建立一個OB塊來根據選擇開關調用功能或功能塊。

相關焦點

  • 最廣泛的PLC編程指令,最少掌握6個
    最近很多的網友留言想要學習plc,又苦於「投師無門」,那今天就分享幾個廣泛使用的plc編程指令以幫大家「投石問路」。來看一下LD指令。它指的是取指令,意思是常開觸點和母線相連,LDI為取反指令,指的是常閉觸點和母線相連,OUT指的是驅動線圈的輸出指令。
  • plc梯形圖編程實例_plc梯形圖編程基本概念
    plc梯形圖編程中,用到以下四個基本概念: 01軟繼電器 PLC梯形圖中的某些編程元件沿用了繼電器這一名稱,如輸入繼電器、輸出繼電器、內部輔助繼電器等,但是它們不是真實的物理繼電器,而是一些存儲單元(軟繼電器),每一軟繼電器與PLC存儲器中映像寄存器的一個存儲單元相對應
  • 西門子PLC編程軟體
    西門子plc編程軟體是一款專為西門子設備而專門開發的plc編程軟體。西門子編程軟體中文版的主要為了幫助用戶使用西門子的設備,機械設備需要進行特定的程序才能夠進行工作,這款軟體就是讓你的設備按你的想法去工作。太平洋下載中心為您提供西門子plc編程軟體官方下載。
  • 可編程控制器(PLC)
    可編程控制器及其有關外圍設備,都應按易於與工業系統聯成一個整體,易於擴充其功能的原則設計」。背景:1968年美國通用汽車公司(GM),為了適應汽車型號的不斷更新,生產工藝不斷變化的需要,實現小批量、多品種生產,希望能有一種新型工業控制器,它能做到儘可能減少重新設計和更換繼電器控制系統及接線
  • plc編程工資多少一個月
    一線城市和小城市肯定不能比較的,同一個人在能力基本成熟,正式開始做PLC編程的工作狗,在不同城市的薪資不同。北上廣深蘇杭等一線城市,年薪可以達到10萬~30萬元,但在西安、武漢、天津、青島等較小城市,年薪只能維持在7萬~14萬元。
  • 函數表達式在PLC編程中的應用~深圳龍崗伯俊PLC培訓
    導讀: 李輸送與安檢聯動系統採用上位機集中、plc現場分散控制模式進行控制。1 引言在對自動化設備進行plc編程的過程中,由於各種輸入變量、輸出變量及中間變量之間的關係錯綜複雜,開始時往往毫無頭緒。如果能夠根據設備所要實現的各種功能,列出各種變量之間的函數表達式,就可以清楚的分析它們之間的邏輯關係,繼而根據表達式編寫plc程序,下面以深圳機場的行李輸送與安檢聯動系統為例,介紹如何運用函數表達式來分析各種變量之間的邏輯關係的。
  • 信息學競賽需要掌握哪些程式語言知識
    一、程式語言選擇信息學聯賽主要考的是程序設計,選擇合適的參賽程式語言是首要選擇,信息學競賽的程式語言有三種:pascal語言、c語言、c++語言,pascal語言將於2022年停止在信息學競賽中使用,所以現在學習pascal語言意義不大,剩下的只有選擇c語言和c++語言,實際考試中絕大多數考生選擇
  • 常用PLC編程接線圖和梯形圖程序
    電工學習網:www.diangon.com 關注電工學習網官方微信公眾號「電工電氣學習」,收穫更多經驗知識。 今天給大家分享的是關於PLC編程控制入門常用到的實例。裡面包含的知識點是較為齊全的,如:I/O分配表、PLC接線圖、梯形圖程序等。
  • 一文讀懂PLC可編程邏輯控制器
    PLC代表可編程邏輯控制器,它是一種專門為在工業環境下應用而設計的數字運算操作電子系統。PLC採用一種可編程的存儲器,在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,通過數字式或模擬式的輸入輸出來控制各種類型的機械設備或生產過程。
  • 華為程式設計師面試要改:網上編程90分鐘,現場編程30分鐘
    ,識別出真正的軟體開發與設計高手。改變過去面試考察不足而審批過重的問題,用人部門或上級部門的資深專家以及部門主管必須參與到面試中。 基於業務戰略訴求和候選人擬錄用的崗位,以及候選人過往的經歷和成就,精心挑選由用人主管、本業務領域及周邊領域專家、HR 專家組成的 4-5 人的面試小組,開展全面、深入的面試考察。
  • 什麼是PLC(可編程控制器)?
    可編程控制器(PLC),或可編程控制器是一種工業數字計算機,它已經過了堅固和適應,以控制生產過程,如裝配線,或機器人設備,或任何需要高可靠性控制和易於編程和過程故障診斷的活動。它們最初是在汽車工業中發展起來的,它提供了靈活、耐用、易於編程的控制器來代替硬連接的繼電器、定時器和序列器。
  • 為什麼我離開了PLC編程領域
    對這些顯示的快速計算顯示,在大約220個FB中,有15x15x70 =大約16000個執行器被編程。步驟更換的所有條件的完整列表以及用於設置和/或重置執行器的條件在紙張上提供的一組列表中提供,與訂書機一起編織,並且我必須複製這些的所有列表執行器進入FB的。
  • 萬豐辛養ug編程學習cnc加工中心操作培訓
    模具編程一般都教哪些東西呢?  UG相較其他軟體,在模具行業中(不論設計,拆銅公,還是編程)有著很大的優勢。當然,UG在模具設計中,有著大量的應用技巧,熟練掌握這些技巧,並舉一反三,會給你在工作中帶來非常大的方便。尤其在複雜產品的分模過程中,可少走彎路,減少盲目性。
  • plc與變頻器的接線圖_plc和變頻器通訊接線圖詳解
    變頻器無法進行編程,改變電源的頻率、電壓等參數,它的輸出頻率可以設為固定值,也可以由PLC動態控制。   plc是可以編程序的,用來控制電氣元件或完成功能、通信等任務。         PLC與變頻器之間通信需要遵循通用的串行接口協議(USS),按照串行總線的主從通信原理來確定訪問的方法。
  • 少兒編程有什麼好處?兒童編程學什麼?
    兒童編程學什麼?少兒編程鼓勵創造性思維,在學習編程時,更多的是在學習一種自我組織和表達觀點的新途徑。編程是一個系統工程,與其它學科有一定的相通性,在寓教於樂的學習過程中培養自學能力、解決問題的思維、創新能力等。接下來一起來看看少兒編程培訓價格多少錢?
  • 如何從零學習一門程式語言,並由此拿到高薪?
    有必要談談的是:如何由淺入深的學習一門程式語言?學習所有程式語言有沒有一個相對統一的學習方法?為此,我特意請教了一位資深程式設計師大咖,希望能給正準備入門編程的同學一些參考。這位程式設計師接觸過不少程式語言:Java、Python、Javascript、C、C++、Shell等等。
  • 電氣控制原理圖轉變為PLC梯形圖:這就是一個樸素的方法論指導!
    很多菜鳥在學習plc編程的過程中會出現很多疑慮,這些疑慮產生的根源在於對電氣控制原理圖轉變為PLC梯形圖的原理理解不透徹。下面提供一個樸素的方法論指導,幫助大家快速掌握。不言而喻,plc梯形圖對於plc編程至關重要,今天就重點來看一下,如何由電氣控制原理圖一步步轉化為plc梯形圖。首先這是一個簡單的自鎖電路的例子,一起來看一下SB1啟動按鈕、SB2停止按鈕、FR熱繼電電器,KM交流接觸器,以及它們的動作原理。
  • 編程小少年有個人工智慧大夢想
    「在史丹福大學,我看到教授和學生之間面對面溝通,看到他們一起搭建模型,一起討論問題,教與學在溝通中碰撞,知識在輸入與輸出中升華,我感受到人工智慧將是未來研究的重點,中國的青少年只有掌握了先進的人工智慧知識和技術,才能在未來的國際競爭中佔領高地。」杜威之說完,抬頭想了一會兒,「我覺得,學習人工智慧是青少年的使命。」
  • 編程貓小火箭幼兒編程:好的教育,是三分教、七分育!
    眾所周知,編程是實現人工智慧的重要橋梁,為此,編程貓於2019年1月便已著手布局低齡兒童編程賽道,在其自主研發的圖形化編程工具基礎上,重磅推出專為4~7歲兒童設計的「小火箭幼兒編程」產品,極大降低了兒童學習編程的門檻。  敢於第一個吃螃蟹,就得敢於面對空白行業的挑戰。
  • 少兒計算機編程
    兒童編程入門難嗎?初期主要學習哪些內容?兒童編程學習主要以編程遊戲製作吸引孩子注意力,所以初期孩子只要掌握scratch使用,樹立正確編程觀念即可。 兒童編程學習初期主要培養孩子編程興趣,旨在調動孩子學習積極性,所以家長不用擔心孩子跟不上學習內容。雖然兒童編程入門不難,但是兒童編程學習是有門檻的,不是任何年齡階段的孩子都適合。