PLC編程

PLC編程

PLC編程是一種數字運算操作的電子系統,專為在工業環境下套用而設計。它採用可程式序的存儲器,用來在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字式、模擬式的輸入和輸出,控制各種類型的機械或生產過程。可程式序控制器及其有關設備,都應按易於使工業控制系統形成一個整體,易於擴充其功能的原則設計 隨著微處理器、計算機和數字通信技術的飛速發展,計算機控制已擴展到了幾乎所有的工業領域。現代社會要求製造業對市場需求作出迅速的反應,生產出小批量、多品種、多規格、低成本和高質量的產品,為了滿足這一要求,生產設備和自動生產線的控制系統必須具有極高的可靠性和靈活性,PLC編程正是順應這一要求出現的,它是以微處理器為基礎的通用工業控制裝置。

基本信息

基本內容

可程式邏輯控制器

可程式邏輯控制器(Programmable Logic Controller,PLC),它採用一類可程式的存儲器,用於其內部存儲程式,執行邏輯運算、順序控制、定時、計數與算術操作等面向用戶的指令,並通過數字或模擬式輸入/輸出控制各種類型的機械或生產過程。

PLC編程簡介

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

工作原理

PLC編程PLC編程
PLC是採用“順序掃描,不斷循環”的方式進行工作的。即在PLC運行時,CPU根據用戶按控制要求編制好並存於用戶存儲器中的程式,按指令步序號(或地址號)作周期性循環掃描,如無跳轉指令,則從第一條指令開始逐條順序執行用戶程式,直至程式結束,然後重新返回第一條指令,開始下一輪新的掃描,在每次掃描過程中,還要完成對輸入信號的採樣和對輸出狀態的刷新等工作。

PLC的一個掃描周期必經輸入採樣、程式執行和輸出刷新三個階段。

PLC在輸入採樣階段:首先以掃描方式按順序將所有暫存在輸入鎖存器中的輸入端子的通斷狀態或輸入數據讀入,並將其寫入各對應的輸入狀態暫存器中,即刷新輸入,隨即關閉輸入連線埠,進入程式執行階段。

PLC在程式執行階段:按用戶程式指令存放的先後順序掃描執行每條指令,經相應的運算和處理後,其結果再寫入輸出狀態暫存器中,輸出狀態暫存器中所有的內容隨著程式的執行而改變。

輸出刷新階段:當所有指令執行完畢,輸出狀態暫存器的通斷狀態在輸出刷新階段送至輸出鎖存器中,並通過一定的方式(繼電器、電晶體或晶間管)輸出,驅動相應輸出設備工作。

PLC編程特點

PLC編程的套用面廣、功能強大、使用方便,已經成為當代工業自動化的主要裝置之一,在工業生產的所有領域得到了廣泛的使用,在其他領域(例如民用和家庭自動化)的套用也得到了迅速的發展。

國際電工委員會(IEC)在1985年的PLC標準草案第3稿中,對PLC作了如下定義:“是一種數字運算操作的電子系統,專為在工業環境下套用而設計。它採用可程式序的存儲器,用來在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字式、模擬式的輸入和輸出,控制各種類型的機械或生產過程。可程式序控制器及其有關設備,都應按易於使工業控制系統形成一個整體,易於擴充其功能的原則設計。”從上述定義可以看出,PLC是一種用程式來改變控制功能的工業控制計算機,除了能完成各種各樣的控制功能外,還有與其他計算機通信聯網的功能。

PLC編程的推廣套用在我國得到了迅猛的發展,它已經大量地套用在各種機械設備和生產過程的電氣控制裝置中,各行各業也湧現出了大批套用PLC改造設備的成果。了解PLC的工作原理,具備設計、調試和維護PLC控制系統的能力,已經成為現代工業對電氣技術人員和工科學生的基本要求。

PLC程式語言

PLC的用戶程式,是設計人員根據控制系統的工藝控制要求,通過PLC程式語言的編制規範,按照實際需要使用的功能來設計的。只要用戶能夠掌握某種標準程式語言,就能夠使用PLC在控制系統中,實現各種自動化控制功能。

根據國際電工委員會制定的工業控制程式語言標準(IEC1131-3),PLC有五種標準程式語言:梯形圖語言(LD)、指令表語言(IL)、功能模組語言(FBD)、順序功能流程圖語言(SFC)、結構文化本語言(ST)。這五標準程式語言,十分簡單易學。

梯形圖語言

