成鳳敏
CHENG Feng-min
(唐山學(xué)院,唐山 063000)
在工業(yè)自動化現(xiàn)場,可編程控制器與變頻器的應(yīng)用越來越廣泛,因此不同變頻器與PLC的通訊方式連接,成為了研究的熱點問題。我國的變頻器廠家,由于技術(shù)和市場原因,使用的通訊協(xié)議五花八門,相互兼容性也不完全匹配。在工控現(xiàn)場中,不同的技術(shù)領(lǐng)域會采用不同型號的變頻器,不同型號變頻器的通訊網(wǎng)絡(luò)配置也有所不同。我國伺服控制系統(tǒng)的研究較國外晚,而且對變頻器與PLC之間通訊協(xié)議的研究也不成熟,技術(shù)人員對其技術(shù)參數(shù)以及配置都不能完全掌握,使得重復(fù)性工作較多,系統(tǒng)開放性、互操作性差,其穩(wěn)定性、可靠性也相應(yīng)的降低。因此,提供一個能夠正確快速地查詢變頻器與上位控制器之間的通訊網(wǎng)絡(luò)配置的應(yīng)用程序成為工控現(xiàn)場系統(tǒng)設(shè)計、監(jiān)管和維護(hù)工作的迫切需要[1]。
系統(tǒng)采用Visual C++建立查詢平臺,以SQL Server為后臺,在大量總結(jié)和抽象工控現(xiàn)場最常用的變頻器和上位控制器的配置方案基礎(chǔ)上,針對不同型號變頻器與不同品牌、型號的PLC/工控機之間的通信模式,建立變頻器和上位控制器通訊格式及網(wǎng)絡(luò)類型的數(shù)據(jù)庫模型。Visual C++ 通過MFC ODBC方式訪問SQL Server數(shù)據(jù)庫,生成應(yīng)用程序,能夠迅速地為工控現(xiàn)場及技術(shù)人員提供變頻器和PLC之間的通信方案。系統(tǒng)采用模塊化設(shè)計,各功能模塊如圖1所示。
圖1 系統(tǒng)功能模塊
身份驗證:提供系統(tǒng)的訪問控制功能。
通訊信息管理:即通訊過程的協(xié)議和參數(shù)等信息的管理。包括添加、修改和刪除通訊信息。通訊信息包括通訊協(xié)議、適配器和波特率等。
通訊方案信息管理:包括變頻器系列、PLC系列、通訊協(xié)議方式、適配器、波特率設(shè)置和通訊地址設(shè)置等。提供的功能為添加、修改和刪除變頻器與PLC通訊配置的基本信息。
查詢管理:包括按系列匹配查詢和按通訊協(xié)議查詢兩種。通過查詢接口,可更加方便地利用SQL Server數(shù)據(jù)庫的強大功能為用戶提供資源和幫助。
根據(jù)E-R圖,要創(chuàng)建的數(shù)據(jù)表包括變頻器系列信息表、PLC系列信息表、通訊協(xié)議信息表、適配器信息表、波特率信息表、PPO類型信息表和變頻器/PLC通訊方案信息表等。通過創(chuàng)建表的腳本文件來實現(xiàn)各個信息表的創(chuàng)建。創(chuàng)建變頻器系列表的SQL腳本如下[2]:
用SQL腳本創(chuàng)建其他信息表的方法與創(chuàng)建變頻器系列表的方法相似,不在一一列出。創(chuàng)建完成后,要添加變頻器系列、PLC系列、通訊協(xié)議、適配器、波特率和PPO類型的索引。
在查詢系統(tǒng)運行過程中,有些工作經(jīng)常進(jìn)行,比如向表中插入或更新變頻器與PLC的通訊方案,為了提高系統(tǒng)運行效率,可通過創(chuàng)建存儲過程來提高效率。
存儲過程add_xinxi_tab用于插入通訊方案的信息,存儲過程的Transact-SQL代碼如下[3]。
創(chuàng)建存儲過程可以提高數(shù)據(jù)庫處理數(shù)據(jù)的速度。該存儲過程將在應(yīng)用程序中被調(diào)用,既可以向變頻器通訊方案信息表中添加數(shù)據(jù)也可以修改數(shù)據(jù)。
完成了系統(tǒng)功能模塊的設(shè)計和數(shù)據(jù)庫表的創(chuàng)建后,通過Visual C++ 的向?qū)С绦蛏晒こ炭蚣埽瑒?chuàng)建新工程并設(shè)計主界面,布局如圖2所示。其中包括菜單、設(shè)備型號信息、參數(shù)信息管理、通訊方案信息管理和查詢管理五個部分。
圖2 系統(tǒng)主界面
完成主界面布局后,對各個模塊的控件進(jìn)行設(shè)置,包括控件類型、ID設(shè)置以及添加相應(yīng)的控件變量和CString類型變量。然后將主界面連接到數(shù)據(jù)庫,對系統(tǒng)進(jìn)行數(shù)據(jù)初始化,將初始設(shè)定的數(shù)據(jù)以及存儲的數(shù)據(jù)內(nèi)容顯示到主界面上。
本模塊實現(xiàn)系統(tǒng)各菜單的操作,如系列匹配查詢、通訊協(xié)議查詢和窗口操作等,并且可以顯示變頻器與PLC的各個系列名稱,使設(shè)備型號清晰化。
本模塊是對變頻器與PLC通訊過程中涉及的通訊協(xié)議、連接方式、波特率、PPO類型等參數(shù)信息的設(shè)置管理。方便修改數(shù)據(jù)庫內(nèi)容,避免后臺數(shù)據(jù)庫的操作,提高各個協(xié)議或參數(shù)的信息管理效率。
本模塊實現(xiàn)對不同變頻器系列與不同系列PLC之間的通訊方案的信息進(jìn)行管理,包括對通訊方案整體信息的添加、修改和刪除操作,對數(shù)據(jù)庫數(shù)據(jù)進(jìn)行處理,并且顯示列表框中顯示出來,操作過程與顯示效果如圖3所示。
圖3 通訊方案信息管理
查詢模塊完成變頻器與PLC之間的通訊方案的信息查詢過程。分為兩種查詢方式:按系列查詢和按通訊協(xié)議查詢。
在按系列查詢中,既可以實現(xiàn)單獨變頻器系列或PLC系列的統(tǒng)計查詢,也可以實現(xiàn)變頻器系列與PLC系列的匹配唯一查詢。顯示界面如圖4所示。一種方式是實現(xiàn)下拉列表框中的詳細(xì)信息進(jìn)行系列單獨查詢,也可以實現(xiàn)系列的匹配查詢;另一種方式是通過模糊查詢,快速簡潔地搜索各系列的通訊方案信息。
按通訊協(xié)議查詢的顯示界面如圖5所示。一種方式是實現(xiàn)下拉列表框中的詳細(xì)信息進(jìn)行按通訊協(xié)議的不同方式進(jìn)行查詢;另一種方式是通過模糊查詢,快速簡潔地搜索使用不同通訊協(xié)議的通訊方案信息。
圖4 按系列查詢
圖5 按通訊協(xié)議查詢
經(jīng)過系統(tǒng)測試,搜索過程清楚、迅速,4個功能模塊全部運行正常。一方面實現(xiàn)了對變頻器與PLC之間通訊過程中的通訊網(wǎng)絡(luò)協(xié)議、變頻器通訊參數(shù)、通訊方案信息等模塊的管理,避免了對后臺數(shù)據(jù)庫反復(fù)操作的繁瑣程度;另一方面,實現(xiàn)了主要的查詢管理,按不同的查詢方式都能順利完成,對變頻器通訊網(wǎng)絡(luò)方案信息的查詢和顯示效果都全部完成。通過各模塊的聯(lián)系,應(yīng)用程序?qū)崿F(xiàn)了所有基本要求的管理和查詢功能,能夠為技術(shù)人員提供變頻器的通訊方案,避免反復(fù)查詢使用手冊的復(fù)雜過程。
[1] 黃金鳳,張進(jìn),李占賢,孫淑惠. PLC與變頻器間的通信實現(xiàn)[J].工礦自動化,2007,10.
[2] 胡雪梅,韓全立,宣鋒,田磊.通用變頻器功能參數(shù)的設(shè)置[J].機床與液壓,2010,38(4):34-37.
[3] 李濤,劉凱奎,王永皎.Visual C+++SQL Server數(shù)據(jù)庫開發(fā)與實例[M].北京:清華大學(xué)出版社 2006.