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