您好, 歡迎來到化工儀器網(wǎng),! 登錄| 免費注冊| 產(chǎn)品展廳| 收藏商鋪|
當(dāng)前位置:上海香川電子衡器有限公司>>技術(shù)文章>>運用ModBus通信協(xié)議與PLC的實時通信
運用 ModBus 通信協(xié)議,,實現(xiàn)電子秤 與 PLC 的實時通信
上海彩信電子科技有限公司 陳東富
【摘 要】 本文介紹了在工業(yè)控制系統(tǒng)中廣泛使用的 ModBus 通信協(xié)議。以 ModBus 的 ASCII 方
式為例,,剖析了 ModBus 的指令結(jié)構(gòu),著重說明基于 ModBus 通信協(xié)議的設(shè)備之間如何進行數(shù)據(jù)通 信、如何使用 ModBus 通信協(xié)議把衡器接入 PLC 系統(tǒng),,并簡單介紹了 PLC 系統(tǒng)與局域網(wǎng)的互聯(lián)。 【關(guān)鍵詞】 ModBus 通信協(xié)議,;PLC 可編程控制器,;衡器
在衡器行業(yè)中,但凡涉及串行通信時,,工程師們都會有一種無奈,,就是通信協(xié)議問題,。由于我 國衡器廠眾多,各自采用自己的通信協(xié)議,,使得通信協(xié)議五花八門,,互不兼容。由于是自成一體,, 也為后續(xù)與其他系統(tǒng)聯(lián)網(wǎng),、維修、儀表配件互換等留有后遺問題,。若采用一種工業(yè)控制領(lǐng)域的主流 協(xié)議,,各衡器廠的通信協(xié)議都與這個主流協(xié)議兼容,那么上述問題自然迎刃而解,。這個主流協(xié)議首 推 ModBus,。
一、什么是 ModBus
ModBus 是一種通信協(xié)議,,是由 Modicon 公司發(fā)表于 1979 年,,主要用于 PLC(可編程邏輯控 制器)系統(tǒng)。目前,,在工業(yè)自動化設(shè)備通信連接中,,ModBus 已是相當(dāng)常見的一種連接方式。
二,、ModBus 與其他通信協(xié)議比較
1,、物理層簡單、價廉:ModBus 可以在常用且廉價的 RS232,、RS485 等物理媒介上運行,,不像
CanBus、ProfiBus,、BitBus 等需昂貴的芯片支持,。
2、免費:ModBus 是一種公開的,,可以無償使用的協(xié)議,。而使用 ProfiBus 則需要向有關(guān)組
織登記繳費。
3,、使用普及:ModBus 是當(dāng)前工業(yè)控制中使用zui廣的一種通信協(xié)議,,基于這點,具有 ModBus
的設(shè)備接入工控系統(tǒng)相對容易,。
4,、維護方便:由于接入 ModBus 總線相對其他工控總線而言,比較簡單,。一般具有 RS232,、 RS485 等串行口的 PC 機都可以接入,,使用 PC 機自帶的超級終端軟件或其他串行控制軟件,就能 觀察 ModBus 通信過程,,可以很方便地查出故障站點,。
三、ModBus 的主要型式
ModBus 主要有四種型式:ASCII,、RTU,、TCP/IP 和 Plus。
1,、ASCII 型式:采用 ASCII 碼進行數(shù)據(jù)交換,,使用縱向冗余校驗的校驗和(LRC)進行數(shù)據(jù)
校驗。
2,、RTU 型式:采用二進制碼進行數(shù)據(jù)交換,,使用循環(huán)冗余校驗的校驗和(CRC)進行數(shù)據(jù)校
驗。
3,、TCP/IP 型式:主要用于以太網(wǎng),,不使用校驗和進行數(shù)據(jù)校驗。
4,、Plus 型式:該型式為 Modicon 公司專有,,采用專門的協(xié)處理器進行數(shù)據(jù)處理。 目前,,使用zui廣泛的型式是 ASCII 和 RTU,,主要采用 RS232、RS422,、RS485 進行物理連接,,
其中 RS485 使用zui多。
四,、ModBus 的結(jié)構(gòu)
ModBus 協(xié)議是一個 master(主)/slave(從)架構(gòu)的協(xié)議,。有一個節(jié)點是 master 節(jié)點,其他使 用 Modbus 協(xié)議參與通信的節(jié)點是 slave 節(jié)點,。每一個 slave 設(shè)備都有一個*的地址,。ModBus 的 通信比較簡單,,由 master 發(fā)通信指令,,指令中含有欲于之通信的 slave 站號。當(dāng) master 發(fā)指令時,, 所有 slave 都處于收聽狀態(tài),,一旦 slave 收聽到與自己地址相同的站號時,立刻執(zhí)行指令的內(nèi)容,,并
回傳執(zhí)行的結(jié)果,。
五,、ASCII 型式的 ModBus 通信協(xié)議的格式
在 ModBus 上通信時,各站點的通信參數(shù)必須一致,,如:波特率,、奇偶校驗。 通信時,,一個信息字節(jié)中的每 8 位分為兩個 ASCII 字符進行傳輸,,允許字符傳輸間隔在 1 秒之
內(nèi)。
1,、ASCII 型式每一字節(jié)的格式
16 進制編碼,,ASCII 字符(0-9、A-F),,即:0x30-0x39,、0x41-0x46。
1 位開始位,、7 位數(shù)據(jù)位(先低后高),、1 位奇偶校驗(無奇偶校驗時為 0)、1 位停止位,。
2,、數(shù)據(jù)錯誤校驗采用縱向冗余校驗(LRC)
3、通信幀格式(ModBus 命令格式)
開始 | 地址(站號) | 功能 | 數(shù)據(jù) | 校驗(LRC) | 結(jié)束 |
| | | | | |
:(0x | xx | xx | x... | xx | CR,、LF(0x0d,、0x |
| | | | | |
1 字符 | 2 字符 | 2 字符 | N 字符 | 2 字符 | 2 字符 |
| | | | | |
一個基本的 ModBus 命令,除了開始,、校驗,、結(jié)束字符外,還必須有地址項及功能項,。地址—
—也就是站號,,想要被操作的對象(slave 站號);功能——想要被操作的對象完成的任務(wù),。ModBus
命令可以沒有數(shù)據(jù)項,。
被操作的對象,在完成所要求的操作后,,必須回傳一幀信息,,傳遞操作結(jié)果?;貍餍畔⒌母袷?/p>
與命令格式相同,,只是數(shù)據(jù)內(nèi)容為操作的結(jié)果。
六、利用 ModBus,,實現(xiàn) PLC 與電子稱重設(shè)備的通信
為了使大家對 Modbus 有更進一步的了解,,下面用例子方式說明如何把電子稱重設(shè)備接入 PLC 控制系統(tǒng)的 Modbus 總線網(wǎng)絡(luò)。例子中的稱重儀表為上海彩信電子科技有限公司生產(chǎn)的 XK
中傳輸?shù)臄?shù)據(jù),,正常工作時是移除的。
上述系統(tǒng)可實現(xiàn)以下功能:
1,、正常工作時,,PLC 每隔 10 秒輪詢一次,獲取每臺秤的重量,。
2,、當(dāng)秤臺上重量異常時,PLC 會發(fā)出警告信息,,提示控制室人員注意,。
3、控制人員可以通過 PLC,,對某臺秤發(fā)出置零,、去皮等操作指令。
4,、PLC 可對各臺秤的稱量,,進行各項統(tǒng)計,生成必要的統(tǒng)計報表,。
七,、ModBus 與局域網(wǎng)互連
現(xiàn)在,,很多 PLC 都具有局域網(wǎng)接口,,通過該接口,,就可以遠程控制稱重系統(tǒng)了。當(dāng)然,,也可 以通過接在 Modbus 總線上的 PC 機,,利用 PC 機的軟、硬件資源,,編制相應(yīng)的軟件,,將重量信號傳 送到局域網(wǎng)上。若局域網(wǎng)通過路由器接入因特網(wǎng),,很顯然重量數(shù)據(jù)就可以在因特網(wǎng)上傳輸了,。本系 統(tǒng)是通過 PLC 的 DH+網(wǎng)絡(luò)接入局域網(wǎng)的。當(dāng)然,,網(wǎng)絡(luò)部分使用的協(xié)議,,* TCP/IP、NetBEUI,。 Modbus 也有相關(guān)的 TCP/IP 型式,,這里就不再贅述了,大家可以參考相關(guān)的書籍,。
上述的稱重系統(tǒng)只是 PLC 的一個子系統(tǒng),,是后期改造的一個項目。其整個 PLC 系統(tǒng)(見圖 2) 是采用美國 ROCKWELL 公司的 PLC,,共有 5 臺 PLC 機箱(采用 PLC5 系列),、4 臺工控機和 2 臺 服務(wù)器、若干臺 PC 組成的,。PLC 采用 ROCKWELL 公司的 DH+網(wǎng)絡(luò)連接,,使用 DF1 協(xié)議;其中 1
附錄: XK 說明 報頭 站號 功能碼 首址 數(shù)據(jù)量 數(shù)據(jù)值 校驗碼 報尾 指令 : xx xx xxxx xxxx xxxx LRC \CR\ LF 回傳 : xx xx xx xxxx LRC \CR \ LF 出錯 : xx xx xx LRC \CR 回傳 zui高位置 1 錯誤碼 \ LF
報頭,、報尾:所有指令均以冒號(:)開始,,以回車符、換行符結(jié)束,。 站號:2 個 ASCII 碼,,范圍為 01-90(16 進制:0x01-0x
02:讀繼電器輸出狀態(tài),;
04:讀稱量狀態(tài)(顯示值、皮重等),;
05:置零操作,;
06:皮重操作;
07:通信測試;
08:讀定值,;
09:寫定值,。
首址:4 個 ASCII 碼,讀寫數(shù)據(jù)的位置,。
數(shù)據(jù)量:4 個 ASCII 碼,,讀寫數(shù)據(jù)的數(shù)量。
數(shù)據(jù)值:讀寫的數(shù)據(jù),。
校驗碼:2 個 ASCII 碼,,采用 LRC 校驗。
LRC 校驗碼運算:報頭(:)不參與運算,,LRC 在數(shù)據(jù)之后,,在\CR\LF 之前。參加運算的是報 頭之后,,LRC 之前的所有數(shù)據(jù),。LRC 為參加運算的數(shù)據(jù)之和的補碼,舍去進位,。
當(dāng)儀表執(zhí)行指令出錯時,,會回傳錯誤碼,并將功能碼的zui高位置 1,。
錯誤碼: 00--接收到的功能碼出錯,; 01--數(shù)據(jù)地址錯; 02--數(shù)據(jù)數(shù)量錯,;
03--數(shù)據(jù)值錯,,如:預(yù)置皮重大于zui大稱量 FS;
04--稱量為負時去皮,;
05--不在稱重狀態(tài)時置零,;
銷售代表:郭曉金
:
:
公司地址:上海市松江區(qū)沈磚公路5599號
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業(yè)自行提供,,信息內(nèi)容的真實性,、準(zhǔn)確性和合法性由相關(guān)企業(yè)負責(zé),化工儀器網(wǎng)對此不承擔(dān)任何保證責(zé)任,。
溫馨提示:為規(guī)避購買風(fēng)險,建議您在購買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量,。