TM220通信協(xié)議-最新版_第1頁
TM220通信協(xié)議-最新版_第2頁
TM220通信協(xié)議-最新版_第3頁
TM220通信協(xié)議-最新版_第4頁
TM220通信協(xié)議-最新版_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.TM220通信協(xié)議一、 通信規(guī)格1. 規(guī)格 NO.項(xiàng)目規(guī)格1接口EIA規(guī)格 RS4852傳送線路2線制 多從機(jī)3傳送距離最大500m4傳送速度(bps)2400, 4800, 96005通信方式半雙工6數(shù)據(jù)形式起始位:1 位數(shù)據(jù)位: 8 位校驗(yàn)位: 1位(有奇偶校驗(yàn)時(shí));無(無奇偶校驗(yàn)時(shí))停止位: 1位(有校驗(yàn)時(shí));2位(無校驗(yàn)時(shí))7傳輸模式HEX值( MODBUS RTU 格式)8數(shù)據(jù)校驗(yàn)方式CRC-169最大連機(jī)臺數(shù)1:N(31臺)10信號邏輯V(T/RA) V(T/TB) 0V(T/RA) V(T/RB) 12. 端子編號和信號名稱端子編號信號名稱內(nèi)容21SG信號接地用22T/R(A)

2、傳送數(shù)據(jù)23T/R(B)傳送數(shù)據(jù) 3. 通信參數(shù) 代碼名稱設(shè)定范圍內(nèi)容出廠值A(chǔ)dd儀表地址號0247設(shè)定調(diào)節(jié)器的機(jī)器地址0bps通訊速率(pbs)2400、4800、9600設(shè)定通訊速率9600bit數(shù)據(jù)形式8n28 O 18 E 18位、無奇偶校驗(yàn) 2終止位8位、 奇校驗(yàn) 1終止位8位、 偶校驗(yàn) 1終止位8n2int發(fā)送延時(shí)(ms)01000設(shè)定兩次通信最小間隔時(shí)間10注:1) 在通信參數(shù)變更后,儀表請重新通電,如果不重新通電,變更后的值不能通信。 2) 傳送速度要同上位機(jī)設(shè)定一致。 3)數(shù)據(jù)形式要同上位機(jī)設(shè)定一致。4、通信命令構(gòu)成本通信協(xié)議使用主從技術(shù),即僅一設(shè)備(上位機(jī))能發(fā)起通信(查詢

3、/設(shè)定參數(shù))。其它設(shè)備(從機(jī))根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。通信中使用RTU數(shù)據(jù)模式,所有數(shù)據(jù)使用二進(jìn)制形式傳輸,不使用ASCII碼。通信過程如下:l 主機(jī)發(fā)出命令,在命令的開始用地址表明發(fā)送目的。l 所有的子機(jī)均進(jìn)行接收,并判斷地址與自己的地址是否相同。l 地址相符的子機(jī),依據(jù)命令的功能碼執(zhí)行不同的操作,如命令要求發(fā)回應(yīng)答時(shí),子機(jī)發(fā)回相應(yīng)應(yīng)答。l 地址不相符的子機(jī),舍棄本次命令幀,等待下一個(gè)命令幀的到來。 命令幀的構(gòu)成(最大256字節(jié))從機(jī)地址功能碼數(shù)據(jù)校驗(yàn)字節(jié)(CRC)一字節(jié)一字節(jié)0252字節(jié)二字節(jié)1) 地址說明從機(jī)地址指儀表的通信地址,在1247范圍內(nèi)自由指定。在同一個(gè)網(wǎng)絡(luò)中,所

4、有的地址必須是唯一的。主機(jī)可以與網(wǎng)絡(luò)中的任何子機(jī)進(jìn)行通信。地址0作為廣播地址,用于廣播通信。當(dāng)命令中出現(xiàn)廣播地址時(shí),所有的子機(jī)均接受命令,執(zhí)行操作,但不返回任何應(yīng)答。2) 功能碼說明本協(xié)議采用標(biāo)準(zhǔn)的MODBUS功能碼。具體通信中采用以下三個(gè)指令值名稱功能作用范圍03HRead Holding Registers讀出寄存器中的值。(連續(xù)寄存器可一次讀出多個(gè))1125字節(jié)06HWrite Single Register向一個(gè)寄存器內(nèi)寫入數(shù)值1字節(jié)08HDiagnostic通信診斷1字節(jié)相應(yīng)命令長度功能碼命令長度(字節(jié))正常應(yīng)答長度(字節(jié))備注最小最大最小最大03H88725506H888808H8

