PLC的工作流程
1、系統初始化:一般小型PLC的系統初始化主要是進行初始化、設置、查找擴展模塊等;
2、掃描輸入:掃描IO輸入信號;
3、執行邏輯:根據用戶PLC程序執行邏輯;
4、家務管理:PLC診斷、維護和其它系統程序執行;
5、掃描輸出:將邏輯執行的結果輸出;
6、通信管理單元:通信服務程序,響應編程軟件和其它通信任務。
PLC運行方式:
由上面可以看到PLC的運行是一種循環掃描的運行方式,實際上PLC還有定時掃描和中斷掃描共三種掃描方式。
循環掃描:PLC按上圖循環執行;
定時掃描:PLC根據用戶設置的時間定時掃描,比方說50ms掃描一次,使用這種掃描方式,用戶需要保證用戶程序在設定時間內一定能掃描完畢,一般PLC使用定時中斷和子程序結合起來實現這個功能(這種情況下與中斷掃描方式并無不同),但在IO掃描方面會有一些細微的不同,很可能會用到立即刷新IO的功能塊UpData_IO。
中斷掃描:中斷掃描根據外部或者內部中斷的激活中斷掃描程序的運行。比方說外部IO中斷、高速計數中斷、定時中斷等。
十九、PID——溫控、變頻
PID(Proportional, Integral andDerivative)是閉環控制中最常用的一種算法,在包括溫控、水泵、張力、伺服閥、運控等行業得到了廣泛的應用,但因為每個應用的對象特性都不一樣,這就要求調試工程師允分了解PID的控制原理,只有這樣我們才能把PID的應用好。
PID原理:
PID是由比例、微分、積分三個部分組成的,在實際應用中經常只使用其中的一項或者兩項,如P、PI、PD、PID等。
從控制原理來說,當一個控制對象,我們希望控制的輸出達到我們設定的值,我們通常會使用開環或者閉環控制,如果控制對象的響應很穩定不會受到其它環節的影響,我們可以選用開環控制。反之如果被控對象受到設定值、負載或者源端的影響而產生波動,我們應該選用閉環控制。下圖是一個溫控的原理圖:
PID執行周期(1/10秒) 〔范例〕
比例控制(P):
比例控制是最常用的控制手段之一,這也是最符合人的感觀的一種控制,比方說我們控制一個加熱器的恒溫100度,當開始加熱時,離目標溫度相差比較遠,這時我們通常會加大加熱,使溫度快速上升,當溫度超過100度時,我們則關閉輸出,通常我們會使用這樣一個函數
e(t) = SP – y(t);
u(t) = e(t)*P
SP——設定值
e(t)——誤差值
y(t)——反饋值
u(t)——輸出值
P——比例系數
滯后性不是很大的控制對象使用比例控制方式就可以滿足控制要求,但很多被控對象中因為有滯后性。
比方說塑膠擠出機,如果設定溫度是200度,當采用比例方式控制時,如果P選擇比較大,則會出現當溫度達到200度輸出為0后,溫度仍然會止不住的向上爬升,比方說升至230度,當溫度超過200度太多后又開始回落,盡管這時輸出開始出力加熱,但溫度仍然會向下跌落一定的溫度才會止跌回升,比方說降至170度,最后整個系統會穩定在一定的范圍內進行振蕩。
如果這個振蕩的幅度是允許的比方說家用電器的控制,那則可以選用比例控制,很多傳統的家用空調和我們常會發現家用空調始終是間歇工作的,當開始制冷時我們通常會感到越來越冷,當空調停止時又會感到溫度越來越高,它采用的則是比例控制
比例值太小時的控制效果圖:
如果比例值太小,反饋值始終到不了設定值(靜態誤差)就達到了平衡(如果是加熱的話就是說散熱與P*e(t)加熱達到了一個平衡)
比例值太大時的控制效果圖:
如果比例值太大,則被控對象會出上圖所示的振蕩,當然振蕩點不一定是在設定值,而會根據被控對象的不同或者P值的大小而在某個位置進行振蕩。這對于大多數的控制對旬來說是不允許的。
比例積分控制(PI):
積分的存在是針對比例控制要不就是有差值要不就是振蕩的這種特點提出的改進,它常與比例一塊進行控制,也就是PI控制。
其公式有很多種,但大多差別不大,標準公式如下:
u(t) = Kp*e(t) + Ki∑e(t) +u0
u(t)——輸出
Kp——比例放大系數
Ki——積分放大系數
e(t)——誤差
u0——控制量基準值(基礎偏差)
大家可以看到積分項是一個歷史誤差的累積值,如果光用比例控制時,我們知道要不就是達不到設定值要不就是振蕩,在使用了積分項后就可以解決達不到設定值的靜態誤差問題,比方說一個控制中使用了PI控制后,如果存在靜態誤差,輸出始終達不到設定值,這時積分項的誤差累積值會越來越大,這個累積值乘上Ki后會在輸出的比重中越占越多,使輸出u(t)越來越大,最終達到消除靜態誤差的目的。
PI兩個結合使用的情況下,我們的調整方式如下:
1、先將I值設為0,將P值放至比較大,當出現穩定振蕩時,我們再減小P值直到P值不振蕩或者振蕩很小為止(術語叫臨界振蕩狀態),在有些情況下,我們還可以在些P值的基礎上再加大一點。
2、加大I值,直到輸出達到設定值為止。
3、等系統冷卻后,再重上電,看看系統的超調是否過大,加熱速度是否太慢。
通過上面的這個調試過程,我們可以看到P值主要可以用來調整系統的響應速度,但太大會增大超調量和穩定時間;而I值主要用來減小靜態誤差。
標準的PID公式在溫控等響應較慢的系統中會存在積分項導致過沖的情況,這是因為在開始加熱后,盡管這時輸出已調整最大(比方說固態繼電器的PWM輸出已是100%開了)但這時的溫度仍然只能緩慢上升,這時的積分項會增加得很快,當溫度達到設定值后,這時盡管比例項已輸出為0,但是積分項仍然會因為其累積值很高而有較大的輸出,導致溫度超調。
在德維森的V80中,通過改進的遇限消弱積分法等措施很好的解決了這個問題,使積分項在輸出全開時停止積分,減少了積分對于這種大時延系統的影響。
PID控制:
因為PI系統中的I的存在會使整個控制系統的響應速度受到影響,為了解決這個問題,我們在控制中增加了D微分項,微分項主要用來解決系統的響應速度問題,其完整的公式如下:
u(t) = Kp*e(t) + Ki∑e(t) + Kd[e(t) – e(t-1)]+u0
在模擬電路中的微分常數是與特征頻率相關系的,而在數字離散PID中的微分項實際上是有一些問題的,因為其只計算了兩次誤差的差值,而實際的模擬PID或者用戶需要的理想微分公式應該是要對其進行展寬的,只有展寬的D值才能真正的起到很好的效果。微分項在控制系統中起到減少超調降低振蕩的作用,但因為微分項本身對于干擾很敏感,所以在使用微分項時要慎重。
在PID的調試過程中,我們應注意以下步驟:
1、 關閉I和D,加大P,使其產生振蕩;
2、 減小P,找到臨界振蕩點;
3、 加大I,使其達到目標值;
4、 重新上電看超調、振蕩和穩定時間是否吻合要求;
5、 針對超調和振蕩的情況適當的增加一些微分項;
6、 注意所有調試均應在最大爭載的情況下調試,這樣才能保證調試完的結果可以在全工作范圍內均有效;
位置PID與增量PID:
前面我們所說的PID公式均是位置PID,也稱為全量PID,這在溫控、閥門控制、水泵控制中最常用到,另一種PID公式稱之為增量PID其公式如下:
△u(t) = u(t) – u(t-1)
這在運動控制中最常使用,其輸出是兩次PID運算結果的差值,一般的步進或者伺服電機的位置控制可以采用這種方式。
二十一、運動控制
運動控制是近些年的熱門,精密定位、恒速控制、恒力矩控制等在各種裝備中的應用越來越廣泛,這對于控制器的要求也越來越高。
對于運動控制,大家比較常用的包括步進電機、伺服電機,除此之外伺服閥、數字液壓等都屬于同一類的控制方式。在這些運控系統中,我們又根據控制對象的不同分為位置控制、速度控制、力矩控制三大類。其中步進電機只能應用于位置控制,而伺服則可以應用于這三類中的任一種控制方式。
在運動控制系統中我們一般可以使用專用的運動控制器或者PLC來實現運動控制功能,一般來說專用的運動控制器如數控系統等會更為專業功能更強,對于插補、G指令的支持會更好。
比方說高檔的數控系統可能會支持以下的功能:用戶用CAD畫完圖后轉換成G代碼下載給控制器,控制器就可以執行對應的G代碼完成整個控制過程。
而PLC相對而言是一個更為通用的控制平臺,一般通過功能塊來實現運動控制功能,V80增強系列(/S)對于兩軸的位置控制有很強的支撐,可以滿足絕大多數運動控制要求的環境,V80的速度控制和力矩控制一般使用E6MAD擴展模塊來實現,在這里我們提到的運動控制是CPU模塊本身的位置控制功能。
21.1、位置控制基礎
在裝備控制中有相當多的場合需要用到位置定位控制,如各種機床、收卷排線、紙張電纜管材的定長裁剪、包裝、印刷等。位置控制的實現,通常是通過步進電機和伺服電機來達到的,下面我們統一以步進電機來描述。
步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。
PLC正是利用步進電機的這種特性來實現位置控制功能的,PLC與步進電機之間的接口為脈沖接口,我們稱之為PTO。
脈沖與位置的關系:
比方說我們需要步進電機轉動90度,而步進電機的步距角為0.3度的,那么我們的脈沖輸出個數就應該為300個,當300個脈沖輸出完畢后電機正好旋轉90度停止。
步進電機的啟動和加減速:
實際的應用中我們需要考慮到步進電機在帶載的情況下無法高速啟動,所以需要步進電機在啟動時使用較低的脈沖頻率,然后逐步提升速度,否則會有失步和過沖的現象出現。同時一般的步進電機使用場合都是開環的,一旦出現了失步和過沖則是不可恢復的誤差。(伺服電機這種情況要好一些但在負載太大的情況下仍然會有啟動不了的現象)
為了防止出現失步和過沖的情況,我們通常會讓步進電機在低速啟動后再逐步提升速度,在加速過程中,最好的是S型加速,S型加速的加速度是線性的,這對于機械和電機來說是最吻合其特性的。在實際的應用中,大多數是采用的線性加減速,這對于大多數的應用來說也是足夠了的。
步進電機的正反轉:
運控系統中的正反轉是很常用的方式,由于步進電機沒有帶反饋裝置,所以步進電機不適合高速的正反轉,一般而言,在空載的情況下行程在100個脈沖往反轉,步進電機的正反轉頻率只能達到10次/秒以下(大多數的在5次/秒以下),伺服電機的正反轉頻率可以達到50次/秒以下(剛性要調得比較高)。不同廠商的電機不同,主要與慣量的大小有關系。
正反轉時,需要很好的加減速控制的支持,否則會出現失步和過沖的情況,伺服系統還會出現還沒到位就開始反轉的情況。
在實際的應用之中我們還常用接近開關、光電開關、編碼器、光柵尺來與步進電機配合完成位置控制。這些方法中可以分為兩大類一類是開關型定位,一類是坐標定位。
開關型定位:
包括接近開關、光電開關、接觸開關等,這些開關最常用的是安置在原點,用來標零和消除累積誤差。這些系統在上電后一般都有找原點的動作過程,通常都是上電后向一個方向運動找到原點后標定原點坐標,然后開始正常工作。
坐標定位:
這一類的控制采用編碼器、光柵尺、電子尺(模擬電壓接口)之類的,其中又分為絕對編碼和相對編碼兩類,顧名思義絕對編碼的輸出信號是絕對坐標,通常是并行的總線,而相對編碼的輸出信號只是串行的脈沖信號,因為絕對編碼器比較貴,所以大多數的現場都使用相對編碼。
相對編碼的信號有AB相、方向脈沖、上下脈沖三大類
AB相又分為*1、*2、*4三種細分方式,*1,表示AB相各來一個脈沖計數值加或減1,*2表示AB相的任一上升沿加或減1,*4表示AB相的任一脈沖的上升沿或者下降沿均加或減1。V80的AB相脈沖計數方式只支持*4的細分方式。
大多數的編碼器均是AB相的信號,或者是ABZ信號,ABZ信號相對于AB相信號多了一個Z信號線,用來標示編碼器的零點,編碼器每轉一圈出一個脈沖。
電子尺:
電子尺多用在各種距離計量的裝備上面,比方說注塑機的射膠電子尺、合模電子尺等。電子尺可采用脈沖接口或者模擬量接口(電位器),PLC需要通過模擬量輸入模塊來采樣,但是大多數PLC的模擬量輸入模塊的響應速度太慢無法滿足現場的要求(通常的采樣周期在100mS左右)。V80的高速模擬量擴展模塊E6MAD可以達到mS的采樣周期,所以可以用來實現高速的模擬量電子尺接口。
基本上大多數運動控制都可以由上面的功能組合而成,對這些概念有一個基本的認識是正確使用運動控制功能的前提。
21.2、V80的運動控制功能:
V80對運動控制有著強大的支持:
硬高速計數:2路ABZ脈沖、方向脈沖、上下脈沖;速度50KHZ;(增強型V80)
軟高速計數:6路方向脈沖;單路可以達到10KHZ,6路可以達到2KHZ;(所有V80)
高速脈沖輸出:2路PTO;速度50KHZ;(增強型V80)
定時中斷:2路;(所有V80)
外部DI中斷:6路;(所有V80)
以上的功能都是在運動控制中比較常用的功能,用戶在使用過程中需要合理的選擇的使用這些功能。
21.3、硬高速計數:
V80系列PLC中具有增強功能(用“/S”表示)的CPU本體單元提供2組通道的高速計數器功能,可以記錄輸入頻率最大為50kHz的高速脈沖,而不影響CPU性能。V80可支持3種不同的輸入類型(A-B相,方向脈沖和上下脈沖),外部觸發可設置為計數器復位和啟/停控制。
其特性如下:
l 2個輸入通道(輸入頻率最大為50kHz,2路獨立的ABZ、上下、方向模式);
l 帶有測頻率的功能
l 高速計數輸入接口與普通I/O口復用,對應關系分別為:DI輸入端01對應于第一路高速計數的A1相、02-B1相、03-Z1、04-A2相、05-B2相、06-Z2。其中,01~06為普通I/O口,A1、B1相和A2、B2相以及Z1、Z2為高速計數輸入接口;
l 3種輸入類型 (A-B相, 方向脈沖和上下脈沖);
l 32位硬件計數器;
l 輸入電平DC 20V~26V(50KHz),DC9V~26V(10KHz以下);
l V80的兩路硬高速計數是不依賴于CPU軟件的,所以在使用時不會因為用戶程序的大小而影響速度;
l 在使用硬高速計數的同時這些IO口的DI功能并不受影響;
Z線為外部觸發信號,可以設置為三種方式:高速計數無效(此時,I/O接口01~06僅作為普通I/O口使用)、暫??刂坪蛷臀豢刂?。
高速計數支持比較和飽和兩種計數模式。
l比較模式:從預置值開始計數,計數值到達上下限時,復位計數值為預置值,并繼續計數,此時,在高速計數運行指令(HSCRUN)會輸出一個計數溢出標志。
l飽和模式:計數值到達上下限時,計數器就會因飽和而停止計數。如果停止計數后,出現反向脈沖輸入時(如圖2.17所示),計數器就會脫離飽和狀態而進行逆向計數,即,由原來的計數值遞增變為遞減,或由原來的計數值遞減變為遞增。
高速計數信號對應與工作模式表:
硬高速計數的功能塊描述請參見《V80系列PLC軟件手冊》,包括高速計數設置功能塊HSCSET和高速計數運行功能塊HSCRUN,前者主要用于設置高速計數的工作模式,后者用于啟動和停止高速計數器,同時還可以顯示當前脈沖的頻率。在高速計數運行前必需運行一次設置功能塊。
21.4、脈沖輸出:
V80系列PLC中具有增強功能(用“/S”表示)的CPU本體單元提供2個通道(P1和P2)的高速脈沖輸出(PTO)功能(必須在V+和V-端子另加外部24V的電源),每個脈沖輸出通道都可以單獨產生高速脈沖串輸出(PTO-Pulse TrainOutput)或產生脈沖寬度調制輸出(PWM-Pulse Width Modulated)。
高速脈沖輸出特性如下:
l 2個輸出通道(最大輸出頻率: 50kHz)
l 2種輸出類型 (可獨立設置為PTO和PWM)
l 32位脈沖輸出數據
l 輸出電平為DC 18V~24V(V+和V-輸入電壓范圍為DC 24V±15%)
l 每一路PTO輸出都可綁定一個普通I/O作為方向信號
l 可綁定高速計數的外部觸發(Z線)信號作為快速硬件暫停使能信號
(1) PTO輸出方式
PTO輸出方式的脈沖輸出占空比為50%,并可設置輸出的脈沖數量和周期時間。可選擇us和ms兩種基準時間,脈沖周期設置范圍為1~65535個基準時間。PTO方式又分為普通、平滑和多段三種工作模式。
普通模式:32位脈沖數輸出(即1到4,294,967,295),具有兩段接續輸出功能,在當前段輸出的同時可預先設置下一段參數,當前段輸出完成后接續輸出下一段。雖然該模式具有綁定普通I/O作為方向信號的功能,但不適宜于高速大慣量的系統中應用。
平滑模式:性能與普通模式基本相同,但增加了專門針對電機應用的起動平滑和段間平滑功能。用戶只要設定每一段的起始脈沖周期和目標脈沖周期,系統則會在兩者之間插入一個平滑段,達到讓電機平穩過渡的目的。用戶還可選擇系統自動平滑功能,只需要設定段起始周期為0即可。該模式適用于輸出脈沖數多、無頻繁啟停及對起動特性要求低的場合。
多段模式:與前兩種模式不同,多段模式每一段最大只能允許65535個脈沖輸出,最大可設置256段。每一段均可獨立設置起始周期、遞進步長、遞進間隔、脈沖數及方向信號。利用多段模式輸出指令可以實現多個序列脈沖組成的脈沖包絡輸出,以控制步進電機來完成各種復雜的運動曲線,較適用于輸出脈沖數較少、啟停頻繁及對起動特性要求較高的場合。
具體的使用方式請參見軟硬件手冊。
(2) PWM輸出方式
PWM輸出方式的脈沖輸出占空比、周期均為可調節,但無法設置輸出脈沖數。周期和脈沖寬度可選擇us和ms兩種基準時間,脈沖周期范圍為1到65535個基準時間,脈沖寬度范圍為0到65535個基準時間。
PWM可以用來做為連續可變頻率的脈沖輸出、高精度的溫控、比例閥控制、甚至可以在加了阻容濾波后充當精度不高的模擬量電壓輸出。
具體的使用方式請參見軟硬件手冊。
21.4、軟高速計數:
特性:
1)軟高速計數默認接在DI的前6路,對應于DI從00001~00006;
2)軟高速計數是以軟件中斷方式進行的一種高速計數方式,使用時對程序的正常掃描時間會產生一定的延時影響。
3)最大計數頻率受通道數影響,為了保證脈沖不會丟失,一般單通道計數不宜超過10K,6通道一起計數不宜超過2K。
4)軟高速計數帶有測頻率的功能
評論
查看更多