提供商
北京漢晟普源科技有限公司資料大小
17.7KB資料圖片
下載次數
578次資料類型
WINRAR 壓縮文檔瀏覽次數
10108次
北京漢晟普源科技有限公司
HSPY系列可編程穩壓電源通訊協議
HSPY系列儀表采用RS232或者RS485傳輸標準與計算機通迅,詳細資料如下:
注(本機只支持功能碼03,10)
波特率:1200,2400,4800,9600,19200
起始位:1
數據位:8
校驗位:無
停止位:1
一.MODBUS_RTU幀結構
消息發送至少要以3.5個字符時間的停頓間隔開始;整個消息幀必須作為一連續的數據傳輸流,如果在幀完成之前有超過3.5個字符時間的停頓時間,接收設備將刷新不完整的消息并假定下一字節是一個新消息的地址域。同樣地,如果一個新消息在小于3.5個字符時間內接著前個消息開始,接收的設備將認為它是前一消息的延續。
一幀信息的標準結構如下所示:
開始 | 地址域 | 功能域 | 數據域 | CRC校驗 | 結束 |
T1-T2-T3-T4 | 8Bit | 8Bit | n個8Bit | 16Bit | T1-T2-T3-T4 |
地址域: 主機通過將要聯絡的從機的地址放入消息中的地址域來選通從設備,單個從機的地址范圍是1…15(十進制)。
地址0是用作廣播地址,以使所有的從機都能認識。
功能域:有效的編碼范圍是1…255(十進制);當消息從主機發往從機時,功能代碼將告之從機需要去干什么。例如:讀/寫一組寄存器的數據內容等。
數據域:主機發給從機的數據域中包含了從機完成功能域的動作時所必要的附加信息;如:寄存器地址等。
CRC校驗:CRC生成之后,低字節在前,高字節在后。
注:本儀表通訊時幀與幀之間的響應間隔,通訊速率大于等于9600bps時不大于5ms
序號 | 名稱 | 說明 | 范圍 | 小數點位數 | 讀寫 | 參數通訊地址 |
1 | Set-U | 電源的電壓設定值 | 0-65535 | 2 | r/w | 1000H |
2 | Set-I | 電源的電流設定值 | 0-65535 | 3 | r/w | 1001H |
3 | U | 電源的電壓顯示值 | 0-65535 | 2 | r | 1002H |
4 | I | 電源的電流顯示值 | 0-65535 | 3 | r | 1003H |
5 | Run-Stop | 電源輸出/停止設定 | 0,1 | 0 | r/w | 1004H |
6 | RS-Adder | 通訊地址設定 | 0~255 | 0 | r/w | 1005H |
7 | Key_Lock | 按鍵鎖定 | 0,1 | 0 | r/w | 1006H |
MODBUS RTU 通訊協議
通訊數據的類型及格式:
信息傳輸為異步方式,并以字節為單位。在主站和從站之間傳遞的通訊信息是10位的字格式:
字格式(串行數據) | 10位二進制 |
起始位 | 1位 |
數據位 | 8位 |
奇偶校驗位 | 無 |
停止位 | 1位 |
● 通訊數據(信息幀)格式
數據格式 | 地址碼 | 功能碼 | 數據區 | CRC校驗 |
數據長度 | 1字節 | 1字節 | N字節 | 16位CRC碼(冗余循環碼) |
一、 通訊信息傳輸過程:
當通訊命令由發送設備(主機)發送至接收設備(從機)時,符合相應地址碼的從機接收通訊命令,并根據功能碼及相關要求讀取信息,如果CRC校驗無誤,則執行相應的任務,然后把執行結果(數據)返送給主機。返回的信息中包括地址碼、功能碼、執行后的數據以及CRC校驗碼。如果CRC校驗出錯就不返回任何信息。
1.1 地址碼:
地址碼是每次通訊信息幀的*字節(8位),從0到255。這個字節表明由用戶設置地址的從機將接收由主機發送來的信息。每個從機都必須有*的地址碼,并且只有符合地址碼的從機才能響應回送信息。當從機回送信息時,回送數據均以各自的地址碼開始。主機發送的地址碼表明將發送到的從機地址,而從機返回的地址碼表明回送的從機地址。相應的地址碼表明該信息來自于何處。
1.2 功能碼:
是每次通訊信息幀傳送的第二個字節。ModBus通訊規約可定義的功能碼為1到127。作為主機請求發送,通過功能碼告訴從機應執行什么動作。作為從機響應,從機返回的功能碼與從主機發送來的功能碼一樣,并表明從機已響應主機并且已進行相關的操作。
表8.1 MODBUS部分功能碼
功能碼
| 定 義
| 操 作(二進制) |
02 | 讀開關量輸入DI | 讀取一路或多路開關量狀態輸入數 (遙信) |
01 | 讀狀態量輸出OUT | 讀取一路或多路開關量輸出狀態數據 |
03 | 讀寄存器數據 | 讀取一個或多個寄存器的數據 |
05 | 寫開關量輸出OUT | 控制一路繼電器“合/分”輸出,遙控 |
06 | 寫單路寄存器 | 把一組二進制數據寫入單個寄存器 |
10 | 寫多路寄存器 | 把多組二進制數據寫入多個寄存器 |
1.3 數據區:
數據區包括需要由從機返送何種信息或執行什么動作。這些信息可以是數據(如:開關量輸入/輸出、模擬量輸入/輸出、寄存器等等)、參考地址等。例如,主機通過功能碼03告訴從機返回寄存器的值(包含要讀取寄存器的起始地址及讀取寄存器的長度),則返回的數據包括寄存器的數據長度及數據內容。對于不同的從機,地址和數據信息都不相同(應給出通訊信息表)。
HSPY系列電源采用Modbus通訊規約,主機(PLC、RTU、PC機、DCS等)利用通訊命令(功能碼03),可以任意讀取其數據寄存器(其數據信息表詳見附錄)。
HSPY響應的命令格式是從機地址、功能碼、數據區及CRC碼。數據區的數據都是兩個字節,并且高位在前。
4.靜止時間要求
發送數據前要求數據總線靜止時間即無數據發送時間大于(5ms 波特率為9600時).
二、 MODBUS功能碼簡介(HSPY可編程電源只支持以下功能碼)
2.1 功能碼“03”:讀多路寄存器輸入
例如:主機要讀取地址為01,起始地址為1000的2個從機寄存器數據。
從機數據寄存器的地址和數據為:
寄存器地址 | 寄存器數據(16進制) | 對應參數 |
1000 | 0E10(36.00V) | Set-U |
1001 | 0BB8(3.000A) | Set_I |
|
|
|
主機發送的報文格式:
主機發送 | 字節數 | 發送的信息 | 備 注 |
從機地址 | 1 | 01 | 發送至地址為01的從機 |
功能碼 | 1 | 03 | 讀寄存器 |
起始地址 | 2 | 1000 | 起始地址為0000 |
讀數據長度 | 2 | 0002 | 讀取3個寄存器(共6個字節) |
CRC碼 | 2 | C0CB | 由主機計算得到CRC碼 |
從機響應返回的報文格式:
從機響應 | 字節數 | 返回的信息 | 備 注 |
從機地址 | 1 | 01 | 來自從機01 |
功能碼 | 1 | 03 | 讀寄存器 |
數據長度(字節數) | 1 | 04 | 共4個字節 |
寄存器1的數據 | 2 | 0E10 | 地址為0000寄存器的內容 |
寄存器2的數據 | 2 | C0CB | 地址為0001寄存器的內容 |
CRC碼 | 2 | 6089 | 由從機計算得到CRC碼 |
2.5 功能碼“10”:寫多路寄存器
主機利用這個功能碼把多個數據保存到HSPY電源的數據存儲器中去。Modbus通訊規約中的寄存器指的是16位(即2字節),并且高位在前。這樣HSPY的存儲器都是二個字節。
例如:主機要把0E10保存到地址為1000的從機寄存器中去(從機地址碼為01)。
主機發送的報文格式:
主機發送 | 字節數 | 發送的信息 | 備 注 |
從機地址 | 1 | 01 | 發送至地址為01的從機 |
功能碼 | 1 | 10 | 寫多路寄存器 |
起始地址 | 2 | 1000 | 要寫入的寄存器的起始地址 |
保存數據長度 | 2 | 0001 | 保存數據的字長度 |
保存數據字節長 | 1 | 02 | 保存數據的字節長度(4字節) |
保存數據1 | 2 | 0E10 | 待寫入1000地址的數據 |
CRC碼 | 2 | B23D | 由主機計算得到CRC碼 |
從機響應返回的報文格式:
從機響應 | 字節數 | 發送的信息 | 備 注 |
從機地址 | 1 | 01 | 發送至地址為01的從機 |
功能碼 | 1 | 10 | 寫多路寄存器 |
起始地址 | 2 | 1000 | 要寫入的寄存器的起始地址 |
保存數據長度 | 2 | 0001 | 保存數據的字長度 |
CRC碼 | 2 | 0509 | 由從機計算得到CRC碼 |
主機或從機可用校驗碼進行判別接收信息是否正確。由于電子噪聲或一些其它干擾,信息在傳輸過程中有時會發生錯誤,錯誤校驗碼(CRC)可以檢驗主機或從機在通訊數據傳送過程中的信息是否有誤,錯誤的數據可以放棄(無論是發送還是接收),這樣增加了系統的安全和效率。
MODBUS通訊協議的CRC(冗余循環碼)包含2個字節,即16位二進制數。CRC碼由發送設備(主機)計算,放置于發送信息幀的尾部。接收信息的設備(從機)再重新計算接收到信息的CRC,比較計算得到的CRC是否與接收到的相符,如果兩者不相符,則表明出錯。
● CRC碼的計算方法是:
1、預置1個16位的寄存器為十六進制FFFF(即全為1);稱此寄存器為CRC寄存器;
2、把*個8位二進制數據(既通訊信息幀的*個字節)與16位的CRC寄存器的低8位相異或,把結果放于CRC寄存器;
3、把CRC寄存器的內容右移一位(朝低位)用0填補zui高位,并檢查右移后的移出位;
4、如果移出位為0:重復第3步(再次右移一位); 如果移出位為1:CRC寄存器與多項式A001(1010 0000 0000 0001)進行異或;
5、重復步驟3和4,直到右移8次,這樣整個8位數據全部進行了處理;
6、重復步驟2到步驟5,進行通訊信息幀下一個字節的處理;
7、將該通訊信息幀所有字節按上述步驟計算完成后,得到的16位CRC寄存器的高、低字節進行交換;
8、zui后得到的CRC寄存器內容即為:CRC碼。
北京漢晟普源科技有限公司
2010年4月28日
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業自行提供,信息內容的真實性、準確性和合法性由相關企業負責,儀表網對此不承擔任何保證責任。
溫馨提示:為規避購買風險,建議您在購買產品前務必確認供應商資質及產品質量。