梯形圖語言是PLC程式設計中最常用的程式語言。它是與繼電器線路類似的一種程式語言。由於電氣設計人員對繼電器控制較為熟悉,因此,梯形圖程式語言得到了廣泛的歡迎和套用。梯形圖程式語言的特點是:與電氣操作原理圖相對應,具有直觀性和對應性;與原有繼電器控制相一致,電氣設計人員易於掌握。梯形圖程式語言與原有的繼電器控制的不同點是,梯形圖中的能流不是實際意義的電流,內部的繼電器也不是實際存在的繼電器,套用時,需要與原有繼電器控制的概念區別對待。

指令表語言

指令表程式語言是與彙編語言類似的一種助記符程式語言,和彙編語言一樣由操作碼和運算元組成。在無計算機的情況下,適合採用PLC手持編程器對用戶程式進行編制。同時,指令表程式語言與梯形圖程式語言圖一一對應,在PLC編程軟體下可以相互轉換。圖3就是與圖2PLC梯形圖對應的指令表。指令表表程式語言的特點是:採用助記符來表示操作功能,具有容易記憶,便於掌握;在手持編程器的鍵盤上採用助記符表示,便於操作,可在無計算機的場合進行編程設計;與梯形圖有一一對應關係。其特點與梯形圖語言基本一致。

功能模組圖語言

功能模組圖語言是與數字邏輯電路類似的一種PLC程式語言。採用功能模組圖的形式來表示模組所具有的功能,不同的功能模組有不同的功能。功能模組圖程式語言的特點:功能模組圖程式設計語言的特點是:以功能模組為單位,分析理解控制方案簡單容易;功能模組是用圖形的形式表達功能,直觀性強,對於具有數字邏輯電路基礎的設計人員很容易掌握的編程;對規模大、控制邏輯關係複雜的控制系統,由於功能模組圖能夠清楚表達功能關係,使編程調試時間大大減少。

順序功能流程圖語言

順序功能流程圖語言是為了滿足順序邏輯控制而設計的程式語言。編程時將順序流程動作的過程分成步和轉換條件,根據轉移條件對控制系統的功能流程順序進行分配,一步一步的按照順序動作。每一步代表一個控制功能任務,用方框表示。在方框內含有用於完成相應控制功能任務的梯形圖邏輯。這種程式語言使程式結構清晰,易於閱讀及維護,大大減輕編程的工作量,縮短編程和調試時間。用於系統的規模校大,程式關係較複雜的場合。圖5是一個簡單的功能流程程式語言的示意圖。 順序功能流程圖程式語言的特點:以功能為主線,按照功能流程的順序分配,條理清楚,便於對用戶程式理解;避免梯形圖或其他語言不能順序動作的缺陷,同時也避免了用梯形圖語言對順序動作編程時,由於機械互鎖造成 用戶程式結構複雜、難以理解的缺陷;用戶程式掃描時間也大大縮短。

結構化文本語言

結構化 文本語言是用結構化的描述文本來描述程式的一種程式語言。它是類似於高級語言的一種程式語言。在大中型的PLC系統中,常採用結構化文本來描述控制系統中各個變數的關係。主要用於其他程式語言較難實現的用戶程式編制。

結構化文本程式語言採用計算機的描述方式來描述系統中各種變數之間的各種運算關係,完成所需的功能或操作。大多數PLC製造商採用的結構化文本程式語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了套用方便,在語句的表達方法及語句的種類等方面都進行了簡化。結構化文本程式語言的特點:採用高級語言進行編程,可以完成較複雜的控制運算;需要有一定的計算機高級語言的知識和編程技巧,對工程設計人員要求較高。直觀性和操作性較差。

PLC編程算法

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的電壓時,在12000解析度時被轉換為0—1770Hex(0—6000);12000解析度時被轉換為0—2EE0Hex(0—12000)。

3、 0—20mA。0—20mA的電流時,在6000解析度時被轉換為0—1770Hex(0—6000);12000解析度時被轉換為0—2EE0Hex(0—12000)。

4、 4—20mA。4—20mA的電流時,在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本身的脈衝輸出端接到高速計數器的輸入端,下載編好的梯形圖,打開變數觀察視窗,運行程式,觀察計數的值是否正確。經過了這樣的實踐,你基本上知道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控制的項目,還為企業翻譯過西門子的S5-135U的技術資料,對PLC有了比較深入的了解。

對PLC基本上心裡有數後,我準備在學校開設PLC課程。當時國內還沒有一本PLC教材,只有自己編寫。剛開始編寫的時候心裡完全沒數,連教材大致應該有什麼樣的結構都不知道。

我在工廠工作的時候,曾經閱讀過一些非常複雜的繼電器控制電路,裡面的邏輯關係七拐八繞,就像一團亂麻,如果沒有說明書,休想把它看懂。顯然,複雜的繼電器控制電路的設計更為困難。

