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

正文內(nèi)容

modbus協(xié)議論文(編輯修改稿)

2025-12-14 02:00 本頁面
 

【文章內(nèi)容簡介】 83。 42 力控軟件變量定義及相關(guān)參數(shù)設(shè)置 44 總結(jié) 47 參考文獻 48 致 謝 49 東北石油大學秦皇島分校 畢業(yè)論文 1 第 1 章 MODBUS 協(xié)議簡介 關(guān)于 Modbus 協(xié)議 Modbus 協(xié)議 是應(yīng)用于電子控制器上的一種通用語言。 通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其他設(shè)備之間可以通信。它已經(jīng)成為一工業(yè)通用標準。有了它,不 同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。 此協(xié)議定義了一個控制器能認識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進行通信的。它描述了一控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其他設(shè)備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。 當在一 Modbus 網(wǎng)絡(luò)上通信時,此協(xié)議決定了每個控制器需要知道它們的設(shè)備地址,識別按地址發(fā)來的消息,決定要產(chǎn)生何種行動。如果需要回應(yīng),控制器將生成反饋信息并用 Modbus 協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上,包含了 Modbus 協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上 使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯誤檢測的方法。 在 Modbus 網(wǎng)絡(luò)上傳輸 標準的 Modbus 口是使用 RS— 232C 兼容串行接口,它定義了連接口的針腳、電纜、信位號、傳輸波特率、奇偶校驗。 控制器能直接或經(jīng)由 Modem 組網(wǎng)。 控制器通信使用主 — 從技術(shù),即僅一設(shè)備(主設(shè)備)能初始化傳輸(查詢)。其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。 典型的主設(shè)備 :主機和可編程儀表。典型的從設(shè)備:可編程控制器。 主設(shè)備可單獨和從設(shè)備通信,也能以廣播方式和所有從 設(shè)備通信。如果單獨通信,從設(shè)備返回一消息作為回應(yīng),如果是以廣播方式查詢的,則不作任何回應(yīng)。 Modbus協(xié)議建立了主設(shè)備查詢的格式:設(shè)備(或廣播)地址、功能代碼、所有要發(fā)送的數(shù)據(jù)、錯誤檢測域。 從設(shè)備回應(yīng)消息也由 Modbus 協(xié)議構(gòu)成,包括確認要行動的域、任何要返回的數(shù)據(jù)和錯誤檢測域。如果在消息接收過程中發(fā)生錯誤,或從設(shè)備不能執(zhí)行其命令,從設(shè)備將建立一錯誤消息并把它作為回應(yīng)發(fā)送出去。 在其它類型網(wǎng)絡(luò)上傳輸 在其它網(wǎng)絡(luò)上,控制器使用對等技術(shù)通信,故任何控制都能初始和其它控制器的通信。這樣在單獨的通信 過程中,控制器既可作為主設(shè)備也可作為從設(shè)備。提供的多個內(nèi)部通道可允許同時發(fā)生的傳輸進程。 在消息位, Modbus協(xié)議仍提供了主 — 從原則,盡管網(wǎng)絡(luò)通信方法是“對等”。如果以控制器發(fā)送一消息,它只是作為主設(shè)備,并期望從從設(shè)備得到回應(yīng)。同樣,當控制器接收到一消息,它將建立一從設(shè)備回應(yīng)格式并返回給發(fā)送的控制器。 查詢 — 回應(yīng)周期 東北石油大學秦皇島分校 畢業(yè)論文 2 圖 11 主 — 從查詢回應(yīng)周期表 1 查詢 查詢消息中的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能,數(shù)據(jù)段包含了從設(shè)備要執(zhí)行功能的任何附加信息。例如功能代碼 03 是要求從設(shè) 備讀保持寄存器并返回它們的內(nèi)容。數(shù)據(jù)段必須包含要告知從設(shè)備的信息:從何寄存器開始讀及要讀的寄存器數(shù)量。錯誤檢測域為從設(shè)備提供了一種驗證消息的內(nèi)容是否正確的方法。 2 回應(yīng) 如果從設(shè)備產(chǎn)生一種正常的回應(yīng),在回應(yīng)消息中的功能代碼是在查詢消息中的功能代碼的回應(yīng)。數(shù)據(jù)段包括了從設(shè)備收集的數(shù)據(jù) :象寄存器值或狀態(tài)。如果有錯誤發(fā)生,功能代碼將被修改以用于指出回應(yīng)消息是錯誤的,同時數(shù)據(jù)段包含了描述此錯誤信息的代碼。錯誤檢測域允許主設(shè)備確認消息內(nèi)容是否可用。 接口方式 RS485 或 RS232 接口:異步, 半雙工。默認數(shù)據(jù)格式: 8 位數(shù)據(jù)位、偶校驗、一位停止位, 19200bps, RTU??稍O(shè)置為 38400bps、 19200bps、 9600bps、 4800bps、 1200bps;最高可設(shè)置波特率位 38400bps。 數(shù)據(jù)域:支持 2?255個字節(jié)( ASCII 模式)、 252字節(jié)( RTU 模式) GCM系列 PLC有兩個通信口,其通信口 0(也作為編程口)支持 MODBUS 從站,通信口 1 支持MODBUS 主站和從站(可有后臺軟件設(shè)置)。 東北石油大學秦皇島分校 畢業(yè)論文 3 第 2 章 MODBUS 通訊協(xié)議的格式 控制器 能設(shè)置為兩種傳輸模式( ASCII 或 RTU)中的 任何一種在標準的 Modbus網(wǎng)絡(luò)通信。用戶選擇想要的模式,包括串口通信參數(shù)(波特率、校驗方式等),在配置每個控制器的時候,在一個 Modbus 網(wǎng)絡(luò)上的所有設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。 表 21 ModBus 的兩種傳輸模式 ASCII 模式 地址 功能代碼 數(shù)據(jù)數(shù)量 數(shù)據(jù) 1 ... 數(shù)據(jù) n LRC高 LRC低字節(jié) 回車 換行 RTU模式 地址 功能代碼 數(shù)據(jù)數(shù)量 數(shù)據(jù)1 … 數(shù)據(jù)n CRC高 CRC低字節(jié) 所選 的 ASCII 或 RTU 方式僅適用于標準的 Modbus 網(wǎng)絡(luò),它定義了在這些網(wǎng)絡(luò)上連續(xù)傳 輸?shù)南⒍蔚拿恳晃?,以及怎樣將信息打包成消息域和如何解碼。 在其它網(wǎng)絡(luò)上(像 MAP 和 Modbus Plus) Modbus 消息被轉(zhuǎn)成與串行傳輸無關(guān)的幀。 RTU 模式 當控制器設(shè)為在 Modbus 網(wǎng)絡(luò)上以 RTU(遠程終端單元)模式通信,在消息中的每個 8Bit 字節(jié)包含兩個 4Bit 的十六進制字符。這種方式的主要優(yōu)點是:在同樣的波特率下,可比 ASCII 方式傳送更多的數(shù)據(jù)。 代碼系統(tǒng) ? 8 位二進制,十六進制數(shù) 0? 9, A? F ? 消息中的每個 8 位域都是一個兩個十六進制字符組成 每個字節(jié)的位 ? 1 個起始位 ? 7 個數(shù)據(jù) 位,最小的有效位先發(fā)送 ? 1 個奇偶校驗位,無校驗則無 ? 1 個停止位(有校驗時), 2 個 Bit(無校驗時) 錯誤檢測域 ? CRC(循環(huán)冗長檢測) 使用 RTU模式,消息發(fā)送至少要以 。在網(wǎng)絡(luò)波特 東北石油大學秦皇島分校 畢業(yè)論文 4 率下多樣的字符時間,這是最容易實現(xiàn)的(如下圖的 T1T2T3T4所示)。傳輸?shù)牡谝粋€域是設(shè)備地址??梢允褂玫膫鬏斪址鞘M制的 0? 9, A? F。網(wǎng)絡(luò)設(shè)備不斷偵測網(wǎng)絡(luò)總線,包括停頓間隔時間內(nèi)。當?shù)谝粋€域(地址域)接收到,每個設(shè)備都進行解碼以判斷是否發(fā)往自己的。在最后一個傳輸字符之后,一 個至少 個字符時間的停頓標定了消息的結(jié)束。一個新的消息可在此停頓后開始。 整個消息幀必須作為一連續(xù)的流轉(zhuǎn)輸。如果在幀完成之前有超過 個字符時間的停頓時間,接收設(shè)備將刷新不完整的消息并假定下一字節(jié)是一個新消息的地址域。同樣地,如果一個新消息在小于 個字符時間內(nèi)接著前個消息開始,接收的設(shè)備將認為它是前一消息的延續(xù)。這將導(dǎo)致一個錯誤,因為在最后的 CRC 域的值是不可能正確的。一典型的消息幀如下 表 22 所示: 表 22 典型的 RTU 消息幀 起始位 設(shè)備地址 功能代碼 數(shù)據(jù) CRC 校驗 結(jié)束符 T1T2T3T4 8Bit 8Bit n 個 8Bit 16Bit T1T2T3T4 ASCII 模式 當控制器設(shè)為在 Modbus 網(wǎng)絡(luò)上以 ASCII(美國標準信息交換碼)模式通信,在消息中的每個 8Bit 字節(jié)都作為兩個 ASCII字符發(fā)送。這種方式的主要優(yōu)點是字符發(fā)送的時間間隔可達到 1 秒而不產(chǎn)生錯誤。 代碼系統(tǒng) ? 十六進制, ASCII 字符 0? 9, A? F ? 消息中的每個 ASCII 字符都是一個十六進制字符組成 每個字節(jié)的位 ? 1 個起始位 ? 7 個數(shù)據(jù)位,最小的有效 位先發(fā)送 ? 1 個奇偶校驗位,無校驗則無 ? 1 個停止位(有校驗時), 2 個 Bit(無校驗時) 錯誤檢測域 ? LRC(縱向冗長檢測) 使用 ASCII 模式,消息以冒號(:)字符( ASCII 碼 3AH)開始,以回車換行符結(jié)束( ASCII 碼 0DH, 0AH)。 其它域可以使用的傳輸字符是十六進制的 0? 9, A? F。網(wǎng)絡(luò)上的設(shè)備不斷偵測“:”字符,當有一個冒號接收到時,每個設(shè)備都解碼下個域(地址域)來判斷是否發(fā)給自己的。 東北石油大學秦皇島分校 畢業(yè)論文 5 消息中字符間發(fā)送的時間間隔最長不能超過 1 秒,否則接收的設(shè)備將認為傳輸錯誤。一個典型消息幀如下 表 23 所示: 表 23 典型的 ASCII 消息幀 起始位 設(shè)備地址 功能代碼 數(shù)據(jù) LRC 校驗 結(jié)束符 1 個字符 2 個字符 2 個字符 n 個字符 2 個字符 2 個字符 地址域 消息幀的 地址域包含兩個字符( ASCII)或 8Bit( RTU)??赡艿膹脑O(shè)備地址是0? 247(十進制)。單個設(shè)備的地址范圍是 1? 247。主設(shè)備通過將要聯(lián)絡(luò)的從設(shè)備的地址放入消息中的地址域來選擇從設(shè)備。當從設(shè)備發(fā)送回應(yīng)消息時,它把自己的地址放入回應(yīng)的地址域中,以便主設(shè)備知道是哪一個從設(shè)備做出的回應(yīng)。 地址 0 是用作廣播地址,以使所有的從 設(shè)備都能認識。當 Modbus 協(xié)議用于更高水準的網(wǎng)絡(luò),廣播可能不允許或以其它方式代替。 ASCII 協(xié)議和 RTU 協(xié)議的比較 表 24 ASCII 協(xié)議和 RTU 協(xié)議的比較 協(xié)議 開始標 記 結(jié)束標 記 校驗 傳輸效率 程序處理 ASCII :(冒號) CR, LF LRC 低 直觀,簡單,易 調(diào)試 RTU 無 無 CRC 高 不直觀,稍復(fù)雜 通過比較可以看到, ASCII協(xié)議和 RTU協(xié)議相比擁有開始和結(jié)束標記,因此在進行程序處理時能更加方便,而且由于傳輸?shù)亩际强梢姷?ASCII 字符,所以進行調(diào)試時就更加的直觀,另外它的 LRC 校驗也比較容易。但是因為它傳輸?shù)亩际强梢姷?ASCII字符, RTU 傳輸?shù)臄?shù)據(jù)每一個字節(jié) ASCII 都要用兩個字節(jié)來傳輸,比如 RTU 傳輸一個十六進制數(shù) 0xF9, ASCII 就需要傳輸“ F”“ 9”的 ASCII 碼 0x39 和 0x46 兩個字節(jié),這樣它的傳輸?shù)男示捅容^低。所以一般來說,如果所需要傳輸?shù)臄?shù)據(jù)量較小可以考慮使用 ASCII 協(xié)議,如果所需傳輸?shù)臄?shù)據(jù)量比較大,最好使用 RTU 協(xié)議 東北石油大學秦皇島分校 畢業(yè)論文 6 下面對兩種協(xié)議的校驗進行一下介紹 LRC 檢測 使用 ASCII 模式 ,消息包含了一基于 LRC 方法的錯誤檢測域。 LRC 域檢測了消息域中除開始的冒號及結(jié)束的回車換行號外的內(nèi)容。 LRC 域是一個包含一個 8位二進制值得字節(jié)。 LRC值由傳輸設(shè)備來計算并放到消息幀中,接收設(shè)備在接收消息的過程中計算 LRC,并將它和接收到消息中 LRC 域中的值比較,如果兩值不等,說明有錯誤。 LRC 方法是將消息中的 8Bit 的字節(jié)連續(xù)累加,丟棄了進位。 LRC 簡單函數(shù)如下: static unsigned char LRC(auchMsg,usDataLen) unsigned char *auchMsg。/*要進行計算的消息 */ unsigned short usDataLen。/*LRC 要處理的字節(jié)的數(shù)量 */ { unsigned char uchLRC=0。/*LRC 字節(jié)初始化 */ while (usDataLen)/*傳送信息 */ uchLRC+=*auchMsg++。/*累加 */ return ((unsigned char )(((char_uchLRC))))。 } CRC 檢測 使用 RTU模式,消息包括了 一基于 CRC 方法的錯誤檢測域。 CRC 域檢測了整個消息的內(nèi)容。 CRC 域是兩 個字節(jié),包含一 16 位的二進制值。它由傳輸設(shè)備計算后加入到消息中。接收設(shè)備重新計算收到消息的 CRC,并與接收到的 CRC 域中的值比較,如果兩值不同,則有誤。 CRC 是先調(diào)入一值是全“ 1”的 16 位寄存器,然后調(diào)用一過程將消息中連續(xù)的 8位字節(jié)各當前寄存器中的值進行處理。僅每個字符中的 8Bit 數(shù)據(jù)對 CRC 有效,起始位和停止位以及奇偶校驗位均無效。 CRC 產(chǎn)生過程中,每個 8位字符都單獨和寄存器內(nèi)容相或( OR),結(jié)果向最低有效位方向移動,最高有效位以 0 填充。 LSB 被提取出來檢測,如果 LSB 為 1,寄存器單獨和預(yù)置的值或一下 ,如果 LSB 為 0,則不進行。整個過程要重復(fù) 8 次。在最后一位(第 8位)完成后,下一個 8位字節(jié)又單獨和寄存器的當前值相或。最終寄存器中的值,是消息中所有的字節(jié)都執(zhí)行之后的 CRC 值。 CRC 添加到消息中時,低字節(jié)先加入,然后高字節(jié)。 CRC 簡單函數(shù)如下: unsigned short CRC16(puchMsg, usDataLen) unsigned char *puchMsg 。 /* 要進行 CRC 校驗的消息 */ unsigned short usDataLen 。 /* 消息中字節(jié)數(shù) */ 東北石油大學秦皇島分校 畢業(yè)論文 7 { unsigned char uchCRCHi=0xFF 。 /* 高 CRC 字節(jié)初始化 */ unsigned char uchCRCLo=0xFF 。 /* 低 CRC 字節(jié)初始化 */ unsigned uIndex。 /* CRC 循環(huán)中的索引 */ while (usDataLen) /* 傳輸消息緩沖區(qū) */ { uIndex = uchCRCHi ^ *puchMsgg++ 。 /* 計算 CRC */ uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] 。 uchCRCLo = auchCRCLo[uIndex] 。 } return (uchCRCHi 8 | uchCRCLo) 。 } /* CRC 高位字節(jié)值表 */ static unsigned char auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0XC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0Xc1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0XC0, 0x
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1