freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于modbus協(xié)議的溫度測控節(jié)點(diǎn)的設(shè)計(jì),畢業(yè)論文,畢業(yè)設(shè)計(jì),溫度測控,modbus協(xié)議-預(yù)覽頁

2024-12-26 03:29 上一頁面

下一頁面
 

【正文】 動(dòng)化和過程控制的發(fā)展方向。自70 年代以來,由于工業(yè)過程控制的需要,特別是微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展,國外溫度 測控 發(fā)展迅速,并在智能化、自適應(yīng)等方面取得顯著成果。由于產(chǎn)品的硬件構(gòu)成比較簡單,性能比較穩(wěn)定,功能比較強(qiáng)且造價(jià)比較低成為該產(chǎn)品的主要特點(diǎn),在國內(nèi)使用的 Modbus 產(chǎn)品大部分是國外產(chǎn)品,國內(nèi)很少有獨(dú)立的知識產(chǎn)權(quán),這是Modbus 產(chǎn)品在國內(nèi)的現(xiàn)狀。 第三章是硬件電路的設(shè)計(jì)和實(shí)現(xiàn),首先對設(shè)計(jì)方案的硬件部分進(jìn)行分模塊的介紹,包括硬件結(jié)構(gòu)、接口設(shè)計(jì)以及元器件功能的介紹說明。 外部電壓基準(zhǔn)源 為 REF3325 作為 電壓基準(zhǔn) 。 由于 節(jié)點(diǎn) 是在工業(yè)現(xiàn)場進(jìn)行遠(yuǎn)距離布線,所以在 設(shè)計(jì)RS485 總線 電路時(shí)特別 增加 了 電路 抗電磁干擾和防雷電等措施。 圖 21 單片機(jī) 系統(tǒng)框圖 由于實(shí)際應(yīng)用系統(tǒng)中,往往分散 節(jié)點(diǎn) 數(shù)量較多,分布較遠(yuǎn),現(xiàn)場存在各種干擾,為了減少對單片機(jī)系統(tǒng)的電磁干擾,在單片機(jī)與繼電器、單片機(jī)與 RS485 的通道上分別加了 光電隔離, 這就要求各電源模塊相互獨(dú)立,所以在 24V 轉(zhuǎn) 5V 的電源部分采用隔離穩(wěn)壓器以實(shí)現(xiàn)上述單片機(jī)供電、 RS485 供電和繼電器供電的完全隔離。 RS485 電路適用 于節(jié)點(diǎn)之間的通訊,其通訊速率預(yù)設(shè)低于 1Mb/s,距離小于1000 米,適用于戶外布線,這就存在雷擊、浪涌等電磁干擾,有時(shí)還會出現(xiàn) RS485信號線與電力線短路的情況,所以在設(shè)計(jì) RS485 電路時(shí),要求有抗雷擊、抗浪涌沖擊以及過 壓保護(hù) 等功能 。 溫度 檢測 電路 選擇 溫度檢測 選擇的原則:在滿足設(shè)計(jì)要求的基礎(chǔ)上,遵循設(shè)計(jì)的簡單可靠,電路的性價(jià)比高。 但是 DS18B20 價(jià)格較貴,并在軟件開發(fā)中發(fā)現(xiàn) DS18B20 單總線通訊對時(shí)序要求較高,占用較多 CPU 資源,造成了軟件開發(fā)的難度。C 到 +125176。 系統(tǒng)電源穩(wěn)定性 電 源是一個(gè)系統(tǒng)動(dòng)力源泉,其設(shè)計(jì)的好壞會直接影響到該設(shè)備的穩(wěn)定性??紤]到工業(yè)上常用直流電源為 24V,并且估算系統(tǒng)的最大工作電流小于 1A。綜上考慮,單片機(jī)電源選用 LM22680電路。 選用 STC12C5A60S2 單片機(jī)完全可以滿足本設(shè)計(jì)需求。C 之間的溫度 。C 時(shí)為 500mV, +25176。C, 允許在寬溫度范圍內(nèi)對預(yù)計(jì)溫度進(jìn)行測量 , TC1047 和 TC1047A 為 3 引腳 SOT23B 封裝 。 圖 33 溫度檢測電路 電源 電路 為了給單片機(jī)系統(tǒng)提供穩(wěn)定可靠的電源, 本設(shè)計(jì)采用國 半公司的 LM22680 系列穩(wěn)壓器電路。LM22680 系列產(chǎn)品具有內(nèi)置熱關(guān)斷和限流功能,而且有一個(gè)使能控制輸入端,可使穩(wěn)壓器休眠至靜態(tài)電流為 25 微安的 待機(jī)狀態(tài)。C 至 125176。 單片機(jī) 系統(tǒng)電源 電路如 圖 34 所示: 圖 34 單片機(jī)電源電路 為了減少現(xiàn)場對單片機(jī)的電磁干擾, 單片機(jī)電源、繼電器電源、 RS485 電源 要保證完全 獨(dú)立, 否則單片機(jī)輸出通道的 光電 隔離 就沒有意義 。 1%, 副 路 電壓精度 為 177。壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。本系統(tǒng)的設(shè)計(jì)采用電磁式蜂鳴器, 通過 STC12C5A60S2單片機(jī) 的 I/O 口 進(jìn)行控制 , 口 具有 PWM 輸出功能, 可以 進(jìn)行頻率的設(shè)置, 從而讓蜂 鳴器 發(fā)出不同頻率的聲音,具體 電路如 圖 36 所示 。當(dāng)繼電器吸合時(shí),二極管截止,不影響電路工作。加入二極管后,繼電器線圈產(chǎn)生的感應(yīng)電 流由二極管流過,因此不會產(chǎn)生很高的感應(yīng)電壓,晶體管就得到了保護(hù),從而保證了電路的可靠性。 具體 RS232 通訊電路 如 圖 38所示。由于應(yīng)用系統(tǒng)中, 上位機(jī) 與分 節(jié)點(diǎn) 相隔較遠(yuǎn),通信 線路的總長度往往超過 幾百 米,而分 節(jié)點(diǎn) 系 統(tǒng)上電或復(fù)位又常常不在同一個(gè)時(shí)刻完成 。 在 單片機(jī) 在復(fù)位期間,其 I/O 口輸出高電平, 此時(shí) 光電隔離的輸出端為低電平, 485 芯片的 DE 端為低電平,節(jié)點(diǎn)處于接收狀態(tài), 故 電 路的接法有效地解決復(fù)位期間 分節(jié)點(diǎn)“咬” 總線的問題。 在本 電路設(shè)計(jì)采用 了 高速光耦,如 6N13 HCPL2530 等芯片 。在應(yīng)用系統(tǒng)工程的現(xiàn)場施工中,由于通信載體 一般 是雙絞線 加屏蔽層,雙絞線 的特性阻抗為 120Ω左右,所以線路設(shè)計(jì)時(shí),在 RS485 網(wǎng)絡(luò)傳輸線的始端和末端各應(yīng)接 1 只 120Ω 的匹配電阻,以減少線路上傳輸信號的反射 。如在總線上所有發(fā)送器被禁止時(shí),接收器輸出邏輯 0,這會誤認(rèn)為通信幀的起始引起工作不正常。而 RS485 收發(fā)器工作電壓較低 5V 左右,其本身耐壓也非常低,一旦過壓引入,就會擊穿損壞 。由于 器件正常工作時(shí) RS485 驅(qū)動(dòng)電流約為 30 mA,短路時(shí)總線電流超過 300mA,所以 自恢復(fù)保險(xiǎn)絲 采 300mA/60V,從而可以推出 RS485 總線上的 10 歐姆的串聯(lián)電阻應(yīng)選用 1W。 圖 310 RS485保護(hù) 電路 顯示 電路 顯示部分的 任務(wù) 是顯示 采集 現(xiàn)場的溫度,由于單片機(jī)的 I/O 口資源豐富,從性價(jià)比考慮,選用四位一體的共陽數(shù)碼管,驅(qū)動(dòng)部分采用 8550 達(dá)靈頓管 ,單片機(jī)對其進(jìn)行動(dòng)態(tài)掃描顯示 。對于本系統(tǒng)來說主要的干擾因素如下:系統(tǒng)內(nèi)部電路板布線的合理性,元器件的選擇,布局等對各種芯片精度的影響;工業(yè)環(huán)境的復(fù)雜,磁場干擾,電網(wǎng)的波動(dòng),市電的工頻干 擾,可以通過電源變壓器分布電容和各種電磁路徑對測控系統(tǒng)產(chǎn)生影響; 通過信號通道串入的外部電氣信號對系統(tǒng)內(nèi)部電氣信號的影響。浮地方式可使微機(jī)系統(tǒng)不受大地電流的影響,提高了系統(tǒng)的抗干擾能力。這樣可有效防止地線公共阻抗干擾。 第三, 電路板設(shè)計(jì) 。系統(tǒng)內(nèi)外的信號流主要是通過 RS485通道傳輸,為了避免外部電氣信號的干擾,在 485 接口電路中采用了光藕芯片,使得內(nèi)外電氣信號隔離連接,信號通過光路進(jìn)行傳遞,能有效抑制尖峰脈沖和各種噪聲的干擾,從而能有效地防止干擾從過程通道進(jìn)入主機(jī) ; 信號傳輸線采用雙絞線,使得各個(gè)小環(huán)路的電磁感應(yīng)干擾相抵消,對電磁場干擾有一定的抑制作用。通過此協(xié)議,采集器相互之間、采集器經(jīng)由網(wǎng)絡(luò) (例如以太網(wǎng) )和其它設(shè)備之間可以通信,己經(jīng)成為一種通用 工業(yè)標(biāo)準(zhǔn)。如果需要回應(yīng),采集器將生成報(bào)文并以 Modbus 協(xié)議幀方式發(fā)送報(bào)文。 Modbus 是 OSI 模型第 7 層上的應(yīng)用層報(bào)文傳輸協(xié)議,它在連接不同類型網(wǎng)絡(luò)的設(shè)備之間提供數(shù)據(jù)的通信。合法的子節(jié)點(diǎn)地址為十進(jìn)制0 至 247。功能碼指明服務(wù)器要執(zhí)行的動(dòng)作。 圖 41 通用 Modbus幀 Modbus 通信原理 Modbus 協(xié)議可以方便地在各種網(wǎng)絡(luò)體系結(jié)構(gòu)內(nèi)進(jìn)行通信,每種設(shè)備 ( PLC, HMI、采集面板、變頻器、運(yùn)動(dòng)采集、 UO 設(shè)備等 ) 都能使用 Modbus 協(xié)議來啟動(dòng)遠(yuǎn)程操作,同樣的通信能夠在串行鏈路和 TCP/IP 以太網(wǎng)網(wǎng)絡(luò)上進(jìn)行,而網(wǎng)關(guān)則能夠?qū)崿F(xiàn)各種使用 Modbus 協(xié)議的總線或網(wǎng)絡(luò)之間的通信。 其它 從 設(shè)備根據(jù)主設(shè)備查詢提供的數(shù)據(jù)做出相應(yīng)反應(yīng)。如果單獨(dú)通信,從設(shè)備返回一消息作為回應(yīng),如果是以廣播方式查詢的,則 從設(shè)備 不作基于 Modbus 協(xié)議的溫度測控節(jié)點(diǎn)的設(shè)計(jì) 18 任何回應(yīng)。 Modbus 通信過程就是一個(gè)查詢和一個(gè)回應(yīng)的過程,其中查詢消息中的功能代碼表示被選中的從設(shè)備要執(zhí)行何種功能。錯(cuò)誤校驗(yàn)為從設(shè)備提供了一種驗(yàn)證消息內(nèi)容是否正確的方法。 在其它類型網(wǎng)絡(luò)上控制器使用對等技術(shù)通信,故任何控制器都能初始化并與其它控制器的通信,這樣在單獨(dú)的通信過程中,控制器既可作為主設(shè)備也可作為從設(shè)備,提供的多個(gè)內(nèi)部通道同時(shí)發(fā)生的傳輸進(jìn)程。 在 Modbus 串行鏈路上客戶機(jī)的功能由主節(jié)點(diǎn)提供而服務(wù)器功能由子節(jié)點(diǎn)實(shí)現(xiàn)。子節(jié)點(diǎn)在沒有收到來自主節(jié)點(diǎn)的請求時(shí),從不會發(fā)送數(shù)據(jù)。 在單播模式,主節(jié)點(diǎn)以特定地址訪問某個(gè)子節(jié)點(diǎn),子 節(jié)點(diǎn)接到并處理完請求后,子節(jié)點(diǎn)向主節(jié)點(diǎn)返回一個(gè)報(bào)文 即應(yīng)答。 基于 Modbus 協(xié)議的溫度測控節(jié)點(diǎn)的設(shè)計(jì) 19 圖 42 單播模式 在廣播模式, 主節(jié)點(diǎn)向所有的子節(jié)點(diǎn)發(fā)送請求,對于主節(jié)點(diǎn)廣播的請求沒有應(yīng)答返回, 廣播請求一般用于寫命令。用戶選擇想要的模式,包括串口通信參數(shù) (波特率、校驗(yàn)方式等 ),在配置每個(gè)采集器的時(shí)候,一個(gè) Modbus 網(wǎng)絡(luò)上的所有設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。選擇時(shí)應(yīng)視所 用 Modbus 主機(jī)而定,每個(gè) Modbus 系統(tǒng)只能使用一種模式,不允許 2 種模式混用。 這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達(dá)到 1 秒而不容易產(chǎn)生錯(cuò)誤。每次接收到 “:” 字符表示新的報(bào)文的開始。然后,分析地址域以確定幀是否 發(fā)往此設(shè)備,如果不是,則丟棄此幀。消息是 8 位二進(jìn)制數(shù),采用十六進(jìn)制數(shù)字符 0 至 9 和 A 至 F;采用 CRC( 循環(huán)冗余檢測 ) 進(jìn)行檢測。然后, 當(dāng)鏈路上沒有字符傳輸?shù)臅r(shí)間間 隔 達(dá)到 字符長 后,被識別為幀結(jié)束。 這樣 , CRC 計(jì)算只需要在幀尋址到該節(jié)點(diǎn) ( 包括廣播幀 ) 時(shí)進(jìn)行 。網(wǎng)絡(luò)上的設(shè)備不斷偵測“ :”字符,當(dāng)有一個(gè)冒號接收到時(shí),每個(gè)設(shè)備都解 碼下個(gè)域 ( 地址域 ) 來判斷是否發(fā)給自己的。 表 42 ASII幀格式 RTU 幀 使用 RTU 模式,起始位為 T T T T4, 傳輸?shù)牡谝粋€(gè)域是設(shè)備地址。消息幀必須作為一連續(xù)的流傳輸。 Modbus 網(wǎng)絡(luò)的通信中心是主機(jī),所有通信都由它發(fā)出。 表 43 RTU消息幀 表 44 是 Modbus 各功能碼對應(yīng)的數(shù)據(jù)類型,表 45 是功能碼與功能對應(yīng)表。幀檢測分為 LRC 校驗(yàn)和 CRC校驗(yàn), 它們都是在消息發(fā)送前由主設(shè)備產(chǎn)生的,從設(shè)備在接收過程中檢測每個(gè)字符和整個(gè)消 息幀。 LRC 域檢測了消息域中除開始的冒號及結(jié)束的回車換行號外的內(nèi)容。 CRC 檢測 使用 RTU 模式傳送數(shù)據(jù)時(shí),消息中包括了一個(gè)基于 CRC 錯(cuò)誤檢測域。接收設(shè)備重新計(jì)算收到消息的 CRC,并與接收到的 CRC 中的值比較,如果兩值相同,則 正確,如果不同,則有誤。整個(gè)過程要重復(fù) 8 次。 軟件設(shè)計(jì) 選用的 編譯環(huán)境 為 經(jīng) 典的 Keil uVision2 IDE。由于溫度的變化速率較慢,為了節(jié)約 CPU 資源,采用前后臺操作,在后臺中 每隔 100ms 進(jìn)行一次 AD 采集。 unsigned int sum,temp。i5。i++) sum += AD_buf[i]。 T_value = AD_value。 串口中斷處理程序 流程圖 和程序 如下所示 。 = 0x01。 ( 15)) { [] = temp。 } if(TI) { TI = 0。 } } } 基于 Modbus 協(xié)議的溫度測控節(jié)點(diǎn)的設(shè)計(jì) 29 Modbus 協(xié)議 程序設(shè)計(jì) 單片機(jī)與 上位機(jī)進(jìn) 行通訊和獲取數(shù)據(jù)都是通過串口來實(shí)現(xiàn)的,作為 節(jié)點(diǎn)的 單片必須通過其串口程序來解析主機(jī)的報(bào)文幀,獲取主機(jī)的指令信 息做出相應(yīng)的操作,并向主機(jī)回報(bào)文,從而實(shí)現(xiàn)主機(jī)和從機(jī)之間的信息互通。本文主要就 MODBUS 協(xié)議的功能碼 03 和 15 具有代表性的兩項(xiàng)功能的實(shí)現(xiàn)進(jìn)行了探討,下面對 MODBUS 協(xié)議的功能碼 03 和 15 的命令格式進(jìn)行介紹如下: 設(shè)備響應(yīng) : 如果成功,把計(jì)算機(jī)發(fā)送的命令原樣返回,否則不響應(yīng)。請求 PDU 說明了起始寄存器地址和寄存器數(shù)量。對于每個(gè)寄存器,第一個(gè)字節(jié)包括高位比特,并且第二個(gè)字節(jié)包括低位比特。 從零開始尋址線圈。域比特位置中的邏輯“ 0”請求相應(yīng)輸出為 OFF。 Modbus 協(xié)議功能實(shí)現(xiàn)程序的流程圖如圖 51 所示,具體程序代碼見附錄 2。附加在報(bào)文后面的 CRC 的值由發(fā)送設(shè)備計(jì)算。 然后將報(bào)文中的連續(xù)的 8 位子節(jié)對其進(jìn)行后續(xù)的計(jì)算。然后提取 并檢查 LSB:如果 LSB 為 1,則寄存器中的值與一個(gè)固定的預(yù)置值異或;如果 LSB 為 0, 則不進(jìn)行異或操作。 進(jìn) 入初 始 化 C R C 高 低 字 節(jié)為 0 x F F判 斷 操 作 標(biāo) 志計(jì) 算 C R C 值驗(yàn) 證 C R C 值C R C 驗(yàn) 證 正 確C R C 寫 入 數(shù) 據(jù) 后 兩 字 節(jié)并 返 回 0退 出返 回 2 返 回 1操 作 符 = 0 操 作 符 = 1驗(yàn) 證 正 確 驗(yàn) 證 錯(cuò) 誤 圖 54 CRC計(jì)算及 校驗(yàn) 程序流程圖 以下是本設(shè)計(jì)中 CRC 校驗(yàn)和計(jì)算的程序: unsigned char get_crc\ (unsigned char * source_data,unsigned char source_legth,unsigned char op_flag) { idata unsigned char uchCRCH = 0xFF 。 idata unsigned char *source=source_data。 } if(op_flag==0) //校驗(yàn)接收的數(shù)據(jù) { if((uchCRCH==*(source+length))amp。 // 驗(yàn)證不正確 } else //發(fā)送的數(shù)據(jù)產(chǎn)生校驗(yàn)碼 { *(source+length) = uchCRCH。 全文對
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1