欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Modbus協(xié)議的從設(shè)備的制作方法

文檔序號(hào):7819459閱讀:744來(lái)源:國(guó)知局
一種基于Modbus協(xié)議的從設(shè)備的制作方法
【專利摘要】本發(fā)明涉及工業(yè)現(xiàn)場(chǎng)總線控制【技術(shù)領(lǐng)域】,提供了一種基于Modbus協(xié)議的從設(shè)備,包括:電源單元、485通信單元、單片機(jī)和執(zhí)行單元:電源單元用于為485通信單元、單片機(jī)和執(zhí)行單元供電;485通信單元用于接收Modbus總線上數(shù)據(jù)幀和轉(zhuǎn)發(fā)單片機(jī)生成的數(shù)據(jù)接收響應(yīng)幀;單片機(jī)用于判斷485通信單元接收的數(shù)據(jù)幀是否為符合Modbus協(xié)議的有效數(shù)據(jù),如果是有效數(shù)據(jù),則生成數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào),并將數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào)分別發(fā)送給485通信單元和執(zhí)行單元;執(zhí)行單元用于根據(jù)執(zhí)行信號(hào)進(jìn)行相應(yīng)操作。本發(fā)明提供的從設(shè)備,實(shí)現(xiàn)了數(shù)據(jù)幀的收發(fā)和有效性判斷功能,具有成本低、容易生產(chǎn)和應(yīng)用廣泛的特點(diǎn),提高了從設(shè)備通信的可靠性。
【專利說(shuō)明】一種基于Modbus協(xié)議的從設(shè)備

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及工業(yè)現(xiàn)場(chǎng)總線控制【技術(shù)領(lǐng)域】,具體涉及一種基于Modbus協(xié)議的從設(shè)備,可以作為遠(yuǎn)程自動(dòng)控制儀表或傳感器等遠(yuǎn)程終端,用于通過(guò)Modbus總線收發(fā)數(shù)據(jù)并執(zhí)行控制功能。

【背景技術(shù)】
[0002]工業(yè)現(xiàn)場(chǎng)總線是未來(lái)工業(yè)控制的發(fā)展趨勢(shì),以數(shù)字通信替代了傳統(tǒng)4mA至20mA模擬信號(hào)和普通開(kāi)關(guān)量信號(hào),能夠連接智能現(xiàn)場(chǎng)設(shè)備和自動(dòng)化系統(tǒng),具有全數(shù)字、雙向和多站的特點(diǎn)。工業(yè)現(xiàn)場(chǎng)總線實(shí)現(xiàn)了工業(yè)現(xiàn)場(chǎng)的智能化儀表、控制器和執(zhí)行機(jī)構(gòu)等現(xiàn)場(chǎng)設(shè)備之間的數(shù)字通信,以及這些現(xiàn)場(chǎng)設(shè)備和控制系統(tǒng)之間的消息傳遞。
[0003]Modbus協(xié)議是Modbus串行鏈路協(xié)議的簡(jiǎn)稱,最初由Modicon公司開(kāi)發(fā)出來(lái),現(xiàn)在已經(jīng)是工業(yè)領(lǐng)域全球最流行的通用工業(yè)現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)協(xié)議之一。相應(yīng)的,我國(guó)頒布了 GB/T19582.1-2008《基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范》。
[0004]Modbus通信系統(tǒng)包括:一個(gè)主設(shè)備,用于初始化傳輸(查詢);一個(gè)或多個(gè)從設(shè)備,用于根據(jù)主設(shè)備通過(guò)查詢提供的數(shù)據(jù)做出相應(yīng)反應(yīng)。主設(shè)備可和從設(shè)備單獨(dú)通信,也能以廣播方式和所有從設(shè)備通信。如果單獨(dú)通信,從設(shè)備返回一個(gè)消息作為回應(yīng),如果是以廣播方式通信,從設(shè)備則不做出任何回應(yīng)。
[0005]Modbus協(xié)議是一個(gè)開(kāi)放標(biāo)準(zhǔn),用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會(huì)侵犯知識(shí)產(chǎn)權(quán),而其他國(guó)際流行的總線協(xié)議都不公開(kāi)或都要求許可。目前Modbus通信系統(tǒng)普遍采用標(biāo)準(zhǔn)RS-485通訊接口作為物理層傳送方式,工作模式為主從半雙工模式。
[0006]鑒于工業(yè)現(xiàn)場(chǎng)總線的巨大優(yōu)勢(shì)和Modbus協(xié)議開(kāi)放的特點(diǎn),迫切需要針對(duì)單片機(jī),提供具有研制簡(jiǎn)單、應(yīng)用廣泛和成本低廉特點(diǎn)的Modbus從設(shè)備。現(xiàn)有的從設(shè)備不具有數(shù)據(jù)有效性判斷功能,影響從設(shè)備工作可靠性。


