版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
6.1工業(yè)計數(shù)器的設(shè)計能力目標(biāo):
認知工業(yè)自動化產(chǎn)品中的工業(yè)計數(shù)器,在理解的基礎(chǔ)上掌握其主要功能,并完成產(chǎn)品主要功能的設(shè)計。任務(wù)要求:繪制工業(yè)計數(shù)器的仿真電路,并完成STM32單片機程序的設(shè)計,要求實現(xiàn)如下功能:(1)采用5位計數(shù),即計數(shù)范圍為0~99999;(2)具備計數(shù)暫停/運行功能,通過按鈕實現(xiàn);(3)具備計數(shù)清零功能,通過按鈕實現(xiàn)。6.1.1工業(yè)計數(shù)器簡介
在工廠流水線上,經(jīng)常需要對產(chǎn)品個數(shù)進行計數(shù),這就需要用到計數(shù)裝置,通常實現(xiàn)的方法有兩種:
①利用PLC(ProgrammableLogicController,可編程邏輯控制器)進行計數(shù);
②利用獨立的計數(shù)模塊進行計數(shù)。(?)無論是采用PLC計數(shù),還是采用獨立的計數(shù)模塊進行計數(shù),都需要用到檢測傳感器。檢測傳感器種類很多,比如下圖所示是一種工作電壓為5V的三線式光電開關(guān)。
仿真的時候,可以用一個按鈕或者開關(guān)來模擬光電開關(guān)。6.1.2仿真電路的繪制①6位共陽極數(shù)碼管:★最高位用于顯示計數(shù)器工作狀態(tài)(暫停顯示“P.”/計數(shù)無顯示);★其余5位用于顯示當(dāng)前計數(shù)值。②左側(cè)從上到下三個按鈕:★第一個按鈕用于模擬光電開關(guān)的輸入;★第二個按鈕用于切換工作狀態(tài);★第三個按鈕用于清零計數(shù)值。6.1.3任務(wù)程序的編寫(現(xiàn)場操作演示…)Tobecontinued...6.2時間繼電器的設(shè)計能力目標(biāo):
認知工業(yè)自動化產(chǎn)品中的時間繼電器,在理解的基礎(chǔ)上掌握其主要功能,并完成產(chǎn)品主要功能的設(shè)計。任務(wù)要求:
繪制時間繼電器的仿真電路,并完成STM32單片機程序的設(shè)計,要求實現(xiàn)如下功能:(1)通電延時型時間繼電器,輸入開關(guān)量閉合后開始自動計時,計時完成后輸出常開觸點閉合、常閉觸點斷開,輸入開關(guān)量斷開后模塊恢復(fù)原狀;(2)計時范圍0.01秒~99小時59分;(3)計時設(shè)定值與當(dāng)前值均能顯示;(4)計時設(shè)定值通過按鈕輸入設(shè)定。6.2.1時間繼電器簡介時間繼電器根據(jù)其工作原理,可以分為機械式和電子式兩種:電子式時間繼電器(如右圖),四位數(shù)碼管用于顯示當(dāng)前計時時間,五位編碼開關(guān)用于設(shè)延時時長。編碼開關(guān)的第三位(即中間位)用于設(shè)定前兩位的延時單位,“H”表示小時,“M”表示分,“S”表示秒,其余四位則用于設(shè)定延時時長的數(shù)值,比如設(shè)定“12M34”,表示延時時長為12分34秒,比如設(shè)定“12S34”,表示延時時長為12.34秒,以此類推。6.2.2仿真電路的繪制
不妨在LCD1602第一行顯示設(shè)定參數(shù),第二行顯示當(dāng)前計時數(shù)據(jù)。仿真電路左側(cè)從上往下共有1個開關(guān)和6個按鈕,按鈕功能見右圖,開關(guān)同時連接到STM32單片機的PB0和PB1兩個引腳,這么做的目的是為了能讓PB0和PB1分別檢測開關(guān)動作的下降沿和上升沿,下降沿表示線圈得電,上升沿表示線圈失電。PD2輸出控制三極管Q1通斷,從而控制繼電器RL1工作。6.2.3任務(wù)程序的編寫(現(xiàn)場操作演示…)Tobecontinued...6.3遠程I/O模塊的設(shè)計能力目標(biāo):
認知工業(yè)自動化產(chǎn)品中的遠程I/O模塊,在理解的基礎(chǔ)上掌握其主要功能,并完成產(chǎn)品主要功能的設(shè)計。任務(wù)要求:
繪制遠程I/O模塊的仿真電路,并完成STM32單片機程序的設(shè)計,要求實現(xiàn)如下功能:(1)模塊具備4個數(shù)字量輸入和4個數(shù)字量輸出;(2)能與組態(tài)軟件(比如MCGS)、支持Modbus_RTU通信協(xié)議的PLC(比如三菱FX3U)配合實現(xiàn)遠程I/O控制。6.3.1遠程I/O模塊簡介遠程I/O模塊也叫分布式I/O模塊,顧名思義是一種能夠?qū)崿F(xiàn)遠距離I/O控制的自動化裝置。如下圖所示,PLC和遠程I/O掛在同一個總線上。遠程I/O模塊無需編寫程序,只需要設(shè)定好通信參數(shù)即可使用,可以看成是對PLC的I/O點的延伸或者擴充。
國外品牌的遠程I/O模塊,出于商業(yè)利益,只支持自家自動化產(chǎn)品,兼容型較差。
國產(chǎn)品牌的遠程I/O模塊,由于起步較晚,為了爭奪市場份額,采用通用型通信協(xié)議,兼容型較好。6.3.2CRC校驗
數(shù)據(jù)在傳遞過程中,由于環(huán)境干擾等因素收發(fā)數(shù)據(jù)的一致性往往得不到保證,因此常用的做法是對數(shù)據(jù)包進行校驗,如果通不過校驗,則將整個數(shù)據(jù)包丟棄。計算數(shù)據(jù)包校驗值添加校驗值到數(shù)據(jù)包末尾發(fā)送數(shù)據(jù)包接收數(shù)據(jù)包重新計算數(shù)據(jù)包校驗值與原校驗值比較繼續(xù)解析數(shù)據(jù)包丟棄數(shù)據(jù)包相同不同數(shù)據(jù)發(fā)送端:數(shù)據(jù)接收端:CRC(CyclicRedundancyCheck,循環(huán)冗余校驗)校驗是一種主流的數(shù)據(jù)校驗技術(shù),常用的CRC校驗有如下六種版本:●CRC-8●CRC-12●CRC-16(?)●CRC-CCITT●CRC-32●CRC-32C
在接下來介紹的Modbus_RTU通信協(xié)議中,我們會用到CRC-16校驗方式。
由于CRC校驗算法原理十分復(fù)雜,因此本課程不做深入介紹,僅提供校驗程序,讀者直接調(diào)用校驗碼生成函數(shù)即可。
(演示CRC校驗相關(guān)程序的使用方法)6.3.3Modbus_RTU概述Modbus協(xié)議是由美國modicon公司(現(xiàn)已被施耐德公司收購)于1979年提出的一種可用于工業(yè)現(xiàn)場的總線協(xié)議。Modbus協(xié)議僅定義了數(shù)據(jù)鏈路層協(xié)議,可用于RS-232、RS-422、RS-485等串行總線。Modbus協(xié)議分為Modbus_RTU(√本次任務(wù)選擇)、Modbus_ASCII(×不講)兩種,本教材僅介紹Modbus_RTU協(xié)議。
Modbus協(xié)議采用如圖所示一主多從式拓撲結(jié)構(gòu),主站對從站主動輪詢,從站被動應(yīng)答。Modbus通信數(shù)據(jù)包格式如圖所示,其中ADU(ApplicationDataUnit,應(yīng)用數(shù)據(jù)單元)即完整數(shù)據(jù)包,由1個字節(jié)的地址域、PDU(ProtocolDataUnit,協(xié)議數(shù)據(jù)單元)和2個字節(jié)的差錯校驗碼構(gòu)成。地址域即從站地址,差錯校驗碼即CRC-16校驗碼。
Modbus協(xié)議的功能本質(zhì)上就是主站對從站存儲單元的讀寫,從站存儲單元有兩類:
◆線圈(Coil),即布爾變量(Bit)
◆寄存器(register),即十六位無符號數(shù)據(jù)(Word)
(P.S:實際上,布爾變量還分為離散輸入(DiscretesInput,只讀)和線圈(Coil,讀寫)兩種,寄存器變量還分為輸入寄存器(InputRegister,只讀)和保持寄存器(HoldingRegister,讀寫)兩種,這里僅介紹線圈和保持寄存器兩種)功能碼代表了主站對從站存儲單元不同的讀寫行為,長度1個字節(jié),如下表所示。“讀(多個)線圈”指令,完整的指令格式如表所示。說明:◆地址域,由1個字節(jié)構(gòu)成,即Modbus從站地址,范圍0~247(248~255保留);
◆起始地址,由2個字節(jié)構(gòu)成,即第一個線圈的地址,范圍0000H~FFFFH;
◆線圈數(shù)量,由2個字節(jié)構(gòu)成,即從第一個線圈開始連續(xù)若干個線圈,范圍1~2000;
◆校驗碼,由兩個字節(jié)構(gòu)成,即CRC校驗碼;◆字節(jié)數(shù),由1個字節(jié)構(gòu)成,即后面記錄線圈狀態(tài)的字節(jié)的個數(shù);◆線圈狀態(tài),由N個字節(jié)構(gòu)成,每個字節(jié)記錄了8個線圈狀態(tài),“0”代表“OFF”狀態(tài),“1”代表“ON”狀態(tài)。
主站命令:地址域功能碼0x01起始地址H起始地址L線圈數(shù)量H線圈數(shù)量L校驗碼H校驗碼L從站響應(yīng):地址域功能碼0x01字節(jié)數(shù)線圈狀態(tài)(N個字節(jié))校驗碼H校驗碼L
下面是一個請求“讀線圈”20-38(Hex:0013H~0025H)的實例:
其中:
將輸出27~20的狀態(tài)表示為十六進制字節(jié)值CDH,或二進制11001101B;
在最后的數(shù)據(jù)字節(jié)中,將輸出狀態(tài)38-36表示為十六進制字節(jié)值05H,或二進制00000101B。線圈地址2726252423222120線圈狀態(tài)11001101線圈地址×××××383736線圈狀態(tài)00000101注意,這里不是從0014H~0026H“寫單個線圈”指令,完整的指令格式如表所示。說明:◆地址域,由1個字節(jié)構(gòu)成,即Modbus從站地址,范圍0~247(248~255保留);◆線圈地址,由2個字節(jié)構(gòu)成,即地址范圍為0x0000~0xFFFF;◆線圈狀態(tài),由2個字節(jié)構(gòu)成,0x0000代表“OFF”狀態(tài),0xFF00代表“ON”狀態(tài);◆校驗碼,由2個字節(jié)構(gòu)成,即CRC校驗碼。值得注意的是,“寫單個線圈”指令的從站響應(yīng)數(shù)據(jù)包格式與主站命令數(shù)據(jù)包格式完全相同。主站命令:地址域功能碼0x05線圈地址H線圈地址L線圈狀態(tài)H線圈狀態(tài)L校驗碼H校驗碼L從站響應(yīng):地址域功能碼0x05線圈地址H線圈地址L線圈狀態(tài)H線圈狀態(tài)L校驗碼H校驗碼L
下面是一個請求“寫單個線圈”
173(Hex:00ACH)的實例:
注意,這里不是00ADH6.3.4仿真電路的繪制為了保護單片機,遠程I/O模塊的輸入與輸出接口與單片機的GPIO引腳需要進行隔離設(shè)計,下面兩張圖分別是1路輸入隔離電路(左)和1路輸出隔離電路(右)。
為了提高電路仿真執(zhí)行效率,仿真時必須將隔離電路簡化。如下圖所示,仿真電路中,用按鈕模擬數(shù)字量輸入,用LED模擬數(shù)字量輸出。6.3.5任務(wù)程序的編寫
本次任務(wù)需要用到的新的API函數(shù)有:①HAL_UART_Transmit_IT
串口發(fā)送函數(shù)(帶中斷)例程://將數(shù)組dat中的第一個元素通過串口1發(fā)送并開中斷if(HAL_UART_Transmit_IT(&huart1,dat,1)!=HAL_OK){Error_Handler();}
②
HAL_UART_TxCpltCallback
串口發(fā)送完畢回調(diào)函數(shù)例程://串口1發(fā)送完畢回調(diào)voidHAL_UART_TxCpltCallback(UART_HandleTypeDef*huart){ if(huart==&huart1){…}}
本次任務(wù)中,需要用到兩個軟件:組態(tài)軟件“MCGS嵌入版”、“凌一”PLC模擬器
(1)MCGS嵌入版
MCGS嵌入版是用來組態(tài)“昆侖通態(tài)”觸摸屏的軟件,軟件使用免費,軟件自帶模擬器,因此可以利用模擬器來模擬觸摸屏的運行。沒有學(xué)過的同學(xué),可以直接調(diào)用筆者配置好的工程文件,值得注意的是,MCGS中Modbus線圈的地址不是從0開始,而是從0x0001開始,存在一個偏移量,如下圖所示。
(2)“凌一”PLC模擬器“‘凌一’PLC模擬器”是浙江臺州凌創(chuàng)科技有限公司推出的一款免費的三菱FX3UPLC的模擬器軟件(若用于商業(yè)用途,需付費),公司官網(wǎng)鏈接:/Modbus初始化指令表程序如左圖所示(軟件自動生成),完整的梯形圖參考程序如右圖所示。(現(xiàn)場操作演示…)Tobecontinued...6.4數(shù)字式遠程溫度傳感器的設(shè)計能力目標(biāo):
認知工業(yè)自動化產(chǎn)品中的數(shù)字式遠程溫度傳感器,在理解的基礎(chǔ)上掌握其主要功能,并完成產(chǎn)品主要功能的設(shè)計。任務(wù)要求:
繪制數(shù)字式遠程溫度傳感器的仿真電路,并完成STM32單片機程序的設(shè)計,要求實現(xiàn)如下功能:(1)能檢測0~40℃之間的溫度變化,分辨率1℃;(2)具備串口通信功能,支持Modbus_RTU通信協(xié)議。6.4.1遠程溫度傳感器簡介顧名思義,遠程溫度傳感器就是具備遠程數(shù)據(jù)傳送能力的溫度傳感器。
本次任務(wù),我們將設(shè)計一款利用熱敏電阻與ADC檢測溫度,并利用RS-485網(wǎng)絡(luò)傳送溫度值的遠程溫度傳感器。6.4.2熱敏電阻
熱敏電阻,顧名思義是一種對溫度敏感的特殊電阻元件,分為如下兩類:
①
PTC(PositiveTemperatureCoefficient,正溫度系數(shù))電阻②NTC(NegativeTemperatureCoefficient,負溫度系數(shù))電阻PTC特征曲線NTC特征曲線(
)
(?)NTC電阻的溫度和阻值之間的計算關(guān)系為:式中:
t——隨機溫度值(單位℃);
Rt——與溫度t對應(yīng)的阻值(單位Ω);
(t0,R0)——曲線上t0=25℃時的電阻阻值;
B——熱敏指數(shù)。
溫度轉(zhuǎn)換算法:
可由以下三步進行推算:
(由D計算Ut)
(由Ut計算Rt)
(由Rt計算t)
實際上STM32的CPU沒有這么強的計算能力,最后一步的對數(shù)運算必須借助于“泰勒級數(shù)”展開計算,運算效率太低,必須借助于“①查表法”+“②分段線性化”。
①查表法
由以下計算式,推算若干特征點數(shù)值②分段線性化
利用“分段線性化”來減輕CPU的計算負擔(dān),但誤差不可避免。
t-Rt關(guān)系Rt
-D關(guān)系t-D關(guān)系6.4.3DMA與ADC
DMA(DirectMemoryAccess,直接存儲器訪問)技術(shù)的作用在于提供外設(shè)與存儲器或者存儲器之間的高速數(shù)據(jù)傳遞,這一過程不經(jīng)過CPU干預(yù)。DMA支持的外設(shè)包括通用和高級定時器、ADC、SPI、I2C和USART,等等。
以ADC為例,比較阻塞方式、中斷方式、DMA方式三者間的區(qū)別:
顯然,DMA方式效率最高,ADC的轉(zhuǎn)換和存儲過程完全不需要CPU干預(yù),程序?qū)τ贏DC轉(zhuǎn)換的結(jié)果隨用隨取。工作方式阻塞方式中斷方式DMA方式CPU占用時間從開始轉(zhuǎn)換,直到轉(zhuǎn)換完畢,全程占用CPU轉(zhuǎn)換過程不占用CPU,直到轉(zhuǎn)換完畢才請求CPU處理轉(zhuǎn)換結(jié)果轉(zhuǎn)換過程不占用CPU,轉(zhuǎn)換結(jié)果自動存入指定內(nèi)存片段,全程不占用CPU6.4.4Modbus_RTU通信協(xié)議補充
本次任務(wù)將要用到的功能碼是“讀(多個)寄存器”?!白x寄存器”指令,完整的指令格式如表所示。說明:◆地址域,由1個字節(jié)構(gòu)成,即Modbus從站地址,范圍0~247(248~255保留);◆起始地址,由2個字節(jié)構(gòu)成,即第一個寄存器的地址,地址范圍為0x0000~0xFFFF;
◆寄存器數(shù)量,由2個字節(jié)構(gòu)成,即從第一個寄存器開始連續(xù)若干個寄存器,,范圍1~2000;◆校驗碼,由2個字節(jié)構(gòu)成,即CRC校驗碼;◆字節(jié)數(shù),由1個字節(jié)構(gòu)成,即寄存器數(shù)值占用的字節(jié)個數(shù)(N),注意寄存器長度是2個字節(jié);
◆寄存器數(shù)值,由N個字節(jié)構(gòu)成,是寄存器數(shù)量的2倍。主站命令:地址域功能碼0x03起始地址H起始地址L寄存器數(shù)量H寄存器數(shù)量L校驗碼H校驗碼L從站響應(yīng):地址域功能碼0x03字節(jié)數(shù)寄存器數(shù)值(N個字節(jié))校驗碼H校驗碼L
下面是“讀寄存器”108~110(Hex:006BH~006DH)的實例:
其中:
最后獲取的寄存器108~110的值分別是:022BH、0、0064H。注意,這里不是從006CH~006EH6.4.5仿真電路的繪制6.4.6任務(wù)程序的編寫首先確立ADC轉(zhuǎn)換的數(shù)字量與溫度值之間的關(guān)系,由仿真電路可知NTC電阻阻值Rt與ADC讀取數(shù)字量D之間的關(guān)系:式中,Dmax為數(shù)字量最大值,當(dāng)ADC設(shè)定為右對齊時,Dmax取0FFFH,當(dāng)ADC設(shè)定為左對齊時,Dmax取FFF0H。電路元器件參數(shù)取值如右圖所示。
借助于Excel建立t-Rt計算關(guān)系及Rt-D計算關(guān)系,最終得到t-D計算關(guān)系,如圖。
計算得到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 粽子生成課程設(shè)計意圖
- 二零二五版液化天然氣液化廠安全風(fēng)險評估合同3篇
- 2025年度個人寵物醫(yī)療貸款及還款服務(wù)協(xié)議4篇
- 2024年學(xué)校培訓(xùn)管理制度
- 2024年學(xué)校安全大排查大整治工作方案
- 2025年金融理財產(chǎn)品售后風(fēng)險控制合同2篇
- 2024行政復(fù)議案件調(diào)解與代理服務(wù)委托協(xié)議范本3篇
- 年度玉米酒精糟回收蛋白飼料成套設(shè)備(DDGS)市場分析及競爭策略分析報告
- 年度娛樂、游覽用船舶戰(zhàn)略市場規(guī)劃報告
- 2025年度個人屋頂防水隔熱一體化合同2篇
- 高考對聯(lián)題(對聯(lián)知識、高考真題及答案、對應(yīng)練習(xí)題)
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(含答案)
- 【律師承辦案件費用清單】(計時收費)模板
- 高中物理競賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語人教版
- 西方經(jīng)濟學(xué)-高鴻業(yè)-筆記
- 2024年上海市中考語文試題卷(含答案)
- 幼兒園美術(shù)教育研究策略國內(nèi)外
- 生豬養(yǎng)殖生產(chǎn)過程信息化與數(shù)字化管理
- (完整)六年級數(shù)學(xué)上冊寒假每天10道計算題5道應(yīng)用題
- (2024年)版ISO9001質(zhì)量管理體系培訓(xùn)教材
評論
0/150
提交評論