上海香川電子衡器有限公司
中級(jí)會(huì)員 | 第15年

13661782675

剔除檢重秤
智能電腦秤
防爆電子天平/桌秤
大臺(tái)面電子地磅(廣東地磅)電子汽車(chē)衡
藍(lán)箭吊鉤秤(電子吊磅秤)
隔爆型防爆電子秤/電子稱(chēng)
無(wú)線便攜式軸重秤(交警執(zhí)法設(shè)備)
電子地磅稱(chēng)(防爆電子秤)
托盤(pán)車(chē)電子秤(防爆電子稱(chēng))
本安型防爆電子秤
液化氣充裝電子秤(防爆天然氣灌裝稱(chēng))
上海英展電子秤(案秤桌秤)
測(cè)力儀(0.5t-500T)
電子天平(防爆電子秤)
油桶秤(防腐蝕電子稱(chēng))
本安型防爆電子稱(chēng)
各類(lèi)衡器儀表/配件
化工反應(yīng)釜稱(chēng)重模塊
特殊電子磅秤
條碼打印計(jì)價(jià)秤

運(yùn)用ModBus通信協(xié)議與PLC的實(shí)時(shí)通信

時(shí)間:2012/7/10閱讀:3756
分享:

運(yùn)用 ModBus 通信協(xié)議,實(shí)現(xiàn)電子秤 PLC 的實(shí)時(shí)通信

 

上海彩信電子科技有限公司 陳東富

 

【摘 要】 本文介紹了在工業(yè)控制系統(tǒng)中廣泛使用的 ModBus 通信協(xié)議。以 ModBus ASCII

 

式為例,剖析了 ModBus 的指令結(jié)構(gòu),著重說(shuō)明基于 ModBus 通信協(xié)議的設(shè)備之間如何進(jìn)行數(shù)據(jù)通 信、如何使用 ModBus 通信協(xié)議把衡器接入 PLC 系統(tǒng),并簡(jiǎn)單介紹了 PLC 系統(tǒng)與局域網(wǎng)的互聯(lián)。 【關(guān)鍵詞】 ModBus 通信協(xié)議;PLC 可編程控制器;衡器

 

在衡器行業(yè)中,但凡涉及串行通信時(shí),工程師們都會(huì)有一種無(wú)奈,就是通信協(xié)議問(wèn)題。由于我 國(guó)衡器廠眾多,各自采用自己的通信協(xié)議,使得通信協(xié)議五花八門(mén),互不兼容。由于是自成一體, 也為后續(xù)與其他系統(tǒng)聯(lián)網(wǎng)、維修、儀表配件互換等留有后遺問(wèn)題。若采用一種工業(yè)控制領(lǐng)域的主流 協(xié)議,各衡器廠的通信協(xié)議都與這個(gè)主流協(xié)議兼容,那么上述問(wèn)題自然迎刃而解。這個(gè)主流協(xié)議首 ModBus。

一、什么是 ModBus

 

ModBus 是一種通信協(xié)議,是由 Modicon 公司發(fā)表于 1979 年,主要用于 PLC(可編程邏輯控 制器)系統(tǒng)。目前,在工業(yè)自動(dòng)化設(shè)備通信連接中,ModBus 已是相當(dāng)常見(jiàn)的一種連接方式。

二、ModBus 與其他通信協(xié)議比較

 

1、物理層簡(jiǎn)單、價(jià)廉:ModBus 可以在常用且廉價(jià)的 RS232、RS485 等物理媒介上運(yùn)行,不像

 

CanBus、ProfiBus、BitBus 等需昂貴的芯片支持。

 

2、免費(fèi):ModBus 是一種公開(kāi)的,可以無(wú)償使用的協(xié)議。而使用 ProfiBus 則需要向有關(guān)組

 

織登記繳費(fèi)。

 

3、使用普及:ModBus 是當(dāng)前工業(yè)控制中使用zui廣的一種通信協(xié)議,基于這點(diǎn),具有 ModBus

 

