電子秤提供ModBus協(xié)議如何操作 采用ASCII碼模式,以字符的方式發(fā)送數(shù)據(jù),校驗方式采用LRC校驗。 LRC校驗碼運算:報頭(:)不參與運算,LRC在數(shù)據(jù)之后,在\CR\LF之前。參加運算的是報頭之后,LRC之前的所有數(shù)據(jù)。 每字節(jié)(BYTE)為8位(BIT),無奇偶校驗,1位停止位。即:8n1。 數(shù)據(jù)格式: 說明 | 報頭 | 站號 | 功能碼 | 址 | 數(shù)據(jù)量 | 數(shù)據(jù) | 校驗碼 | 報尾 | 指令 | : | xx | xx | xxxx | xxxx | xxxx | LRC | \CR\ LF | 回傳 | : | xx | xx | | xx | xxxx | LRC | \CR\ LF |
報頭、報尾:所有指令均以冒號(:)開始,以回車符、換行符結束。 站號:2個ASCII碼。范圍:01-90 (16制:0x01-0x)。 功能碼:2個ASCII碼 04:讀稱量狀態(tài)(顯示值、皮重等) 05:置操作 06:皮重操作 07:通信測試 址:4個ASCII碼。讀寫數(shù)據(jù)的位置。 數(shù)據(jù)量:4個ASCII碼。讀寫數(shù)據(jù)的數(shù)量。 數(shù)據(jù):讀寫的數(shù)據(jù) 校驗碼:2個ASCII碼。采用LRC校驗。 舉例說明:站號---78 (0x4E) 例1:讀取重量數(shù)據(jù) | 報頭 | 站號 | 功能碼 | 址 | 數(shù)據(jù)量 | 數(shù)據(jù) | 校驗碼 | 報尾 | 指令 | : | 4E | 04 | 0000 | 0007 | | A7 | \CR\ LF | 回傳 | : | 4E | 04 | | 07 | 120003E70000CA | E1 | \CR\ LF | 說明 | 數(shù)據(jù)共7字節(jié),其中12--狀態(tài)、0003E7--顯示值、0000CA--皮重值。 狀態(tài):0001 0010 四位從到低分別為(0/1):正/負、非/、穩(wěn)定/動態(tài)、毛重/凈重; 低四位中,位恒為0。低三位表示小數(shù)點位置,數(shù)據(jù)范圍:000-011,000--無小數(shù)、001--1位小數(shù)、010--2位小數(shù)、011--3位小數(shù)。 例中數(shù)據(jù)表示:當前重量為正、稱量穩(wěn)定,顯示為凈重,凈重=9.99,皮重=2.02 |
例2:置操作 | 報頭 | 站號 | 功能碼 | 址 | 數(shù)據(jù)量 | 數(shù)據(jù) | 校驗碼 | 報尾 | 指令 | : | 4E | 05 | | | | AD | \CR\ LF | 回傳 | : | 4E | 05 | | | | AD | \CR\ LF | 說明 | 置成功 | 回傳 | : | 4E | 85 | | | 07 | 26 | \CR\ LF | 說明 | 置失敗,重量>2%FS。錯誤碼說明見后 |
例3:去皮操作 | 報頭 | 站號 | 功能碼 | 址 | 數(shù)據(jù)量 | 數(shù)據(jù) | 校驗碼 | 報尾 | 指令 | : | 4E | 06 | 0004 | 0003 | 000064 | 41 | \CR\ LF | 回傳 | : | 4E | 06 | | 03 | 000064 | 45 | \CR\ LF | 說明 | 設置皮重=100,顯示凈重 | 指令 | : | 4E | 06 | 0004 | 0000 | | A8 | \CR\ LF | 回傳 | : | 4E | 06 | | 03 | 0000C9 | E0 | \CR\ LF | 說明 | 操作前為毛重狀態(tài),操作后,把毛量作為皮重,皮重=201,顯示凈重為0 | 指令 | : | 4E | 06 | 0004 | 0000 | | A8 | \CR\ LF | 回傳 | : | 4E | 06 | | 03 | 000000 | A9 | \CR\ LF | 說明 | 操作前為凈重狀態(tài),操作后,恢復毛量顯示,皮重=0 |
例4:通信測試 | 報頭 | 站號 | 功能碼 | 址 | 數(shù)據(jù)量 | 數(shù)據(jù) | 校驗碼 | 報尾 | 指令 | : | 4E | 07 | | | | AB | \CR\ LF | 回傳 | : | 4E | | | | | B2 | \CR\ LF | 說明 | 通信正常,返回站號 |
 |