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

正文內(nèi)容

modbus通信協(xié)議書教程-資料下載頁

2025-05-14 05:10本頁面
  

【正文】 式通信系統(tǒng)中,相對于RS232等全雙工總線效率低了許多,因此選用合適的通信協(xié)議及控制方式非常重要??偩€穩(wěn)態(tài)控制(握手信號)  大多數(shù)使用者選擇在數(shù)據(jù)發(fā)送前1ms將收發(fā)控制端TC置成高電平,使總線進入穩(wěn)定的發(fā)送狀態(tài)后才發(fā)送數(shù)據(jù);數(shù)據(jù)發(fā)送完畢再延遲1ms后置TC端成低電平,使可靠發(fā)送完畢后才轉(zhuǎn)入接收狀態(tài)。據(jù)筆者使用TC端的延時有4個機器周期已滿足要求;為保證數(shù)據(jù)傳輸質(zhì)量,對每個字節(jié)進行校驗的同時,應盡量減少特征字和校驗字  慣用的數(shù)據(jù)包格式由引導碼、長度碼、地址碼、命令碼、數(shù)據(jù)、校驗碼、尾碼組成,每個數(shù)據(jù)包長度達20~30字節(jié)。在RS485系統(tǒng)中這樣的協(xié)議不太簡練。推薦用戶使用MODBUS協(xié)議,該協(xié)議已廣泛應用于水利、水文、電力等行業(yè)設備及系統(tǒng)的國際標準中?!∷?、RS485接口電路的電源、接地  對于由MCU結(jié)合RS485微系統(tǒng)組建的測控網(wǎng)絡,應優(yōu)先采用各微系統(tǒng)獨立供電方案,最好不要采用一臺大電源給微系統(tǒng)并聯(lián)供電,同時電源線(交直流)不能與RS485信號線共用同一股多芯電纜。對于每個小容量直流電源選用線性電源LM7805比選用開關(guān)電源更合適。當然應注意LM7805的保護:LM7805輸入端與地應跨接220~1000μF電解電容;LM7805輸入端與輸出端反接1N4007二極管;LM7805輸出端與地應跨接470~1000μF電解電容和104pF獨石電容并反接1N4007二極管;輸入電壓以8~10V為佳,~24V??蛇x用TI的PT5100替代LM7805,以實現(xiàn)9~38V的超寬電壓輸入?! ∥濉⒐怆姼綦x  在某些工業(yè)控制領(lǐng)域,由于現(xiàn)場情況十分復雜,各個節(jié)點之間存在很高的共模電壓。雖然RS485接口采用的是差分傳輸方式,具有一定的抗共模干擾的能力,但當共模電壓超過RS485接收器的極限接收電壓,即大于+12V或小于-7V時,接收器就再也無法正常工作了,嚴重時甚至會燒毀芯片和儀器設備?! 〗鉀Q此類問題的方法是通過DCDC將系統(tǒng)電源和RS485收發(fā)器的電源隔離;通過光耦將信號隔離,徹底消除共模電壓的影響。實現(xiàn)此方案的途徑可分為:用光耦、帶隔離的DCDC、RS485芯片構(gòu)筑電路;使用二次集成芯片,如PS1480、MAX1480等。 六、RS485系統(tǒng)的常見故障及處理方法  RS485是一種低成本、易操作的通信系統(tǒng),但是穩(wěn)定性弱同時相互牽制性強,通常有一個節(jié)點出現(xiàn)故障會導致系統(tǒng)整體或局部的癱瘓,而且又難以判斷。故向讀者介紹一些維護RS485的常用方法。若出現(xiàn)系統(tǒng)完全癱瘓,大多因為某節(jié)點芯片的VA、VB對電源擊穿,使用萬用表測VA、VB間差模電壓為零,而對地的共模電壓大于3V,此時可通過測共模電壓大小來排查,共模電壓越大說明離故障點越近,反之越遠;總線連續(xù)幾個節(jié)點不能正常工作。一般是由其中的一個節(jié)點故障導致的。一個節(jié)點故障會導致鄰近的2~3個節(jié)點(一般為后續(xù))無法通信,因此將其逐一與總線脫離,如某節(jié)點脫離后總線能恢復正常,說明該節(jié)點故障;集中供電的RS485系統(tǒng)在上電時常常出現(xiàn)部分節(jié)點不正常,但每次又不完全一樣。這是由于對RS485的收發(fā)控制端TC設計不合理,造成微系統(tǒng)上電時節(jié)點收發(fā)狀態(tài)混亂從而導致總線堵塞。改進的方法是將各微系統(tǒng)加裝電源開關(guān)然后分別上電;系統(tǒng)基本正常但偶爾會出現(xiàn)通信失敗。一般是由于網(wǎng)絡施工不合理導致系統(tǒng)可靠性處于臨界狀態(tài),最好改變走線或增加中繼模塊。應急方法之一是將出現(xiàn)失敗的節(jié)點更換成性能更優(yōu)異的芯片;因MCU故障導致TC端處于長發(fā)狀態(tài)而將總線拉死一片。提醒讀者不要忘記對TC端的檢查。盡管RS485規(guī)定差模電壓大于200mV即能正常工作。但實際測量:(因網(wǎng)絡分布、~)。ModBus通信系統(tǒng)協(xié)議 ModBus網(wǎng)絡是一個工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計算機通過公用線路或局部專用線路連接而成。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括軟件。它可應用于各種數(shù)據(jù)采集和過程監(jiān)控。下表1是ModBus的功能碼定義。 表1 ModBus功能碼 功能碼名稱作用01讀取線圈狀態(tài)取得一組邏輯線圈的當前狀態(tài)(ON/OFF)02讀取輸入狀態(tài)取得一組開關(guān)輸入的當前狀態(tài)(ON/OFF)03讀取保持寄存器在一個或多個保持寄存器中取得當前的二進制值04讀取輸入寄存器在一個或多個輸入寄存器中取得當前的二進制值05強置單線圈強置一個邏輯線圈的通斷狀態(tài)06預置單寄存器把具體二進值裝入一個保持寄存器07讀取異常狀態(tài)取得8個內(nèi)部線圈的通斷狀態(tài),這8個線圈的地址由控制器決定,用戶邏輯可以將這些線圈定義,以說明從機狀態(tài),短報文適宜于迅速讀取狀態(tài)08回送診斷校驗把診斷校驗報文送從機,以對通信處理進行評鑒09編程(只用于484)使主機模擬編程器作用,修改PC從機邏輯10控詢(只用于484)可使主機與一臺正在執(zhí)行長程序任務從機通信,探詢該從機是否已完成其操作任務,僅在含有功能碼9的報文發(fā)送后,本功能碼才發(fā)送11讀取事件計數(shù)可使主機發(fā)出單詢問,并隨即判定操作是否成功,尤其是該命令或其他應答產(chǎn)生通信錯誤時12讀取通信事件記錄可是主機檢索每臺從機的ModBus事務處理通信事件記錄。如果某項事務處理完成,記錄會給出有關(guān)錯誤13編程(184/384 484 584)可使主機模擬編程器功能修改PC從機邏輯14探詢(184/384 484 584)可使主機與正在執(zhí)行任務的從機通信,定期控詢該從機是否已完成其程序操作,僅在含有功能13的報文發(fā)送后,本功能碼才得發(fā)送15強置多線圈強置一串連續(xù)邏輯線圈的通斷16預置多寄存器把具體的二進制值裝入一串連續(xù)的保持寄存器17報告從機標識可使主機判斷編址從機的類型及該從機運行指示燈的狀態(tài)18(884和MICRO 84)可使主機模擬編程功能,修改PC狀態(tài)邏輯19重置通信鏈路發(fā)生非可修改錯誤后,是從機復位于已知狀態(tài),可重置順序字節(jié)20讀取通用參數(shù)(584L)顯示擴展存儲器文件中的數(shù)據(jù)信息21寫入通用參數(shù)(584L)把通用參數(shù)寫入擴展存儲文件,或修改之22~64保留作擴展功能備用65~72保留以備用戶功能所用留作用戶功能的擴展編碼73~119非法功能120~127保留留作內(nèi)部作用128~255保留用于異常應答ModBus網(wǎng)絡只是一個主機,所有通信都由他發(fā)出。網(wǎng)絡可支持247個之多的遠程從屬控制器,但實際所支持的從機數(shù)要由所用通信設備決定。采用這個系統(tǒng),各PC可以和中心主機交換信息而不影響各PC執(zhí)行本身的控制任務。表2是ModBus各功能碼對應的數(shù)據(jù)類型。 表2 ModBus功能碼與數(shù)據(jù)類型對應表 代碼功能數(shù)據(jù)類型01讀位02讀位03讀整型、字符型、狀態(tài)字、浮點型04讀整型、狀態(tài)字、浮點型05寫位06寫整型、字符型、狀態(tài)字、浮點型08N/A重復“回路反饋”信息15寫位16寫整型、字符型、狀態(tài)字、浮點型17讀字符型(1)ModBus的傳輸方式 在ModBus系統(tǒng)中有2種傳輸模式可選擇。這2種傳輸模式與從機PC通信的能力是同等的。選擇時應視所用ModBus主機而定,每個ModBus系統(tǒng)只能使用一種模式,不允許2種模式混用。一種模式是ASCII(美國信息交換碼),另一種模式是RTU(遠程終端設備)這兩種模式的定義見表3 表3 ASCII和RTU傳輸模式的特性 特性ASCII(7位)RTU(8位)編碼系統(tǒng)十六進制(使用ASCII可打印字符:0~9,A~F)二進制每一個字符的位數(shù) 開始位1位1位數(shù)據(jù)位(最低有效位第一位)7位8位奇偶校驗(任選)1位(此位用于奇偶校驗,無校應則無該位)1位(此位用于奇偶校驗,無校應則無該位)停止位1或2位1或2位錯誤校驗LRC(即縱向冗余校驗)CRC(即循環(huán)冗余校驗)ASCII可打印字符便于故障檢測,而且對于用高級語言(如Fortan)編程的主計算機及主PC很適宜。RTU則適用于機器語言編程的計算機和PC主機。 用RTU模式傳輸?shù)臄?shù)據(jù)是8位二進制字符。如欲轉(zhuǎn)換為ASCII模式,則每個RTU字符首先應分為高位和低位兩部分,這兩部分各含4位,然后轉(zhuǎn)換成十六進制等量值。用以構(gòu)成報文的ASCII字符都是十六進制字符。ASCII模式使用的字符雖是RTU模式的兩倍,但ASCII數(shù)據(jù)的譯瑪和處理更為容易一些,此外,用RTU模式時報文字符必須以連續(xù)數(shù)據(jù)流的形式傳送,用ASCII模式,字符之間可產(chǎn)生長達1s的間隔,以適應速度較快的機器。 表4給出了以RTU方式讀取整數(shù)據(jù)的例子 以RTU方式讀取整數(shù)據(jù)的例子 主機請求地址功能碼第一個寄存器的高位地址第一個寄存器的低位地址寄存器的數(shù)量的高位寄存器的數(shù)量的底位錯誤校驗010300380001XX從機應答地址功能碼字節(jié)數(shù)數(shù)據(jù)高字節(jié)數(shù)據(jù)低字節(jié)錯誤校驗010324124XX十六進制數(shù)4124表示的十進制整數(shù)為16676,錯誤校驗值要根據(jù)傳輸方式而定。(2)ModBus的數(shù)據(jù)校驗方式 CRC16(循環(huán)冗余錯誤校驗) CRC16錯誤校驗程序如下:報文(此處只涉及數(shù)據(jù)位,不指起始位、停止位和任選的奇偶校驗位)被看作是一個連續(xù)的二進制,其最高有效位(MSB)首選發(fā)送。報文先與X↑16相乘(左移16位),然后看X↑16+X↑15+X↑2+1除,X↑16+X↑15+X↑2+1可以表示為二進制數(shù)11000000000000101。整數(shù)商位忽略不記,16位余數(shù)加入該報文(MSB先發(fā)送),成為2個CRC校驗字節(jié)。余數(shù)中的1全部初始化,以免所有的零成為一條報文被接收。經(jīng)上述處理而含有CRC字節(jié)的報文,若無錯誤,到接收設備后再被同一多項式(X↑16+X↑15+X↑2+1)除,會得到一個零余數(shù)(接收設備核驗這個CRC字節(jié),并將其與被傳送的CRC比較)。全部運算以2為模(無進位)。 習慣于成串發(fā)送數(shù)據(jù)的設備會首選送出字符的最右位(LSB最低有效位)。而在生成CRC情況下,發(fā)送首位應是被除數(shù)的最高有效位MSB。由于在運算中不用進位,為便于操作起見,計算CRC時設MSB在最右位。生成多項式的位序也必須反過來,以保持一致。多項式的MSB略去不記,因其只對商有影響而不影響余數(shù)。 生成CRC16校驗字節(jié)的步驟如下: ①裝如一個16位寄存器,所有數(shù)位均為1。 ②該16位寄存器的高位字節(jié)與開始8位字節(jié)進行“異或”運算。運算結(jié)果放入這個16位寄存器。 ③把這個16寄存器向右移一位。 ④若向右(標記位)移出的數(shù)位是1,則生成多項式1010000000000001和這個寄存器進行“異或”運算;若向右移出的數(shù)位是0,則返回③。 ⑤重復③和④,直至移出8位。 ⑥另外8位與該十六位寄存器進行“異或”運算。 ⑦重復③~⑥,直至該報文所有字節(jié)均與16位寄存器進行“異或”運算,并移位8次。 ⑧這個16位寄存器的內(nèi)容即2字節(jié)CRC錯誤校驗,被加到報文的最高有效位。 另外,在某些非ModBus通信協(xié)議中也經(jīng)常使用CRC16作為校驗手段,而且產(chǎn)生了一些CRC16的變種,他們是使用CRC16多項式X↑16+X↑15+X↑2+1,單首次裝入的16位寄存器為0000;使用CRC16的反序X↑16+X↑14+X↑1+1,首次裝入寄存器值為0000或FFFFH。 LRC(縱向冗余錯誤校驗) LRC錯誤校驗用于ASCII模式。這個錯誤校驗是一個8位二進制數(shù),可作為2個ASCII十六進制字節(jié)傳送。把十六進制字符轉(zhuǎn)換成二進制,加上無循環(huán)進位的二進制字符和二進制補碼結(jié)果生成LRC錯誤校驗(參見圖)。這個LRC在接收設備進行核驗,并與被傳送的LRC進行比較,冒號(:)、回車符號(CR)、換行字符(LF)和置入的其他任何非ASCII十六進制字符在運算時忽略不計。 表5 LRC生成范例--讀取02號從機的前8個線圈 十六進制二進制地址0200000010功能碼0100000001起始地址高位0000000000起始地址低位0000000000單元數(shù)量000000000008+0000100000001011變成補碼11110101錯誤校驗F5F5接受PC把所有收到的數(shù)據(jù)字節(jié)(包括最后的LRC)加在一起,8位應全部為0(注意:和可能超過8位,應略去最低位)000000100000000100000000000000000000000000001000錯誤校驗11110101和00000000  整理分享
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1