modbus協(xié)議在永磁同步電動(dòng)機(jī)伺服系統(tǒng)中的應(yīng)用
宋杰,姜淑忠
(上海交通大學(xué)電氣工程系,上海200030)
摘要:觸摸屏常常用作永磁同步伺服系統(tǒng)中的控制器,通過modbus通信協(xié)議與驅(qū)動(dòng)器進(jìn)行數(shù)據(jù)交換。文章針對觸摸屏的主要功能,詳細(xì)介紹了modbus協(xié)議中常見功能的實(shí)現(xiàn)、crc -16校驗(yàn)碼的生成,然后給出了驅(qū)動(dòng)器中dsp與觸摸屏通信接口的硬件和軟件設(shè)計(jì)。所得結(jié)果可作為標(biāo)準(zhǔn)模塊嵌入通用伺服驅(qū)動(dòng)器。
關(guān)鍵詞:modbus協(xié)議;觸摸屏;dsp;永磁同步伺服系統(tǒng)
中圖分類號:tm351, tm341 文獻(xiàn)標(biāo)志碼:a 文章編號:l001-6848(2010)04-0083-02
0引 言
永磁同步電動(dòng)機(jī)伺服系統(tǒng)經(jīng)過近十年國內(nèi)科研單位、制造廠家、用戶的共網(wǎng)努力,在某些行業(yè)獲得了成功的應(yīng)用[1,2]。系統(tǒng)一般由控制器、驅(qū)動(dòng)器、永磁同步電機(jī)、傳感器構(gòu)成,按控制器、驅(qū)動(dòng)器的復(fù)雜程度及二者之間的功能分配,控制系統(tǒng)分為單軸系統(tǒng)、多軸系統(tǒng)和獨(dú)立控制系統(tǒng)。通常驅(qū)動(dòng)器與控制器的接口有兩種,一種是模擬和數(shù)字脈沖接口,表示電機(jī)的速度、位置、旋轉(zhuǎn)方向,多用在單軸系統(tǒng)中。另一種是現(xiàn)場總線接口,如modbus、profibus、can_ open等,多用在多軸系統(tǒng)中。獨(dú)立控制系統(tǒng)則根據(jù)具體應(yīng)用,選擇所需的接口形式。從控制信號傳輸?shù)目煽啃院拖到y(tǒng)配置看,總線接口將是主流。這些現(xiàn)場總線接口中,modbus通信協(xié)議被廣泛應(yīng)用在人機(jī)界面、plc、變頻器、現(xiàn)場儀表、閥門等自動(dòng)化設(shè)備中,并在該協(xié)議的基礎(chǔ)上連接構(gòu)成工業(yè)網(wǎng)絡(luò),進(jìn)行現(xiàn)場控制和集中監(jiān)控,是工業(yè)領(lǐng)域內(nèi)全球最流行的協(xié)議之一。
本文以觸摸屏為控制器,開發(fā)的永磁電機(jī)驅(qū)動(dòng)器和觸摸屏之間通過modhus協(xié)議進(jìn)行通信。給出了驅(qū)動(dòng)器中dsp與觸摸屏通信接口的硬件和軟件設(shè)計(jì)。
1 dsp通信的軟硬件設(shè)計(jì)
由于modbus協(xié)議只定義通信設(shè)備間傳輸?shù)臄?shù)據(jù)幀的結(jié)構(gòu)和格式,并不具體規(guī)定物理層,因此modbus協(xié)能支持串口rs232、rs422、rs485和以太網(wǎng)等各種通信接口、通信網(wǎng)絡(luò)和通信介質(zhì)。ⅱ公司28系列dsp具有串行通信口,施耐德公司的觸摸屏xbtgt2330系列配備com1和com2兩個(gè)通信接口,分別支持rs232和rs422、rs485通信接口。因此modbus協(xié)議可以作為dsp與觸摸屏的通信協(xié)議。
28系列dsp使用的電源電壓為3.3 v,其串口信號的高電平也為3.3 v,但觸摸屏兩個(gè)通信接口的信號高電平達(dá)到5v,兩者電平不匹配。另外dsp的串口支持rs232接口,與觸摸屏的com2通信時(shí),必須進(jìn)行rs232與rs485之間的轉(zhuǎn)換。為解決電平匹配和通信接口轉(zhuǎn)換,設(shè)計(jì)了圖1所示的通信電路。芯片max3232解決了dsp的收發(fā)信號rx和tx與觸摸屏的電平匹配問題,該芯片的管腳7和8可與觸摸屏com1的相應(yīng)端直接連接,進(jìn)行rs232通信。芯片max485可使rs232和rs485兩種通訊方式兼容。處于半雙工工作模式的max485,接收使能端re和發(fā)送使能端de不能同時(shí)有效,輸出高電平時(shí),max485接受數(shù)據(jù),輸出低電平時(shí),max485發(fā)送數(shù)據(jù)。當(dāng)dsp的rx端接收數(shù)據(jù)時(shí),tx端輸出低電平,經(jīng)max3232和三極管ql兩次反相后,max485的re端為低電平有效,max485從觸摸屏接收數(shù)據(jù)并發(fā)送。當(dāng)dsp的tx端發(fā)送數(shù)據(jù)為高電平時(shí),max485的de端為高電平有效,max485從dsp接收數(shù)據(jù),tx端發(fā)送數(shù)據(jù)為低電平時(shí),de端為低電平,由于電阻蜀的上拉和r,的下拉,差分信號a-b被視為低電平。因此rx端發(fā)送的數(shù)據(jù)能夠被觸摸屏接收。圖中的電阻r。為傳輸線匹配電阻,抑制從負(fù)載端反射回來的信號發(fā)生再次反射。保持a、b兩端的輸入阻抗相等。在要求數(shù)十米以上的通信距離時(shí),****采用rs422、rs485通信接口。
dsp通信軟件系統(tǒng)初始化、串口發(fā)送處理、串口接收處理、crc校驗(yàn)、數(shù)據(jù)幀分析處理、報(bào)警等功能子模塊。dsp通信程序流程如圖2所示。軟件設(shè)計(jì)的關(guān)鍵是串行口接收中斷程序和crc校驗(yàn)程序的設(shè)計(jì)。觸摸屏作為主站,按modbus協(xié)議下發(fā)命令或數(shù)據(jù),并等待dsp應(yīng)答,收到應(yīng)答信號后,經(jīng)過校驗(yàn)正確即認(rèn)為通信成功,校驗(yàn)有誤則認(rèn)為此次通信失敗,并在停頓4個(gè)字符傳輸時(shí)間后,重發(fā)該指令,直到接收成功并校驗(yàn)正確為止。
dsp作為從站,串口接收數(shù)據(jù)采用中斷方式,當(dāng)檢測到幀的結(jié)束時(shí)進(jìn)入處理程 |