5、8883) 數(shù)據(jù)根據(jù)功能碼的不同,數(shù)據(jù)內(nèi)容有不同的解釋,詳細(xì)可參閱后面的命令格式、數(shù)據(jù)一覽表。4) 錯(cuò)誤檢測域檢測命令錯(cuò)誤的方式采用CRC_16,具體算法可以參照CRC計(jì)算詳解。 5、 應(yīng)答命令格式1) 命令的正常應(yīng)答地址功能碼數(shù)據(jù)長度數(shù)據(jù)錯(cuò)誤檢測域本機(jī)地址同上位機(jī)命令數(shù)據(jù)項(xiàng)目的字節(jié)數(shù)CRC_161字節(jié)1字節(jié)1字節(jié)N個(gè)字節(jié)2字節(jié)命令的非正常應(yīng)答l 當(dāng)子機(jī)接受到不合適的命令時(shí)(不可識別的命令除外),子機(jī)不執(zhí)行任何操作,只發(fā)回應(yīng)答。l 當(dāng)子機(jī)處于通信診斷狀態(tài),子機(jī)判斷通信出錯(cuò)時(shí),子機(jī)對收到的任何命令只返回錯(cuò)誤代碼。地址功能碼錯(cuò)誤代碼錯(cuò)誤檢測域本機(jī)地址指令+80HCRC_161字節(jié)1字節(jié)1字節(jié)2字節(jié)

6、錯(cuò)誤代碼表錯(cuò)誤代碼值內(nèi)容1本協(xié)議不支持的功能代碼。2指定的寄存器不支持此功能。如試圖設(shè)定只讀寄存器,或讀取寄存器數(shù)據(jù)時(shí)使用不存在的地址作為起始地址。3在寫入寄存器時(shí)數(shù)據(jù)超限或讀取寄存器數(shù)值時(shí)最大寄存器地址超限4自診斷錯(cuò)誤。8子機(jī)系統(tǒng)忙無應(yīng)答l 當(dāng)命令中的地址與子機(jī)地址不一致時(shí),子機(jī)不返回任何應(yīng)答。l 指令中的CRC和子機(jī)計(jì)算出的CRC不一致,或檢測出傳送出錯(cuò)(超時(shí),楨錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤)當(dāng)出現(xiàn)以上錯(cuò)誤時(shí),子機(jī)不返回任何應(yīng)答。l 在一個(gè)命令幀傳送過程中,相鄰倆個(gè)字節(jié)的時(shí)間間隔超過正常間隔的1.5字符時(shí)間時(shí),通信雙方認(rèn)為出現(xiàn)超時(shí)錯(cuò)誤,此次命令傳送結(jié)束。2) 傳送時(shí)序主機(jī)命令發(fā)送時(shí)序l 每次命令發(fā)送

7、至少要以3.5個(gè)字符時(shí)間的停頓間隔開始。l 整個(gè)命令作為一個(gè)連續(xù)的流傳輸,命令中的各個(gè)字節(jié)之間的間隔不能超過正常傳輸時(shí)間的1.5倍。有超過1.5個(gè)字符時(shí)間的停頓時(shí)間,子機(jī)將刷新不完整的命令并假定下一字節(jié)是一個(gè)新命令的地址域。l 在最后一個(gè)傳輸字符之后,一個(gè)至少3.5個(gè)字符時(shí)間的停頓標(biāo)定了命令的結(jié)束。一個(gè)新的命令可在此停頓后開始。* 對于子機(jī)可能出現(xiàn)應(yīng)答的情況要有超時(shí)判斷來進(jìn)行處理,避免無限等待。*對于停頓時(shí)間要有必要的余量。如9600bps 3.5倍時(shí)間間隔=4.01ms : 余量可以調(diào)大為10ms.1.5倍時(shí)間間隔=1.72ms : 發(fā)送中時(shí)間間隔可以控制在1ms.子機(jī)傳輸時(shí)序l 通信中當(dāng)子

