【正文】
式伺服系統(tǒng)中的校正環(huán)節(jié)。其有關(guān)控制理論用到了離散控制理論來解決。其作用相當(dāng)于每隔一采樣周期T,采樣開關(guān)閉合一次,其閉合時間τ相對于是T非常短暫。 其中的K=0,1,2當(dāng)被采樣信號是連續(xù)的模擬信號時,由采樣得到的每一個脈沖信號仍然是模擬量。因此計算機(jī)在進(jìn)行采樣之前,先要通過A/D轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號,這個過程稱為量化。我們采用位數(shù)為N=12的A/D轉(zhuǎn)器來對電壓在0至10V之間的模擬信號進(jìn)行量化,這時A/D轉(zhuǎn)換器輸出的二進(jìn)制數(shù)字信號便只能是從000H到FFFH當(dāng)中的某一個整數(shù)。于是,A/D轉(zhuǎn)換器的量化單位是:q=M/(2N1)=10V/4095=D/A轉(zhuǎn)換器和零階保持器從計算機(jī)輸出的控制信號是并行二進(jìn)制的數(shù)字脈沖信號,這種脈沖信號也是按采樣周期T一次次地發(fā)出的。計算機(jī)輸出的信號需要經(jīng)過D/A轉(zhuǎn)換器和保持器的變換才能輸入到模擬式的控制對象。目前最常用的是零階保持器。在實際結(jié)構(gòu)中的D/A轉(zhuǎn)換器和保持器是合成一體的。計算機(jī)控制伺服系統(tǒng)中,其反饋傳感器是比例環(huán)節(jié),在經(jīng)過調(diào)整后可以繪制成以傳遞函數(shù)和脈沖函數(shù)表示的方框圖。因此系統(tǒng)的綜合與設(shè)計任務(wù),主要就是確定計算機(jī)脈沖傳遞函數(shù)D(z),使系統(tǒng)的品質(zhì)符合設(shè)計要求。在開始設(shè)計時,先將D(z)作為比例環(huán)節(jié),選用適當(dāng)?shù)牟蓸又芷赥,然后檢查系統(tǒng)的穩(wěn)定性。一般來說,T過大會使系統(tǒng)不穩(wěn)定;但T小到一定程度后再減小便沒有必要,只能加重計算機(jī)的負(fù)擔(dān)。 采樣周期的選擇,一般是根據(jù)香農(nóng)定理確定采樣周期 式中: T——采樣周期; Wmax——信號頻率的最高角頻率。由于控制系統(tǒng)有慣性,系統(tǒng)輸出量往往不能復(fù)現(xiàn)輸入量,因此實際先用的采樣周期可大于用香農(nóng)采樣定理所確定的采樣周期。若ts 為連續(xù)系統(tǒng)單位階躍響應(yīng)中允話誤差Δ=,采樣 周期可取按經(jīng)驗k可取6~15。數(shù)字PID的設(shè)計及實現(xiàn)在連續(xù)控制系統(tǒng)中,PID調(diào)節(jié)器的表達(dá)式為:式中 e(t)=x(t)y(t) 是輸入PID調(diào)節(jié)器誤差信號,亦即系統(tǒng)的輸入信號x(t) 與反饋信號y(t)之差;u(t)是PID調(diào)節(jié)器的輸出信號;Kp、Ki和Kd分別為PID調(diào)節(jié)器的比例系數(shù)、積分系數(shù)和微分系數(shù)。在這樣做的目的是對調(diào)節(jié)器中的積部分常采用矩形近似法或梯形近似法。便得出數(shù)字PID調(diào)節(jié)器的差分方程。把上在的式子進(jìn)一步變形可得:式中: 位置控制時,校正傳遞函數(shù)為: Kp= Ti=壓力機(jī)控制時,校正傳遞函數(shù)為:Kp= Ti= Td=在這里采用的控制算法是改進(jìn)的數(shù)字PID控制算法,積分分離的PID控制算法。但在過程的啟動、結(jié)束或大幅度增減設(shè)定值時,短時間內(nèi)系統(tǒng)的輸出有很大的偏差,會造成PID運算的積分積累,致使算得的控制量超過執(zhí)行機(jī)構(gòu)可能最大動作范圍對應(yīng)的極限控制量,最終引起系統(tǒng)較大的超調(diào),甚至引起系統(tǒng)的振蕩,這是生產(chǎn)過程中絕對不允許的。其具體實現(xiàn)如下:1. 根據(jù)實際情況,人為設(shè)定一閾值e0。3. 當(dāng)|e(k)|〈=e時,也即偏差值|e(k)|比較小時,采用PID控制,可保證系統(tǒng)的控制精度。e?U(k)=A’e(k)f(k1)U(k)=Ae(k)+g(k1)g(k)=u(k)Be(k)+Ce(k1)f(k)=B’e(k)輸出U(k)g(k)g(k1)g(k)f(k1)e(k)e(k1)返回積分分離PID控制算法程序框圖c(k) 2 1 εC0(k) ε KT 積分分離PID控制效果由上圖可見,采用積分分離PID控制算法之后使得控制系統(tǒng)的性能有了較大改善。閥的開度由D/A轉(zhuǎn)換器輸出來控制。 數(shù)據(jù)處理通過編程實現(xiàn),數(shù)據(jù)處理的程序用VB編寫。由于壓力控制時的壓力變化比較慢,,是合適的。然后經(jīng)過判斷,進(jìn)入數(shù)字PID控制器進(jìn)行校正,從D/A轉(zhuǎn)換器輸出控制結(jié)果,去控制電液比例伺服閥的開度。它具有的功能包括:1. 可完成位置控制和壓力機(jī)控制二項功能。3. 自動完成成型過程。5. 采用數(shù)字濾波技術(shù),提高了抗干擾、噪聲的功能。7. 利用可視化界面增強(qiáng)了交互性。這樣既直觀,又容易操作,交互性好。 下圖是成型機(jī)自動完成成型過程的控制界面: 該項功能可以動態(tài)測試出成型機(jī)在加工過程是的位置和控制壓力的變化情況,同時和設(shè)定的理論曲線進(jìn)行比較,可以直觀的看出加工過程中,數(shù)字PID控制器的控制效果。并且通過在線調(diào)節(jié)參數(shù)設(shè)定框可以設(shè)定PID控制的三個參數(shù)、根據(jù)不同的工件材料設(shè)定不同的保壓時間。 下圖是在線檢測系統(tǒng)各項參數(shù)的當(dāng)前狀態(tài): 采用模擬儀表的顯示形式,隨時檢測液壓系統(tǒng)的各項參數(shù)。:VB調(diào)用動態(tài)鏈接庫的聲明:Declare Function pci7484check Lib (ByVal dwVendorID%, ByVal dwDeviceID%, ByVal fUseInt As Boolean) As Long此函數(shù)用于查找板卡,返回值為板卡句柄,對板卡調(diào)用開入天出函數(shù)前必須調(diào)用此函數(shù)。Declare Function pci7484ad Lib (ByVal hplx As Long, ByVal addr As Boolean, ByVal ch%, ByVal delay%) As Integer 此函數(shù)返回值為板卡某通道采集的數(shù)字量,應(yīng)用程序調(diào)用DATA=PCI7484ad(hplx,false,i),hplx為句柄,addr默認(rèn)為false,i通道號(015)對應(yīng)板上16路通道。Declare Function pci7484di Lib (ByVal hplx As Long, ByVal addr As Boolean, ByVal ch%) As Integer此函數(shù)返回值為板卡某組8通道此時輸入的開關(guān)量(00FF),hplx為句柄,addr默認(rèn)為false,ch為組號(01)對應(yīng)板上2組(每組8路)共16路通道。Declare Function pci7484close Lib (ByVal hplx As Long) As Integer此函數(shù)為關(guān)閉句柄函數(shù),返回值為1,對板卡調(diào)用開入開出函數(shù)后必須調(diào)用此函數(shù)歸還句柄。下面是的定義的變量: Public ch(16) As BooleanPublic delay As IntegerPublic hplx As LongPublic addr As BooleanPublic dwVendorID As IntegerPublic dwDeviceID As IntegerPublic fUseInt As Boolean調(diào)用函數(shù)時必須依照打開并找到板卡句柄使用板卡關(guān)閉并歸還句柄的順序來進(jìn)行,否則將會出現(xiàn)不可預(yù)知的錯誤。對通道0采樣,壓力傳感器 For j = 0 To 1000 39。對通道1采樣,位移傳感器 For j = 0 To 1000 39。對通道0采樣,壓力表1 For j = 0 To 1000 39。對通道1采樣,壓力表2 For j = 0 To 1000 39。讀入電磁鐵的狀態(tài) did(0) = pci7484di(hplx, False, 0) 39。2DT狀態(tài),接在1端口上 hplx = pci7484close(hplx) 39。去掉最大的和最小的,取平均值 For i3 = 1 To 18 average = data(i1, i3) + average Next i3 data(i1, 0) = format1(average / 18) Next i1data(1,0) = 6 * data(1, 0) * 5 / 4095 ‘壓力傳感器的值 data(2,0) = 20 * data(2, 0) * 10 / 4095 ‘位稱傳感器的值 data(3,0) = 6 * data(3, 0) * 5 / 4095 ‘壓力表1的值 data(4,0) = 6 * data(4, 0) * 5 / 4095 ‘壓力表2的值PID調(diào)節(jié)算法程序:Private Function PIDAdjust(ByVal pressure As Single, ByVal data As Single, ByVal max As Single) As Single Dim a As Single Dim B As Single Dim C As Single Dim SP As Single Dim PV As Single E = SP = pressure 39。本次采樣的壓力反饋值 EK = SP PV If Abs(EK) = E Then 39。計算控制參數(shù)A、B、C Else A = Kp * (1 + Td) B = Kp * Td C = 0 End If Uk = Uk1 +A * EK B * EK1 + C * EK2 If Int(Uk) = 0 Then Uk = 0 39。 If Int(Uk) max Then Uk = max Uk1 = Uk 39。返回輸出End Function Uk1=UkEK=SPPV取給定值SP和測量值PV開始輸出U(k)|Ek| 163。劃線的類型:線或點 Const const_tolerance = 39。設(shè)置象素 LineColor = LColor 39。顯示珊格 pBoxHeight = pBoxWidth = If IsMissing(GColor) Then 39。默認(rèn)值綠色 Else: GridColor = GColor End If Set PBox = pB 39。首先清除圖片,然后畫網(wǎng)格(如果有的話),最后畫線。Option Explicit Private Type Coordinate X As Integer Y As Integer End Type Dim BasePoint As Coordinate Dim SegWidth As Integer Dim SegHeight As Integer Dim p As PictureBox Property Let BackColor(Color As Long) = Color End Property Private Sub DrawNumber(Number As Integer) Select Case Number Case 0 DrawSegment(1):DrawSegment(2):DrawSegment(3)DrawSegment (4): DrawSegment (5): DrawSegment (6) Case 1 DrawSegment (2): DrawSegment (3) Case 2DrawSegment(1):DrawSegment(2):DrawSegment(7)DrawSegment (5): DrawSegment (4) Case 3DrawSegment(1):DrawSegment(2):DrawSegment(7)DrawSegment (3):DrawSegment (4) Case 4DrawSegment(2):DrawSegment(3):DrawSegment(7)DrawSegment (6) Case 5DrawSegment(1):DrawSegment(6):DrawSegment(7)DrawSegment (3):DrawSegment (4) Case 6DrawSegment(1):DrawSegment(6):DrawSegment(7)DrawSegment (3): DrawSegment (4): DrawSegment (5) Case 7 DrawSegment (1): DrawSegment (2):DrawSegment (3) Case 8DrawSegment(1):DrawSegme