【發(fā)明內(nèi)容】

[0007]本發(fā)明解決現(xiàn)有基于Modbus協(xié)議的從設(shè)備不具備數(shù)據(jù)有效性判斷功能,導(dǎo)致通信可靠性低的問(wèn)題。同時(shí)完成了從設(shè)備輸入、輸出和控制其他設(shè)備的功能。
[0008]為解決上述技術(shù)問(wèn)題,本發(fā)明提供如下的技術(shù)方案:
一種基于Modbus協(xié)議的從設(shè)備,包括:電源單元、485通信單元、單片機(jī)和執(zhí)行單元:
電源單元用于為485通信單元、單片機(jī)和執(zhí)行單元供電;
485通信單元用于接收和發(fā)送Modbus總線上的數(shù)據(jù)幀,單片機(jī)用于判斷485通信單元接收的數(shù)據(jù)幀是否為符合Modbus協(xié)議的有效數(shù)據(jù),如果是有效數(shù)據(jù),則生成數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào),并將數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào)分別發(fā)送給485通信單元和執(zhí)行單元;
執(zhí)行單元用于根據(jù)執(zhí)行信號(hào)進(jìn)行相應(yīng)操作。
[0009]其中,數(shù)據(jù)幀包括:地址域、功能碼域、數(shù)據(jù)域和差錯(cuò)校驗(yàn)域。
[0010]在優(yōu)選的方案中,單片機(jī)判斷485通信單元接收的數(shù)據(jù)幀是否為符合Modbus協(xié)議的有效數(shù)據(jù)具體包括:
步驟101,單片機(jī)判斷從設(shè)備是否處于串口中斷狀態(tài),如果從設(shè)備未處于串口中斷狀態(tài),則執(zhí)行步驟102 ;
步驟102,判斷485通信單元接收的數(shù)據(jù)幀的地址域中存儲(chǔ)的地址代碼是否與單片機(jī)中存儲(chǔ)的地址代碼相同,如果相同則執(zhí)行步驟103,如果不相同則所接收的數(shù)據(jù)幀不是有效數(shù)據(jù);
步驟103,根據(jù)單片機(jī)中存儲(chǔ)的差錯(cuò)校驗(yàn)規(guī)則判斷數(shù)據(jù)幀的差錯(cuò)校驗(yàn)域中存儲(chǔ)的校驗(yàn)碼值是否正確,如果正確則執(zhí)行步驟104,如果不正確則所接收的數(shù)據(jù)幀不是有效數(shù)據(jù);步驟104,判斷數(shù)據(jù)幀的功能碼域中存儲(chǔ)的功能碼是否與單片機(jī)中存儲(chǔ)的功能碼是否一致,如果一致則判斷出所接收的數(shù)據(jù)幀為有效數(shù)據(jù)并執(zhí)行步驟105,否則判斷出所接收的數(shù)據(jù)幀不是有效數(shù)據(jù)并且生成例外響應(yīng)幀,并且通過(guò)485通信單元轉(zhuǎn)發(fā)例外響應(yīng)幀;
步驟105,在單片機(jī)控制下執(zhí)行數(shù)據(jù)幀的功能碼域中功能碼對(duì)應(yīng)的功能,接下來(lái)執(zhí)行步驟 106 ;
步驟106,執(zhí)行完對(duì)應(yīng)的功能后由單片機(jī)通過(guò)485通信單元發(fā)送數(shù)據(jù)接收響應(yīng)幀,以向主設(shè)備回應(yīng)對(duì)應(yīng)的功能已經(jīng)執(zhí)行完畢。
[0011]本發(fā)明提供的基于Modbus協(xié)議的從設(shè)備,實(shí)現(xiàn)Modbus總線上數(shù)據(jù)幀的收發(fā)和有效性判斷功能,具有成本低、容易生產(chǎn)和應(yīng)用廣泛的特點(diǎn),提高了主、從設(shè)備之間通信的可靠性。

【專利附圖】

【附圖說(shuō)明】
[0012]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0013]圖1為本發(fā)明實(shí)施例的從設(shè)備的結(jié)構(gòu)示意圖;
圖2所示Modbus總線上數(shù)據(jù)幀的結(jié)構(gòu)示意圖
圖3為圖1所示從設(shè)備執(zhí)行數(shù)據(jù)有效性判斷的流程圖。

