【正文】
If (ShowGrid) Then If LineType = TYPE_LINE Then = GridColor For X = 0 To pBoxWidth 1 Step ((pBoxWidth 1) / (VertSplits + 1)) const_tolerance (X, 0)(X, pBoxHeight) Next For Y = 0 To pBoxHeight 1 Step ((pBoxHeight 1) / (HorzSplits + 1)) const_tolerance (0, Y)(pBoxWidth, Y) Next End If If LineType = TYPE_POINT Then = GridColor For X = 0 To pBoxWidth 1 Step ((pBoxWidth 1) / (VertSplits + 1)) const_tolerance For Y = 0 To pBoxHeight (X, Y) Next Next For X = 0 To pBoxHeight 1 Step ((pBoxHeight 1) / (HorzSplits + 1)) const_tolerance For Y = 0 To pBoxWidth (Y, X) Next Next End If End If End Sub下面是定義一個(gè)創(chuàng)建七段碼的類,在picture中。用來(lái)測(cè)試類是否已經(jīng)被初始化 End Function Public Sub RePaint() Dim X As Single Dim Y As Single If PBox Is Nothing Then Exit Sub End If 39。測(cè)試GColor有沒(méi)有值,如沒(méi)有則, GridColor = RGB(0, 130, 0) 39。設(shè)置顏色 ShowGrid = SGrid 39。誤差 Public Function InitDrawLine(pB As PictureBox, LColor As Long, SGrid As Boolean, Optional GColor As Variant) = vbPixels 39。e?計(jì)算A、B、C值U(k)=Uk1+AEkBEk1Uk=Uk1+AEkBEk1+CEk2返回Ek2=Ek1,Ek1=Ek增量型PID算式程序流程圖以下是最能體現(xiàn)面向?qū)ο蟪绦蛘Z(yǔ)言的類,它們與面向過(guò)程的編程有了本質(zhì)的區(qū)別下面是一個(gè)畫(huà)珊格的類 Public HorzSplits As Long Public VertSplits As Long Private GridColor As Long Private ShowGrid As Boolean Private PBox As PictureBox Private pBoxHeight As Long Private pBoxWidth As Long Private GridPosition As Long Public Enum DrawLineType TYPE_LINE = 0 TYPE_POINT = 1 End Enum Public LineType As DrawLineType 39。Uk,Uk1,E,Ek,Ek1,Ek2是全局變量,記錄歷史數(shù)據(jù) EK2 = EK1 EK1 = EK PIDAdjust = Uk 39。對(duì)輸出進(jìn)行調(diào)理,實(shí)際使用時(shí)靈活掌握。分離積分 A = Kp * (1 + 1 / Ti + Td) B = Kp * (1 + 2 * Td) C = Kp * Td 39。壓力設(shè)定值 PV = data 39。把二十個(gè)數(shù)據(jù)由大到小排列 For i1 = 1 To 4 For i2 = 0 To 19 For i3 = i2 To 20 If data(i1, i2) data(i1, i2 + 1) Then temp = data(i1, i2) data(i1, i2) = data(i1, i2 + 1) data(i1, i2 + 1) = temp End If Next Next 39。1DT狀態(tài),接在0端口上 did(1) = pci7484di(hplx, False, 1) 39。延時(shí)時(shí)間需要調(diào)整 s = 100 Next Next i 39。延時(shí)時(shí)間需要調(diào)整 s = 100 Next data(4, i) = pci7484ad(hplx, False, 3, 32000) 39。延時(shí)時(shí)間需要調(diào)整 s = 100 Next data(3, i) = pci7484ad(hplx, False, 2, 32000) 39。延時(shí)時(shí)間需要調(diào)整 s = 100 Next data(2, i) = pci7484ad(hplx, False, 1, 32000) 39。: hplx = 0 hplx = pci7484check(0, 0, False) For i = 0 To 20 data(1, i) = pci7484ad(hplx, False, 0, 32000) 39。應(yīng)用程序默認(rèn)調(diào)用hplx=PCI7484close(hplx)。Declare Sub pci7484do Lib (ByVal hplx As Long, ByVal addr As Boolean, ByVal ch%, ByVal data%)Hplx為句柄,addr默認(rèn)為false,ch為組號(hào)(01)對(duì)應(yīng)板上2組(每組8路)共16路通道,data為某組將要輸出的開(kāi)關(guān)量值(00FF)。Declare Sub pci7484da Lib (ByVal hplx As Long, ByVal addr As Boolean, ByVal data%, ByVal ch%)hplx為句柄,addr默認(rèn)為false,ch(03)為板上4個(gè)DA通道,data為某要輸出的電壓數(shù)字量值(000FFF)。應(yīng)用程序默認(rèn)調(diào)用hplx=PCI7484check(0,0,false)即可。在試運(yùn)行時(shí),加工過(guò)程中都可以以不同的方式增強(qiáng)了與用戶的交互性。另外利用七段碼技術(shù)模擬儀器顯示,使顯示效果得到了增強(qiáng)。在壓力圖中反映出不同的階段系統(tǒng)的壓力值。在設(shè)定好之后自動(dòng)生成備份文件,這樣加工過(guò)程中既可以現(xiàn)場(chǎng)加工,也可以作為資料以后調(diào)用,不但做到了成型機(jī)加工的靈活性特點(diǎn),而且逼免了工業(yè)計(jì)算機(jī)的加工產(chǎn)品單一的缸點(diǎn)。 下圖是通過(guò)圖設(shè)定加工曲線的界面:由上圖可以輸入5個(gè)在壓力成型過(guò)程中的關(guān)鍵點(diǎn)來(lái)確定壓力機(jī)的加工工藝流程。6. 可在線檢測(cè)各項(xiàng)參數(shù)值。4. 采用數(shù)字PID算法,并可在線修改控制參數(shù)。2. 通過(guò)軟件可設(shè)定成型曲線。 由前面的分析可得,控制系統(tǒng)的程序流程圖如下:設(shè)定位移值m(u0)開(kāi)始檢測(cè)位移傳感器值u1u0是否等于u1 N Y原位停止等待再次輸入位移值 位置控制系統(tǒng)軟件流程圖開(kāi)始設(shè)定壓力值P0,輸入工件壁厚S0,保壓延時(shí)時(shí)間t秒,讀壓力、位移傳感器值讀1DT、2DT的狀態(tài),讀壓力表的值 檢測(cè)壓力傳感器的當(dāng)前值P1 PID控制輸出控制電壓UkP1是否等于P0` N Y記錄位移傳感器值S1S2=S1+S0 檢測(cè)位移傳感器值u1S2S1是否等于S0S2=S1+S0記錄位移傳感器值S1檢測(cè)位移傳感器值S1PID控制輸出控制電壓UkS2S1是否等于S0記錄當(dāng)前壓力值P2延時(shí)保壓t秒設(shè)定退出的位置S3=S0檢測(cè)位移傳感器值U2S是否等于S3 N Y原位停止 壓力機(jī)工況程序流程圖 結(jié)束結(jié)束是否定時(shí)到P1是否等于P2向系統(tǒng)供油 N Y N Y延時(shí)保壓程序流程圖:本軟件是壓力成型機(jī)的計(jì)算機(jī)控制系統(tǒng)。在一個(gè)采樣間隔里,采樣20次進(jìn)行平滑濾波,以減小振動(dòng),噪聲對(duì)系統(tǒng)穩(wěn)定性的影響,從而達(dá)到較滿意的控制效果。實(shí)時(shí)控制、數(shù)據(jù)采集利用動(dòng)態(tài)鏈接庫(kù)(DLL)直接讀取A/D卡上的數(shù)據(jù)。模擬量采樣速度達(dá)30000次/S,即使同時(shí)測(cè)量20點(diǎn),每一點(diǎn)的采樣頻率達(dá)300Hz的動(dòng)態(tài)測(cè)量,對(duì)壓力成型機(jī)來(lái)說(shuō)是足夠了。 數(shù)據(jù)采集壓力由壓力傳感器的模擬量輸出至PC機(jī)A/D轉(zhuǎn)換,位置由位移傳感器的模擬量輸出至PC機(jī)A/D轉(zhuǎn)換。寫(xiě)成計(jì)算式,可在積分項(xiàng)乘一個(gè)系數(shù)b,b按下式取值:采用增量式就是:有了上式便可編制出計(jì)算機(jī)的控制程序,其程序框圖如下所示:開(kāi)始取給定值r(k)和測(cè)量值c(k)e(k)=r(k)c(k)|e(k)| 163。2. 當(dāng)|e(k)| e時(shí),也即偏差值|e(k)|比較大時(shí),采用PD控制,可避免過(guò)大的超調(diào),又使系統(tǒng)有;較快的響應(yīng)。引進(jìn)積分分離PID控制處算法,既保持了積分作用,又減小了超調(diào)量,使得控制性能有了較大的改善。在普通的PID數(shù)字控制器中引入積分環(huán)節(jié)的目的,主要是為了消除靜差、提高精度。式中T采