久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關(guān)注中國(guó)自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2025工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

MODBUS協(xié)議在世紀(jì)星組態(tài)軟件中的應(yīng)用


作者簡(jiǎn)介:曾慧(1985- ),女,新疆昌吉人,畢業(yè)于上海同濟(jì)大學(xué)電氣工程及其自動(dòng)化專業(yè),從事于硬件設(shè)備與世紀(jì)星組態(tài)軟件通信的驅(qū)動(dòng)開發(fā)工作。

    摘  要:作為工業(yè)控制領(lǐng)域常用的通信協(xié)議——Modbus,有方便易用,性價(jià)比高,傳輸高速、高效等優(yōu)點(diǎn)。Modbus技術(shù)以其先進(jìn)性、開放性、成熟性廣泛適用于各種工廠自動(dòng)化領(lǐng)域中,已被眾多廠家接受和采用。本文簡(jiǎn)要介紹了Modbus協(xié)議在世紀(jì)星中的應(yīng)用,以及它的基本內(nèi)容。

    關(guān)鍵詞:Modbus;組態(tài)軟件
 
    1  引言

    隨著工業(yè)自動(dòng)化的發(fā)展,MODBUS成為了工業(yè)控制系統(tǒng)中的一種通用協(xié)議。由于該協(xié)議的簡(jiǎn)單且通用,得到了眾多儀表廠商的支持,成為儀表及智能終端的一項(xiàng)工業(yè)標(biāo)準(zhǔn),在工業(yè)監(jiān)控系統(tǒng)中得到了廣泛的應(yīng)用。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以進(jìn)行通信。它的開放性、可擴(kuò)充性和標(biāo)準(zhǔn)化使不同廠商生產(chǎn)的控制設(shè)備可以簡(jiǎn)單可靠地連成工業(yè)網(wǎng)絡(luò),進(jìn)行系統(tǒng)的集中監(jiān)控,從而成為最流行的協(xié)議之一。同樣,世紀(jì)星組態(tài)軟件也提供了支持上位機(jī)和下位設(shè)備進(jìn)行MODBUS通信的驅(qū)動(dòng)程序,使用戶可以方便使用裝有世紀(jì)星軟件的上位機(jī)和下位的設(shè)備進(jìn)行通信。

    2
  MODBUS通信協(xié)議

    MODBUS協(xié)議是莫迪康公司1978年發(fā)明的一種用于電子控制器進(jìn)行控制和通信的協(xié)議。此協(xié)議支持傳統(tǒng)的RS232、RS422、RS485標(biāo)準(zhǔn)和以太網(wǎng)設(shè)備。不同廠商生產(chǎn)的符合MODBUS協(xié)議的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。MODBUS協(xié)議采用主從(master-slave)技術(shù),是一種問答方式的通信協(xié)議。每次通信均由主機(jī)發(fā)出數(shù)據(jù)請(qǐng)求信息,從機(jī)接收到正確消息后就可以發(fā)送數(shù)據(jù)到主機(jī)以響應(yīng)請(qǐng)求;主機(jī)也可以直接發(fā)信息修改從機(jī)的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫。

    MODBUS協(xié)議支持兩種數(shù)據(jù)傳送模式,即ASCII碼和MODBUS-RTU。

    (1)    MODBUS-RTU

                    表1  主機(jī)詢問數(shù)據(jù)幀報(bào)文
從機(jī)地址     功能碼     數(shù)據(jù)起始地址     數(shù)據(jù)量     冗余校驗(yàn)
Slave         Func      Start   Start    Num Num    CRC  CRC
Add           Code      Add H  Add L     H   L      -16H  -16L

                    表2  從機(jī)回答數(shù)據(jù)幀報(bào)文
從機(jī)地址     功能碼     字節(jié)量        數(shù)據(jù)         冗余校驗(yàn)
Slave        Func       Byte       Data …Data     CRC  CRC
Add          Code       Count      Byte1  Byte n   -16H  -16L
 
     (2)  ASCII碼
 
 
                    表3  主機(jī)詢問數(shù)據(jù)幀報(bào)文

起始符    從機(jī)地址  功能碼   數(shù)據(jù)起始地址   數(shù)據(jù)量    冗余校驗(yàn)  結(jié)束符     
start      Slave     Func    Start Start    Num Num    LRC LRC   Stop
character  Add       Code    Add H Add L    H   L     -16H -16L  character
 
                    表4  從機(jī)回答數(shù)據(jù)幀報(bào)文

