專利名稱:一種具有可配置特性的現(xiàn)場(chǎng)總線設(shè)備通信適配器的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種具有可配置特性的現(xiàn)場(chǎng)總線設(shè)備通信適配器,更確切地說(shuō)是在(Modbus)協(xié)議和(DeviceNet)協(xié)議之間進(jìn)行協(xié)議轉(zhuǎn)換的一種通信適配器。
背景技術(shù):
隨著科學(xué)技術(shù)的發(fā)展,一種(DeviceNet)總線技術(shù)被開(kāi)發(fā)出來(lái),在改變一些領(lǐng)域的面貌。
DeviceNet總線技術(shù)采用數(shù)據(jù)總線,由主站只要引出兩根或很少的幾根線,就可以將各現(xiàn)場(chǎng)設(shè)備連接起來(lái),為設(shè)備提供配置,監(jiān)視和診斷等功能。
總線技術(shù)的發(fā)展給低壓電器產(chǎn)品帶來(lái)極大的沖擊,但是由于(DeviceNet)網(wǎng)絡(luò)數(shù)據(jù)的多樣性和交換的靈活性,(DeviceNet)網(wǎng)絡(luò)沒(méi)有完整、集成的協(xié)議芯片,DeviceNet接口開(kāi)發(fā)周期比較長(zhǎng),投入也比較大。目前低壓配電領(lǐng)域的產(chǎn)品接入DeviceNet網(wǎng)絡(luò)主要是通過(guò)DeviceNet通信適配器,通信適配器為設(shè)備接入DeviceNet網(wǎng)絡(luò)提供快速、模塊化的解決方案,設(shè)備制造商就不必投入大量的人力、物力研究DeviceNet協(xié)議,這部分工作由適配器完成。
對(duì)于DeviceNet通信適配器而言,目前,國(guó)內(nèi)外的(DeviceNet)適配器只能將設(shè)備的某些固定數(shù)據(jù)包發(fā)給主站,靈活性實(shí)用性很差。傳統(tǒng)的適配器一般只能連接某種固定的設(shè)備,對(duì)于同一類設(shè)備,由于制造商的不同,其串口側(cè)的通訊規(guī)約也不盡相同,而且對(duì)于通訊規(guī)約相同的設(shè)備,每個(gè)制造商所提供的參數(shù)屬性等也是千差萬(wàn)別的,因而只能是一個(gè)通信適配器配一種固定的設(shè)備,當(dāng)設(shè)備稍有變化或不是同種型號(hào)的設(shè)備時(shí),只能修改適配器的軟件重新燒寫(xiě)芯片了,這對(duì)DeviceNet技術(shù)的推廣而言是一個(gè)很大的障礙。
如上海埃通電氣股份有限公司張戟公開(kāi)的題為”基于DeviceNet總線的從設(shè)備通信適配器設(shè)計(jì)”文中提到基于(DeviceNet)總線的泵/閥控制器沂設(shè)備通信適配器用于智能泵/閥控制器與(DeviceNet)網(wǎng)絡(luò)之間的通信設(shè)備,用于在智能泵/閥控制器和(DeviceNet)網(wǎng)絡(luò)主設(shè)備之間交換I/O數(shù)據(jù)和其他設(shè)定數(shù)據(jù)。它是一個(gè)獨(dú)立的從設(shè)備通信適配器,包括CPU、雙向RAM、控制器收發(fā)器、微型開(kāi)關(guān)、電源電路。
實(shí)用新型內(nèi)容本實(shí)用新型的目的是提供一種具有可配置特性的現(xiàn)場(chǎng)總線(DeviceNet)通信適配器,將多種現(xiàn)場(chǎng)設(shè)備方便、高速、高質(zhì)量地接入(DeviceNet)網(wǎng)絡(luò),組成一個(gè)智能監(jiān)控系統(tǒng)。設(shè)備通過(guò)適配器接入網(wǎng)絡(luò),設(shè)備與適配器間需要通過(guò)簡(jiǎn)單的規(guī)約進(jìn)行數(shù)據(jù)交換,并要采取有效措施保證通信質(zhì)量。
為達(dá)到上述目的,本實(shí)用新型的技術(shù)方案是硬件結(jié)構(gòu)包括DeviceNet接口、CAN總線收發(fā)器、MCU、光耦隔離電路、RS232接口芯片、串行接口、電源轉(zhuǎn)換及保護(hù)電路、EEPROM、撥碼開(kāi)關(guān)、DC-DC電源隔離芯片、RS485總線收發(fā)器、串口指示燈。
上述電路的數(shù)據(jù)傳輸是一個(gè)主/從傳輸結(jié)構(gòu)。為了提高通信速率和通信質(zhì)量,在主CPU單元內(nèi)存儲(chǔ)了自動(dòng)波特率檢制程序,信號(hào)發(fā)送流程程序,信號(hào)接收流程程序,協(xié)議轉(zhuǎn)換匹配流程程序。
上述的程序構(gòu)成的軟件和硬件相結(jié)合,便可以解決網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換和匹配問(wèn)題。
本實(shí)用新型的有益效果采用該通信適配器,帶有Modbus接口的任何設(shè)備都可以通過(guò)本實(shí)用新型涉及的適配器接入(DeviceNet)網(wǎng)絡(luò),該通信適配器可以解決網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換和匹配問(wèn)題。使一種適配器能適應(yīng)各種設(shè)備的特性,使不了解DeviceNet的非專業(yè)人員也能輕易構(gòu)建復(fù)雜的現(xiàn)場(chǎng)總線網(wǎng)絡(luò),使DeviceNet適配器能成為眾多的生產(chǎn)現(xiàn)場(chǎng)使用該產(chǎn)品變?yōu)楝F(xiàn)實(shí)。它的接線與控制方式,可以大大節(jié)省導(dǎo)線數(shù)量,安全可靠,并能有效降低整個(gè)系統(tǒng)投資,有明顯的經(jīng)濟(jì)效益。
圖1為本實(shí)用新型的可配置通信適配器的硬件系統(tǒng)結(jié)構(gòu)圖;圖2(圖2A、圖2B、圖2C)為本實(shí)用新型可配置通信適配器的硬件原理圖;圖3為本實(shí)用新型的配置信息自動(dòng)波特率上傳下載流程圖;圖4為本實(shí)用新型的主程序流程圖;圖5為本實(shí)用新型的配置程序流程圖;圖6為本實(shí)用新型的運(yùn)行程序流程圖;圖7為本實(shí)用新型的在數(shù)據(jù)表中查找CLASS ID和ATTRIBUTE ID的算法程序流程圖;圖8為本實(shí)用新型的DeviceNet-Modbus映射關(guān)系的查找程序流程圖;圖9為本實(shí)用新型的串口中斷服務(wù)程序流程圖。
具體實(shí)施方式
以下結(jié)合附圖和實(shí)施例對(duì)本實(shí)用新型作進(jìn)一步說(shuō)明。
參照?qǐng)D1,這是本實(shí)用新型的可配置通信適配器的硬件系統(tǒng)結(jié)構(gòu)圖。
如圖所示,硬件結(jié)構(gòu)包括DeviceNet接口、CAN總線收發(fā)器、MCU、光耦隔離電路、RS485總線收發(fā)器、RS232接口、電源轉(zhuǎn)換及保護(hù)電路、EEPROM、撥碼開(kāi)關(guān)、DC-DC電源隔離電路、串口指示燈及DeviceNet網(wǎng)絡(luò)和模塊指示燈。
上述的硬件結(jié)構(gòu),是以原有的通信適配器硬件平臺(tái)為基礎(chǔ),改動(dòng)的地方主要有(1)更換了主控制芯片,將原先使用的ATMEL的AT89C51CC01主芯片用富士通的16位單片機(jī)MB90F352S代替;(2)簡(jiǎn)化了電源隔離電路的設(shè)計(jì),將原先用分離元件設(shè)計(jì)的DC-DC電源隔離電路用專用的集成芯片代替;(3)增加了一個(gè)串口指示燈,主要用來(lái)反映串口側(cè)通訊狀態(tài)等情況,一般亮綠燈表示通訊正常,亮紅燈表示通訊有故障;(4)增加了一片串行EEPROM,由于主芯片內(nèi)部沒(méi)有EEPROM,要保存配置信息只有外掛EEPROM,此處選用Atmel的AT93C86A,容量為2048個(gè)字節(jié),最大能支持200多條屬性,該芯片為SPI接口,主控制器采用串口模擬SPI接口與其通訊。
參照?qǐng)D2,這是本實(shí)用新型的可配置通信適配器的硬件原理圖。其中圖2A為電源轉(zhuǎn)換及保護(hù)電路、DeviceNet接口,圖2B為MCU、EEPROM、撥碼開(kāi)關(guān)、串口指示燈,圖2C為開(kāi)關(guān)電源、串行接口、光耦隔離電路、接口芯片、總線收發(fā)器。
所述的主MCU單元,選用16位單片機(jī)MB90F352S芯片,該主CPU處理速度較快,存儲(chǔ)空間大,支持在線編程,有利產(chǎn)品升級(jí),只要重新燒寫(xiě)軟件即可。
所述的電源轉(zhuǎn)換及保護(hù)電路,將24V的DeviceNet網(wǎng)絡(luò)電源轉(zhuǎn)換為主芯片正常工作的5V電源,并且防止反向保護(hù)電路。
所述的DC-DC電源隔離電路,將原先用分離元件設(shè)計(jì)的DC-DC電源隔離電路用專用的集成芯片代替。
所述的串口指示燈,主要用來(lái)反映串口側(cè)通訊狀態(tài)情況,一般亮綠燈表示通訊正常,亮紅燈表示通訊有故障。
所述的DeviceNet網(wǎng)絡(luò)和模塊指示燈,主要用來(lái)指示該適配器的運(yùn)行狀況和在網(wǎng)絡(luò)中的通訊情況。
所述的串行EEPROM,由于主芯片內(nèi)部沒(méi)有EEPROM,要保存配置信息只有外掛EEPROM,此處選用Atmel的AT93C68A,容量為2048個(gè)字節(jié),最大能支持200多條屬性,該芯片為SPI接口,主控制器采用串口模擬SPI接口與其通訊。
可配置通信適配器(VT2D)是通信適配器(VT1D)的升級(jí)產(chǎn)品,在其軟件的實(shí)現(xiàn)上主要完成DeviceNet側(cè)的僅限組2從站功能、可配置功能、串口側(cè)符合Modbus協(xié)議的通訊功能。即1)、DeviceNet側(cè)的僅限組2從站功能,主要實(shí)現(xiàn)DeviceNet協(xié)議。由于VT2D的軟件設(shè)計(jì)是基于VT1D的,對(duì)于DeviceNet協(xié)議的實(shí)現(xiàn)參見(jiàn)VT1D的軟件設(shè)計(jì)。
2)、可配置功能,主要實(shí)現(xiàn)對(duì)適配器串口通訊參數(shù)、設(shè)備特征屬性、I/O報(bào)文屬性和DeviceNet-Modbus映射關(guān)系表的配置。該操作沒(méi)有采用標(biāo)準(zhǔn)的通訊協(xié)議而是采用了自己定義的通訊協(xié)議,這樣做的目的主要是為了防止受外部設(shè)備的信息干擾而導(dǎo)致配置信息出錯(cuò)或丟失等。此處自定義的通訊協(xié)議基本上是借鑒了Modbus RTU協(xié)議,只是在其基礎(chǔ)上作了簡(jiǎn)化,因而可以說(shuō)是仿Modbus RTU通訊協(xié)議。PC機(jī)與適配器之間通過(guò)該通訊協(xié)議進(jìn)行配置信息的上傳和下載。另外,根據(jù)對(duì)EEPROM進(jìn)行的空間規(guī)劃,把配置的參數(shù)信息存放到其對(duì)應(yīng)的空間。
3)、串口側(cè)符合Modbus協(xié)議的通訊功能,主要實(shí)現(xiàn)Modbus通訊協(xié)議的三種最常用的功能碼03、06和16,他們所代表的含義分別為讀寄存器值、寫(xiě)單個(gè)寄存器值、寫(xiě)多個(gè)寄存器值,具體的幀格式請(qǐng)參考Modbus協(xié)議規(guī)范。在適配器開(kāi)始運(yùn)行時(shí),讀取EEPROM中的配置信息完成初始化。當(dāng)主站發(fā)來(lái)的請(qǐng)求,適配器根據(jù)請(qǐng)求的類屬性值、實(shí)例屬性值來(lái)查找DeviceNet-Modbus映射關(guān)系表中的信息,然后向設(shè)備發(fā)送符合Modbus協(xié)議的相應(yīng)命令,從而實(shí)現(xiàn)串口側(cè)的通訊功能。
為了實(shí)現(xiàn)以上功能,軟件大體上可以分為配置程序和運(yùn)行程序。主程序采用查詢事件標(biāo)志,根據(jù)事件標(biāo)志進(jìn)入相應(yīng)的處理程序。在該軟件中,用到了3種中斷處理服務(wù)1)、CAN口的接收中斷。主要完成CAN報(bào)文的接收。
2)、串口的接收中斷。主要完成串口信息的接收和處理。
3)、定時(shí)中斷。主要是實(shí)現(xiàn)DeviceNet協(xié)議需要的定時(shí)和串口響應(yīng)信息超時(shí)的判斷。
如圖3~圖9所示,這是幾種軟件的流程程序。
參照?qǐng)D3,這是本實(shí)用新型的配置信息自動(dòng)波特率上傳下載流程圖。
該程序涉及本軟件的通訊功能中集成了波特率自適應(yīng)功能,它能自動(dòng)對(duì)設(shè)備的波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位進(jìn)行判斷,選擇合適的串口通訊參數(shù)。進(jìn)行自適應(yīng)時(shí)軟件將優(yōu)先匹配常用的串口通訊參數(shù)。
在波特率自適應(yīng)時(shí)CPU需要進(jìn)行大量運(yùn)算,本軟件在設(shè)計(jì)時(shí)為其開(kāi)辟了獨(dú)立的線程,以保證軟件不出現(xiàn)假死機(jī)情況。
如圖3所示,該流程包括下列步驟301[SendThead線程]開(kāi)始,到302[是否收到數(shù)據(jù)]進(jìn)行判斷,如果是,到303[調(diào)用MerData解析數(shù)據(jù)];如果否,返回301[SendThead線程];到303[調(diào)用MerData解析數(shù)據(jù)]進(jìn)入307[主程序堆棧];304[調(diào)用Sendp向設(shè)備傳送數(shù)據(jù)]到305[設(shè)備]到306[中斷調(diào)用Sendp處理接收數(shù)據(jù)]到307[主程序堆棧]再到302[是否收到數(shù)據(jù)]。
參照?qǐng)D4,這是本實(shí)用新型的可配置通信適配器的主流程圖。
如圖所示,主程序包括下列步驟401[程序開(kāi)始]到402[初始化端口、變量、中斷]再到403[配置狀態(tài)標(biāo)志是否置位]進(jìn)行判斷,如果是,到404[進(jìn)入配置程序];如果否,到405[進(jìn)入運(yùn)行程序]。
參照?qǐng)D5,這是本實(shí)用新型的可配置通信適配器的配置程序流程圖。
如圖所示,其步驟是步驟501[進(jìn)入配置程序]到502[是否收到上位機(jī)的請(qǐng)求]進(jìn)行判斷,如果是,便進(jìn)入503[讀/寫(xiě)EEPROM],到502[是否收到上位機(jī)的請(qǐng)求];如果否,到502[是否收到上位機(jī)的請(qǐng)求]進(jìn)行判斷。
參照?qǐng)D6,這是本實(shí)用新型的可配置通信適配器的運(yùn)行程序流程圖。
如圖所示,其步驟是步驟601[進(jìn)入運(yùn)行程序]到602[讀EEPROM,初始化對(duì)象]再到603[置位正確接收設(shè)備的響應(yīng)事件標(biāo)志]進(jìn)行判斷,如果是,到604[清標(biāo)志,處理響應(yīng)]再進(jìn)入605[主站的請(qǐng)求命令標(biāo)志置位]的判斷;如果否,直接到605[主站的請(qǐng)求命令標(biāo)志置位]的判斷,如果是,就到606[清標(biāo)志,處理主站的請(qǐng)求,向設(shè)備發(fā)送請(qǐng)求置位]再到607[向設(shè)備發(fā)送請(qǐng)求標(biāo)志是否置位]進(jìn)行判斷,如果是,到608[清標(biāo)志位,向設(shè)備發(fā)送請(qǐng)求]再到609[設(shè)備響應(yīng)定時(shí)超時(shí)標(biāo)志置位];605[主站的請(qǐng)求命令標(biāo)志置位],如果否,便直接進(jìn)入609[設(shè)備響應(yīng)定時(shí)超時(shí)標(biāo)志置位];607[向設(shè)備發(fā)送請(qǐng)求標(biāo)志是否置位]如果否,便直接進(jìn)入609[設(shè)備響應(yīng)定時(shí)超時(shí)標(biāo)志置位];如果是,到610[清超時(shí)標(biāo)志,是否向設(shè)備發(fā)送了3次],如果是,便返回603[置位正確接收設(shè)備的響應(yīng)事件標(biāo)志];如果否,到611[向設(shè)備發(fā)送請(qǐng)求置位],返回607[向設(shè)備發(fā)送請(qǐng)求標(biāo)志是否置位]。
參照?qǐng)D7,這是本實(shí)用新型的在數(shù)據(jù)表中查找類值、屬性值算法程序流程圖。
如圖所示,其流程步驟如下從701[程序開(kāi)始]到702[最小值LOW為1,最大值high為n,標(biāo)志flag為0]到703[flag=0并且low<=high]進(jìn)行判斷,如果是,到704[mid=(low+high)/2]到705[Key=*(tbl+mid)]進(jìn)行判斷,如果是,到706[flag=1]直至707[結(jié)束];703[flag=0并且low<=high]如果否,便直接到707[結(jié)束];705[Key=*(tbl+mid)],如果否,到708[Key<*(tbl+mid)];如果是,到710[high=mid-1]返回704[mid=(low+high)/2];如果否,便到709[low=mid+1]返回704[mid=(low+high)/2]。
參照?qǐng)D8,這是本實(shí)用新型的DeviceNet-Modbus映射關(guān)系的查找程序流程圖。
如圖所示,所述的DeviceNet-Modbus映射關(guān)系的查找程序流程,其步驟如下從801[接收到一條DeviceNet請(qǐng)求]到802[根據(jù)CLASS_ID的查找算法,查找請(qǐng)求CLASS_ID]再到803[是否存在請(qǐng)求中的CLASS_ID]進(jìn)行判斷,如果是,到804[根據(jù)ATTRIBUTE_ID的查找算法,查找請(qǐng)求中的ATTRIBUTE_ID]進(jìn)入805[是否存在請(qǐng)求中的ATTRIBUTE_ID]進(jìn)行判斷,如果是,到806[獲得對(duì)應(yīng)的Modbus參數(shù)值]直至807[結(jié)束];803[是否存在請(qǐng)求中的CLASS_ID],如果否,便到807[結(jié)束];805[是否存在請(qǐng)求中的ATTRIBUTE_ID],如果否,便到807[結(jié)束]。
參照?qǐng)D9,這是本實(shí)用新型的串口中斷服務(wù)程序流程圖。
如圖所示,所述的串口中斷服務(wù)程序流程步驟如下從901[串口接收中斷服務(wù)程序開(kāi)始]到902[與串口連接請(qǐng)求置位]進(jìn)行判斷,如果是,到903[清標(biāo)志,上位機(jī)與適配器建立連接]再到904[配置請(qǐng)求置位]進(jìn)行判斷,如果是,到905[清標(biāo)志,配置信息的上載或下載處理]再到906[是否是設(shè)備的響應(yīng)信息],如果是,到907[Modbus協(xié)議的處理,置位正確接收設(shè)備響應(yīng)事件標(biāo)志]直至908[結(jié)束];902[與串口連接請(qǐng)求置位],如果否,便到904[配置請(qǐng)求置位],如果否,便到,906[是否是設(shè)備的響應(yīng)信息],如果否,便到908[結(jié)束]。
以上所述內(nèi)容僅為本實(shí)用新型構(gòu)思下的基本說(shuō)明,而依據(jù)本實(shí)用新型的技術(shù)方案所作的任何等效變換,均應(yīng)屬于本實(shí)用新型的保護(hù)范圍。
權(quán)利要求1.一種具有可配置特性的現(xiàn)場(chǎng)總線通信適配器,包括MCU、光耦隔離電路、電源轉(zhuǎn)換及保護(hù)電路、EEPROM;其特征在于其還增設(shè)了DeviceNet接口、CAN總線收發(fā)器、RS232接口芯片、串行接口、RS485總線收發(fā)器、串口指示燈;上述電路信息傳輸是一個(gè)主/從傳輸結(jié)構(gòu)。
2.如權(quán)利要求1所述的可配置的現(xiàn)場(chǎng)總線設(shè)備通信適配器,其特征在于所述的MCU選用的是處理速度快、存儲(chǔ)空間大、支持在線編程的T89C51CC01芯片。
3.如權(quán)利要求1所述的可配置的現(xiàn)場(chǎng)總線設(shè)備通信適配器,其特征在于所述的電源轉(zhuǎn)換及保護(hù)電路,DC-DC電源隔離電路選用專用的集成芯片,24V轉(zhuǎn)5V。
4.如權(quán)利要求1所述的可配置的現(xiàn)場(chǎng)總線設(shè)備通信適配器,其特征在于所述的串口指示燈,置于串口側(cè)是兩種指示燈,亮綠燈表示通訊正常,亮紅燈表示通訊有故障。
5.如權(quán)利要求1所述的可配置的現(xiàn)場(chǎng)總線設(shè)備通信適配器,其特征在于所述的串行EEPROM,由于主芯片內(nèi)部沒(méi)有EEPROM,配置外掛EEPROM,選用Atmel的93C66A,容量為512個(gè)字節(jié),最大能支持80條屬性,該芯片為SPI接口,主控制器采用串口模擬SPI接口與其通訊。
專利摘要本實(shí)用新型涉及一種具有可配置特性的現(xiàn)場(chǎng)總線通信適配器,屬于現(xiàn)場(chǎng)總線技術(shù)領(lǐng)域。其硬件包括DeviceNet接口、CAN總線收發(fā)器、MCU、光耦隔離電路、RS48總線收發(fā)器、RS232接口芯片、電源轉(zhuǎn)換及保護(hù)電路、EEPROM、撥碼開(kāi)關(guān)、DC-DC電源隔離電路、串口指示燈、適配器模塊指示燈和網(wǎng)絡(luò)指示燈。上述電路的數(shù)據(jù)傳輸是一個(gè)主/從傳輸結(jié)構(gòu)。為了提高通信速率和通信質(zhì)量及適應(yīng)控制多種設(shè)備,在主CPU單元內(nèi)存儲(chǔ)了自動(dòng)波特率上傳下載流程、主程序流程、配置程序流程、運(yùn)行程序流程、在數(shù)據(jù)表中查找CLASS ID和ATTRIBUTE ID算法程序流程、DeviceNet-Modbus映射關(guān)系的查找程序流程、串口中斷服務(wù)程序流程,上述的程序構(gòu)成的軟件和硬件相結(jié)合,便可以解決網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換和匹配問(wèn)題。是一種優(yōu)良的現(xiàn)場(chǎng)通信適配器。
文檔編號(hào)H04L12/40GK2874933SQ20052004575
公開(kāi)日2007年2月28日 申請(qǐng)日期2005年10月20日 優(yōu)先權(quán)日2005年10月20日
發(fā)明者劉健, 王偉 申請(qǐng)人:上海電器科學(xué)研究所(集團(tuán))有限公司