8、機(jī)檢測到3.5個(gè)字符時(shí)間后,可以認(rèn)為此次命令傳遞結(jié)束。l 當(dāng)子機(jī)解析完命令后,依據(jù)解析情況決定是否執(zhí)行命令和發(fā)回相應(yīng)應(yīng)答。6、CRC-16的計(jì)算方法CRC為2字節(jié)(16位)的錯(cuò)誤碼。在命令及應(yīng)答中,使用CRC檢測了整個(gè)命令的內(nèi)容正確與否。 發(fā)送方發(fā)送命令時(shí),組織好命令數(shù)據(jù)后依據(jù)計(jì)算方法計(jì)算出CRC,并將它附加在命令數(shù)據(jù)后儀器發(fā)送。當(dāng)接收方接受完命令后,依照同樣的方法計(jì)算CRC,如果算出的CRC和接收到的CRC一致時(shí),認(rèn)為命令數(shù)據(jù)正確,否則認(rèn)為數(shù)據(jù)命令出錯(cuò),接收方為子機(jī)時(shí)不對命令做出任何應(yīng)答。CRC在計(jì)算時(shí),僅對每個(gè)字節(jié)中的8個(gè)數(shù)據(jù)位進(jìn)行計(jì)算,起始位、停止位、奇偶校驗(yàn)位均不參與計(jì)算。CRC計(jì)算方

9、法1) 將一個(gè)16位寄存器作為CRC寄存器,初始值設(shè)為#FFFFH.2) CRC寄存器與命令中的第一個(gè)字節(jié)進(jìn)行異或(XOR)計(jì)算。結(jié)果存入CRC寄存器。3) CRC寄存器中的值向右移一位。4) 如果移出的位為1,則CRC寄存器的值和#A001H進(jìn)行異或(XOR)計(jì)算,結(jié)果存入CRC寄存器。如果移出的位是0,CRC寄存器的值不變。5) 如果移出次數(shù)不足8次,返回3)4)再次計(jì)算。6) 如果8次已經(jīng)移完并且計(jì)算完畢。取命令中的下一個(gè)字節(jié)和CRC進(jìn)行移或(XOR)計(jì)算。7) 返回3)進(jìn)行移位計(jì)算。直到命令中的全部數(shù)據(jù)計(jì)算完畢(校驗(yàn)命令時(shí)不包括接收到的CRC字節(jié))。8) 當(dāng)全部數(shù)據(jù)計(jì)算完畢后,CRC寄

10、存器中的數(shù)據(jù)就是所求的數(shù)據(jù)。將CRC值附加在命令數(shù)據(jù)后面一起發(fā)送。加入時(shí)低字節(jié)在前,高位字節(jié)在后。7、參數(shù)設(shè)置(寄存器寫入)時(shí)的注意事項(xiàng)。本調(diào)節(jié)器的參數(shù)保存在調(diào)節(jié)器內(nèi)部的EEPROM中,讀寫寄存器實(shí)質(zhì)是對EEPROM的存儲單元進(jìn)行讀寫操作。EEPROM中的數(shù)據(jù)可以在掉電后長期保存。每個(gè)存儲單元可提供最大100000次重寫使用期限。對調(diào)節(jié)器的參數(shù)設(shè)置次數(shù)必須少于EEPROM的寫入次數(shù)限制。并且需要子機(jī)的參數(shù)rom=1的情況下才能進(jìn)行。8、主機(jī)命令示例1) 讀出寄存器數(shù)值命令(功能代碼: 03H)本命令指定開始的寄存器地址和本次想讀出的寄存器個(gè)數(shù)。子機(jī)在接到命令后,按照寄存器地址的順序,返回參數(shù)數(shù)

