PLC編程

PLC編程

PLC編程是一種數字運算操作的電子系統,專為在工業環境下套用而設計。它採用可程式序的存儲器,用來在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字式、模擬式的輸入和輸出,控制各種類型的機械或生產過程。可程式序控制器及其有關設備,都應按易於使工業控制系統形成一個整體,易於擴充其功能的原則設計

隨著微處理器、計算機和數字通信技術的飛速發展,計算機控制已擴展到了幾乎所有的工業領域。現代社會要求製造業對市場需求作出迅速的反應,生產出小批量、多品種、多規格、低成本和高質量的產品,為了滿足這一要求,生產設備和自動生產線的控制系統必須具有極高的可靠性和靈活性,PLC編程正是順應這一要求出現的,它是以微處理器為基礎的通用工業控制裝置。

基本介紹

  • 中文名:PLC編程
  • 基礎:微處理器
  • 採用:順序掃描,不斷循環
  • 類別:通用工業控制裝置
工作原理,特點,語言類型,算法,入門,

工作原理

PLC是採用“順序掃描,不斷循環”的方式進行工作的。即在PLC運行時,CPU根據用戶按控制要求編制好並存於用戶存儲器中的程式,按指令步序號(或地址號)作周期性循環掃描,如無跳轉指令,則從第一條指令開始逐條順序執行用戶程式,直至程式結束,然後重新返回第一條指令,開始下一輪新的掃描,在每次掃描過程中,還要完成對輸入信號的採樣和對輸出狀態的刷新等工作。
PLC的一個掃描周期必經輸入採樣、程式執行和輸出刷新三個階段。
PLC在輸入採樣階段:首先以掃描方式按順序將所有暫存在輸入鎖存器中的輸入端子的通斷狀態或輸入數據讀入,並將其寫入各對應的輸入狀態暫存器中,即刷新輸入,隨即關閉輸入連線埠,進入程式執行階段。
PLC在程式執行階段:按用戶程式指令存放的先後順序掃描執行每條指令,經相應的運算和處理後,其結果再寫入輸出狀態暫存器中,輸出狀態暫存器中所有的內容隨著程式的執行而改變。
輸出刷新階段:當所有指令執行完畢,輸出狀態暫存器的通斷狀態在輸出刷新階段送至輸出鎖存器中,並通過一定的方式(繼電器、電晶體或晶間管)輸出,驅動相應輸出設備工作。

特點

PLC編程的套用面廣、功能強大、使用方便,已經成為當代工業自動化的主要裝置之一,在工業生產的所有領域得到了廣泛的使用,在其他領域(例如民用和家庭自動化)的套用也得到了迅速的發展。
國際電工委員會(IEC)在1985年的PLC標準草案第3稿中,對PLC作了如下定義:“是一種數字運算操作的電子系統,專為在工業環境下套用而設計。它採用可程式序的存儲器,用來在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字式、模擬式的輸入和輸出,控制各種類型的機械或生產過程。可程式序控制器及其有關設備,都應按易於使工業控制系統形成一個整體,易於擴充其功能的原則設計。”從上述定義可以看出,PLC是一種用程式來改變控制功能的工業控制計算機,除了能完成各種各樣的控制功能外,還有與其他計算機通信聯網的功能。
PLC編程的推廣套用在我國得到了迅猛的發展,它已經大量地套用在各種機械設備和生產過程的電氣控制裝置中,各行各業也湧現出了大批套用PLC改造設備的成果。了解PLC的工作原理,具備設計、調試和維護PLC控制系統的能力,已經成為現代工業對電氣技術人員和工科學生的基本要求。

語言類型

