1. <pre id="srmtd"></pre>
      
      
    2. <menuitem id="srmtd"></menuitem>

    3. 關(guān)于RS485和MODBUS的快速教程

      什么是RS485?


      RS485是串行傳輸標(biāo)準(zhǔn),有點(diǎn)像RS232,但使用其他電信號(hào)。RS485的一個(gè)重要優(yōu)點(diǎn)是可以將多個(gè)RS485設(shè)備放在同一總線上。因此,您不必在主機(jī)上乘以RS485接口來(lái)詢(xún)問(wèn)多個(gè)設(shè)備。但是,有一個(gè)小技巧:在總線的每一端,你必須放一個(gè)總線端接器有時(shí)這意味著您必須在端子上擰一個(gè)小電阻,或者只需將開(kāi)關(guān)移到適當(dāng)?shù)奈恢眉纯伞?nbsp;

      RS485總線通常只由兩根導(dǎo)線和四極電阻組成......
      RS485總線通常只由兩根導(dǎo)線和四極電阻組成......


      RS485和RS232不直接兼容:您必須使用正確類(lèi)型的接口,否則信號(hào)將無(wú)法通過(guò)。確實(shí)有RS232到RS485網(wǎng)關(guān),但現(xiàn)在它們并不令人感興趣:它可以很容易地將RS485用于USB,以太網(wǎng)或直接用于GSM。它更便宜,而且系統(tǒng)中的組件少了一個(gè)。 

      使用RS485時(shí)的主要特點(diǎn)是交換數(shù)據(jù)的格式。使用RS232時(shí),許多設(shè)備只使用文本(ASCII)協(xié)議,而RS485大多數(shù)設(shè)備使用MODBUS協(xié)議。因此,您必須知道最少的MODBUS才能連接RS485設(shè)備。 
       

      什么是MODBUS?


      MODBUS是主機(jī)(主設(shè)備)和設(shè)備(從設(shè)備)之間的協(xié)議,用于訪問(wèn)設(shè)備的配置和讀取措施。MODBUS消息對(duì)應(yīng)于讀取和寫(xiě)入16位字和二進(jìn)制寄存器(通常稱(chēng)為“線圈”)的相對(duì)簡(jiǎn)單的操作。主機(jī)系統(tǒng)地啟動(dòng)交換,“從”設(shè)備應(yīng)答。從站在主機(jī)請(qǐng)求之前不發(fā)送任何消息。 

      由于RS485總線上可以并聯(lián)多個(gè)設(shè)備,因此每個(gè)從設(shè)備必須在總線上使用唯一的MODBUS從站ID。每個(gè)MODBUS請(qǐng)求都以目標(biāo)設(shè)備的從站ID開(kāi)始,每個(gè)答案都從發(fā)送它的從站的從站ID開(kāi)始。因此,為了使MODBUS通信正常工作,您必須在設(shè)備配置中檢入其從站ID并在必要時(shí)進(jìn)行更改。在途中,還要檢查通信速度和奇偶校驗(yàn)(與RS232相同的原理)。 

      您無(wú)法輕松地“手動(dòng)”制作MODBUS消息,就像您在RS232上使用的ASCII協(xié)議一樣:每個(gè)MODBUS消息以校驗(yàn)和代碼結(jié)束,根據(jù)消息的全部?jī)?nèi)容計(jì)算。要交換MODBUS消息,您必須使用: 

      • 設(shè)備供應(yīng)商提供的特定程序,兼容接口;
      • 或帶有編程庫(kù)的簡(jiǎn)單RS485接口,編程和解碼MODBUS消息;
      • 或智能RS485接口,能夠自行編碼和解碼MODBUS消息,例如Yocto-RS485。


      另請(qǐng)注意,MODBUS協(xié)議有兩種變體:MODBUS ASCII模式,其中消息作為十六進(jìn)制代碼行交換; MODBUS RTU模式,其中消息直接作為二進(jìn)制幀交換。要與MODBUS設(shè)備通信,必須使用與設(shè)備中配置的模式相同的模式。所有真正遵循該標(biāo)準(zhǔn)的設(shè)備都支持MODBUS RTU模式。在現(xiàn)實(shí)生活中,它始終使用后一種模式:MODBUS ASCII沒(méi)有任何優(yōu)勢(shì),因?yàn)樗邢⒃谌魏吻闆r下都難以手動(dòng)編碼。 
       

      一個(gè)小型溫度控制器,內(nèi)置PID,模糊邏輯,......和RS485上的MODBUS接口
      一個(gè)小型溫度控制器,內(nèi)置PID,模糊邏輯,......和RS485上的MODBUS接口


       

      訪問(wèn)MODBUS寄存器


      當(dāng)你明白理論上如何交換信息,你還必須知道哪些登記以請(qǐng)求獲取措施,并登記變更配置設(shè)備。在這個(gè)級(jí)別,寄存器地址從一個(gè)設(shè)備更改為另一個(gè)設(shè)備,但有一些MODBUS約定有助于了解技術(shù)用戶(hù)指南,這些指南通常不像人們希望的那樣清晰。 

      有4種類(lèi)型的MODBUS寄存器:

      • 線圈,對(duì)應(yīng)于開(kāi)/關(guān)二進(jìn)制輸出,例如繼電器。
      • 輸入比特,對(duì)應(yīng)于二進(jìn)制輸入(只讀)。
      • 所述輸入寄存器中,對(duì)應(yīng)于模擬輸入(只讀)。
      • 保持寄存器,對(duì)應(yīng)于可以改變模擬參數(shù)。


      MODBUS設(shè)備的技術(shù)用戶(hù)指南通常包含按類(lèi)型列出的所有可用寄存器的列表。對(duì)于每種類(lèi)型的寄存器,對(duì)應(yīng)一系列寄存器號(hào),遵循以下約定: 

      • 線圈從00001起編號(hào)
      • 輸入比特是從10001向前編號(hào)
      • 輸入寄存器,從30001向前編號(hào)
      • 保持寄存器從40001向前編號(hào)


      請(qǐng)注意,當(dāng)使用此約定時(shí),每個(gè)類(lèi)別的第一個(gè)寄存器始終以數(shù)字1結(jié)束(不使用零)。 

      有時(shí),供應(yīng)商不是指示唯一的寄存器編號(hào),而是指示具有MODBUS功能標(biāo)識(shí)符的寄存器類(lèi)型,允許您讀取它們: 

      • 01H線圈
      • 輸入位02h
      • 04h輸入寄存器
      • 03h保持寄存器


      在這種情況下,它通常是指示其組中的寄存器的相對(duì)位置,第一個(gè)元素的位置為0。因此,04h函數(shù)的寄存器0對(duì)應(yīng)于第一個(gè)輸入寄存器,您也可以調(diào)用寄存器30001.注意不要混淆不符合MODBUS函數(shù)標(biāo)識(shí)符的寄存器范圍之間的不相干,以及相對(duì)的不相干性。頭寸從0開(kāi)始,絕對(duì)倉(cāng)位從1開(kāi)始...... 

      當(dāng)您知道要訪問(wèn)哪個(gè)寄存器時(shí),您仍然必須知道如何解釋它。由于模擬寄存器使用16位編碼,因此通常有兩種約定。第一種方法是使用器件配置中定義的值范圍,并將0-65535寄存器值的線性映射到此值范圍。第二種是以十進(jìn)制固定點(diǎn)直接存儲(chǔ)值,以工程單位表示:例如,2345表示23.45攝氏度。一些供應(yīng)商同時(shí)提供兩種格式的值:例如,寄存器30001用于與定義范圍成比例的版本,寄存器31001用于十進(jìn)制版本。 

      日韩无码a片精彩视频,精品国产一区二区三区免费看,U久久精品国产99国产精品亚洲,亚洲色欧美色国产精品

        1. <pre id="srmtd"></pre>
          
          
        2. <menuitem id="srmtd"></menuitem>