• 
      
    • <kbd id="gickc"></kbd><strike id="gickc"></strike>
    • <ul id="gickc"></ul>
      您正在瀏覽:首頁 香川新聞 公司新聞  

      運用ModBus通信協議,實現電子秤

      作者:admin  日期:2013/4/13 8:53:24  閱讀:2151

      【摘 要】 本文介紹了在工業控制系統中廣泛使用的ModBus通信協議。以ModBusASCII

      式為例,剖析了ModBus的指令結構,著重說明基于ModBus通信協議的設備之間如何進行數據通

      信、如何使用ModBus通信協議把衡器接入PLC系統,并簡單介紹了PLC系統與局域網的互聯。

      在衡器行業中,但凡涉及串行通信時,工程師們都會有一種無奈,就是通信協議問題。由于我

      國衡器廠眾多,各自采用自己的通信協議,使得通信協議五花八門,互不兼容。由于是自成一體,

      也為后續與其他系統聯網、維修、儀表配件互換等留有后遺問題。若采用一種工業控制領域的主流

      協議,各衡器廠的通信協議都與這個主流協議兼容,那么上述問題自然迎刃而解。這個主流協議首

      ModBus

      一、什么是ModBus

      ModBus是一種通信協議,是由Modicon公司發表于1979年,主要用于PLC(可編程邏輯控

      制器)系統。目前,在工業自動化設備通信連接中,ModBus已是相當常見的一種連接方式。

      二、ModBus與其他通信協議比較

      1、物理層簡單、價廉:ModBus可以在常用且廉價的RS232RS485等物理媒介上運行,不像

      CanBusProfiBusBitBus等需昂貴的專用芯片支持。

      2、免費:ModBus是一種公開的,可以無償使用的協議。而使用ProfiBus則需要向有關國際組

      織登記繳費。

      3、使用普及:ModBus是當前工業控制中使用最廣的一種通信協議,基于這點,具有ModBus

      的設備接入工控系統相對容易。

      4、維護方便:由于接入ModBus總線相對其他工控總線而言,比較簡單。一般具有RS232

      RS485等串行口的PC機都可以接入,使用PC機自帶的超級終端軟件或其他串行控制軟件,就能

      觀察ModBus通信過程,可以很方便地查出故障站點。

      三、ModBus的主要型式

      ModBus主要有四種型式:ASCIIRTUTCP/IPPlus

      1ASCII型式:采用ASCII碼進行數據交換,使用縱向冗余校驗的校驗和(LRC)進行數據

      校驗。

      2RTU型式:采用二進制碼進行數據交換,使用循環冗余校驗的校驗和(CRC)進行數據校

      驗。

      3TCP/IP型式:主要用于以太網,不使用校驗和進行數據校驗。

      4Plus型式:該型式為Modicon公司專有,采用專門的協處理器進行數據處理。

      目前,使用最廣泛的型式是ASCIIRTU,主要采用RS232RS422RS485進行物理連接,

      其中RS485使用最多。

      四、ModBus的結構

      ModBus協議是一個master(主)/slave(從)架構的協議。有一個節點是master節點,其他使

      Modbus協議參與通信的節點是slave節點。每一個slave設備都有一個唯一的地址。ModBus

      通信比較簡單,由master發通信指令,指令中含有欲于之通信的slave站號。當master發指令時,

      所有slave都處于收聽狀態,一旦slave收聽到與自己地址相同的站號時,立刻執行指令的內容,并

      回傳執行的結果。

      五、ASCII型式的ModBus通信協議的格式

      ModBus上通信時,各站點的通信參數必須一致,如:波特率、奇偶校驗。

      通信時,一個信息字節中的每8位分為兩個ASCII字符進行傳輸,允許字符傳輸間隔在1秒之

      內。

      1ASCII型式每一字節的格式

      16進制編碼,ASCII字符(0-9A-F),即:0x30-0x390x41-0x46

      1位開始位、7位數據位(先低后高)、1位奇偶校驗(無奇偶校驗時為0)、1位停止位。

      2、數據錯誤校驗采用縱向冗余校驗(LRC

      3、通信幀格式(ModBus命令格式)

      一個基本的ModBus命令,除了開始、校驗、結束字符外,還必須有地址項及功能項。地址—

      —也就是站號,想要被操作的對象(slave站號);功能——想要被操作的對象完成的任務。ModBus

      命令可以沒有數據項。

      被操作的對象,在完成所要求的操作后,必須回傳一幀信息,傳遞操作結果。回傳信息的格式

      與命令格式相同,只是數據內容為操作的結果。

      六、利用ModBus,實現PLC與電子稱重設備的通信

      為了使大家對Modbus有更進一步的了解,下面用例子方式說明如何把電子稱重設備接入PLC

      控制系統的Modbus總線網絡。例子中的稱重儀表為上海彩信電子科技有限公司生產的XK315A1

      增強型儀表。本例中,1PLC作為主機(master),10臺電子秤作為從機(slave),使用XK315A1

      增強型儀表作為電子秤顯示儀表,從機地址為707172....79。通過RS485連接PLC和各儀

      表,采用ModBus ASCII通信協議。PLC可以對各臺儀表進行置零、去皮、讀取重量等多項操作。

      稱重系統示意圖如圖1所示,圖中的計算機是在系統調試時接入RS485總線的,用以觀察RS485

      中傳輸的數據,正常工作時是移除的。

      上述系統可實現以下功能:

      1、正常工作時,PLC每隔10秒輪詢一次,獲取每臺秤的重量。

      2、當秤臺上重量異常時,PLC會發出警告信息,提示控制室人員注意。

      3、控制人員可以通過PLC,對某臺秤發出置零、去皮等操作指令。

      4PLC可對各臺秤的稱量,進行各項統計,生成必要的統計報表。

      七、ModBus與局域網互連

      現在,很多PLC都具有局域網接口,通過該接口,就可以遠程控制稱重系統了。當然,也可

      以通過接在Modbus總線上的PC機,利用PC機的軟、硬件資源,編制相應的軟件,將重量信號傳

      送到局域網上。若局域網通過路由器接入因特網,很顯然重量數據就可以在因特網上傳輸了。本系

      統是通過PLCDH+網絡接入局域網的。當然,網絡部分使用的協議,首推TCP/IPNetBEUI

      Modbus也有相關的TCP/IP型式,這里就不再贅述了,大家可以參考相關的書籍。

      上述的稱重系統只是PLC的一個子系統,是后期改造的一個項目。其整個PLC系統(見圖2

      是采用美國ROCKWELL公司的PLC,共有5PLC機箱(采用PLC5系列)、4臺工控機和2

      服務器、若干臺PC組成的。PLC采用ROCKWELL公司的DH+網絡連接,使用DF1協議;其中1

      PLC與稱重系統采用RS485連接,使用Modbus協議;DH+網絡通過1臺作為連接橋的工控機,

      連入局域網。工控機上的監控軟件是RSVIEW32,操作人員通過該軟件的人機界面,觀察各項數據,

      發出各項指令,當然也包括稱重數據及指令。另外,局域網上的PC機也安裝了RSVIEW32軟件,

      只不過取消了操作指令,但可以通過該軟件觀察各項數據,便于其他相關人員關注設備運行情況。

      2 PLC系統圖

      八、結束語

      本文簡單介紹了ModBus通信協議,例舉了電子秤采用RS485串行接口接入PLC系統,用

      ModBus通信協議,實現與PLC的實時通信。由于水平有限,如有錯誤的地方,望諒解。

      PLC程序采用的是梯形圖,其中有對串行口進行操作的梯形圖,設置圖中的相關屬性,如波特

      率、奇偶校驗,把相關的Modbus操作命令寫入其中即可。有關PLC的編程請參閱ROCKWELL

      司的《PLC5指令系統與使用說明》。

      關于XK315A1增強型儀表的ModBus協議及指令舉例,請看附錄。

      附錄:

      XK315A1增強型儀表的ModBus協議格式

      首址:4ASCII碼,讀寫數據的位置。

      數據量:4ASCII碼,讀寫數據的數量。

      數據值:讀寫的數據。

      校驗碼:2ASCII碼,采用LRC校驗。

      LRC校驗碼運算:報頭(:)不參與運算,LRC在數據之后,在\CR\LF之前。參加運算的是報

      頭之后,LRC之前的所有數據。LRC為參加運算的數據之和的補碼,舍去進位。

      當儀表執行指令出錯時,會回傳錯誤碼,并將功能碼的最高位置1

      錯誤碼:

       00--接收到的功能碼出錯;

       01--數據地址錯;

       02--數據數量錯;

       03--數據值錯,如:預置皮重大于最大稱量FS

       04--稱量為負時去皮;

       05--不在稱重狀態時置零;

       06--稱量不穩定時置零;

       07--稱量>2%FS時置零;

       08--稱量<-2%FS時置零。

      接下來以地址為7816進制為4E)號的儀表為例,詳述每條指令。PLC作為master,發送指

      令;電子秤儀表作為slave,接收指令,并回傳執行結果。

      例中:站號4E,即78號;功能碼04表示要讀取重量數據;儀表的重量數據專門放置在重量

      數據單元,其地址從00000006,共7個字節。其中0000:狀態數據;0001-0003:顯示值;0004-0006

      皮重值。讀取重量數據時,可以單獨讀,也可以2個一起讀或全部讀。首址0000表示從重量數據

      0000地址開始讀取;數據量0007表示共要讀取7字節數據;校驗碼A7表示校驗和LRC=A7

      PC發出指令后,每個從站儀表都會接收,只有與指令中指定的站號相同的儀表,才會響應,

      回傳所需信息。

      78號地址的儀表,收到上述指令后,會回傳“:4E0407120003E70000CAE1\CR\LF

      其中“120003E70000CA”是PC想得到的78號站的重量信息。

      12--狀態數據,表示當前顯示為正、重量穩定、顯示值是凈重,當前數據包含2位小數;

      0003E7--顯示值,同狀態數據結合考慮,即:當前的顯示是凈重9.99kg

      0000CA--皮重值,即:當前的皮重是2.02kg

      數據校驗:所有被參與校驗的數據+校驗碼=0(舍去進位)。

       0x4E+0x04+0x00+0x00+0x00+0x07+0xA7=0x100,舍去進位1后,等于0,表示數

      據檢驗正確。

      點擊這里給我發消息

      亚洲国产精品成人| 亚洲国产精品久久久久网站 | 精品深夜AV无码一区二区| 日本精品一区二区三区在线视频 | 国产精品美女免费视频观看| 欧乱色国产精品兔费视频| 一本色道久久综合亚洲精品高清 | 国产精品99精品视频网站| 亚洲精品美女久久7777777| 精品国产麻豆免费人成网站| 国产精品久久久久毛片真精品| 久久精品中文騷妇女内射| 亚洲永久精品ww47| 成人国产精品一区二区网站| 一本久久精品一区二区| 无码人妻精品一区二区三区99仓本| 亚洲无码精品浪潮| 国产精品免费_区二区三区观看| 精品日产卡一卡二卡国色天香| 国产精品视频白浆免费视频| 国产成人精品在线观看| 女同久久精品国产99国产精品 | 精品日产卡一卡二卡麻豆 | 亚洲国产精品成人综合久久久| 伊人久久综合精品无码AV专区| 日本精品夜色视频一区二区| 成人精品一区二区三区校园激情| 在线精品91青草国产在线观看| 日本一区精品久久久久影院 | 中文无码亚洲精品字幕| 亚洲精品美女在线观看| 久久久久无码精品亚洲日韩| 国产亚洲精品无码成人| 精品亚洲一区二区三区在线观看| 日韩在线视精品在亚洲| 国产乱人伦偷精品视频免 | 国产精品久久久久久久网站 | 亚洲精品狼友在线播放| 精品国产黑色丝袜高跟鞋| 亚洲精品A在线观看| 一区二区精品视频|