安科瑞 耿敏花
1 產(chǎn)品型號(hào)
2 技術(shù)參數(shù)
3 外形結(jié)構(gòu)
AMC16Z-FD16高精度電壓監(jiān)測(cè)裝置 單位:mm
4 接線 端子
5 通訊指南
5.1 概述
AMC16Z-FD16高精度電壓監(jiān)測(cè)裝置采用Modbus-RTU協(xié)議:“9600,8,1,n”,其中115200為默認(rèn)波特率,可通過(guò)通訊修改為2400、4800、19200等,參量地址見(jiàn)7.5通訊參量地址表;8表示有8個(gè)數(shù)據(jù)位;n表示無(wú)奇偶校驗(yàn)位;1表示有1個(gè)停止位。錯(cuò)誤檢測(cè):CRC16(循環(huán)冗余校驗(yàn))
5.2 協(xié)議
當(dāng)數(shù)據(jù)幀到達(dá)終端設(shè)備時(shí),它通過(guò)一個(gè)簡(jiǎn)單的“端口”進(jìn)入被尋址到的設(shè)備,該設(shè)備去掉數(shù)據(jù)幀的“信封”(數(shù)據(jù)頭),讀取數(shù)據(jù),如果沒(méi)有錯(cuò)誤,就執(zhí)行數(shù)據(jù)所請(qǐng)求的任務(wù),然后,它將自己生成的數(shù)據(jù)加入到取得的“信封”中,把數(shù)據(jù)幀返回給發(fā)送者。返回的響應(yīng)數(shù)據(jù)中包含了以下內(nèi)容:終端從機(jī)地址(Address)、被執(zhí)行了的命令(Function)、執(zhí)行命令生成的被請(qǐng)求數(shù)據(jù)(Data)和一個(gè)CRC校驗(yàn)碼(Check)。發(fā)生任何錯(cuò)誤都不會(huì)有成功的響應(yīng),或者返回一個(gè)錯(cuò)誤指示幀。
5.2.1 數(shù)據(jù)幀格式
5.2.2 地址(Address)域
地址域在幀首,由一個(gè)字節(jié)(8-Bits,8位二進(jìn)制碼)組成,十進(jìn)制為0~255,在我們的系統(tǒng)中只使用1~247,其它地址保留。這些位標(biāo)明了用戶的終端設(shè)備的地址,該設(shè)備將接收來(lái)自與之相連的主機(jī)數(shù)據(jù)。同一總線上每個(gè)終端設(shè)備的地址必須是,只有被尋址到的終端才會(huì)響應(yīng)包含了該地址的查詢。當(dāng)終端發(fā)送回一個(gè)響應(yīng),響應(yīng)中的從機(jī)地址數(shù)據(jù)便告訴了主機(jī)哪臺(tái)終端正與之進(jìn)行通信。
5.2.3 功能(Function)域
功能域代碼告訴了被尋址到的終端執(zhí)行何種功能。下表列出了該系列儀表用到的功能碼,以及它們的意義和功能。
5.2.4 數(shù)據(jù)(Data)域
數(shù)據(jù)域包含了終端執(zhí)行特定功能所需的數(shù)據(jù)或終端響應(yīng)查詢時(shí)采集到的數(shù)據(jù)。這些數(shù)據(jù)可能是數(shù)值、參量地址或者設(shè)置值。
例如:功能域告訴終端讀取一個(gè)寄存器,數(shù)據(jù)域則需要指明從哪個(gè)寄存器開(kāi)始及讀取多少個(gè)數(shù)據(jù),內(nèi)嵌的地址和數(shù)據(jù)依照類型和從機(jī)之間的不同而內(nèi)容有所不同。
5.2.5 錯(cuò)誤校驗(yàn)(Check)域
該域采用CRC16循環(huán)冗余校驗(yàn),允許主機(jī)和終端檢查傳輸過(guò)程中的錯(cuò)誤。有時(shí)由于電噪聲和其它干擾,一組數(shù)據(jù)從一個(gè)設(shè)備傳輸?shù)搅硪粋€(gè)設(shè)備時(shí),在線路上可能會(huì)發(fā)生一些改變,錯(cuò)誤校驗(yàn)?zāi)軌虮WC主機(jī)或從機(jī)不去響應(yīng)那些發(fā)生改變的數(shù)據(jù),這就提高了系統(tǒng)的安全性、可靠性和效率。
5.3 錯(cuò)誤校驗(yàn)的方法
錯(cuò)誤校驗(yàn)(CRC)域占用兩個(gè)字節(jié),包含了一個(gè)16位的二進(jìn)制值。CRC值由傳輸設(shè)備計(jì)算出來(lái),然后附加到數(shù)據(jù)幀上,接收設(shè)備在接受數(shù)據(jù)時(shí)重新計(jì)算CRC值,然后與接收到的CRC域中的值進(jìn)行比較,如果這兩個(gè)值不相等,就發(fā)生了錯(cuò)誤。
CRC運(yùn)算時(shí),首先將一個(gè)16位的寄存器預(yù)置為全1,然后連續(xù)把數(shù)據(jù)幀中的每個(gè)字節(jié)中的8位與該寄存器的當(dāng)前值進(jìn)行運(yùn)算,僅僅每個(gè)字節(jié)的8個(gè)數(shù)據(jù)位參與生成CRC,起始位和停止位以及可能使用的奇偶位都不影響CRC。在生成CRC時(shí),每個(gè)字節(jié)的8位與寄存器中的內(nèi)容進(jìn)行異或,然后將結(jié)果向低位移位,高位則用“0”補(bǔ)充,位(LSB)移出并檢測(cè),如果是1,該寄存器就與一個(gè)預(yù)設(shè)的固定值(0A001H)進(jìn)行一次異或運(yùn)算,如果位為0,不作任何處理。