地磅XK3190系列儀表串行通訊的使用
地磅的計(jì)算機(jī)稱(chēng)重管理己成為當(dāng)前地磅應(yīng) 用中最為普遍的使用方式。實(shí)現(xiàn)計(jì)算機(jī)稱(chēng)重管理的 前提是地磅特別是電子稱(chēng)重儀表要有一個(gè)與計(jì) 算機(jī)進(jìn)行數(shù)據(jù)交換的方式,即數(shù)據(jù)通訊。目前應(yīng)用 最為普遍的數(shù)據(jù)通訊方式是RS232和RS485兩種 串行通訊方式,前者主要用于與計(jì)算機(jī)點(diǎn)對(duì)點(diǎn)短距 離通訊,否則則被普遍用于遠(yuǎn)距離單點(diǎn)或稱(chēng)重網(wǎng)絡(luò) 通訊。
XK3190-C、D系 列儀表以及個(gè)別A系列臺(tái)秤儀表標(biāo)準(zhǔn)生產(chǎn)版本均 采用了 RS232串行通訊方式,大部分D系列儀表還 可選配RS485(四線)串行通訊方式。下面我們就針對(duì) 它的使用做詳細(xì)說(shuō)明,希望能給關(guān)心和支持在使用XK3190系列產(chǎn)品進(jìn)行計(jì)算 機(jī)稱(chēng)重管理中有所幫助。
一、XK3190系列稱(chēng)重儀表RS232/RS485串 行通訊接口的定義與聯(lián)結(jié)
XK3190- C、D系列儀表的RS232串行通訊接 口的定義為公司標(biāo)準(zhǔn)配置,如圖1所示,采用 15芯D型座。A系列儀表接口定義需參考相關(guān)產(chǎn)品 的使用說(shuō)明,但接口定義的通訊針腳的名稱(chēng)含義與 C、D系列含義相同。
其中:RS232分別為15芯D型座的6、7、8,含 義如下:
RXD:數(shù)據(jù)接收
TXD:數(shù)據(jù)發(fā)送
GND:信號(hào)地
RS485被定義在15芯D型座的1、2、3、4腳, 分別為A、B、Z、Y,含義如下:
A: RS485通訊的正輸出信號(hào);
B: RS485通訊的負(fù)輸出信號(hào);
Z: RS422通訊的正輸入信號(hào);
Y: RS422通訊的負(fù)輸入信號(hào)。
標(biāo)準(zhǔn)計(jì)算機(jī)9芯串口定義如圖2所示,腳2為 RXD, 腳 3 為 TXD, 腳 5 為信號(hào)地。
儀表RS232通訊口可直接與計(jì)算機(jī)9芯串口 聯(lián)結(jié),聯(lián)結(jié)方式通常按使用需要選擇2線或3線聯(lián) 結(jié)。2線通常只用于稱(chēng)重儀表與計(jì)算機(jī)單向通訊,3 線方式用于稱(chēng)重儀表與計(jì)算機(jī)應(yīng)答(雙向)方式通 訊。與計(jì)算機(jī)的9芯串口聯(lián)結(jié)方式為:儀表RXD 15 芯D型座的6腳)接計(jì)算機(jī)的TXD 9芯串口腳3), 儀表的TXD 15芯D型座的7腳)接計(jì)算機(jī)的RXD (9芯串口腳2),儀表的信號(hào)地(15芯D型座的8 腳)接計(jì)算機(jī)的信號(hào)地9芯串口腳5)。
若采用RS485方式通訊,儀表若未提供RS485 (如A系列儀表,只提供RS232)接口,儀表端需要 加裝RS232轉(zhuǎn)RS485信號(hào)的轉(zhuǎn)換器。由于計(jì)算機(jī)一 般只提供RS232串口,所以需加裝RS485轉(zhuǎn)RS232 信號(hào)的轉(zhuǎn)換器。此類(lèi)轉(zhuǎn)換器當(dāng)前市面最為常見(jiàn),價(jià) 格幾十到上百元不等。
RS232通訊方式特點(diǎn)是接口簡(jiǎn)單,與計(jì)算機(jī)聯(lián) 結(jié)成本低,聯(lián)結(jié)方便;缺點(diǎn)是不能直接組成稱(chēng)重網(wǎng) 路,且通訊距離短,一般為30米以內(nèi)。所以,RS232 的通訊線纜不宜太長(zhǎng),通訊線纜太長(zhǎng)會(huì)造成通訊效 率低,可靠性差,甚至造成儀表或計(jì)算機(jī)RS232通 訊口損壞等問(wèn)題。
RS485特點(diǎn)是傳輸距離遠(yuǎn)可達(dá)1000米以上), 多臺(tái)電子衡器可直接構(gòu)成稱(chēng)重網(wǎng)路;但接口電路較 復(fù)雜,不能直接與計(jì)算機(jī)串口聯(lián)結(jié),聯(lián)結(jié)成本略高。
無(wú)論采用哪種方式的串行通訊,通訊線纜的屏 蔽線強(qiáng)烈建議接大地,以免對(duì)稱(chēng)重系統(tǒng)或計(jì)算機(jī)造 成損害。另外,在實(shí)際現(xiàn)場(chǎng)應(yīng)用中,做好不要圖方便, 用屏蔽線做信號(hào)地使用,更不要做為通訊信號(hào)線。
二、XK3190系列儀表串行通訊的配置及通訊方式
XK3190系列儀表串行通訊口的配置屬性均 為:1位起始位,8位數(shù)據(jù)位,1位停止位,無(wú)校驗(yàn),即 n、8、1屬性。數(shù)據(jù)通訊方式分為連續(xù)方式和指令應(yīng) 答方式兩種。此節(jié)所述的通訊方式不同于前一節(jié)所 講的通訊方式,前一節(jié)是以通訊信號(hào)的特點(diǎn)來(lái)劃分, 此節(jié)的通訊方式是按照信號(hào)數(shù)據(jù)交換的特點(diǎn)加以區(qū) 別的,望讀者注意。
1.連續(xù)方式
連續(xù)方式屬于單向通訊方式,此種方式下,儀表 主動(dòng)不間斷的將當(dāng)前的稱(chēng)重?cái)?shù)據(jù)向計(jì)算機(jī)發(fā)送,每 串?dāng)?shù)據(jù)的發(fā)送間隔一般為100ms左右。發(fā)送格式有 兩種,我們分別稱(chēng)其為A1+數(shù)據(jù)格式和D2+數(shù)據(jù)格
式。
連續(xù)方式A1+數(shù)據(jù)格式最典型的應(yīng)用就是 XK3190- A1+,另外還包括 XK3190- A9、XK3190- D7、 D9、D10連續(xù)通訊方式0)以及C系列儀表等。格式 如表1所示,它的特征是:每組通訊數(shù)據(jù)串12個(gè)字 節(jié),以十六進(jìn)制數(shù)02H做為每組數(shù)據(jù)串的起始符, 十六進(jìn)制數(shù)03H為結(jié)束符,中間由7字節(jié)的有符號(hào) 重量數(shù)據(jù),1字節(jié)的小數(shù)點(diǎn)位數(shù)和2字節(jié)的異或校 驗(yàn)和組成有效數(shù)據(jù)信息串。重量數(shù)據(jù)高位在前,低位在后,正序數(shù)據(jù)格式,不含小數(shù)點(diǎn),小數(shù)點(diǎn)用單獨(dú)一個(gè)字節(jié)的十六進(jìn)制數(shù)表示其位置。
表中,起始符XON和結(jié)束符XOFF分別為十六 進(jìn)制數(shù)02H和03H,符號(hào)。重量數(shù)據(jù)以及異或校驗(yàn) 數(shù)據(jù)均是標(biāo)準(zhǔn)的ASCII碼。小數(shù)點(diǎn)位數(shù)為十六進(jìn)制 數(shù),一般為00H?04H。異或檢驗(yàn)和在發(fā)送時(shí)是將校 驗(yàn)和高位數(shù)字和低位數(shù)字分成兩個(gè)字節(jié)發(fā)送的。例 如,異或校驗(yàn)的結(jié)果為十六進(jìn)制數(shù)12H,儀表發(fā)送時(shí) 在第10個(gè)字節(jié)發(fā)送十六進(jìn)制數(shù)31H( 1的ASCII 碼),第11個(gè)字節(jié)發(fā)送十六進(jìn)制數(shù)32只2的ASCII 碼)。異或校驗(yàn)和的計(jì)算是從第2個(gè)字節(jié)開(kāi)始,到第 9個(gè)字節(jié)結(jié)束,即:
校驗(yàn)和=字節(jié)2十字節(jié)3十字節(jié)4十……十字 節(jié)9公式1)
兩個(gè)字節(jié)異或校驗(yàn)的方法是:將要校驗(yàn)的兩個(gè) 十六進(jìn)制數(shù)按二進(jìn)制展開(kāi),然后按位異或,即相同位 上兩數(shù)相同結(jié)果為0,否則為1。
例如:十六進(jìn)制數(shù)25H和37H異或,計(jì)算過(guò)程 如下:
公式1在應(yīng)用時(shí)是先將字節(jié)1和2的十六進(jìn)制 數(shù)異或,異或的結(jié)果再跟字節(jié)3異或,所得結(jié)果再與 字節(jié)4異或,依次類(lèi)推,一直到與字節(jié)9異或,最終 的異或結(jié)果便是異或校驗(yàn)和。異或校驗(yàn)和中對(duì)應(yīng)二進(jìn)制數(shù)據(jù)位D4 D7的二進(jìn)制數(shù)據(jù)部分所得的十六 進(jìn)制數(shù)在XK3190系列儀表說(shuō)明書(shū)中通常被稱(chēng)為異 或校驗(yàn)高4位數(shù)據(jù)(即表1中的異或校驗(yàn)高位數(shù) 字),如上面例子異或結(jié)果12H中的1,對(duì)應(yīng)二進(jìn)制 數(shù)據(jù)位D0~D3的二進(jìn)制數(shù)據(jù)部分所得的十六進(jìn)制 數(shù)通常被稱(chēng)為為異或校驗(yàn)低4位數(shù)據(jù)(即表1中的 異或校驗(yàn)低位數(shù)字)。
格式舉例數(shù)據(jù)串均以十六進(jìn)制數(shù)表示):
重量數(shù)據(jù)為+ 120.05,發(fā)送的數(shù)據(jù)為:02H 2BH 30H 31H 32H 30H 30H 35H 02H 32H 46H 03H
重量數(shù)據(jù)為-120.05,發(fā)送的數(shù)據(jù)為:02H 2DH 30H 31H 32H 30H 30H 35H 02H 32H 39H 03H
重量數(shù)據(jù)為-12005,發(fā)送的數(shù)據(jù)為:02H 2DH 30H 31H 32H 30H 30H 35H 00H, 32H 42H 03H
連續(xù)方式的D2+數(shù)據(jù)格式較為簡(jiǎn)單,最典型的 應(yīng)用就是XK3190-D2+,另外還包括XK3190-D10 (連續(xù)通訊方式2、)以及所有有RS232配置的臺(tái)秤 系列儀表等。格式如表2所示,它的特征是:每組通 訊數(shù)據(jù)串由9個(gè)字節(jié)組成,以“=”做起始符,后接含 小數(shù)點(diǎn)的8位有符號(hào)重量數(shù)據(jù),如果重量數(shù)據(jù)無(wú)小 數(shù)點(diǎn),則數(shù)據(jù)最高位會(huì)以0補(bǔ)充。重量數(shù)據(jù)低位在 前,高位在后,為倒序數(shù)據(jù)格式,數(shù)據(jù)符號(hào)為最末尾 字節(jié),無(wú)校驗(yàn),無(wú)結(jié)束符,整個(gè)數(shù)據(jù)串全為標(biāo)準(zhǔn)ASC II碼。
例如:
重量數(shù)據(jù):+ 120.05,發(fā)送的數(shù)據(jù)為:=50.02100 重量數(shù)據(jù):-120.05,
發(fā)送的數(shù)據(jù)為:=50.0210- 重量數(shù)據(jù):-12005,
發(fā)送的數(shù)據(jù)為:=5002100-
2.指令應(yīng)答方式
指令應(yīng)答方式通常也稱(chēng)為指令方式。在所有 XK3190- D、C系列儀表中被廣泛應(yīng)用。XK3190系列
儀表的指令通訊方式格式基本一致,均為十六進(jìn)制 數(shù)02H做起始符,03H做為結(jié)束符,中間為信息數(shù) 據(jù)。指令方式下,計(jì)算機(jī)每向儀表發(fā)送一個(gè)命令,儀 表按命令要求回送相應(yīng)數(shù)據(jù)給計(jì)算機(jī),若無(wú)命令給 儀表,儀表始終處于等待命令狀態(tài),無(wú)任何數(shù)據(jù)發(fā) 出。為了便于說(shuō)明,我們將指令方式的通訊格式分為 指令格式和應(yīng)答信息格式來(lái)分別說(shuō)明。
1)指令應(yīng)答方式的指令格式:
指令格式通常也稱(chēng)作命令格式,由6字節(jié)組成, 格式如表3所示。
XON、XOFF的含義與連續(xù)方式A1+格式中的 含義相同,異或校驗(yàn)數(shù)據(jù)是字節(jié)2和字節(jié)3的異或 結(jié)果。通訊地址是儀表所設(shè)的通訊地址,但儀表的通 訊地址數(shù)據(jù)并不是指令中實(shí)際發(fā)送的地址數(shù)據(jù),而 是與大寫(xiě)英文字母對(duì)應(yīng):儀表通信地址參數(shù)范圍是 1?26,對(duì)應(yīng)通訊指令中的地址為大寫(xiě)英文字母A? Z。比如儀表中的通訊地址參數(shù)為1,則指令中的通 信地址就是 A。
每組命令數(shù)據(jù)串均以十六進(jìn)制數(shù)據(jù)發(fā)送,除 XON、XOF外,其余數(shù)據(jù)都是發(fā)送對(duì)應(yīng)的標(biāo)準(zhǔn)ASCII 碼值。例如:計(jì)算機(jī)向某臺(tái)通訊地址為1的儀表發(fā)送 A指令;握手指令),發(fā)送的命令串應(yīng)為:02H 41H 41H 30H 30H 03H。
2)指令應(yīng)答方式的應(yīng)答信息格式:
應(yīng)答信息的數(shù)據(jù)串長(zhǎng)度根據(jù)指令不同而不同。 比如,A指令握手指令)應(yīng)答數(shù)據(jù)長(zhǎng)度6字節(jié),B指 令讀毛重)的應(yīng)答數(shù)據(jù)長(zhǎng)度為14字節(jié),讀車(chē)號(hào)指令 (E指令)應(yīng)答數(shù)據(jù)長(zhǎng)度為11字節(jié)。但應(yīng)答信息整體 的格式框架是一致的,都如表4所示。
從表4可以看出,應(yīng)答信息格式只是指令格式 多出了指令后的信息數(shù)據(jù)部分。信息數(shù)據(jù)按高位在 前,低位在后的規(guī)則正序排列,其中,重量信息數(shù)據(jù) 是含小數(shù)點(diǎn)的有符號(hào)數(shù)據(jù)。信息數(shù)據(jù)不是在任何指令的應(yīng)答信息中都有的,它只存在于如讀毛重指令 B)、讀凈重指令D)、讀皮重指令C)、讀車(chē)號(hào)指令 E)讀貨號(hào):指令F)等讀取儀表相關(guān)數(shù)據(jù)的指令中, 而類(lèi)似于握手指令指令A)、置零指令、去皮指令等 要求儀表執(zhí)行某個(gè)操作動(dòng)作的指令,應(yīng)答信息中均 不包含信息數(shù)據(jù),它們的應(yīng)答信息格式同于6字節(jié) 的指令格式,這一點(diǎn)在實(shí)際應(yīng)用中是特別要注意的, 所以,建議在使用指令應(yīng)答方式通訊時(shí),一定要仔細(xì) 閱讀儀表指令通訊的相關(guān)內(nèi)容。