女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]本文通過一個應(yīng)用實(shí)例介紹如何利用單片機(jī)編程實(shí)現(xiàn)在線通訊ModBUS消息的工作過程,在可視化語言環(huán)境下完成地址域、功能代碼域、數(shù)據(jù)域的分配及CRC校驗(yàn)。MODBUS協(xié)議是應(yīng)用于電子控制器的一種通訊語言。

1  引言

  現(xiàn)代工業(yè)自動控制系統(tǒng)朝智能化、網(wǎng)絡(luò)化和開放式結(jié)構(gòu)的方向發(fā)展。實(shí)現(xiàn)不同種自動化設(shè)備之間通信是系統(tǒng)集成的關(guān)鍵?,F(xiàn)場控制設(shè)備具有通信功能,便于構(gòu)成工廠底層控制網(wǎng)絡(luò)。通信標(biāo)準(zhǔn)的公開、一致,使系統(tǒng)具備開放性,設(shè)備間具有互可操作性。功能塊與結(jié)構(gòu)的規(guī)范化使相同功能的設(shè)備間具有互換性??刂乒δ芟路诺浆F(xiàn)場,使控制系統(tǒng)結(jié)構(gòu)具備高度的分散性。利用現(xiàn)場總線技術(shù),將符合同一標(biāo)準(zhǔn)的各種智能設(shè)備統(tǒng)一起來,徹底實(shí)現(xiàn)整個監(jiān)測系統(tǒng)的分散控制,將提高系統(tǒng)集成度和數(shù)據(jù)傳輸效率、延長有效控制距離,并有利于提高系統(tǒng)抗干擾性能和擴(kuò)展系統(tǒng)功能。基于Modbus協(xié)議的串口通信是較常用的方式之一。

  2  MODBUS協(xié)議簡介

  MODBUS協(xié)議具有偵錯能力強(qiáng)、數(shù)據(jù)傳輸量大、實(shí)時性好等特點(diǎn),因而成為目前自控領(lǐng)域使用非常廣泛的通訊語言。本文通過一個應(yīng)用實(shí)例介紹如何利用單片機(jī)編程實(shí)現(xiàn)在線通訊ModBUS消息的工作過程,在可視化語言環(huán)境下完成地址域、功能代碼域、數(shù)據(jù)域的分配及CRC校驗(yàn)。MODBUS協(xié)議是應(yīng)用于電子控制器的一種通訊語言。利用這個協(xié)議,控制器相互之間(例如485、232C等),控制器通過網(wǎng)絡(luò)(例如以太網(wǎng))和其他設(shè)備之間進(jìn)行通訊。它定義了一種控制器能認(rèn)識使用的消息結(jié)構(gòu),而不管它們是通過何種網(wǎng)絡(luò)實(shí)現(xiàn);描述的是控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請求,以及怎樣偵錯并記錄;制定了消息域格局和內(nèi)容的公共格式。MODBUS通訊規(guī)約按照主從設(shè)備來規(guī)定,如:主站一次可向一個或所有從站發(fā)送通信請求(或指令),主設(shè)備通過消息幀的地址域來選通從設(shè)備。主站發(fā)送的消息幀的內(nèi)容和順序?yàn)椋簭恼镜刂罚ㄔO(shè)備地址)、功能碼、數(shù)據(jù)域(數(shù)據(jù)起始地址、數(shù)據(jù)量、數(shù)據(jù)內(nèi)容)、CRC校驗(yàn)碼;從站應(yīng)答的信息內(nèi)容和順序與主站信息幀基本相同。MODBUS除了定義通信功能碼之外,同時還定義了出錯碼,標(biāo)志出錯信息。主站接收到錯誤碼后,根據(jù)錯誤的原因采取相應(yīng)的措施。從站應(yīng)答的數(shù)據(jù)內(nèi)容依據(jù)功能碼進(jìn)行響應(yīng)。例如功能代碼03要求讀取從站設(shè)備中保持寄存器的內(nèi)容。

  2.1   MODBUS通訊傳輸模式

  MODBUS通訊實(shí)現(xiàn)有兩種傳輸模式(ASCII或RTU),ABB公司的50系列PLC產(chǎn)品采用的是RTU(遠(yuǎn)程終端單元)模式,在消息中的每個8Bit字節(jié)包含兩個4Bit的十六進(jìn)制字符。這種方式的主要優(yōu)點(diǎn)是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。

  代碼系統(tǒng):

  ·   8位二進(jìn)制,十六進(jìn)制數(shù)0...9,A...F。

  ·   消息中的每個8位域都是一個兩個十六進(jìn)制字符組成每個字節(jié)的位。

  ·   1個起始位。

  ·   8個數(shù)據(jù)位,最小的有效位先發(fā)送。

  ·   1個奇偶校驗(yàn)位,無校驗(yàn)則無。

  ·   1個停止位(有校驗(yàn)時),2個Bit(無校驗(yàn)時)。

  ·   錯誤檢測域,CRC(循環(huán)冗長檢測)。

  基于RS485的RTU模式MODBUS通訊格式為:

  它定義了在這些網(wǎng)絡(luò)上連續(xù)傳輸?shù)南⒍蔚拿恳晃?,以及決定怎樣將信息打包成消息域和如何解碼。

  2.2   MODBUS通訊查詢回應(yīng)功能

 ?。?)查詢    查詢消息中的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能。數(shù)據(jù)段包含了從設(shè)備要執(zhí)行功能的任何附加信息。例如功能代碼03是要求從設(shè)備讀保持寄存器并返回它們的內(nèi)容。數(shù)據(jù)段必須包含要告之從設(shè)備的信息:從何寄存器開始讀及要讀的寄存器數(shù)量。錯誤檢測域?yàn)閺脑O(shè)備提供了一種驗(yàn)證消息內(nèi)容是否正確的方法。

 ?。?)回應(yīng)    如果從設(shè)備產(chǎn)生一正常的回應(yīng),在回應(yīng)消息中的功能代碼是在查詢消息中的功能代碼的回應(yīng)。數(shù)據(jù)段包括了從設(shè)備收集的數(shù)據(jù):象寄存器值或狀態(tài)。如果有錯誤發(fā)生,功能代碼將被修改以用于指出回應(yīng)消息是錯誤的,同時數(shù)據(jù)段包含了描述此錯誤信息的代碼。錯誤檢測域允許主設(shè)備確認(rèn)消息內(nèi)容是否可用。

  2.3   MODBUS消息幀

  傳輸設(shè)備將MODBUS消息轉(zhuǎn)為有起點(diǎn)和終點(diǎn)的幀,這就允許接收的設(shè)備在消息起始處開始工作,讀地址分配信息,判斷哪一個變量被選中,判知何時信息已完成。部分消息也能偵測到錯誤并且能設(shè)置為返回結(jié)果。使用RTU模式,消息發(fā)送至少要以3.5個字符時間的停頓間隔開始。傳輸?shù)牡谝粋€域是變量地址。可以使用的傳輸字符是十六進(jìn)制的0...9,A...F。網(wǎng)絡(luò)設(shè)備不斷偵測網(wǎng)絡(luò)總線,包括停頓間隔時間內(nèi)。當(dāng)?shù)谝粋€域(地址域)接收到,每個設(shè)備都進(jìn)行解碼以判斷是否發(fā)往自己的。在最后一個傳輸字符之后,一個至少3.5個字符時間的停頓標(biāo)定了消息的結(jié)束。一個新的消息可在此停頓后開始。

  整個消息幀必須作為一連續(xù)的流轉(zhuǎn)輸。如果在幀完成之前有超過1.5個字符時間的停頓時間,接收設(shè)備將刷新不完整的消息并假定下一字節(jié)是一個新消息的地址域。同樣地,如果一個新消息在小于3.5個字符時間內(nèi)接著前個消息開始,接收的設(shè)備將認(rèn)為它是前一消息的延續(xù)。這將導(dǎo)致一個錯誤,因?yàn)樵谧詈蟮腃RC域的值不可能是正確的。所以在通訊端口初始化時,Timer1定時間隔設(shè)置為500ms。

  2.4   MODBUS的CRC校驗(yàn)原理

  CRC校驗(yàn)實(shí)現(xiàn) MODBUS通信的RTU模式中,規(guī)定信息幀的最后兩個字節(jié)用于傳遞CRC(Cyclic Redundancy Check,循環(huán)冗余校驗(yàn))碼。發(fā)送方將信息幀中地址域、功能碼、數(shù)據(jù)域的所有字節(jié)按規(guī)定的方式進(jìn)行位移并進(jìn)行XOR(異或)計(jì)算,即可得到2字節(jié)的CRC碼,并把包含CRC校驗(yàn)碼的信息幀作為一連續(xù)的流進(jìn)行傳輸。接收方在收到該信息幀時按同樣的方式進(jìn)行計(jì)算,并將結(jié)果同收到的CRC碼的雙字節(jié)比較,如果一致就認(rèn)為通信正確,否則認(rèn)為通信有誤,從站將發(fā)送CRC錯誤應(yīng)答。 RTU模式一般采用CRC-16冗余校驗(yàn)方法,CRC-16的校驗(yàn)碼為16位(2字節(jié)),其中低字節(jié)在前,高字節(jié)在后。實(shí)現(xiàn)CRC校驗(yàn)有兩種方法:根據(jù)CRC校驗(yàn)的定義公式進(jìn)行計(jì)算,或者在程序中建立CRC校驗(yàn)值表。在程序中使用前者更容易實(shí)現(xiàn),這里需要使用CRC生成多項(xiàng)式X16+X15+X2+1。該多項(xiàng)式對應(yīng)的碼組系數(shù)為18005H(16進(jìn)制),去除最高位,對應(yīng)的16位余數(shù)為8005H,即為CRC-16常數(shù)。CRC-16校驗(yàn)過程如下:將CRC寄存器的每一位預(yù)置為1;把該寄存器值與8bit的信息幀數(shù)據(jù)進(jìn)行異或,結(jié)果存于該寄存器;對CRC寄存器從高到低進(jìn)行移位,在最高位(MSB)的位置補(bǔ)零,而最低位(LSB,移位后已經(jīng)被移出CRC寄存器)如果為1,則把寄存器與CRC-16常數(shù)進(jìn)行異或,否則如果LSB為零,則無需進(jìn)行異或。重復(fù)上述的由高至低的移位8次,第一個8bit數(shù)據(jù)處理完畢,用此時寄存器的值與下一個8bit數(shù)據(jù)異或并進(jìn)行如前一樣的8次移位。所有的字符處理完成后CRC寄存器內(nèi)的值即為最終的CRC值。CRC添加到消息中時,先加入低字節(jié),然后高字節(jié)。RTU模式的傳輸格式是1個數(shù)據(jù)位,2個停止位,沒有奇偶校驗(yàn)位。通信數(shù)據(jù)安全由控制參數(shù)CRC-16碼保證。RTU接收設(shè)備依靠接收字符間經(jīng)過的時間判斷一幀的開始,如果經(jīng)過3個半的字符時間后仍然沒有新的字符或者沒有完成幀,接收設(shè)備就會放棄該幀,并設(shè)下一個字符為新一幀的開始,應(yīng)用程序中,MODBUS協(xié)議通信由通訊子模塊實(shí)現(xiàn),包含CRC-16計(jì)算與驗(yàn)證、信息幀的編制和分解。[!--empirenews.page--]

  3   MODBUS通訊應(yīng)用

  下面是基于單片機(jī)MSP430F149為主芯片的高壓軟起動裝置液晶操控板,以此為例來說明MODBUS通訊的應(yīng)用。MODBUS通訊主設(shè)備是DSP控制器,從設(shè)備是高壓軟起動裝置液晶操控板。

  3.1   液晶操控板MODBUS通訊測試碼

  /*****************************MODBUS通訊測試碼*****************************

  召喚發(fā)送:

  00 06

  00 00 00 0C 1E 88

  電壓、電流監(jiān)測功能:

  00 03

  1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 8D

  故障顯示功能:

  00 02

  18 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 20 34

  *****************************MODBUS通訊測試碼*****************************/

  2:對以上測試碼分別進(jìn)行說明:

 ?。?):召喚發(fā)送,參數(shù)設(shè)置功能:即控制器(DSP)與液晶屏(430)之間的通訊,是雙向的。

  00 06

  00 00 00 0C 1E 88

  以上這段代碼是DSP傳給430的召喚代碼,含義(代碼從左到右)是:00:設(shè)備代碼。本系統(tǒng)中從設(shè)備只有高壓軟起動裝置液晶操控板一個設(shè)備,故設(shè)備代碼設(shè)置為00。06:功能碼,實(shí)現(xiàn)何種功能(本例中,06是雙向召喚發(fā)送功能,實(shí)現(xiàn)參數(shù)設(shè)置;03功能碼實(shí)現(xiàn)電壓、電流監(jiān)測功能;02功能碼實(shí)現(xiàn)故障顯示功能)。00 00:是起始地址的高八位、低八位。00 0C:是DSP要求430回傳字節(jié)的個數(shù)(不包括設(shè)備代碼、功能碼、數(shù)據(jù)個數(shù)代碼、和校驗(yàn)代碼),00是個數(shù)的高八位、0C是個數(shù)的低八位,0C是十六進(jìn)制(轉(zhuǎn)換成十進(jìn)制是12,12是從“起動時間、額定電流——備用 3”的個數(shù)),1E 88:是CRC校驗(yàn)碼。當(dāng)DSP給430傳

  00 06

  00 00 00 0C 1E 88

  代碼時,430先將這8個字節(jié)保存到一個臨時數(shù)組RX[]中,然后分別對這8個字節(jié)進(jìn)行判斷(1E 88是校驗(yàn)查表得出來的代碼),如果檢驗(yàn)正確,就會把要回傳給DSP的字節(jié)放到can_s[]數(shù)組中發(fā)出去,發(fā)送到DSP。以下代碼就是430接到[!--empirenews.page--]

  00 06

  00 00 00 0C 1E 88

  判斷正確后,回傳給DSP的代碼。00 06:是設(shè)備代碼、功能碼。18:回傳的字節(jié)個數(shù)(十六進(jìn)制18就是十進(jìn)制24)。B6 8F是回傳的校驗(yàn)代碼。中間的24個字節(jié)(00),每兩個字節(jié)(00)分別對應(yīng)“起動時間、額定電流——備用 3”,之所以全是00 ,是因?yàn)闆]有設(shè)置參數(shù),在液晶屏上設(shè)置參數(shù),相應(yīng)的高低位也跟著變化。

  00 06

  18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B6 8F

 ?。?):電壓、電流監(jiān)測功能:

  00 03

  1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

  00 00 00 00 00 00 00 0D 8D

  同理00 03 1C是設(shè)備地址、功能碼、DSP傳給430的數(shù)據(jù)個數(shù)(1C是十六進(jìn)制,轉(zhuǎn)為十進(jìn)制是28,包括1C在內(nèi),不包括00 03 0D 8D)。當(dāng)430接收到

  00 03

  1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 8D

  時,會將接收到的字節(jié)分別存到可用數(shù)組里,在利用可用數(shù)組進(jìn)行顯示。

  DSP下傳:

  00(設(shè)備代碼)03(功能碼)1C(個數(shù)14*2) 00H(電壓高位)00L(電壓低位)

  。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  00H(備用12高位)00L(備用12低位)CRCH(高位)CRCL(低位)

 ?。?):故障顯示功能:

  00 02

  18 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

  01 01 01 20 34

  同理00 02 18是設(shè)備地址、功能碼、DSP傳給430的數(shù)據(jù)個數(shù)(18是十六進(jìn)制,轉(zhuǎn)為十進(jìn)制是24,包括18算內(nèi),不包括00 02 20 34)。當(dāng)430接收到

  00 02

  18 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 20 34

  時,會將接收到的字節(jié)分別存到可用數(shù)組里,在利用可用數(shù)組進(jìn)行顯示。

  DSP下傳:

  00(設(shè)備代碼)02(功能碼)18(個數(shù)) 00(啟動中)。。。。。。。。。。。。。。。。。。。。。。

  。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。00(三相不平衡)CRCH(高位)CRCL(低位)

  高壓軟起動裝置液晶操控板

  高壓軟起動裝置液晶操控板

  結(jié)語

  由于MODBUS串行通訊技術(shù)有著實(shí)現(xiàn)簡便、系統(tǒng)集成費(fèi)用低以及通訊距離遠(yuǎn)(RS485/422)等特點(diǎn),所以,在各個行業(yè)的應(yīng)用也都很廣泛。MODBUS通訊在現(xiàn)場給調(diào)試人員及編程人員也帶來很大方便。因此,伴隨著多種通訊方式可以融合并存的發(fā)展趨勢,MODBUS串行通訊技術(shù)仍會保持廣泛的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