PLC當時主要用來替代繼電器控制,PLC的梯形圖與繼電器電路圖非常接近。如果還是沿用繼電器電路的設計方法來設計梯形圖,程式設計將會成為PLC推廣套用的最大障礙。因此我在寫教材的時候,重點放在PLC的程式設計方法上。

我希望能找到繼電器控制電路的設計方法,供PLC的程式設計參考。當時有關的書籍極少,我在學校圖書館只找到一本文革前出版的工廠電氣控制的書籍,裡面講了一種繼電器電路的“經驗設計法”。

經驗設計法是在一些典型電路的基礎上,根據被控對象對控制系統的具體要求,不斷地修改和完善電路。有時需要多次反覆地調試和修改電路,增加一些觸點或中間繼電器,最後才能得到一個較為滿意的結果。這種設計方法沒有普遍的規律可以遵循,具有很大的試探性和隨意性,最後的結果不是惟一的,設計所用的時間、設計的質量與設計者的經驗有很大的關係。這個所謂的設計方法只能意會、不能言傳,沒法推廣普及。

後來我閱讀了多個廠家的PLC用戶手冊和大量的外文資料,一種先進的設計方法浮現在我的眼前,這就是順序控制設計法。在美國的《Controlengineering》雜誌上,找到一篇法國TE公司一個工程師寫的介紹順序控制的論文。一些PLC用戶手冊也介紹了使用專用指令或專用編程元件的順序控制設計法。使用順序控制設計法時,首先根據系統的工藝過程,畫出順序功能圖,然後根據順序功能圖畫出梯形圖。

我在圖書館找到了1986年頒布的順序功能圖的國家標準(GB6988.6-86),順序功能圖當時被翻譯為功能表圖(Functionchart)。

在IEC的PLC程式語言標準(IEC61131-3)中,順序功能圖(Sequentialfunctionchart)被確定為PLC位居首位的程式語言。有的PLC有順序功能圖語言,例如S7-300/400的S7-Graph。但是有相當多的PLC(包括S7-200)沒有配備順序功能圖語言,為此我開發了多種根據順序功能圖設計梯形圖的編程方法,包括使用起保停電路的編程方法、使用置位/復位指令的編程方法、仿STL指令的編程方法、使用鎖存繼電器的編程方式和使用移位暫存器的編程方法,我的教材還介紹了使用S7-200的順序控制繼電器指令和使用三菱的STL指令的編程方法。前3種方法可用於任意型號的PLC。

實際上只要掌握了一種通用的編程方法就可以了。我比較喜歡使用置位/復位指令的編程方法,這種編程方法的規則簡單,形象直觀,容易掌握。我在德國發現德國的教授編寫的教材也使用這種編程方法。

具有多種工作方式的順序控制程式是設計中的難點,在我編寫的教材里用實例介紹了這種系統的編程方法。此外我還用組態軟體和西門子的SIMIT軟體開發了PLC的被控對象的仿真畫面和程式,可用於調試PLC的順序控制程式。

順序控制設計法是一種先進的設計方法,很容易被初學者接受,對於有經驗的工程師,也會提高設計的效率,程式的調試、修改和閱讀也很方便。某企業有經驗的電氣工程師用經驗設計法設計某控制系統的梯形圖,花了兩周的時間。我改用順序控制設計法,只用了不到半天的時間,就完成了梯形圖的設計和模擬調試,現場試車一次成功。

有個技校的老師告訴我,他用我的教材中的順序控制設計法來指導參數市裡的電工技能競賽的學生的培訓,學生經培訓後基本上能保證拿到冠軍。

實際上在PLC出現之前,就有順序控制器產品。我在一個輪胎廠看到過一種用來實現順序控制的脈衝繼電器。它有點像萬用表的換擋開關,其線圈每接收到一個脈衝電流,繼電器的活動觸點移動一個檔的位置。每一檔就是順序控制中的一步,一共有25檔。圓周上的固定觸點上下有4層,每一步可以控制4個不同的負載。用順序控制中的轉換條件的並聯電路來產生脈衝,實現步的活動狀態的轉換。這種產品有兩個問題:

1)容易出現觸點接觸不良的故障。

2)採用焊接的接線方式,更換脈衝繼電器非常麻煩。

在上世紀70年代,我看到過重慶某儀表廠生產的順序控制器,它由小規模數字積體電路和分立元件組成,可以用錐形孔和錐形插頭實現簡單的“編程”。80年代初我在一個汽車廠看到在他們在工具機上使用這類控制器。PLC出現後,上述兩種順序控制器自然成了文物。

相關詞條

相關搜尋

熱門詞條

聯絡我們