PLC的用戶程式,是設計人員根據控制系統的工藝控制要求,通過PLC程式語言的編制規範,按照實際需要使用的功能來設計的。只要用戶能夠掌握某種標準程式語言,就能夠使用PLC在控制系統中,實現各種自動化控制功能。
根據國際電工委員會制定的工業控制程式語言標準(IEC1131-3),PLC有五種標準程式語言:梯形圖語言(LD)、指令表語言(IL)、功能模組語言(FBD)、順序功能流程圖語言(SFC)、結構文本化語言(ST)。這五標準程式語言,十分簡單易學。
梯形圖語言
梯形圖語言是PLC程式設計中最常用的程式語言。它是與繼電器線路類似的一種程式語言。由於電氣設計人員對繼電器控制較為熟悉,因此,梯形圖程式語言得到了廣泛的歡迎和套用。 梯形圖程式語言的特點是:與電氣操作原理圖相對應,具有直觀性和對應性;與原有繼電器控制相一致,電氣設計人員易於掌握。 梯形圖程式語言與原有的繼電器控制的不同點是,梯形圖中的能流不是實際意義的電流,內部的繼電器也不是實際存在的繼電器,套用時,需要與原有繼電器控制的概念區別對待。
指令表語言
指令表程式語言是與彙編語言類似的一種助記符程式語言,和彙編語言一樣由操作碼和運算元組成。在無計算機的情況下,適合採用PLC手持編程器對用戶程式進行編制。同時,指令表程式語言與梯形圖程式語言圖一一對應,在PLC編程軟體下可以相互轉換。圖3就是與圖2PLC梯形圖對應的指令表。 指令表程式語言的特點是:採用助記符來表示操作功能,具有容易記憶,便於掌握;在手持編程器的鍵盤上採用助記符表示,便於操作,可在無計算機的場合進行編程設計;與梯形圖有一一對應關係。其特點與梯形圖語言基本一致。
功能模組圖語言
功能模組圖語言是與數字邏輯電路類似的一種PLC程式語言。採用功能模組圖的形式來表示模組所具有的功能,不同的功能模組有不同的功能。 功能模組圖程式語言的特點:功能模組圖程式設計語言的特點是:以功能模組為單位,分析理解控制方案簡單容易;功能模組是用圖形的形式表達功能,直觀性強,對於具有數字邏輯電路基礎的設計人員很容易掌握的編程;對規模大、控制邏輯關係複雜的控制系統,由於功能模組圖能夠清楚表達功能關係,使編程調試時間大大減少。
順序功能流程圖語言
順序功能流程圖語言是為了滿足順序邏輯控制而設計的程式語言。編程時將順序流程動作的過程分成步和轉換條件,根據轉移條件對控制系統的功能流程順序進行分配,一步一步的按照順序動作。每一步代表一個控制功能任務,用方框表示。在方框內含有用於完成相應控制功能任務的梯形圖邏輯。這種程式語言使程式結構清晰,易於閱讀及維護,大大減輕編程的工作量,縮短編程和調試時間。用於系統的規模校大,程式關係較複雜的場合。順序功能流程圖程式語言的特點:以功能為主線,按照功能流程的順序分配,條理清楚,便於對用戶程式理解;避免梯形圖或其他語言不能順序動作的缺陷,同時也避免了用梯形圖語言對順序動作編程時,由於機械互鎖造成用戶程式結構複雜、難以理解的缺陷;用戶程式掃描時間也大大縮短。
結構化文本語言
結構化文本語言是用結構化的描述文本來描述程式的一種程式語言。它是類似於高級語言的一種程式語言。在大中型的PLC系統中,常採用結構化文本來描述控制系統中各個變數的關係。主要用於其他程式語言較難實現的用戶程式編制。
結構化文本程式語言採用計算機的描述方式來描述系統中各種變數之間的各種運算關係,完成所需的功能或操作。大多數PLC製造商採用的結構化文本程式語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了套用方便,在語句的表達方法及語句的種類等方面都進行了簡化。 結構化文本程式語言的特點:採用高級語言進行編程,可以完成較複雜的控制運算;需要有一定的計算機高級語言的知識和編程技巧,對工程設計人員要求較高。直觀性和操作性較差。

算法

