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

正文內(nèi)容

基于modbus總線的監(jiān)測系統(tǒng)的開發(fā)(已修改)

2025-07-04 01:38 本頁面
 

【正文】 下位機(jī)數(shù)據(jù)采樣系統(tǒng)電路組成框圖:LCD1602顯示采集溫度數(shù)據(jù)單片機(jī)AT89C51DS18B20溫度數(shù)據(jù)采集串口COMPIM傳送處理后的溫度數(shù)據(jù)傳送處理后的溫度數(shù)據(jù)傳送電路組成文字?jǐn)⑹觯和ㄟ^四個DS18B20溫度傳感器對空間四個溫度點進(jìn)行溫度采集,通過P1^0—P1^3口將采集的數(shù)據(jù)傳送給單片機(jī)AT89C51,單片機(jī)AT89C51進(jìn)行相應(yīng)的數(shù)據(jù)處理,分別傳送至LCD1602輪詢顯示采集的數(shù)據(jù)并通過串口將數(shù)據(jù)PC機(jī)通過C++builder建立的串口助手顯示,并且將溫度曲線顯示在串口助手上顯示。 modbus總線實現(xiàn) modbus總線實現(xiàn)原理 Modbus協(xié)議定義了控制器能識別和使用的信息結(jié)構(gòu)。當(dāng)在Modbus網(wǎng)絡(luò)上進(jìn)行通訊時,協(xié)議能使每一臺控制器知道它本身的設(shè)備地址,并識別對它尋址的數(shù)據(jù),決定應(yīng)起作用的類型,取出包含在信息中的數(shù)據(jù)和資料等,控制器也可組織回答信息,并使用Modbus協(xié)議將此信息傳送出去。在其他網(wǎng)絡(luò)上使用時,數(shù)據(jù)包和數(shù)據(jù)幀中也包含著Modbus協(xié)議。如,Modbus+或MAP網(wǎng)絡(luò)控制器中有相應(yīng)的應(yīng)用程序庫和驅(qū)動程序,實現(xiàn)嵌入式Modbus協(xié)議信息與此網(wǎng)絡(luò)中用子節(jié)點設(shè)備間通訊的特殊信息幀的數(shù)據(jù)轉(zhuǎn)換。該轉(zhuǎn)換也可擴(kuò)展,處理節(jié)點地址,路由,和每一個特殊網(wǎng)絡(luò)的錯誤檢查方法。如包含在Modbus協(xié)議中的設(shè)備地址,在信息發(fā)送前就轉(zhuǎn)換成節(jié)點地址,錯誤檢查區(qū)也用于數(shù)據(jù)包,與每個網(wǎng)絡(luò)的協(xié)議一致,最后一點是需用Modbus協(xié)議,寫入嵌入的信息,定義應(yīng)處理的動作。Modbus總線上的傳輸原理:Modicon控制器上的標(biāo)準(zhǔn)Modbus端口是使用一個RS232兼容的串行接口,定義了連接器,接線電纜,信號等級,傳輸波特率,和奇偶校驗,控制器可直接或通過調(diào)制解調(diào)器(以后簡稱Modems)接入總線(網(wǎng)絡(luò))。控制器通訊使用主從技術(shù),即主機(jī)能起動數(shù)據(jù)傳輸,稱查詢。而其它設(shè)備(從機(jī))應(yīng)返回對查詢作出的響應(yīng),或處理查詢所要求的動作。主機(jī)可對各從機(jī)尋址,發(fā)出廣播信息,從機(jī)返回信息作為對查詢的響應(yīng)。從機(jī)對于主機(jī)的廣播查詢,響應(yīng)返回Modbus協(xié)議設(shè)備地址,請求功能代碼,發(fā)送數(shù)據(jù),錯誤校驗碼,建立了主機(jī)查詢格式,從機(jī)的響應(yīng)信息也用Modbus協(xié)議組織,它包括確認(rèn)動作的代碼,返回數(shù)據(jù)和錯誤校驗碼。若在接收信息時出現(xiàn)一個錯誤或從機(jī)不能執(zhí)行要求的動作時,從機(jī)會組織一個錯誤信息。并向主機(jī)發(fā)送作為響應(yīng)。8 位數(shù)據(jù)字節(jié)錯誤校驗功能代碼8 位數(shù)據(jù)字節(jié)設(shè)備地址功能代碼設(shè)備地址主機(jī)查詢信息查詢響應(yīng)周期:從機(jī)響應(yīng)信息錯誤校驗 圖 主從查詢響應(yīng)周期查詢:查詢中的功能代碼為被尋址的從機(jī)設(shè)備應(yīng)執(zhí)行的動作類型。數(shù)據(jù)字節(jié)中包含從機(jī)須執(zhí)行功能的各附加信息,如功能代碼03將查詢從機(jī),并讀保持寄存器。并用寄存器的內(nèi)容作響應(yīng)。該數(shù)據(jù)區(qū)必須含有告之從機(jī)讀取寄存器的起始地址及數(shù)量,錯誤校驗區(qū)的一些信息,為從機(jī)提供一種校驗方法,以保證信息內(nèi)容的完整性。響應(yīng): 從機(jī)正常響應(yīng)時,響應(yīng)功能碼是查詢功能碼的應(yīng)答,數(shù)據(jù)字節(jié)包含從機(jī)采集的數(shù)據(jù),如寄存器值或狀態(tài)。如出現(xiàn)錯誤,則修改功能碼,指明為錯誤響應(yīng)。并在數(shù)據(jù)字節(jié)中含有一個代碼,來說明錯誤,錯誤檢查區(qū)允許主機(jī)確認(rèn)有效的信息內(nèi)容。
兩種串行傳輸模式:控制器可使用ASCII或RTU通訊模式,在標(biāo)準(zhǔn)Modbus上通訊。在配置每臺控制器時,用戶須選擇通訊模式以及串行口的通訊參數(shù)(如波特率,奇偶校驗等),在Modbus總線上的所有設(shè)備應(yīng)具有相同的通訊模式和串行通訊參數(shù)。選擇ASCII或RTU模式用于標(biāo)準(zhǔn)的Modbus總線。它定義了總線上串行傳輸信息區(qū)的“位”的含義,決定信息打包及解碼方法。如在MAP和Modbus+總線上時,Modbus信息以幀的方式出現(xiàn),并與串行傳輸無關(guān),如請求讀保持寄存器,可以在Modbus+上的兩個控制器之間處理,而與使用的控制器的Modbus端口無關(guān)。ASCII 模式當(dāng)控制器以ASCII模式在Modbus總線上進(jìn)行通訊時,一個信息中的每8位字節(jié)作為2個ASCII字符傳輸?shù)?,這種模式的主要優(yōu)點是允許字符之間的時間間隔長達(dá)IS,也不會出現(xiàn)錯誤。ASCII碼每一個字節(jié)的格式:編碼系統(tǒng):16進(jìn)制,ASCII字符09,AF ,1個16進(jìn)制 。 數(shù)據(jù)位: 1起始位,7位數(shù)據(jù),低位先送,奇/偶校驗時1位;無奇偶校驗時0位,(LRC)1位帶校驗,1停止位;無校驗2停止位。錯誤校驗區(qū): 縱向冗余校驗。RTU模式控制器以RTU模式在Modbus總線上進(jìn)行通訊時,信息中的每8位字節(jié)分成2個4位16進(jìn)制的字符,該模式的主要優(yōu)點是在相同波特率下其傳輸?shù)淖址拿芏雀哂贏SCII模式,每個信息必須連續(xù)傳輸。RTU模式中每個字節(jié)的格式:
編碼系統(tǒng):8位二進(jìn)制,十六進(jìn)制09,AF數(shù)據(jù)位:1起始位,8位數(shù)據(jù),低位先送,奇/偶校驗時1位;無奇偶校驗時0位,停止位1位(帶校驗),停止位2位(無校驗)。錯誤校驗區(qū):循環(huán)冗余校驗(CRC) modbus總線幀的結(jié)構(gòu)與實現(xiàn) 無論是ASCII模式還是RTU模式,Modbus信息以幀的方式傳輸,每幀有確定的起始點和結(jié)束點,使接收設(shè)備在信息的起點開始讀地址,并確定要尋址的設(shè)備 (廣播時對全部設(shè)備),以及信息傳輸?shù)慕Y(jié)束時間。可檢測部分信息,錯誤可作為一種結(jié)果設(shè)定。對MAP或Modbus+協(xié)議可對信息幀的起始和結(jié)束點標(biāo)記進(jìn)行處理,也可管理發(fā)送至目的地的信息,此時,信息傳輸中Modbus數(shù)據(jù)幀內(nèi)的目的地址已無關(guān)緊要,因為Modbus+地址已由發(fā)送者或它的網(wǎng)絡(luò)適配器把它轉(zhuǎn)換成網(wǎng)絡(luò)節(jié)點地址和路由。ASCII幀在ASCII模式中,以(:)號(ASCII3AH)表示信息開始,以回撤一換行鍵(CRLF) (ASCII OD和OAH)表示信息結(jié)束。對其它的區(qū),允許發(fā)送的字符為16進(jìn)制字符09,AF。網(wǎng)絡(luò)中設(shè)備連續(xù)檢測并接收一個冒號(:)時,每臺設(shè)備對地址區(qū)解碼,找出要尋址的設(shè)備。字符之間的最大間隔為1S,若大于1S,則接收設(shè)備認(rèn)為出現(xiàn)了一個錯誤。
典型的信息幀見下表開始地址功能數(shù)據(jù)縱向冗余檢查結(jié)束1字符:2字符2字符n字符2字符2字符 圖3 ASCII信息幀
例外:對于584和984A/B/X控制器,一個ASCII信息可在LRC區(qū)后正常終止,而不需發(fā)送CRLF字符,此時出現(xiàn)IS的時間間隔,控制器也將認(rèn)為是正常中斷。RTU幀RTU模式中,依據(jù)使用的波特率,很容易計算這個靜止的時間,接著第一個區(qū)的數(shù)據(jù)為設(shè)備地址。各個區(qū)允許發(fā)送的字符均為16進(jìn)制的09,AF。網(wǎng)絡(luò)上的設(shè)備連續(xù)監(jiān)測網(wǎng)絡(luò)上的信息,包括靜止時間。當(dāng)接收第一個地址數(shù)據(jù)時,每臺設(shè)備立即對它解碼,以決定是否是自己的地址。發(fā)送完最后一個字符號后,然后才能發(fā)送一個新的信息。整個信息必須連續(xù)發(fā)送。如果在發(fā)送幀信息期間,則接收設(shè)備刷新不完整的信息,并假設(shè)下一個地址數(shù)據(jù)。同樣一個信息后,立即發(fā)送的一個新信息,()這將會產(chǎn)生一個錯誤。是因為合并信息的CRC校驗碼無效而產(chǎn)生的錯誤。開始地址功能數(shù)據(jù)校驗終止T1T2T3T48 B位S8 B位SN8 B位S16B位 ST1T2T3T4 圖4 RTU信息幀
Modbus信息幀地址設(shè)置信息地址包括2個字符(ASCII)或8位(RTU),有效的從機(jī)設(shè)備地址范圍0247(十進(jìn)制),各從機(jī)設(shè)備的尋址范圍為1247。主機(jī)把從機(jī)地址放入信息幀的地址區(qū),并向從機(jī)尋址。從機(jī)響應(yīng)時,把自己的地址放入響應(yīng)信息的地址區(qū),讓主機(jī)識別已作出響應(yīng)的從機(jī)地址。地址0為廣播地址,所有從機(jī)均能識別。當(dāng)Modbus協(xié)議用于高級網(wǎng)絡(luò)時,則不允許廣播或其它方式替代。如Modbus+使用令牌循環(huán),自動更新共享的數(shù)據(jù)庫。
功能碼設(shè)置信息幀功能代碼包括字符(ASCII)或8位(RTU)。有效碼范圍1225(十進(jìn)制),其中有些代碼適用全部型號的Modicon控制器,而有些代碼僅適用于某些型號的控制器。還有一些代碼留作將來使用。當(dāng)主機(jī)向從機(jī)發(fā)送信息時,功能代碼向從機(jī)說明應(yīng)執(zhí)行的動作。如讀一組離散式線圈或輸入信號的ON/OFF狀態(tài),讀一組寄存器的數(shù)據(jù),讀從機(jī)的診斷狀態(tài),寫線圈(或寄存器),允許下截、記錄、確認(rèn)從機(jī)內(nèi)的程序等。當(dāng)從機(jī)響應(yīng)主機(jī)時,功能代碼可說明從機(jī)正常響應(yīng)或出現(xiàn)錯誤(即不正常響應(yīng)),正常響應(yīng)時,從機(jī)簡單返回原始功能代碼;不正常響應(yīng)時,從機(jī)返回與原始代碼相等效的一個碼,并把最高有效位設(shè)定為“1”。如,主機(jī)要求從機(jī)讀一組保持寄存器時,則發(fā)送信息的功能碼為:0000 0011 (十六進(jìn)制03)若從機(jī)正確接收請求的動作信息后,則返回相同的代碼值作為正常響應(yīng)。發(fā)現(xiàn)錯時,則返回一個不正常響信息:1000 0011(十六進(jìn)制83)。從機(jī)對功能代碼作為了修改,此外,還把一個特殊碼放入響應(yīng)信息的數(shù)據(jù)區(qū)中,告訴主機(jī)出現(xiàn)的錯誤類型和不正常響應(yīng)的原因。主機(jī)設(shè)備的應(yīng)用程序負(fù)責(zé)處理不正常響應(yīng),典型處理過程是主機(jī)把對信息的測試和診斷送給從機(jī),并通知操作者。
數(shù)據(jù)區(qū)的內(nèi)容數(shù)據(jù)區(qū)有2個16進(jìn)制的數(shù)據(jù)位,數(shù)據(jù)范圍為00FF(16進(jìn)制),根據(jù)網(wǎng)絡(luò)串行傳輸?shù)姆绞?,?shù)據(jù)區(qū)可由一對ASCII字符組成或由一個RTU 字符組成。主機(jī)向從機(jī)設(shè)備發(fā)送的信息數(shù)據(jù)中包含了從機(jī)執(zhí)行主機(jī)功能代碼中規(guī)定的請求動作,如離散量寄存器地址,處理對象的數(shù)目,以及實際的數(shù)據(jù)字節(jié)數(shù)等。舉例說明,若主機(jī)請求從機(jī)讀一組寄存器(功能代碼03),該數(shù)據(jù)規(guī)定了寄存器的起始地址,以及寄存器的數(shù)量。又如,主機(jī)要在一從機(jī)中寫一組寄存器,(則功能代碼為10H)。該數(shù)據(jù)區(qū)規(guī)定了要寫入寄存區(qū)的起始地址,寄存器的數(shù)量,數(shù)據(jù)的字節(jié)數(shù),以及要寫入到寄存器的數(shù)據(jù)。若無錯誤出現(xiàn),從機(jī)向主機(jī)的響應(yīng)信息中包含了請求數(shù)據(jù),若有錯誤出現(xiàn),則數(shù)據(jù)中有一個不正常代碼,使主機(jī)能判斷并作出下一步的動作。數(shù)據(jù)區(qū)的長度可為“零”以表示某類信息,如,主機(jī)要求從機(jī)響應(yīng)它的通訊事件記錄(功能代碼OBH)。此時,從機(jī)不需要其他附加的信息,功能代碼只規(guī)定了該動作。
信息幀:錯誤校驗標(biāo)準(zhǔn)Modbus總線,有兩類錯誤檢查方法,ASCII方式和RTU方式。ASCII使用ASCII方式時,錯誤校驗碼為2個ASCII字符,錯誤校驗字符是LRC校驗結(jié)果。校驗時,起始符為(:)冒號,結(jié)束符為CRLF字符。
RTU使用RTU方式時,錯誤校驗碼為一個16位的值,2個8位字節(jié)。錯誤校驗值是對信息內(nèi)容執(zhí)行CRC校驗結(jié)果。CRC校驗信息幀是最后的一個數(shù)據(jù),得到的校驗碼先送低位字節(jié),后送高位字節(jié),所以CRC碼的高位字節(jié)是最后被傳送的信息。
串行傳送信息在標(biāo)準(zhǔn)的Modbus上傳送的信息中,每個字符或字節(jié),按由左向右的次序傳送:帶奇偶校驗最低有效位:(LSB)最高有效位:(MSB)
ASCII數(shù)據(jù)幀位序:
無奇偶校驗帶奇偶校驗
RTU數(shù)據(jù)幀位序:
無奇偶校驗
錯誤校驗方法 標(biāo)準(zhǔn)的Modbus串行通訊網(wǎng)絡(luò)采用兩種錯誤校驗方法,奇偶校驗(奇或偶)可用于校驗每一個字符,信息幀校驗(LRC或CRC)適用整個信息的校驗,字符校驗和信息幀校驗均由主機(jī)設(shè)備產(chǎn)生,并在傳送前加到信息中去。從機(jī)設(shè)備在接收信息過程中校驗每個字符或整個信息。 主機(jī)可由用戶設(shè)置的一個預(yù)定時間間隔,確定是否放棄傳送信息。該間隔應(yīng)有足夠的時間來滿足從機(jī)的正常響應(yīng)。若主機(jī)檢測到傳輸錯誤時,則傳輸?shù)男畔o效。從機(jī)不再向主機(jī)返回響應(yīng)信息。此時,主機(jī)會產(chǎn)生一個超時信息,并允許主機(jī)程序處理該錯誤信號。注意:主機(jī)實際并未存在的從機(jī)發(fā)送信息時也會引起超時出錯信號。奇偶校驗用戶可設(shè)置奇偶校驗或無校驗,以此決定每個字符發(fā)送時的奇偶校驗位的狀態(tài)。無論是奇或偶校驗,它均會計算每個字符數(shù)據(jù)中值為“1”的位數(shù),ASCII方式為位數(shù)據(jù);RTU方式為8位數(shù)據(jù)。并根據(jù)“1”的位數(shù)值(奇數(shù)或偶數(shù))來設(shè)定為“0”或“1”,如一個RTU數(shù)據(jù)幀中8位數(shù)據(jù)位為:1100 0101,在該幀中,值為“1”的總位數(shù)為4,即偶數(shù)。如采用奇校驗方式時,則 “1”的總位數(shù)為奇數(shù),即5。發(fā)送信息時,計算奇偶位,并加到數(shù)據(jù)幀中,接收設(shè)備統(tǒng)計位值為“1”的數(shù)量,若與該設(shè)備要求的不一致時產(chǎn)生一個錯誤。在Modbus總線上的所有設(shè)備必須采用相同的奇偶校驗方式。注意:奇偶校驗只能檢測到數(shù)據(jù)幀在傳輸過程中丟失奇數(shù)“位”時才產(chǎn)生的錯誤。如采用奇數(shù)校驗方式時,一個包含3個“1”位的數(shù)據(jù)丟失2個“1”位時,其結(jié)果仍然是奇數(shù)。若無奇偶校驗方式時,傳輸中不作實際的校驗,應(yīng)附加一個停止位。LRC校驗ASCII方式時,數(shù)據(jù)中包含錯誤校驗碼,采用LRC校驗方法時,LRC校驗信息以冒號“:”開始,以CRLF字符作為結(jié)束。它忽略了單個字符數(shù)據(jù)的奇偶校驗的方法。LRC校驗碼為1個字節(jié),8位二進(jìn)制值,由發(fā)送設(shè)備計算LRC值。接收設(shè)備在接收信息時計算LRC校驗碼。并與收到的LRC的實際值進(jìn)行比較,若二者不一致,亦產(chǎn)生一個錯誤。錯誤校驗方法
CRC校驗RTU方式時,采用CRC方法計算錯誤校驗碼,CRC校驗傳送的全部數(shù)據(jù)。它忽略信息中單個字符數(shù)據(jù)的奇偶校驗方法。CRC碼為2個字節(jié),16位的二進(jìn)制值。由發(fā)送設(shè)備計算CRC值,并把它附到信息中去。接收設(shè)備在接收信息過程中再次計算CRC值并與CRC的實際值進(jìn)行比較,若二者不一致
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1