起始符   從機(jī)地址  功能碼   字節(jié)量     數(shù)據(jù)       冗余校驗(yàn)     結(jié)束符
start     Slave     Func    Byte    Data …Data   LRC  LRC     Stop
character  Add      Code    Count   Byte1 Byte n  -16H -16L    character
 
    3  MODBUS在世紀(jì)星中的應(yīng)用

    在世紀(jì)星中,除了支持MODBUS-RTU和ASCII碼兩種數(shù)據(jù)傳送模式外,還支持MODBUS TCP/IP 傳送方式。事實(shí)上,MODBUS TCP/IP的命令格式和MODBUS-RUT是很相似的,MODBUS TCP/IP只是缺少兩個(gè)字節(jié)的CRC校驗(yàn)。在MODBUS協(xié)議中,是根據(jù)不同的功能碼來完成不同的讀寫功能的,世紀(jì)星中支持的功能碼及其功能如表5所示。

                     表5  世紀(jì)星所支持的功能碼

  功能碼         寄存器名                 功能
   01H             0x                  讀取線圈狀態(tài)
   02H             1x                  讀取輸入狀態(tài)
   03H             4x                  讀取一個(gè)或多個(gè)保持寄存器
   04H             3x                  讀取一個(gè)或多個(gè)輸入寄存器
   05H             0x                  強(qiáng)置一個(gè)邏輯線圈的通斷狀態(tài)
   06H             4x                  預(yù)置一個(gè)寄存器(數(shù)據(jù)類型為UINT/INT/BCD)
   10H             4x                  預(yù)置兩個(gè)寄存器(數(shù)據(jù)類型為L(zhǎng)ONG/FLOAT)
 
    在硬件設(shè)備中,數(shù)據(jù)存儲(chǔ)在寄存器內(nèi),每個(gè)存儲(chǔ)數(shù)據(jù)的寄存器對(duì)應(yīng)一個(gè)寄存器地址,上位機(jī)就是根據(jù)這些地址組織命令去讀寫寄存器里的數(shù)據(jù)。一個(gè)兩個(gè)字節(jié)的整型數(shù)據(jù)存儲(chǔ)在一個(gè)寄存器地址中,一個(gè)四字節(jié)的整型或浮點(diǎn)型數(shù)據(jù)則要存儲(chǔ)在連續(xù)的兩個(gè)寄存器地址中,通常都是高地址存放數(shù)據(jù)的高字,低地址存放數(shù)據(jù)的低字。

    由于很多用MODBUS協(xié)議的儀表廠家都在以自己的方式來說明儀表上的參數(shù)以及它對(duì)應(yīng)的寄存器地址,所以一部分廠家是以十六進(jìn)制來標(biāo)記寄存器地址,而另一部分廠家用十進(jìn)制。為了使用戶在工程里建立變量時(shí)方便的和儀表上的寄存器連接,世紀(jì)星分別在MODBUS-RTU和ASCII碼兩種通信方式下,支持十六進(jìn)制通道號(hào)和十進(jìn)制通道號(hào)兩種變量連接方式,因此,就免去了用戶做很多的十六進(jìn)制和十進(jìn)制之間轉(zhuǎn)換的工作。

    在設(shè)備的說明書中,一般會(huì)指定寄存器地址,數(shù)據(jù)類型,該地址的寄存器支持的功能碼等要素,以MODBUS-RTU 十六進(jìn)制的驅(qū)動(dòng)為例,如果寄存器地址為0005H,數(shù)據(jù)類型為兩個(gè)字節(jié)的整形,支持03H功能碼讀數(shù)據(jù),則對(duì)應(yīng)到世紀(jì)星軟件中需要連接的變量為4x0005,變量類型為I/O整數(shù),數(shù)據(jù)類型可以分為有符號(hào)的INT或無符號(hào)的UINT 或者BCD碼,在進(jìn)行通信時(shí),世紀(jì)星發(fā)送的以及設(shè)備返回的命令如下表所示。

    主機(jī)發(fā)送:

從機(jī)地址     功能碼     數(shù)據(jù)起始地址      數(shù)據(jù)量     冗余校驗(yàn)  
  01           03          00  05          00 01      94  0B

    從機(jī)返回:

從機(jī)地址     功能碼        字節(jié)量          數(shù)據(jù)      冗余校驗(yàn)
  01           03            02            00 1A      39  8F
 
    由設(shè)備返回的命令,可以知道設(shè)備返回了兩個(gè)字節(jié)的有效數(shù)據(jù)(00 1A),則寄存器地址為0005H里的數(shù)據(jù)為001AH=26。

    如果寄存器地址為0009H,數(shù)據(jù)類型為兩個(gè)字節(jié)的整型,支持06H功能碼寫數(shù)據(jù),則對(duì)應(yīng)到世紀(jì)星軟件中需要連接的變量為4x0009,變量類型為I/O整數(shù),數(shù)據(jù)類型可以為有符號(hào)的INT或無符號(hào)的UINT 或者BCD碼,在通信時(shí),世紀(jì)星發(fā)送的以及設(shè)備返回的命令如下表所示(寫入數(shù)據(jù)258=0102H):

    主機(jī)發(fā)送:

從機(jī)地址     功能碼     數(shù)據(jù)起始地址     寫入數(shù)據(jù)     冗余校驗(yàn)
  01           06         00  09          01 02        D9  99

    從機(jī)返回:
 
從機(jī)地址     功能碼     數(shù)據(jù)起始地址     寫入數(shù)據(jù)     冗余校驗(yàn)
  01           06         00  09          01 02        D9  99

    經(jīng)過發(fā)送上表中的命令,0102H便成功寫入到寄存器地址為0009H號(hào)的寄存器中。

    如果寄存器地址為0010H,數(shù)據(jù)類型為四個(gè)字節(jié)的整型或浮點(diǎn)型,支持10H功能碼寫數(shù)據(jù),則對(duì)應(yīng)到世紀(jì)星軟件中需要連接的變量為4x0010,變量類型為I/O實(shí)數(shù),數(shù)據(jù)類型可以為有整型的LONG或浮點(diǎn)型的FLOAT,在通信時(shí),世紀(jì)星發(fā)送的以及設(shè)備返回的命令如下表所示(寫入數(shù)據(jù)258=0102H):

    主機(jī)發(fā)送:

從機(jī)地址  功能碼   起始地址   寄存器個(gè)數(shù)  字節(jié)個(gè)數(shù)  寫入數(shù)據(jù)   冗余校驗(yàn)
   01       10      00 10       00 02        04     01 02 00   00  DA AC

    從機(jī)返回:

從機(jī)地址    功能碼    數(shù)據(jù)起始地址    寫入字節(jié)個(gè)數(shù)    冗余校驗(yàn)
  01         10         00  10          00  04        C0 0f

    經(jīng)過發(fā)送上表中的命令,0102H便成功寫入到寄存器地址為0010H號(hào)的寄存器中,0000H成功寫入了寄存器地址為0011H號(hào)的寄存器中。

    上述內(nèi)容就是在世紀(jì)星中根據(jù)設(shè)備說明書連接保持寄存器的變量連接方式,以及通信的過程,其它的例如輸入寄存器,輸入線圈等都和保持寄存器是類似的,通過特定的功能碼對(duì)特定地址的寄存器進(jìn)行讀寫操作,這里就不一一介紹了。

    4
  小結(jié)

    在平時(shí)用戶使用世紀(jì)星和支持MODBUS協(xié)議的儀表進(jìn)行通信的過程中,在多數(shù)情況下,世紀(jì)星都能很正常的和儀表進(jìn)行通信,但現(xiàn)在還是避免不了的一種情況是,有些用戶的儀表支持的并不是標(biāo)準(zhǔn)的MODBUS協(xié)議。MODBUS是一種通用的協(xié)議,但就細(xì)節(jié)來說,很多廠家還是各有各的用法,這使筆者認(rèn)識(shí)到了這里的MODBUS通信還是缺少一些靈活性,而世紀(jì)長(zhǎng)秋一定會(huì)針對(duì)這種情況做一些改進(jìn)工作,力求更多的使用MODBUS協(xié)議的客戶能夠方便使用世紀(jì)長(zhǎng)秋的軟件和儀表高效可靠的通信。

                                                                      ——轉(zhuǎn)自《自動(dòng)化博覽》

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 91精品乱码一区二区三区 | 国产乱码一区二区三区四川人 | 欧美性色黄大片a级毛片视频 | 8050午夜一级二级全黄 | 日本a一级毛片免费观看 | 狠狠色丁香婷婷综合久久来 | 丝袜亚洲精品中文字幕一区 | 高清国产亚洲va精品 | 国产精品亚洲精品日韩已满 | 日韩毛片在线 | 精品国产免费第一区二区三区日韩 | 美女的下部隐私网站99 | 网友自拍第一页 | 亚洲欧美一区二区三区久久 | 久久精品视频免费看 | 特黄特级毛片免费视 | 久久精品国产69国产精品亚洲 | 欧美成人aaa大片 | 激情亚洲视频 | 欧美一级日韩 | 午夜黄色大片 | 欧美换爱交换乱理伦片不卡片 | 性性影院在线观看 | 欧美一区二区三区在线观看免费 | 91精品国产综合久 | 久久久精品国产免费观看同学 | 欧美成人免费毛片 | 高h文bl | 免费黄网址 | 尤物蜜芽福利国产污在线观看 | 国产精品一区在线观看 | 国产主播福利精品一区二区 | 国产在线视频www色 国产在线视频一区 | 国产成a人片在线观看视频 国产成a人片在线观看视频99 | 美国黄色免费网站 | 日韩一级欧美一级毛片在线 | chinese在线播放91国内 | 欧美成人午夜做爰视频在线观看 | 中国第一毛片 | 亚洲第一se情网站 | 色婷婷在线观看视频 |