一、PLC的特點
在學(xué)習(xí)PLC之前,首先要明白PLC的優(yōu)缺點,即為什么要用PLC,直接用PC服務(wù)器或者單片機嵌入式不行嗎?
PLC有五個特點:
(1)可靠性高、抗干擾能力強;
(2)靈活性好、擴展性能強;
(3)控制速度快、穩(wěn)定性強;
(4)延時調(diào)整方便,精度高;
(5)系統(tǒng)設(shè)計安裝塊、維修方便。
其實最重要的就兩個字,穩(wěn)定。像單片機這種負(fù)荷一高就燒板子,在電磁干擾強的地方也無法正常工作。PC服務(wù)器更是無法勝任多種IO輸出,控制現(xiàn)場各種電機運轉(zhuǎn)。故設(shè)備的底層一般用PLC控制,精準(zhǔn)的運動控制一般用控制板卡,而上報的數(shù)據(jù)處理則由專門的PC服務(wù)器負(fù)責(zé)。
二、PLC運行原理
(1)PLC內(nèi)部硬件結(jié)構(gòu)
(2)CPU掃描構(gòu)成
特別是進(jìn)行高速數(shù)據(jù)通信時,可能會出現(xiàn)收到的數(shù)據(jù)并不是預(yù)想的那樣。如以下問題:
問題一:我在極短時間(低于CPU掃描周期)內(nèi)更改IO值,為什么程序中不顯示變化呢?
答:CPU可能正在執(zhí)行運算,只有等END處理后才會進(jìn)行IO刷新處理,在這之間并不讀取IO數(shù)據(jù)。
問題二:程序中有多個文件,先執(zhí)行文件中軟元件值為什么會被后續(xù)文件中軟元件中值覆蓋掉?
答:PLC計算完成后統(tǒng)一輸出,在一個掃描周期內(nèi),并不會計算出一個結(jié)果立馬輸出,所以軟元件在一個周期內(nèi)只會輸出一個最終的值。
(3)程序的執(zhí)行類型
程序的執(zhí)行類型一般分為初始執(zhí)行類程序、掃描執(zhí)行類程序、恒定周期執(zhí)行類程序、事件執(zhí)行類程序、待機類程序。一般用的最多的為前兩種類型。初始執(zhí)行類程序一般用作設(shè)備參數(shù)的初始化,掃描執(zhí)行類程序則是主程序,根據(jù)順序依次掃描執(zhí)行。
三、PLC編程語言
PLC有五種標(biāo)準(zhǔn)化編程語言:順序功能圖(SFC)、梯形圖(LD)、功能模塊圖(FBD)三種圖形化語言和語句表(IL)、結(jié)構(gòu)文本(ST)兩種文本語言。用的最多的是梯形圖和ST語言。
梯形圖最初是為電工設(shè)計的,編程入門門檻低,語言形象,能夠直觀的看出輸入輸出邏輯。但其在數(shù)據(jù)運算時有很明顯的缺點,一個復(fù)雜的運算表達(dá)式包含加減乘除多種混合運算,用ST表達(dá)一行足矣,但用梯形圖則需多行指令,還需要很多中轉(zhuǎn)軟元件。
故現(xiàn)在比較流行梯形圖嵌入ST語言的寫法,結(jié)合兩家之長。