PLC編程算法一 開關量的計算
1、開關量也稱邏輯量,指僅有兩個取值,0或1、ON或OFF。它是最常用的控制,對它進行控制是PLC的優勢,也是PLC最基本的套用。
開關量控制的目的是,根據開關量的當前輸入組合與歷史的輸入順序,使PLC產生相應的開關量輸出,以使系統能按一定的順序工作。所以,有時也稱其為順序控制。而順序控制又分為手動、半自動或自動。而採用的控制原則有分散、集中與混合控制三種。這是用OMRON的開關量編寫的一個“單按鈕啟停”程式。
2、 模擬量是指一些連續變化的物理量,如電壓、電流、壓力、速度、流量等。
PLC是由繼電控制引入微處理技術後發展而來的,可方便及可靠地用於開關量控制。由於模擬量可轉換成數字量,數字量只是多位的開關量,故經轉換後的模擬量,PLC也完全可以可靠的進行處理控制。由於連續的生產過程常有模擬量,所以模擬量控制有時也稱過程控制。模擬量多是非電量,而PLC只能處理數字量、電量。所有要實現它們之間的轉換要有感測器,把模擬量轉換成數電量。如果這一電量不是標準的,還要經過變送器,把非標準的電量變成標準的電信號,如4—20mA、1—5V、0—10V等等。同時還要有模擬量輸入單元(A/D),把這些標準的電信號變換成數位訊號;模擬量輸出單元(D/A),以把PLC處理後的數字量變換成模擬量——標準的電信號。所以標準電信號、數字量之間的轉換就要用到各種運算。這就需要搞清楚模擬量單元的解析度以及標準的電信號。
例如:PLC模擬單元的解析度是1/32767,對應的標準電量是0—10V,所要檢測的是溫度值0—100℃。那么0—32767對應0—100℃的溫度值。然後計算出1℃所對應的數字量是327.67。如果想把溫度值精確到0.1℃,把327.67/10即可。
模擬量控制包括:反饋控制、前饋控制、比例控制、模糊控制等。這些都是PLC內部數字量的計算過程。
3、 脈衝量是其取值總是不斷的在0(低電平)和1(高電平)之間交替變化的數字量。每秒鐘脈衝交替變化的次數稱為頻率。
PLC脈衝量的控制目的主要是位置控制、運動控制、軌跡控制等。例如:脈衝數在角度控制中的套用。步進電機驅動器的細分是每圈10000,要求步進電機旋轉90度。那么所要動作的脈衝數值=10000/(360/90)=2500。
PLC編程算法二 模擬量的計算
1、 -10—10V。-10V—10V的電壓時,在6000解析度時被轉換為F448—0BB8Hex(-3000—3000);12000解析度時被轉換為E890—1770Hex(-6000—6000)。
2、 0—10V。0—10V的電壓時,在6000解析度時被轉換為0—1770Hex(0—6000);12000解析度時被轉換為0—2EE0Hex(0—12000)。
以上僅做簡單的介紹,不同的PLC有不同的解析度,並且您所測量物理量實現的量程不一樣。計算結果可能有一定的差異。
註:模擬輸入的配線的要求
1、使用禁止雙絞線,但不連線禁止層。
2、當一個輸入不使用的時候,將V IN 和COM端子短接。
3、模擬信號線與電源線隔離 (AC 電源線,高壓線等)。
4、當電源線上有干擾時,在輸入部分和電源單元之間安裝一個濾波器。
5、確認正確的接線後,首先給CPU單元上電,然後再給負載上電。
6、斷電時先切斷負載的電源,然後再切斷CPU的電源。
PLC編程算法三 脈衝量的計算
脈衝量的控制多用於步進電機伺服電機的角度控制、距離控制、位置控制等。以下是以步進電機為例來說明各控制方式。
1、步進電機的角度控制。首先要明確步進電機的細分數,然後確定步進電機轉一圈所需要的總脈衝數。計算“角度百分比=設定角度/360°(即一圈)”“角度動作脈衝數=一圈總脈衝數*角度百分比。”
公式為:
角度動作脈衝數=一圈總脈衝數*(設定角度/360°)。
2、步進電機的距離控制。首先明確步進電機轉一圈所需要的總脈衝數。然後確定步進電機滾輪直徑,計算滾輪周長。計算每一脈衝運行距離。最後計算設定距離所要運行的脈衝數。
公式為:
設定距離脈衝數=設定距離/[(滾輪直徑*3.14)/一圈總脈衝數]
3、步進電機的位置控制就是角度控制與距離控制的綜合。
以上只是天天自動化簡單的分析步進電機的控制方式,可能與實際有出入,僅供各位同仁參考。伺服電機的動作與步進電機的一樣,但要考慮伺服電機的內部電子齒輪比與伺服電機的減速比。有些事情說起來比較簡單,但實際套用就有難度了。請大家在實際的工作中領悟其中的道理

入門