的設(shè)備接入工控系統(tǒng)相對(duì)容易。

 

4、維護(hù)方便:由于接入 ModBus 總線相對(duì)其他工控總線而言,比較簡(jiǎn)單。一般具有 RS232、 RS485 等串行口的 PC 機(jī)都可以接入,使用 PC 機(jī)自帶的超級(jí)終端軟件或其他串行控制軟件,就能 觀察 ModBus 通信過(guò)程,可以很方便地查出故障站點(diǎn)。

三、ModBus 的主要型式

 

ModBus 主要有四種型式:ASCII、RTUTCP/IP Plus。

 

1、ASCII 型式:采用 ASCII 碼進(jìn)行數(shù)據(jù)交換,使用縱向冗余校驗(yàn)的校驗(yàn)和(LRC)進(jìn)行數(shù)據(jù)

 

校驗(yàn)。

 

2、RTU 型式:采用二進(jìn)制碼進(jìn)行數(shù)據(jù)交換,使用循環(huán)冗余校驗(yàn)的校驗(yàn)和(CRC)進(jìn)行數(shù)據(jù)校

 

驗(yàn)。

 

3、TCP/IP 型式:主要用于以太網(wǎng),不使用校驗(yàn)和進(jìn)行數(shù)據(jù)校驗(yàn)。

 

4、Plus 型式:該型式為 Modicon 公司專(zhuān)有,采用專(zhuān)門(mén)的協(xié)處理器進(jìn)行數(shù)據(jù)處理。 目前,使用zui廣泛的型式是 ASCII RTU,主要采用 RS232、RS422、RS485 進(jìn)行物理連接,

 

其中 RS485 使用zui多。

 

四、ModBus 的結(jié)構(gòu)

 

ModBus 協(xié)議是一個(gè) master(主)/slave(從)架構(gòu)的協(xié)議。有一個(gè)節(jié)點(diǎn)是 master 節(jié)點(diǎn),其他使 Modbus 協(xié)議參與通信的節(jié)點(diǎn)是 slave 節(jié)點(diǎn)。每一個(gè) slave 設(shè)備都有一個(gè)*的地址。ModBus 通信比較簡(jiǎn)單,由 master 發(fā)通信指令,指令中含有欲于之通信的 slave 站號(hào)。當(dāng) master 發(fā)指令時(shí), 所有 slave 都處于收聽(tīng)狀態(tài),一旦 slave 收聽(tīng)到與自己地址相同的站號(hào)時(shí),立刻執(zhí)行指令的內(nèi)容,并

回傳執(zhí)行的結(jié)果。

 

五、ASCII 型式的 ModBus 通信協(xié)議的格式

 

ModBus 上通信時(shí),各站點(diǎn)的通信參數(shù)必須一致,如:波特率、奇偶校驗(yàn)。 通信時(shí),一個(gè)信息字節(jié)中的每 8 位分為兩個(gè) ASCII 字符進(jìn)行傳輸,允許字符傳輸間隔在 1 秒之

內(nèi)。

 

1、ASCII 型式每一字節(jié)的格式

 

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

 

1 位開(kāi)始位、7 位數(shù)據(jù)位(先低后高)、1 位奇偶校驗(yàn)(無(wú)奇偶校驗(yàn)時(shí)為 0)、1 位停止位。

 

