1.一種基于Modbus RTU協(xié)議的永磁同步電機數(shù)據(jù)通信系統(tǒng),包括永磁同步電機控制板、觸摸屏和雙絞電纜;
永磁同步電機控制板包括主控制器、隔離型RS485協(xié)議轉(zhuǎn)換芯片和電氣接口端子J2,主控制器采用DSP28335,隔離型RS485協(xié)議轉(zhuǎn)換芯片采用ADM2587,電氣接口端子J2為RS485;
主控制器DSP28335的串口C的接收引腳SCIRXC與隔離型RS485協(xié)議轉(zhuǎn)換芯片協(xié)議轉(zhuǎn)換芯片ADM2587的輸入端RXD引腳相連接,主控制器DSP28335的串口C的發(fā)送引腳SCITXC與隔離型RS485協(xié)議轉(zhuǎn)換芯片ADM2587的TXD引腳相連接,隔離型RS485協(xié)議轉(zhuǎn)換芯片ADM2587的讀寫使能引腳和DE連接,與主控制器DSP28335的通用IO口引腳GPIO46相連接,隔離型RS485協(xié)議轉(zhuǎn)換芯片ADM2587的A引腳與電氣接口端子J2的RS485+相連,隔離型RS485協(xié)議轉(zhuǎn)換芯片ADM2587的B引腳與電氣接口端子J2的RS485-相連,雙絞電纜將電氣接口端子J2的RS485+與觸摸屏的端口A連接,雙絞電纜將電氣接口端子J2的RS485-與觸摸屏的端口B連接;
永磁同步電機控制板與觸摸屏之間的數(shù)據(jù)通信協(xié)議為Modbus RTU協(xié)議。
2.基于權(quán)利要求1所述的一種基于Modbus RTU協(xié)議的永磁同步電機數(shù)據(jù)通信系統(tǒng)的通信方法,觸摸屏為主站,永磁同步電機控制板為從站,觸摸屏每100ms向從站發(fā)送8個數(shù)據(jù),在進入串口接收中斷后,首先對串口進行ACK復位操作,然后再將存放在串口接收緩沖區(qū)的數(shù)據(jù)存放到預置數(shù)組Receive[count]中,接著,接收數(shù)據(jù)計數(shù)器count開始增1操作,并判斷計數(shù)值是否等于8,如果等于8,則計數(shù)器清零且將接收完畢的標志位flag_finish置1;如果計數(shù)值不等于8,則繼續(xù)接收,直到8個數(shù)據(jù)接收完畢;
永磁同步電機控制板的主控制器的定時器中斷采用100ms的運算周期,對于輸出到觸摸屏上顯示數(shù)據(jù)的刷新頻率是1s,對于接收來自觸摸屏的設(shè)置數(shù)據(jù)的刷新頻率是300ms,在進入定時器中斷之后,首先判斷接收完畢的標志位flag_finish是否等于1,如果不等于1,說明串口并未接收8個數(shù)據(jù)完畢,則繼續(xù)接收,如果標志位flag_finish等于1,則表示接收8個數(shù)據(jù)完畢,接下來要對接收的數(shù)據(jù)進行解析,按照Modbus RTU協(xié)議要求,首先判斷數(shù)組Receive[8]中的第二個數(shù)Receive[1]是否為功能碼3或者功能碼6,如果Receive[1]等于功能碼3,則表示讀寄存器操作,即把顯示的數(shù)據(jù)輸出到觸摸屏上進行顯示,如果Receive[1]等于功能碼6,則表示寫寄存器操作,即接收來自觸摸屏上設(shè)置的數(shù)據(jù);如果Receive[1]等于功能碼3,顯示計數(shù)器Displaycount增1,當顯示計數(shù)器Displaycount等于10時,即表示達到1s的顯示刷新頻率,要輸出到觸摸屏上顯示的數(shù)據(jù)分類,第一類為實時變化的數(shù)據(jù),均為數(shù)值型變量,通過邏輯與運算拆分成高低字節(jié)的形式,第二類為系統(tǒng)的故障數(shù)據(jù),為開關(guān)型變量,將這類開關(guān)量通過按位移項操作,合并成若干個數(shù)值型變量發(fā)送出去,第三類為永磁同步電機系統(tǒng)狀態(tài)的開關(guān)量數(shù)據(jù),通過按位移項操作合成數(shù)值型變量發(fā)送,按照ModbusRTU協(xié)議的要求,將顯示的數(shù)據(jù)值與設(shè)備地址、命令、字節(jié)數(shù)、CRC校驗位等數(shù)據(jù)依次存入發(fā)送數(shù)組,再將此數(shù)組送入響應數(shù)據(jù)輸出環(huán)節(jié),接著將讀寫控制引腳置高電平,延時1ms,數(shù)組發(fā)送完畢之后,再將讀寫控制引腳置低電平,上述過程為永磁同步電機控制板輸出到觸摸屏上顯示數(shù)據(jù)的過程;
如果Receive[1]等于功能碼6,則表示接收來自觸摸屏的速度控制數(shù)據(jù)、關(guān)鍵參數(shù)、控制指令;設(shè)置計數(shù)器Setcount增1,當顯示計數(shù)器Setcount等于3時,即表示達到300ms的刷新頻率,首先接收來自觸摸屏的高低字節(jié)分開的參數(shù)值,進行左移及邏輯或操作合并在一起,其次,接收來自觸摸屏的關(guān)鍵參數(shù)設(shè)置,最后接收來自觸摸屏的關(guān)鍵指令設(shè)置,將開關(guān)量類的控制指令移位并組合成若干個數(shù)值型變量;將上述三類設(shè)置的數(shù)據(jù)值與設(shè)備地址、命令、字節(jié)數(shù)、起始地址、CRC校驗位數(shù)據(jù),依次存入發(fā)送數(shù)組后,再將此數(shù)組送入響應數(shù)據(jù)輸出環(huán)節(jié),接著將讀寫控制引腳置高電平,延時1ms,數(shù)組發(fā)送完畢之后,再將讀寫控制引腳置低電平,上述過程為永磁同步電機控制板從觸摸屏上讀取設(shè)置數(shù)據(jù)的過程。