




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第六章 控制系統(tǒng)示例 軋制壓力監(jiān)測系統(tǒng) 噴漆機(jī)械手控制系統(tǒng) 高位出鋼機(jī)控制系統(tǒng)軋制壓力監(jiān)測系統(tǒng) 系統(tǒng)功能介紹 系統(tǒng)硬件構(gòu)成 系統(tǒng)軟件設(shè)計(jì) 主要程序結(jié)構(gòu)軋制壓力監(jiān)測系統(tǒng)功能 功能 通過軋機(jī)立柱上的應(yīng)變式傳感器,檢測立柱的應(yīng)變,間接測量軋制壓力 安裝維護(hù)方便;成本低;精度差 問題 軋機(jī)立柱的熱應(yīng)變問題 解決方案 采用智能儀表(單片機(jī)系統(tǒng))作為下位機(jī),處理溫度影響:跟蹤應(yīng)變的變化規(guī)律,在每個(gè)道次軋制壓力測量前將數(shù)值清零,只取當(dāng)前軋制過程的變化值作為實(shí)測值。 智能儀表處理后的數(shù)據(jù)經(jīng)過串行通信送給計(jì)算機(jī)處理 計(jì)算機(jī)在軋制前將清零信號送給下位智能儀表 錄像軋制壓力監(jiān)測系統(tǒng)硬件構(gòu)成 傳感器 拉桿附著式軋制壓
2、力傳感器 智能儀表 通過串口輸出軋制壓力數(shù)值 直接通過模擬口輸出軋制壓力的模擬量表示 通過內(nèi)部參數(shù)設(shè)置,控制其工作方式 傳感器標(biāo)定;通信參數(shù)設(shè)置 計(jì)算機(jī) 利用串口接收智能儀表數(shù)據(jù)并發(fā)送清零信號 三線制連接(2、3、5) 一塊D/A轉(zhuǎn)換卡(BH5105) 將處理過的軋制壓力數(shù)據(jù)轉(zhuǎn)換成模擬量送給其它系統(tǒng)使用 一塊數(shù)字IO卡(DIO64) 將每道次的軋制壓力數(shù)據(jù)送給操作臺(tái) LED顯示器 在操作臺(tái)顯示每道次軋制壓力附著式傳感器 安裝 加預(yù)緊力 標(biāo)定軋制壓力監(jiān)測系統(tǒng)軟件設(shè)計(jì) 智能儀表輸出的軋制壓力數(shù)據(jù)格式 智能儀表接收數(shù)據(jù)格式 串口接收數(shù)據(jù)方法 主要功能程序段 參見源程序 產(chǎn)生數(shù)據(jù)庫 發(fā)送清零信號智能儀
3、表輸出數(shù)據(jù)格式 字節(jié)1:數(shù)據(jù)幀開始 字節(jié)2到7:數(shù)據(jù)字節(jié),分別為從低到高的各位十進(jìn)制數(shù)的ASCII碼,如1234噸軋制壓力,為34 33 32 31 30 30 字節(jié)8 字節(jié)9 字節(jié)10:數(shù)據(jù)幀結(jié)束(回車字符) 示例:FF 34 33 32 31 30 30 42 00 0D,表示1234噸FFh6字節(jié)數(shù)據(jù)位(ASCII字符)狀態(tài)字節(jié)1狀態(tài)字節(jié)20dh智能儀表接收數(shù)據(jù)格式 上位機(jī)給智能儀表發(fā)送的工作命令,相當(dāng)于直接按儀表上的對應(yīng)按鍵 清零 清除 峰值保持 單位鍵編號ASCII指令等效16進(jìn)制碼等效按鍵11(25h)(31h)置零鍵22(25h)(32h)清除鍵33(25h)(33h)峰值鍵44
4、(25h)(34h)單位鍵串口數(shù)據(jù)接收處理方法采用MSCOMM控件接收串口數(shù)據(jù)編寫控件的OnComm事件處理子程序接收數(shù)據(jù)將接收數(shù)據(jù)放入32000個(gè)字節(jié)的循環(huán)緩沖區(qū)中,并記錄數(shù)據(jù)寫入時(shí)的緩沖區(qū)位置指針采用普通定時(shí)器,定時(shí)判斷緩沖區(qū)寫指針與讀指針的差值,如果大于10,則處理緩沖區(qū)中數(shù)據(jù),記錄讀數(shù)據(jù)的位置指針計(jì)算軋制壓力,將其保存到3200個(gè)整型元素的軋制壓力緩沖區(qū),記錄寫指針將每個(gè)軋制壓力數(shù)據(jù)進(jìn)行D/A轉(zhuǎn)換輸出模擬量采用普通定時(shí)器,定時(shí)判斷軋制壓力緩沖區(qū)寫指針與讀指針的差值,如果大于0,就處理緩沖區(qū)中軋制壓力數(shù)據(jù),判斷是否開始或完成一個(gè)軋制道次若一個(gè)道次完成,繪制曲線,保存最大值和平均值。判斷是
5、否超載,如果超載,則將整個(gè)道次的數(shù)據(jù)保存,并發(fā)送聲光報(bào)警延時(shí)輸出清零信號串口數(shù)據(jù)的接收Private Sub MSComm1_OnComm(Index As Integer) With MSComm1(Index) Select Case .CommEvent Case comEvReceive NumOfReceived = .InBufferCount - 1 S2 = .Input For i = 0 To NumOfReceived Combuffer1(Index, Position1(Index) = S2(i) Position1(Index) = Position1(Index
6、) + 1 If Position1(Index) ComBufferLength Then Position1(Index) = 0 Next i Label6(Index).Caption = Position1(Index) .InBufferCount = 0 End Select End WithEnd Sub軋制壓力的計(jì)算 ValueOfForce(Index) = 0 For i = 0 To 5 ValueOfForce(Index) = ValueOfForce(Index) + (ReadData(Index, i + 1) - 48) * 10 i Next I 計(jì)算數(shù)據(jù)
7、字節(jié)部分的數(shù)值 UnitByte(Index) = ReadData(Index, 7): AA2 = &H80 For i = 0 To 7 AA1(i) = 0: If (UnitByte(Index) And AA2) = 0 Then AA1(i) = 1: AA2 = AA2 / 2 Next i UnitFactor = 0.001判斷單位乘數(shù) If AA1(0) = 1 Then UnitFactor = 1000 If AA1(1) = 1 Then UnitFactor = 1 If AA1(2) = 1 Then FactorIndex = 3: UnitFacto
8、r = 1 End If For i = 5 To 7 判斷軋制壓力單位 If AA1(i) = 1 Then FactorIndex = i - 5 Next i StatusByte(Index) = ReadData(Index, 8)判斷正負(fù) PositionOfPoint(Index) = StatusByte(Index) And &H7 ValueOfForce(Index) = ValueOfForce(Index) / 10 (PositionOfPoint(Index) - 1) ValueOfForce(Index) = ValueOfForce(Index) *
9、 UnitFactor * Factor1(FactorIndex) If (StatusByte(Index) And &H80) 0 Then ValueOfForce(Index) = -ValueOfForce(Index) Factor1(0) = 0.10204 Factor1(1) = 1 Factor1(2) = 0.01153軋制道次的判斷(一) If UsableDataFlag(Index) = False Then 判斷是否開始軋制過程 If CheckDataFlag(Index) = True Then If ForceBuffer(Index, ReadI
10、pOfForce(Index) SParameter.CheckTimes Then UsableDataFlag(Index) = True: CheckDataNum(Index) = 0 End If 連續(xù)N次大于比較值,則認(rèn)為進(jìn)入了軋制過程 End If If ForceBuffer(Index, ReadIpOfForce(Index) = SParameter.TriggerForce And CheckDataFlag(Index) = False Then OneSignalFlag = OneSignalFlag + 1: CheckDataFlag(Index) = Tru
11、e AnotherPort = IIf(Index = 0, 1, 0) BeginPosition(Index) = ReadIpOfForce(Index) If OneSignalFlag = 1 Then BeginPosition(AnotherPort) = ReadIpOfForce(AnotherPort) CheckDataNum(Index) = 0 End If 軋制道次的判斷(二) Else 判斷是否結(jié)束軋制過程 If CheckDataFlag(Index) = True Then If ForceBuffer(Index, ReadIpOfForce(Index)
12、= SParameter.TriggerForce Then CheckDataFlag(Index) = False Else CheckDataNum(Index) = CheckDataNum(Index) + 1 End If If CheckDataNum(Index) SParameter.CheckTimes Then UsableDataFlag(Index) = False: EndPosition(Index) = ReadIpOfForce(Index) CheckDataFlag(Index) = False DatasOfDrawing(Index) = EndPos
13、ition(Index) - BeginPosition(Index) If DatasOfDrawing(Index) 0 Then DatasOfDrawing(Index) = DatasOfDrawing(Index) + ForceBufferLength ReadDataFlag(Index) = True: ReadIpOfForce(Index) = BeginPosition(Index) CheckDataNum(Index) = 0: Exit For End If End If If ForceBuffer(Index, ReadIpOfForce(Index) For
14、ceBufferLength Then ReadIpOfForce(Index) = 0 報(bào)警輸出 Singledata = MaxValue(0) For i = 0 To 3 ByteData(3 - i) = Singledata 10 (3 - i) Singledata = Singledata Mod 10 (3 - i) Next i If (AlarmFlag And &H1) 0 Then If SParameter.SoundAlarm = True And DelayFlag = False Then ByteData(3) = ByteData(3) + 8 聲
15、報(bào)警 If SParameter.LightAlarm = True Then ByteData(3) = ByteData(3) + 4 光報(bào)警 End If For i = 0 To 1 OutputDigitByte(i) = ByteData(2 * i + 1) * 16 + ByteData(2 * i) DIO_OutputByte SParameter.DioBaseAddress + i, OutputDigitByte(i) Next i 報(bào)警數(shù)據(jù)的保存 AlarmFileName1 = Trim(Str(SParameter.CurrentDataBaseIndex) +
16、 - + Trim(Str(SParameter.CurrentDataFileIndex) + .fad DataFileName1 = DataDirectory1 + Trim(Str(SParameter.CurrentDataBaseIndex) + - + Trim(Str(SParameter.CurrentDataFileIndex) + .fad Open DataFileName1 For Binary As #1 Put #1, , DatasOfDrawing(0) Put #1, , DatasOfDrawing(1) Put #1, , CurrentPassNo
17、Put #1, , DateOfSaveFile Put #1, , TimeOfSaveFile For i = 0 To 1 For j = 0 To DatasOfDrawing(i) - 1 Put #1, , ForceBuffer(i, j + OriginalIP(i) Next j Next i Put #1, , SParameter.UnitOfForce Close #1道次數(shù)據(jù)的保存 If SParameter.SaveFlag = True Then With Data1.Recordset .AddNew .Fields(0) = Time .Fields(1) =
18、 CurrentPassNo .Fields(2) = AlarmFlag If AlarmFlag 0 Or SParameter.SaveAllFlag = True Then .Fields(3) = SParameter.CurrentDataFileIndex For i = 0 To 1 .Fields(4 + 2 * i) = Val(Format$(MaxValue(i), 0.00) .Fields(4 + 2 * i + 1) = Val(Format$(AverageValue(i), 0.00) Next i .Update End WithEnd If曲線的繪制 Pi
19、cture1(Index).Cls Picture1(Index).Scale (0, ScaleOfY)-(RealPointsOfDrawing - 1, 0) Y = ForceBuffer(Index, ReadIpOfForce(Index) Picture1(Index).CurrentY = Y Picture1(Index).CurrentX = 0 ReadIpOfForce(Index) = ReadIpOfForce(Index) + 1 For j = 1 To DatasOfDrawing(Index) - 1 Y = ForceBuffer(Index, ReadI
20、pOfForce(Index) Picture1(Index).Line -(j, Y), RGB(255, 0, 0) ReadIpOfForce(Index) = ReadIpOfForce(Index) + 1 If ReadIpOfForce(Index) ForceBufferLength Then ReadIpOfForce(Index) = 0 Next j Label8(Index).Caption = Format(DatasOfDrawing(Index) * 1000 / SParameter.PointPerSecond(Index), 0.0) & ms La
21、bel13(Index).Caption = ReadIpOfForce(Index) Label15(Index).Caption = Format(ScaleOfY, 0.#)噴漆機(jī)械手自動(dòng)控制系統(tǒng) 噴漆機(jī)械手系統(tǒng)功能 控制硬件組成 軟件設(shè)計(jì)噴漆機(jī)械手系統(tǒng)簡介 用途 代替人工對電視機(jī)等電器的機(jī)殼進(jìn)行噴漆處理 意義 減輕工人勞動(dòng)強(qiáng)度和污染 提高噴漆質(zhì)量 提高生產(chǎn)率 噴漆要求 著漆均勻,即要求速度均勻,加速度快,速度高 保證一定的漆厚度,即調(diào)整噴槍與著漆點(diǎn)距離 噴槍與著漆點(diǎn)之間要有一定的角度 節(jié)省漆 節(jié)省時(shí)間:采用雙槍操作 自由度要求:5個(gè)以上噴漆機(jī)械手硬件構(gòu)成 機(jī)械部分 支撐支架:兩點(diǎn)支撐到
22、四點(diǎn)支撐 傳動(dòng)部分 主槍X、Y、Z;副槍Y、Z;副槍旋轉(zhuǎn);工件旋轉(zhuǎn);工作臺(tái)旋轉(zhuǎn) 伺服電機(jī)或步進(jìn)電機(jī)通過減速機(jī)帶動(dòng)絲杠或皮帶傳動(dòng) 電氣控制部分 采用時(shí)光或安川伺服控制器控制相應(yīng)電機(jī) 由具有脈沖頻率輸出的板卡輸出指定頻率的脈沖給控制器,從而控制電機(jī)的運(yùn)行速度和距離;方向由數(shù)字量控制 采用數(shù)字口接收操作按鈕狀態(tài) 采用數(shù)字口控制噴槍的開關(guān)、漆量、扇面等 采用正交編碼計(jì)數(shù)器檢測電機(jī)的轉(zhuǎn)動(dòng)角度,換算成位移, 采用PWM波形或脈沖頻率輸出功能控制步進(jìn)電機(jī),方向由數(shù)字量控制噴槍機(jī)械手軟件設(shè)計(jì) 功能介紹 參數(shù)設(shè)置:IO口配置、傳動(dòng)參數(shù) 校零:6個(gè)電機(jī) 示教:新示教或追加示教 軌跡類型 噴槍控制 速度選擇 工作:
23、先歸工作零點(diǎn),再開始按定時(shí)器工作 修改或離線示教 主要模塊實(shí)現(xiàn)電機(jī)的控制 主運(yùn)動(dòng)電機(jī)控制: RetValue = Pcl836a1.DeviceOpen(0) MyDIOWriteBit i, Direction, 1 Pcl836a1.FreqOutStart Para.FreOutPort(i), AllRobotPulses1(CurrentStep - 1).Pulses(i) Pcl836a1.FreqOutReset Para.FreOutPort(2) Pcl836a1.DeviceClose 工件旋轉(zhuǎn)電機(jī)控制: MyDIOWriteBit WorkingTable + 6, 1
24、, 1 發(fā)送工件旋轉(zhuǎn)信號 RotateTimeout = False Timer9.Enabled = True Do Command15.Caption = 旋轉(zhuǎn) MyDIOReadBit 13 + WorkingTable, WorkRotateComplete, 1 If WorkRotateComplete = 0 Or EnableAutoWorking = False Or RotateTimeout = True Then Exit Do X = DoEvents() Loop運(yùn)動(dòng)位置的檢測 采用正交編碼計(jì)數(shù)器: ErrCode = DRV_DeviceOpen(0, DHand
25、le) 初始化正交編碼計(jì)數(shù)器i For i = StartNo To EndNo ErrCode = DRV_QCounterRead(DHandle, QRead(MyCounterConfig(i - 1).InBitIndex) DetectCurrentPulses.Pulses(i - 1) = HighValue(MyCounterConfig(i - 1).InBitIndex) * 65536 2 + LowerValue(MyCounterConfig(i - 1).InBitIndex) If DetectCurrentPulses.Pulses(i - 1) = 0 Th
26、en DetectCurrentPulses.Pulses(i - 1) = Para.ZeroPulses(i - 1) If LowerValue(MyCounterConfig(i - 1).InBitIndex) = 0 Then ErrPulses = ErrPulses + 1 Next I 采用串口(485轉(zhuǎn)換)正交編碼計(jì)數(shù)器的初始化 For i = 0 To 2 QConfig(i).counter = i QConfig(i).LatchSrc = 0 QConfig(i).ResetValue = 1 QConfig(i).ResetOnLatch = 0 QConfig(i).LatchOverflow = 0 ErrCode = DRV_QCounterConfig(DHandle, QConfig(i) QStart(i).counter = i QStart(i).InputMode = 3 ErrCode = DRV_QCounterStart(DHandle, QStart
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年石英玻璃管(棒)項(xiàng)目發(fā)展計(jì)劃
- 2025年衛(wèi)星整流罩合作協(xié)議書
- 2025年GSM和CDMA制移動(dòng)通信檢測設(shè)備項(xiàng)目發(fā)展計(jì)劃
- 耐心資本與創(chuàng)新投入對企業(yè)績效的協(xié)同效應(yīng)研究
- 2025年嘉興桐鄉(xiāng)市機(jī)關(guān)事業(yè)單位選調(diào)考試試題【答案】
- 2025年增敏化學(xué)發(fā)光免疫分析儀項(xiàng)目發(fā)展計(jì)劃
- 2025年高壓清洗車合作協(xié)議書
- 智能教室的硬件設(shè)備與技術(shù)要求
- 教育政策的跨領(lǐng)域影響與未來趨勢
- 2025年金太陽廣東省物理高二下期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 醫(yī)療機(jī)構(gòu)保潔人員培訓(xùn)
- 企業(yè)員工健康促進(jìn)計(jì)劃的設(shè)計(jì)與實(shí)施
- 助理工程師答辯演示
- 急性而短暫的精神病性障礙個(gè)案護(hù)理
- 成人失禁相關(guān)性皮炎的預(yù)防與護(hù)理-護(hù)理團(tuán)標(biāo)
- 裝載機(jī)的基礎(chǔ)知識(shí)-裝載機(jī)的結(jié)構(gòu)及儀表
- 現(xiàn)代低壓電器技術(shù) 課件 2. 常見低壓電器
- 浙江天垣新型墻體材料有限公司年產(chǎn)40萬立方米ALC板材項(xiàng)目環(huán)境影響報(bào)告
- 《義務(wù)教育物理課程標(biāo)準(zhǔn)》測試題及答案【共兩套】完整詳細(xì)2022版
- 放射事件應(yīng)急處理預(yù)案牙科
- GSV2.0反恐安全管理手冊
評論
0/150
提交評論