複製鏈接
請複製以下鏈接發送給好友

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編程語言。採用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。功能模塊圖程序設計語言的特點是:以功能模塊為單位,分析理解控制方案簡單容易;功能模塊是用圖形的形式表達功能,直觀性強,對於具有數字邏輯電路基礎的設計人員很容易掌握的編程;對規模大、控制邏輯關係複雜的控制系統,由於功能模塊圖能夠清楚表達功能關係,使編程調試時間大大減少。
順序功能流程圖語言
順序功能流程圖語言是為了滿足順序邏輯控制而設計的編程語言。編程時將順序流程動作的過程分成步和轉換條件,根據轉移條件對控制系統的功能流程順序進行分配,一步一步的按照順序動作。每一步代表一個控制功能任務,用方框表示。在方框內含有用於完成相應控制功能任務的梯形圖邏輯。這種編程語言使程序結構清晰,易於閲讀及維護,大大減輕編程的工作量,縮短編程和調試時間。用於系統的規模校大,程序關係較複雜的場合。順序功能流程圖編程語言的特點:以功能為主線,按照功能流程的順序分配,條理清楚,便於對用户程序理解;避免梯形圖或其他語言不能順序動作的缺陷,同時也避免了用梯形圖語言對順序動作編程時,由於機械互鎖造成用户程序結構複雜、難以理解的缺陷;用户程序掃描時間也大大縮短。
結構文本化語言
結構化文本語言是用結構化的描述文本來描述程序的一種編程語言。它是類似於高級語言的一種編程語言。在大中型的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的電壓時,在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控制系統的設計、調試和改造工作打下基礎。可以獨立承擔相關項目的設計與開發。讓您由一位電工升級為貨真價實的工程師。 [1] 
隨着現代工業設備自動化,越來越多的工廠設備將採用PLC人機界面等自動化器件來控制,因此設備自動化程度越來越高。對設備的維護人員的技術要求越來越嚴格。作為一名合格的技術員,需要掌握的技能也越來越多,越來越全面性,以此來滿足自動化的發展及要求,
學習PLC編程一點也不難。有的初學者在理論上花了很多功夫,結果半年下來還是沒有把PLC搞懂,其實他們只是缺少了一些PLC的實踐經驗,只要再進行一些實際的梯形圖編寫、程序下載、調試等操作,增加對PLC的感性認識,很快就可以掌握PLC這項技術了。開始階段可以先學習一種品牌的PLC,因為所有的PLC原理都是差不多的,掌握了一種PLC其它的只要翻閲一下手冊也就能上手使用了。
初學時可以編一些簡單的梯形圖,如觸點的與、或、輸出等,在PLC的機器裏運行一下。成功了就會增加你學習的興趣、和信心。然後再把PLC的主要功能逐個運用一次,比如高速計數器,你可以用PLC本身的脈衝輸出端接到高速計數器的輸入端,下載編好的梯形圖,打開變量觀察窗口,運行程序,觀察計數的值是否正確。經過了這樣的實踐,你基本上知道PLC到底能做哪些事情了,在實際的工控應用中就能做到胸有成竹了。
1.電工原理和電機原理一定要懂,簡單的就算背也要背下來,比如馬達容量1KW2A,正反轉,星三角接線,電線容量。電阻,電感,電容的特性等
2.液壓和氣動也要掌握,比如壓力換算,壓力和電流的比例換算,這在有壓力控制上都要用到
3. 電線截面要會看,線拿到手就知道幾平方的,還有什麼電器上該用什麼線,比如馬達就用4線的,3根主線1根接地。從變頻器上出來的要用屏蔽線
4. 機修也要會做,特別是螺絲,一看就知道用幾的內角扳手或外六角扳手(別小看了它,平常維修固定螺絲是少不了它的,這樣能節約時間)
5. PLC編程自己可以模擬編,簡單的如紅綠燈,控制小車走等
對於做項目的
1. 四大常用PLC要會,基本指令和功能指令要熟
2. 通訊接口要懂
3.電氣市場行情要熟,好的和壞的要會區分,列如買到個2手40點的PLC怎麼判斷它是好的呢?
4.變頻器和單片機要懂,變頻調速伺服控制要懂
5. 常用電器元件和傳感器要知道
6. 要會CAD電氣製圖。
PLC在運行狀態時,執行一個掃描操作所需要的時間為一個週期,這個是PLC的重要指標之一,其值為0.5~100ms。
掃描週期T=(輸入—點時間*輸入端子數)+(指令執行速度*指令的條數)+(輸出一點時間*輸出端子數)+故障診斷時間+通訊時間
從上式可看出,掃描週期已經決定了:
1.CPU執行指令的速度
2.執行每條指令所佔用的時間
3.程序中指令條數的多少
指令執行所需的時間和用户程序的長短、指令的種類和CPU執行速度是有很大關係,一般來説,一個掃描的過程中,故障診斷時間,通信時間,輸入採樣和輸出刷新所佔的時間較少,執行的時間是佔了絕大部分。
PLC的響應時間是指PLC外部輸出信號的改變時刻起止由它控制的有關外部輸出信號變化的時刻之間的間隔,稱為滯後時間,這個是由輸入電路時間常數輸出電路的時間常數,用户語句的安排和指令的使用,plc的循環掃描方式及PLC對I/O的刷新方式等部分組成。這個現象稱為I/O延遲時間效應
由於PLC的這種週期循環掃描工作方式,決定了相應時間的長短與收到輸入信號的時刻有關。相應時間就分為最短和最長。
(1)最短的響應時間
如果在一個掃描週期剛結束之前收到一個輸入信號,在下一個掃描週期之前輸入採樣階段,這個信號也就被採樣,是輸入更新,這個響應時間最短。
(2)最長響應時間
如果收到的是一個輸入信號經輸入延遲後,剛好錯過了I/O刷新的時間,在該週期內輸入信號就被視為無效,就要等下一個掃描週期才會被讀入,這個時間是最長的了。
參考資料