【具體實(shí)施方式】
[0014]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0015]參見(jiàn)圖1所示從設(shè)備的結(jié)構(gòu)示意圖,本實(shí)施例提供了基于Modbus協(xié)議的從設(shè)備,包括:電源單元、485通信單元、單片機(jī)和執(zhí)行單元:電源單元用于為485通信單元、單片機(jī)和執(zhí)行單元供電;485通信單元用于接收Modbus總線上的數(shù)據(jù)幀和轉(zhuǎn)發(fā)單片機(jī)生成的數(shù)據(jù)接收響應(yīng)幀;單片機(jī)用于判斷485通信單元接收的數(shù)據(jù)幀是否為符合Modbus協(xié)議的有效數(shù)據(jù),如果是有效數(shù)據(jù),則生成數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào),并將數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào)分別發(fā)送給485通信單元和執(zhí)行單元;執(zhí)行單元用于根據(jù)執(zhí)行信號(hào)進(jìn)行相應(yīng)操作;如果不是有效數(shù)據(jù),則串口中斷響應(yīng)結(jié)束,單片機(jī)重新處于接受數(shù)據(jù)準(zhǔn)備狀態(tài)。
[0016]參見(jiàn)圖2所示數(shù)據(jù)幀的結(jié)構(gòu)示意圖,數(shù)據(jù)幀包括:地址域、功能碼域、數(shù)據(jù)域和差錯(cuò)校驗(yàn)域。數(shù)據(jù)接收響應(yīng)幀符合Modbus協(xié)議。
[0017]其中,單片機(jī)可以是51單片機(jī),也可以為微控制器。485通信單元為RS-485通訊接口,可以是通用異步收發(fā)器(UART,Universal Asynchronous Receiver/Transmitter)或通用同步 / 異步串行接收發(fā)送器(USART,Universal Synchronous/Asynchronous Receiver/Transmitter),用于完成與從設(shè)備連接的主設(shè)備之間的數(shù)據(jù)收發(fā)功能。
[0018]采用本實(shí)施例的從設(shè)備可以在接收數(shù)據(jù)幀后進(jìn)行數(shù)據(jù)進(jìn)行了多層有效性判斷,接受了無(wú)效的數(shù)據(jù)幀后不進(jìn)行相應(yīng)操作,例如控制繼電器開(kāi)閉操作,并且能向主設(shè)備回送例外響應(yīng)幀,表明傳送錯(cuò)誤。而現(xiàn)有從設(shè)備接收到無(wú)效數(shù)據(jù)幀也可能會(huì)執(zhí)行操作,因此本發(fā)明的從設(shè)備可以防止從設(shè)備誤操作,提高了通信的可靠性。
[0019]圖2所示數(shù)據(jù)幀中,起始位和結(jié)束符中的Tl至T4分別指一個(gè)脈沖時(shí)間,或稱為字符時(shí)間;地址域占8bit,地址域中地址代碼與接收數(shù)據(jù)幀的從設(shè)備中的地址代碼應(yīng)當(dāng)相同;功能碼域占8bit,功能碼用于指示從設(shè)備執(zhí)行哪些操作,從設(shè)備中也應(yīng)存儲(chǔ)有相應(yīng)的功能碼,或相同的功能碼;數(shù)據(jù)域占用NXSbit,N為自然數(shù),用于傳輸數(shù)據(jù);差錯(cuò)校驗(yàn)域占用16 bit,校驗(yàn)碼采用循環(huán)冗余校驗(yàn)碼(CRC,Cyclic Redundancy Check)。
[0020]其中,地址域中可能的從設(shè)備地址代碼值是O?247 (十進(jìn)制),單個(gè)從設(shè)備的地址范圍是I?247,地址代碼值O用作廣播地址。數(shù)據(jù)幀必須作為一連續(xù)的流傳輸。例如,在一個(gè)數(shù)據(jù)幀傳輸過(guò)程中有超過(guò)1.5個(gè)字符時(shí)間的停頓時(shí)間,從設(shè)備將刷新出不完整的數(shù)據(jù)幀并假定1.5個(gè)字符時(shí)間后的一個(gè)字節(jié)是一個(gè)新數(shù)據(jù)幀的地址域。同樣地,如果一個(gè)數(shù)據(jù)幀在小于3.5個(gè)字符時(shí)間內(nèi)接著前個(gè)數(shù)據(jù)幀傳輸,從設(shè)備將認(rèn)為后一個(gè)數(shù)據(jù)幀是前一數(shù)據(jù)幀的延續(xù),這將導(dǎo)致一個(gè)錯(cuò)誤,于是校驗(yàn)碼值判斷結(jié)果為校驗(yàn)碼值錯(cuò)誤。字符時(shí)間規(guī)定在了在Modbus協(xié)議中。
[0021]參見(jiàn)圖3所示數(shù)據(jù)有效性判斷的流程圖,單片機(jī)判斷485通信單元接收的數(shù)據(jù)幀是否為符合Modbus協(xié)議的有效數(shù)據(jù)具體包括:
步驟101,單片機(jī)判斷從設(shè)備是否處于中斷狀態(tài),如果從設(shè)備未處于串口中斷狀態(tài),則執(zhí)行步驟102 ;例如串口中斷為USART_RXC中斷。
[0022]步驟102,判斷485通信單元接收的數(shù)據(jù)幀的地址域中存儲(chǔ)的地址代碼是否與單片機(jī)中存儲(chǔ)的地址代碼相同,如果相同則執(zhí)行步驟103,如果不相同則所接收的數(shù)據(jù)幀不是有效數(shù)據(jù);
步驟103,根據(jù)單片機(jī)中存儲(chǔ)的差錯(cuò)校驗(yàn)規(guī)則判斷數(shù)據(jù)幀的差錯(cuò)校驗(yàn)域中存儲(chǔ)的校驗(yàn)碼值是否正確,如果正確則執(zhí)行步驟104,如果不正確則所接收的數(shù)據(jù)幀不是有效數(shù)據(jù),此時(shí)串口中斷響應(yīng)結(jié)束,單片機(jī)重新處于接受數(shù)據(jù)準(zhǔn)備狀態(tài);
步驟104,判斷數(shù)據(jù)幀的功能碼域中存儲(chǔ)的功能碼是否與單片機(jī)中存儲(chǔ)的功能碼是否一致,即功能碼是否有效,如果一致則判斷出所接收的數(shù)據(jù)幀為有效數(shù)據(jù)并執(zhí)行步驟105,否則判斷出所接收的數(shù)據(jù)幀不是有效數(shù)據(jù)并且生成例外響應(yīng)幀,并且通過(guò)485通信單元轉(zhuǎn)發(fā)例外響應(yīng)幀。這里的一致是指從設(shè)備中也存儲(chǔ)有相應(yīng)的功能碼。
[0023]步驟105,在單片機(jī)控制下由執(zhí)行按原執(zhí)行數(shù)據(jù)幀的功能碼域中功能碼對(duì)應(yīng)的功能,接下來(lái)執(zhí)行步驟106 ;
步驟106,執(zhí)行完對(duì)應(yīng)的功能后由單片機(jī)通過(guò)485通信單元發(fā)送數(shù)據(jù)接收響應(yīng)幀,以向主設(shè)備回應(yīng)對(duì)應(yīng)的功能已經(jīng)執(zhí)行完畢。
[0024]上述流程還包括:單片機(jī)監(jiān)控?cái)?shù)據(jù)幀的傳輸狀態(tài),在每個(gè)字節(jié)接收完畢后啟動(dòng)定時(shí)器,并且記錄從定時(shí)器啟動(dòng)時(shí)刻到接收到非空字節(jié)時(shí)刻之間的時(shí)間間隔,判斷時(shí)間間隔是否小于3.5個(gè)脈沖時(shí)間,如果是則判斷出校驗(yàn)碼值不正確,即:485通信單元接收的數(shù)據(jù)幀不是有效數(shù)據(jù),此時(shí)串口中斷響應(yīng)結(jié)束,單片機(jī)重新處于接受數(shù)據(jù)準(zhǔn)備狀態(tài)。
[0025]圖2所示流程主要完成利用Modbus協(xié)議解析與處理數(shù)據(jù)幀的功能,在判斷出接收到的數(shù)據(jù)幀是有效數(shù)據(jù)后,可以生成電平信號(hào)等執(zhí)行信號(hào)通知執(zhí)行單元執(zhí)行相應(yīng)操作。例如,執(zhí)行單元是繼電器,則通過(guò)電信號(hào)使繼電器斷開(kāi)或閉合。
[0026]另外,單片機(jī)還可以與傳感器等輸入/輸出(I/O)單元連接,為執(zhí)行單元的操作提供參數(shù),I/o單元可以用于向另一設(shè)備發(fā)送信息以便控制這一設(shè)備。
[0027]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種基于Modbus協(xié)議的從設(shè)備,其特征在于,包括:電源單元、485通信單元、單片機(jī)和執(zhí)行單元: 電源單元用于為485通信單元、單片機(jī)和執(zhí)行單元供電; 485通信單元用于接收Modbus總線上的數(shù)據(jù)幀和轉(zhuǎn)發(fā)單片機(jī)生成的數(shù)據(jù)接收響應(yīng)幀; 單片機(jī)用于判斷485通信單元接收的數(shù)據(jù)幀是否為符合Modbus協(xié)議的有效數(shù)據(jù),如果是有效數(shù)據(jù),則生成數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào),并將數(shù)據(jù)接收響應(yīng)幀和執(zhí)行信號(hào)分別發(fā)送給485通信單元和執(zhí)行單元; 執(zhí)行單元用于根據(jù)執(zhí)行信號(hào)進(jìn)行相應(yīng)操作; 其中,數(shù)據(jù)幀包括:地址域、功能碼域、數(shù)據(jù)域和差錯(cuò)校驗(yàn)域。
2.根據(jù)權(quán)利要求1所述的基于Modbus協(xié)議的從設(shè)備,其特征在于,單片機(jī)判斷485通信單元接收的數(shù)據(jù)幀是否為符合Modbus協(xié)議的有效數(shù)據(jù)具體包括: 步驟101,單片機(jī)判斷從設(shè)備是否處于串口中斷狀態(tài),如果從設(shè)備未處于串口中斷狀態(tài),則執(zhí)行步驟102 ; 步驟102,判斷485通信單元接收的數(shù)據(jù)幀的地址域中存儲(chǔ)的地址代碼是否與單片機(jī)中存儲(chǔ)的地址代碼相同,如果相同則執(zhí)行步驟103,如果不相同則所接收的數(shù)據(jù)幀不是有效數(shù)據(jù); 步驟103,根據(jù)單片機(jī)中存儲(chǔ)的差錯(cuò)校驗(yàn)規(guī)則判斷數(shù)據(jù)幀的差錯(cuò)校驗(yàn)域中存儲(chǔ)的校驗(yàn)碼值是否正確,如果正確則執(zhí)行步驟104,如果不正確則所接收的數(shù)據(jù)幀不是有效數(shù)據(jù); 步驟104,判斷數(shù)據(jù)幀的功能碼域中存儲(chǔ)的功能碼是否與單片機(jī)中存儲(chǔ)的功能碼是否一致,如果一致則判斷出所接收的數(shù)據(jù)幀為有效數(shù)據(jù)并執(zhí)行步驟105,否則判斷出所接收的數(shù)據(jù)幀不是有效數(shù)據(jù)并且生成例外響應(yīng)幀,并且通過(guò)485通信單元轉(zhuǎn)發(fā)例外響應(yīng)幀; 步驟105,在單片機(jī)控制下執(zhí)行數(shù)據(jù)幀的功能碼域中功能碼對(duì)應(yīng)的功能,接下來(lái)執(zhí)行步驟 106 ; 步驟106,執(zhí)行完對(duì)應(yīng)的功能后由單片機(jī)通過(guò)485通信單元發(fā)送數(shù)據(jù)接收響應(yīng)幀,以向主設(shè)備回應(yīng)對(duì)應(yīng)的功能已經(jīng)執(zhí)行完畢。
【文檔編號(hào)】H04L12/40GK104486181SQ201410638452
【公開(kāi)日】2015年4月1日 申請(qǐng)日期:2014年11月13日 優(yōu)先權(quán)日:2014年11月13日
【發(fā)明者】孟凡智, 李婷婷, 徐峰, 司進(jìn)華, 張騫, 王子彬, 楊曉光, 孟嬌, 張迎杰, 赫立遠(yuǎn) 申請(qǐng)人:華晨汽車集團(tuán)控股有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
兰州市| 呼伦贝尔市| 罗平县| 门源| 莱州市| 隆昌县| 天台县| 鸡西市| 张掖市| 东丽区| 普安县| 河津市| 镇江市| 平乐县| 义马市| 星子县| 青神县| 黄陵县| 拉萨市| 晋州市| 沾益县| 临邑县| 聂拉木县| 团风县| 滨州市| 阳东县| 荃湾区| 武安市| 河津市| 宁河县| 万州区| 建昌县| 西乌| 扬州市| 昭觉县| 宣恩县| 阳高县| 宝兴县| 顺昌县| 普安县| 即墨市|