PLC是一種在工業中被廣泛套用的自動控制元件。然而PLC套用與編程人才短缺已經成為制約我國自動控制領域發展的瓶頸。通過學習PLC可程式控制器程式設計使學員掌握可程式序控制器的工作原理和PLC控制系統硬體軟體的設計方法,可編寫複雜的PLC程式,為從事PLC控制系統的設計、調試和改造工作打下基礎。可以獨立承擔相關項目的設計與開發。讓您由一位電工升級為貨真價實的工程師!
隨著現代工業設備自動化,越來越多的工廠設備將採用PLC人機界面等自動化器件來控制,因此設備自動化程度越來越高。對設備的維護人員的技術要求越來越嚴格。作為一名合格的技術員,需要掌握的技能也越來越多,越來越全面性,以此來滿足自動化的發展及要求,
學習PLC編程一點也不難。有的初學者在理論上花了很多功夫,結果半年下來還是沒有把PLC搞懂,其實他們只是缺少了一些PLC的實踐經驗,只要再進行一些實際的梯形圖編寫、程式下載、調試等操作,增加對PLC的感性認識,很快就可以掌握PLC這項技術了。開始階段可以先學習一種品牌的PLC,因為所有的PLC原理都是差不多的,掌握了一種PLC其它的只要翻閱一下手冊也就能上手使用了。
初學時可以編一些簡單的梯形圖,如觸點的與、或、輸出等,在PLC的機器里運行一下。成功了就會增加你學習的興趣、和信心。然後再把PLC的主要功能逐個運用一次,比如高速計數器,你可以用PLC本身的脈衝輸出端接到高速計數器的輸入端,下載編好的梯形圖,打開變數觀察視窗,運行程式,觀察計數的值是否正確。經過了這樣的實踐,你基本上知道PLC到底能做哪些事情了,在實際的工控套用中就能做到胸有成竹了。
1.電工原理和電機原理一定要懂,簡單的就記背也要背下來,比如馬達容量1KW2A,正反轉,星三角接線,電線容量。電阻,電感,電容的特性等
2.液壓和氣動也要掌握,比如壓力換算,壓力和電流的比例換算,這在有壓力控制上都要用到
3. 電線截面要會看,線拿到手就知道幾平方的,還有什麼電器上該用什麼線,比如馬達就用4線的,3根主線1根接地。從變頻器上出來的要用禁止線。
4. 機修也要會做,特別是螺絲,一看就知道用幾的內角扳手或外六角扳手(別小看了它,平常維修固定螺絲是少不了它的,這樣能節約時間)
5. PLC編程自己可以模擬編,簡單的如紅綠燈,控制小車走等
6. 做人要會做,要謙虛,不可能你樣樣都會。
7. 心態要好,保持一顆平常的心
8. 平常要多乾,就是在苦在累也要,這樣技術才能學到手能解決實際問題,反之你只不過是紙上談兵
對於做項目的
1. 四大常用PLC要會,基本指令和功能指令要熟
2. 通訊接口要懂
3.電氣市場行情要熟,好的和壞的要會區分,列如買到個2手40點的PLC怎么判斷它是好的呢?
4.變頻器單片機要懂,變頻調速和伺服控制要懂
5. 常用電器元件和感測器要知道
6. 要會CAD電氣製圖。
PLC掃描周期和回響時間
PLC在運行狀態時,執行一個掃描操作所需要的時間為一個周期,這個是PLC的重要指標之一,其值為0.5~100ms。
掃描周期T=(輸入—點時間*輸入端子數)+(指令執行速度*指令的條數)+(輸出一點時間*輸出端子數)+故障診斷時間+通訊時間
從上式可看出,掃描周期已經決定了:
1.CPU執行指令的速度
2.執行每條指令所占用的時間
3.程式中指令條數的多少
指令執行所需的時間和用戶程式的長短、指令的種類和CPU執行速度是有很大關係,一般來說,一個掃描的過程中,故障診斷時間,通信時間,輸入採樣和輸出刷新所占的時間較少,執行的時間是占了絕大部分。
PLC的回響時間是指PLC外部輸出信號的改變時刻起止由它控制的有關外部輸出信號變化的時刻之間的間隔,稱為滯後時間,這個是由輸入電路時間常數,輸出電路的時間常數,用戶語句的安排和指令的使用,plc的循環掃描方式及PLC對I/O的刷新方式等部分組成。這個現象稱為I/O延遲時間效應。
由於PLC的這種周期循環掃描工作方式,決定了相應時間的長短與收到輸入信號的時刻有關。相應時間就分為最短和最長。
(1)最短的回響時間
如果在一個掃描周期剛結束之前收到一個輸入信號,在下一個掃描周期之前輸入採樣階段,這個信號也就被採樣,是輸入更新,這個回響時間最短。
(2)最長回響時間
如果收到的是一個輸入信號經輸入延遲後,剛好錯過了I/O刷新的時間,在該周期內輸入信號就被視為無效,就要等下一個掃描周期才會被讀入,這個時間是最長的了。

相關詞條

熱門詞條

聯絡我們