11、值。每個(gè)數(shù)值占兩個(gè)字節(jié),高位字節(jié)在前,低位字節(jié)在后。(例1) 從地址為2的子機(jī)的0000H號寄存器開始,連續(xù)讀出3個(gè)寄存器的值。主機(jī)命令子機(jī)地址02H功能代碼03H寄存器始地址第一字節(jié)00H00H第二字節(jié)要讀出數(shù)據(jù)的個(gè)數(shù)第一字節(jié)00H03H第二字節(jié)CRC-16第一字節(jié)05HF8H第二字節(jié)子機(jī)應(yīng)答(正常應(yīng)答)子機(jī)地址02H功能代碼03H數(shù)據(jù)個(gè)數(shù)(*1)06H第一寄存器數(shù)值第一字節(jié)00H00H第二字節(jié)第二寄存器數(shù)值第一字節(jié)00H03H第二字節(jié)第三寄存器數(shù)值第一字節(jié)00H63H第二字節(jié)CRC-16第一字節(jié)75HACH第二字節(jié)(*1)數(shù)據(jù)個(gè)數(shù)= 寄存器個(gè)數(shù)*2子機(jī)應(yīng)答(非正常應(yīng)答)子機(jī)地址02H功能代

12、碼+80H83H錯(cuò)誤代號03HCRC-16第一字節(jié)F1H31H第二字節(jié)2) 設(shè)定寄存器值(功能代碼: 06H)本命令對指定的寄存器寫入預(yù)定數(shù)據(jù)。寫入的數(shù)據(jù)占兩個(gè)字節(jié),高位字節(jié)在前,低位字節(jié)在后的順序存放。在寫入前,必須確認(rèn)該寄存器是可讀寫寄存器。例1) 對地址為1的子機(jī)的0010號寄存器寫入數(shù)據(jù)102H.主機(jī)命令子機(jī)地址01H功能代碼06H寄存器地址第一字節(jié)00H10H第二字節(jié)要設(shè)定的數(shù)據(jù)第一字節(jié)01H02H第二字節(jié)CRC-16第一字節(jié)08H5EH第二字節(jié)子機(jī)應(yīng)答(正常應(yīng)答):返回的數(shù)據(jù)和寫入命令相同子機(jī)地址01H功能代碼06H寄存器地址第一字節(jié)00H10H第二字節(jié)設(shè)定的數(shù)據(jù)第一字節(jié)01H02

13、H第二字節(jié)CRC-16第一字節(jié)08H5EH第二字節(jié)子機(jī)應(yīng)答(非正常應(yīng)答)子機(jī)地址01H功能代碼+80H86H錯(cuò)誤代號02HCRC-16第一字節(jié)C3HA1H第二字節(jié)3)診斷指令(功能代碼:08H)本命令用來對子機(jī)的通信狀態(tài)進(jìn)行測試。測試時(shí)子機(jī)只返回測試數(shù)據(jù)。例1 ) 對地址為1的子機(jī)進(jìn)行通信診斷。主機(jī)命令主機(jī)命令子機(jī)地址01H功能代碼08H測試地址(*1)第一字節(jié)00H01H第二字節(jié)測試數(shù)據(jù)第一字節(jié)1FH34H第二字節(jié)CRC-16第一字節(jié)E9HECH第二字節(jié)(*1) 測試地址固定為0000H.子機(jī)應(yīng)答(正常應(yīng)答):返回的數(shù)據(jù)和寫入命令相同子機(jī)地址01H功能代碼08H測試地址第一字節(jié)00H00H第

14、二字節(jié)CRC-16第一字節(jié)E9HECH第二字節(jié)子機(jī)應(yīng)答(非正常應(yīng)答)子機(jī)地址01H功能代碼+80H88H錯(cuò)誤代號03HCRC-16第一字節(jié)06H01H第二字節(jié)9、數(shù)據(jù)構(gòu)成1) 數(shù)據(jù)范圍本通信協(xié)議中的數(shù)據(jù)范圍是(0000HFFFFH),-1使用FFFFH來表示。l 小數(shù)點(diǎn)無法在數(shù)據(jù)中表示,通信中的小數(shù)變成整數(shù)形式發(fā)送,由上位機(jī)和子機(jī)自行判斷具體的小數(shù)點(diǎn)位置。l 負(fù)數(shù)的表示方法例) -10.0-10.0 -100 = 0000H 0064H = FF9CH2) 數(shù)據(jù)讀寫時(shí)的注意事項(xiàng)。l 在讀數(shù)據(jù)時(shí)(功能代碼03H),連續(xù)的寄存器地址中最大地址不可超過41(29H),否則會發(fā)回非正常應(yīng)答,其錯(cuò)誤代碼

