一種基于MODBUS總線高壓軟起動裝置液晶顯示界面的設計
3 MODBUS通訊應用
下面是基于單片機MSP430F149為主芯片的高壓軟起動裝置液晶操控板,以此為例來說明MODBUS通訊的應用。MODBUS通訊主設備是DSP控制器,從設備是高壓軟起動裝置液晶操控板。
3.1 液晶操控板MODBUS通訊測試碼
/*****************************MODBUS通訊測試碼*****************************
召喚發送:
00 06
00 00 00 0C 1E 88
電壓、電流監測功能:
00 03
1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 8D
故障顯示功能:
00 02
18 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 20 34
*****************************MODBUS通訊測試碼*****************************/
2:對以上測試碼分別進行說明:
(1):召喚發送,參數設置功能:即控制器(DSP)與液晶屏(430)之間的通訊,是雙向的。
00 06
00 00 00 0C 1E 88
以上這段代碼是DSP傳給430的召喚代碼,含義(代碼從左到右)是:00:設備代碼。本系統中從設備只有高壓軟起動裝置液晶操控板一個設備,故設備代碼設置為00。06:功能碼,實現何種功能(本例中,06是雙向召喚發送功能,實現參數設置;03功能碼實現電壓、電流監測功能;02功能碼實現故障顯示功能)。00 00:是起始地址的高八位、低八位。00 0C:是DSP要求430回傳字節的個數(不包括設備代碼、功能碼、數據個數代碼、和校驗代碼),00是個數的高八位、0C是個數的低八位,0C是十六進制(轉換成十進制是12,12是從“起動時間、額定電流——備用 3”的個數),1E 88:是CRC校驗碼。當DSP給430傳
00 06
00 00 00 0C 1E 88
代碼時,430先將這8個字節保存到一個臨時數組RX[]中,然后分別對這8個字節進行判斷(1E 88是校驗查表得出來的代碼),如果檢驗正確,就會把要回傳給DSP的字節放到can_s[]數組中發出去,發送到DSP。以下代碼就是430接到
評論