柏林2025年9月9日 /美通社/ -- 2025年9月5日,納斯達(dá)克上市公司優(yōu)克聯(lián)集團(tuán)(NASDAQ: UCL)旗下全球互聯(lián)品牌GlocalMe,正式亮相柏林國際消費(fèi)電子展(IFA 2025),重磅推出融合企...

關(guān)鍵字: LOCAL LM BSP 移動網(wǎng)絡(luò)

深圳2025年9月9日 /美通社/ -- PART 01活動背景 當(dāng)技術(shù)的鋒芒刺穿行業(yè)壁壘,萬物互聯(lián)的生態(tài)正重塑產(chǎn)業(yè)疆域。2025年,物聯(lián)網(wǎng)產(chǎn)業(yè)邁入?"破界創(chuàng)造"與"共生進(jìn)化"?的裂變時代——AI大模型消融感知邊界,...

關(guān)鍵字: BSP 模型 微信 AIOT

"出海無界 商機(jī)無限"助力企業(yè)構(gòu)建全球競爭力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由領(lǐng)先商業(yè)管理媒體世界經(jīng)理人攜手環(huán)球資源聯(lián)合主辦、深圳?前海出海e站通協(xié)辦的...

關(guān)鍵字: 解碼 供應(yīng)鏈 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林當(dāng)?shù)貢r間9月6日,在2025德國柏林國際電子消費(fèi)品展覽會(International Funkausstellung...

關(guān)鍵字: 掃地機(jī)器人 耳機(jī) PEN BSP

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠(yuǎn)通信宣布,其自研藍(lán)牙協(xié)議棧DynaBlue率先通過藍(lán)牙技術(shù)聯(lián)盟(SIG)BQB 6.1標(biāo)準(zhǔn)認(rèn)證。作為移遠(yuǎn)深耕短距離通信...

關(guān)鍵字: 藍(lán)牙協(xié)議棧 移遠(yuǎn)通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實(shí)黨中央、國務(wù)院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務(wù)業(yè)的決策部署,更好發(fā)揮人力資源服務(wù)業(yè)賦能百業(yè)作用,8月29日,以"AI智領(lǐng) HR智鏈 靜候你來&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達(dá)成合作,為其自主研發(fā)的"旗馭車管"車輛運(yùn)營管理平臺提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺對百余家企業(yè)客戶的運(yùn)營管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會、上海市發(fā)展和改革委員會、上海市商務(wù)委員會、上海市教育委員會、上海市科學(xué)技術(shù)委員會指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動駕駛
關(guān)閉