15、是02H.l 在對寄存器進(jìn)行寫入過程中發(fā)生錯(cuò)誤時(shí),發(fā)生錯(cuò)誤前已經(jīng)寫入的數(shù)據(jù)不受影響,但發(fā)生錯(cuò)誤后的數(shù)據(jù)不會被寫入。發(fā)生錯(cuò)誤時(shí)錯(cuò)誤代碼含義:設(shè)定的數(shù)據(jù)超出數(shù)據(jù)范圍:功能代碼 03H數(shù)據(jù)地址錯(cuò)誤:功能代碼02H(一種是對只讀寄存器進(jìn)行寫入,另一種是指定的地址不存在)10、寄存器(參數(shù))數(shù)據(jù)一覽:屬性R:只讀, R/W:讀出/寫入 地址代碼名稱數(shù)據(jù)屬性0PV測量值表示范圍的下限值上限值R1o1主控制輸出0.0100.0%R2o2副控制輸出0.0100.0%R3Ct1加熱器電流值0100AR4Ct2加熱器電流值0100AR5AL1報(bào)警1數(shù)據(jù)內(nèi)容0002上限報(bào)警(偏差值)0004下限報(bào)警(偏差值)000

16、8待機(jī)+上限報(bào)警(偏差值)0010待機(jī)+下限報(bào)警(偏差值)0020上下限范圍報(bào)警(偏差值)0040上下限報(bào)警(偏差值)0080上限待機(jī)+上下限報(bào)警(偏差值)0100下限待機(jī)+上下限報(bào)警(偏差值)0200待機(jī)+上下限報(bào)警(偏差值)0400上限絕對值報(bào)警0800下限絕對值報(bào)警1000待機(jī)+上限絕對值報(bào)警2000待機(jī)+下限絕對值報(bào)警R6AL2報(bào)警2R7Erro錯(cuò)數(shù)據(jù)內(nèi)容0001存儲器出錯(cuò)0002燒斷錯(cuò)誤4000回路斷線8000加熱器斷線C000回路斷線及加熱器斷線R8ESw事件開關(guān)0:開關(guān)開 1:開關(guān)閉R9RomdEEPROM 數(shù)據(jù)狀態(tài)0: 不一致 1: 一致R10Rom EEPROM 寫入開關(guān)0:

17、打開 1:鎖定R/W11Run運(yùn)行0:停止 1:運(yùn)行R/W12Sv1主控制設(shè)定值設(shè)定范圍的下限值上限值R/W13Sv2副控制設(shè)定值設(shè)定范圍的下限值上限值R/W14Loc設(shè)定值閉鎖數(shù)據(jù)內(nèi)容0全部可以設(shè)定1僅SV和報(bào)警(AL1、AL2)可以設(shè)定2僅報(bào)警(AL1、AL2)不可設(shè)定3僅SV可以設(shè)定4僅SV不可以設(shè)定5僅報(bào)警(AL1、AL2)可以設(shè)定6僅SV和報(bào)警(AL1、AL2)不可設(shè)定7全部不可以設(shè)定R/W15P1主控制比例度dp:1/0.1 0.0999.9 dp:0.01 0.0199.99R/W16i積分時(shí)間03600秒,0時(shí)積分不動(dòng)作R/W17d微分時(shí)間03600秒,0時(shí)微分不動(dòng)作R/W18

18、t1主控制比例周期1120秒R/W19Ar上升時(shí)間主控制比例度的0.0100.0%,0.0時(shí)微分不動(dòng)作R/W20A手動(dòng)復(fù)位在主控制積分時(shí)間是0時(shí)表示,設(shè)定范圍:0.0100.0%R/W21Atu自整定0:自整定終了/中止; 1:自整定開始R/W22Stu自適應(yīng)0:無自適應(yīng)功能; 1:有自適應(yīng)功能R/W23dF1主控制靈敏度dp:1/0.1 0.1100.0dp:0.01 0.0110.00R/W24P2副控制比例度主控制比例度的11000%,不可設(shè)定0R/W25t2副控制比例周期1120秒R/W26dF2副控制靈敏度dp:1/0.1 0.1100.0dp:0.01 0.0110.00R/W27Ins輸入補(bǔ)正值dp:1/0.1 -199.9999.9dp:0.01 -19.9999.99R/W28dp死區(qū)主控制比例度和副控制比例度的控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論