2、數(shù)據(jù)錯(cuò)誤校驗(yàn)采用縱向冗余校驗(yàn)(LRC

 

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

 

開(kāi)始

地址(站號(hào))

功能

數(shù)據(jù)

校驗(yàn)(LRC

結(jié)束

 

 

 

 

 

 

(0x3a

xx

xx

x...

xx

CR、LF(0x0d、0x0a

 

 

 

 

 

 

1 字符

2 字符

2 字符

N 字符

2 字符

2 字符

 

 

 

 

 

 

 

一個(gè)基本的 ModBus 命令,除了開(kāi)始、校驗(yàn)、結(jié)束字符外,還必須有地址項(xiàng)及功能項(xiàng)。地址

 

也就是站號(hào),想要被操作的對(duì)象(slave 站號(hào));功能——想要被操作的對(duì)象完成的任務(wù)。ModBus

 

命令可以沒(méi)有數(shù)據(jù)項(xiàng)。

 

 

被操作的對(duì)象,在完成所要求的操作后,必須回傳一幀信息,傳遞操作結(jié)果?;貍餍畔⒌母袷?/p>

與命令格式相同,只是數(shù)據(jù)內(nèi)容為操作的結(jié)果。

 

六、利用 ModBus,實(shí)現(xiàn) PLC 與電子稱(chēng)重設(shè)備的通信

 

為了使大家對(duì) Modbus 有更進(jìn)一步的了解,下面用例子方式說(shuō)明如何把電子稱(chēng)重設(shè)備接入 PLC 控制系統(tǒng)的 Modbus 總線網(wǎng)絡(luò)。例子中的稱(chēng)重儀表為上海彩信電子科技有限公司生產(chǎn)的 XK311 增強(qiáng)型儀表。本例中,1 臺(tái) PLC 作為主機(jī)(master),10 臺(tái)電子秤作為從機(jī)(slave),使用 XK311 增強(qiáng)型儀表作為電子秤顯示儀表,從機(jī)地址為 70、71、72、....79。通過(guò) RS485 連接 PLC 和各儀 表,采用 ModBus ASCII 通信協(xié)議。PLC 可以對(duì)各臺(tái)儀表進(jìn)行置零、去皮、讀取重量等多項(xiàng)操作。 稱(chēng)重系統(tǒng)示意圖如圖 1 所示,圖中的計(jì)算機(jī)是在系統(tǒng)調(diào)試時(shí)接入 RS485 總線的,用以觀察 RS485

中傳輸?shù)臄?shù)據(jù),正常工作時(shí)是移除的。

  1 稱(chēng)重系統(tǒng)示意圖

 

上述系統(tǒng)可實(shí)現(xiàn)以下功能:

 

1、正常工作時(shí),PLC 每隔 10 秒輪詢(xún)一次,獲取每臺(tái)秤的重量。

 

2、當(dāng)秤臺(tái)上重量異常時(shí),PLC 會(huì)發(fā)出警告信息,提示控制室人員注意。

 

3、控制人員可以通過(guò) PLC,對(duì)某臺(tái)秤發(fā)出置零、去皮等操作指令。

 

4、PLC 可對(duì)各臺(tái)秤的稱(chēng)量,進(jìn)行各項(xiàng)統(tǒng)計(jì),生成必要的統(tǒng)計(jì)報(bào)表。

 

七、ModBus 與局域網(wǎng)互連

 

現(xiàn)在,很多 PLC 都具有局域網(wǎng)接口,通過(guò)該接口,就可以遠(yuǎn)程控制稱(chēng)重系統(tǒng)了。當(dāng)然,也可 以通過(guò)接在 Modbus 總線上的 PC 機(jī),利用 PC 機(jī)的軟、硬件資源,編制相應(yīng)的軟件,將重量信號(hào)傳 送到局域網(wǎng)上。若局域網(wǎng)通過(guò)路由器接入因特網(wǎng),很顯然重量數(shù)據(jù)就可以在因特網(wǎng)上傳輸了。本系 統(tǒng)是通過(guò) PLC DH+網(wǎng)絡(luò)接入局域網(wǎng)的。當(dāng)然,網(wǎng)絡(luò)部分使用的協(xié)議,* TCP/IPNetBEUI。 Modbus 也有相關(guān)的 TCP/IP 型式,這里就不再贅述了,大家可以參考相關(guān)的書(shū)籍。

 

上述的稱(chēng)重系統(tǒng)只是 PLC 的一個(gè)子系統(tǒng),是后期改造的一個(gè)項(xiàng)目。其整個(gè) PLC 系統(tǒng)(見(jiàn)圖 2 是采用美國(guó) ROCKWELL 公司的 PLC,共有 5 臺(tái) PLC 機(jī)箱(采用 PLC5 系列)、4 臺(tái)工控機(jī)和 2 臺(tái) 服務(wù)器、若干臺(tái) PC 組成的。PLC 采用 ROCKWELL 公司的 DH+網(wǎng)絡(luò)連接,使用 DF1 協(xié)議;其中 1

 

附錄:

 

XK311 增強(qiáng)型儀表的 ModBus 協(xié)議格式

 

說(shuō)明

報(bào)頭

站號(hào)

功能碼

首址

數(shù)據(jù)量

數(shù)據(jù)值

校驗(yàn)碼

報(bào)尾

 

 

 

 

 

 

 

 

 

 

 

指令

xx

xx

xxxx

xxxx

xxxx

LRC

\CR\ LF

 

 

 

 

 

 

 

 

 

 

 

回傳

xx

xx

 

xx

xxxx

LRC

\CR

 

 

\ LF

 

 

 

 

 

 

 

 

 

 

出錯(cuò)

xx

xx

 

 

xx

LRC

\CR

 

回傳

 

zui高位置 1

 

 

錯(cuò)誤碼

\ LF

 

 

 

 

 

 

 

 

報(bào)頭、報(bào)尾:所有指令均以冒號(hào)(:)開(kāi)始,以回車(chē)符、換行符結(jié)束。 站號(hào):2 個(gè) ASCII 碼,范圍為 01-9016 進(jìn)制:0x01-0x)。 功能碼:2 個(gè) ASCII 碼。

 

02:讀繼電器輸出狀態(tài);

 

04:讀稱(chēng)量狀態(tài)(顯示值、皮重等);

 

05:置零操作;

 

06:皮重操作;

 

07:通信測(cè)試;

 

08:讀定值;

 

09:寫(xiě)定值。

 

首址:4 個(gè) ASCII 碼,讀寫(xiě)數(shù)據(jù)的位置。

 

數(shù)據(jù)量:4 個(gè) ASCII 碼,讀寫(xiě)數(shù)據(jù)的數(shù)量。

 

數(shù)據(jù)值:讀寫(xiě)的數(shù)據(jù)。

 

校驗(yàn)碼:2 個(gè) ASCII 碼,采用 LRC 校驗(yàn)。

 

LRC 校驗(yàn)碼運(yùn)算:報(bào)頭(:)不參與運(yùn)算,LRC 在數(shù)據(jù)之后,在\CR\LF 之前。參加運(yùn)算的是報(bào) 頭之后,LRC 之前的所有數(shù)據(jù)。LRC 為參加運(yùn)算的數(shù)據(jù)之和的補(bǔ)碼,舍去進(jìn)位。

 

當(dāng)儀表執(zhí)行指令出錯(cuò)時(shí),會(huì)回傳錯(cuò)誤碼,并將功能碼的zui高位置 1。

 

錯(cuò)誤碼: 00--接收到的功能碼出錯(cuò); 01--數(shù)據(jù)地址錯(cuò); 02--數(shù)據(jù)數(shù)量錯(cuò);

 

03--數(shù)據(jù)值錯(cuò),如:預(yù)置皮重大于zui大稱(chēng)量 FS;

 

04--稱(chēng)量為負(fù)時(shí)去皮;

 

05--不在稱(chēng)重狀態(tài)時(shí)置零;

銷(xiāo)售代表:郭曉金       

      

     

公司:www.shxcltd.com  

電子:taizhiheng@foxmail.com

公司地址:上海市松江區(qū)沈磚公路5599號(hào)

會(huì)員登錄

×

請(qǐng)輸入賬號(hào)

請(qǐng)輸入密碼

=

請(qǐng)輸驗(yàn)證碼

收藏該商鋪

X
該信息已收藏!
標(biāo)簽:
保存成功

(空格分隔,最多3個(gè),單個(gè)標(biāo)簽最多10個(gè)字符)

常用:

提示

X
您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~
撥打電話(huà)
在線留言