999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

混合編程在鋼坯號識別中的應用?

2015-08-07 12:11:35尹玉振朱昌平鐘余澤李旭斐
微處理機 2015年5期
關鍵詞:自動識別系統

尹玉振,朱昌平,鐘余澤,李旭斐

(河海大學常州市傳感網與環境感知重點實驗室江蘇省輸配電裝備技術重點實驗室,常州213022)

混合編程在鋼坯號識別中的應用?

尹玉振,朱昌平,鐘余澤,李旭斐

(河海大學常州市傳感網與環境感知重點實驗室江蘇省輸配電裝備技術重點實驗室,常州213022)

針對當前鋼廠鋼坯號自動識別要求,利用MATLAB算法開發效率高和VS2010編寫界面友好等特點,設計了一種鋼坯號在線自動識別系統。為了防止系統存儲、讀取圖片時發生沖突,減少MATLAB與VS2010的交互時間,提出一種基于MEX文件的混合編程方法,實現了MATLAB通過Windows消息響應機制向VS2010發送消息和VS2010通過Socket通信向MATLAB發送消息等功能,大大提高了系統的工作效率,同時也提高了鋼坯號識別的正確率。

鋼坯號;在線識別;混合編程;交互時間;Windows消息響應;Socket通信

1 引 言

隨著鋼鐵工業及其信息化技術的迅速發展,對鋼鐵產品從生產到成品投放市場全過程的在線檢測、產品質量跟蹤以及永久性質量追溯的要求越來越高。鋼鐵廠生產鋼坯的過程中,會在鋼坯的一側噴上特定的數字序列等符號以表示特定的批次,根據不同的批次規定不同的生產工序,但是生產過程中不可避免會發生裝料錯誤,使得其他批次的鋼坯混入生產線中,從而造成產品質量瑕疵[1]。目前一般通過人工方式校準鋼坯號,但鋼鐵廠環境復雜,工作環境惡劣,工人在長時間工作后易疲勞,工作效率底,漏檢誤檢多,難以滿足現代化生產的需要,因此設計一種鋼坯號在線自動識別系統尤為重要。

VS2010是Windows系統平臺上較為有效的應用程序開發系統,具有開發程序文件小、界面友好、執行速度快、實時性好和容易維護等優點,已成為操作系統設備驅動程序和系統級平臺類軟件的最佳開發工具。VS2010開發的圖像處理軟件,C/C++語言中只包含基本的數學函數庫,如果要實現圖像處理中的復雜數值運算和圖形圖像顯示時,需要編寫大量代碼[2],對一名非專業的程序員,這將耗費大量的時間和精力。而MATLAB目前已成為國際上公認的最優秀的數值計算和仿真分析軟件,其具有符號計算、數字和文字統一處理、離線和在線計算等功能,具有較強的繪圖、計算和可視化功能,具有很強的開放性等特點。但它本質上是一種解釋性語言,在進行大規模數值計算時,執行效率較為低下,利用其進行應用程序開發存在局限性。利用MATLAB算法開發效率高和VS2010編寫界面友好等特點,將MATLAB和VS2010結合起來,必將大大提高軟件開發的效率,縮短開發周期。為了防止MATLAB在讀取圖片時相機正好存儲圖片沖突的發生,同時提高系統的實時性,減少MATLAB與VS2010的交互時間,下面提出一種基于MEX文件的混合編程方法。

2 MATLAB與VS2010混合編程

所設計的鋼坯號在線自動識別系統框圖如圖1所示,MATLAB向VS2010發送命令暫停相機進而讀取圖片,讀取完成后再發送開啟相機命令,即完成一次圖片的讀取。同時VS2010通過TCP通信協議向服務器發送請求命令,將接收到的標準鋼坯號發送給MATLAB供其與識別鋼坯號進行比對,最后MATLAB將比對結果反饋給VS2010。

圖1 鋼坯號在線自動識別系統框圖

鋼坯號在線自動識別系統在工作過程中相機存儲圖片和MATLAB讀取圖片時會發生沖突,阻斷系統的正常運行。為了防止MATLAB在讀取圖片時相機正好存儲圖片沖突的發生,同時為了提高系統的實時性,使用MATLAB下的MEX文件實現MATLAB對C++代碼的調用,減少MATLAB與VS2010的交互時間。MEX文件是對標準的C++文件進行編譯所得,其可以使用C++中所有的函數,使用MEX文件時,需要在C++文件中加入頭文件“mex.h”。一個MEX程序實際為一個DLL文件,它的輸出函數是mexFunction(),即為MATLAB與VS2010的接口函數,其格式如表1所示。

在MATLAB調用MEX文件過程中,mexFunction()函數會首先被執行,在此函數中,可以對輸入參數進行處理,并調用所需的C++函數,mexFunction()函數沒有返回值,執行完成后使用輸出參數返回給MATLAB[3-4]。通過MEX文件混合編程,可以實現MATLAB對C++語言的調用,減少MATLAB與VS2010的交互時間。

表1 mexFunction()函數定義格式

3 MATLAB與VS2010交互實現

MATLAB編譯器使用mex-setup指令可以將VS2010生成的.cpp文件編譯成MEX文件。在Windows中,MEX文件類型為mexw32,MATLAB就可以像調用M函數那樣調用MEX文件,每次修改mexFunction()所在的.cpp文件后,重新編譯生成解決方案前都需要在MATLAB工程下執行clear命令一次。基于MEX文件的混合編程為MATLAB和VS2010提供了交互工具,可以使MATLAB對Windows消息編程有良好的支持,本文通過Windows消息響應機制和Socket通信實現數據發送。

3.1 MATLAB向VS2010發送消息

因為Windows中的消息不只是硬件產生,也可由系統中的一個進程產生。當一個事件發生時,Windows先將輸入的消息放入系統消息隊列中,然后再將輸入的消息拷貝到相應的應用程序隊列中,應用程序中的消息循環從它的消息隊列中檢索每一個消息并發送到相應的窗口函數中。Windows消息中的WM_COPYDATA消息是所有消息中比較特別的一個,對于Windows消息,其原型如下:

由于time和pt由系統給出,因此,對于普通的Windows消息來說,可以用來傳遞信息的僅有wParam和lParam 2個32位信息。MATLAB端使用MEX文件調用基本的WinAPI函數,實現WM_COPYDATA消息的發送。接收方在數據復制完成前不返回,這樣發送方就不可能刪除和修改數據,發送函數的原型如下:

SendMessage(WM_COPYDATA,wParam,lParam)

其中wParam設置為包含數據的窗口句柄,lParam指向一個COPYDATASTRUCT結構,其定義為:

VS2010端在Windows窗口的默認消息處理函數中增加對WM_COPYDATA消息的響應。Windows在處理WM_COPYDATA消息時,會將發送消息進程中lpData所指向內存中的數據復制到目標進程的內存中,使得WM_COPYDATA消息可以在進程之間傳遞大量數據[4-5]。

3.2 VS2010向MATLAB發送消息

由于MATLAB所擁有的消息隊列是由MATLAB自行管理的,而且MATLAB并沒有提供可以管理、提取消息隊列中消息的函數,所以從MATLAB的消息隊列中得到所發送的WM_COPYDATA消息是無法實現的。為了滿足工程需要同時減少系統的復雜度,我們使MATLAB調用C++代碼編寫的服務器端MEX文件,實現VS2010通過Socket通信向MATLAB發送消息。

TCP網絡環境下的應用程序通過網絡應用編程界面(Socket,即套接字)實現,一個Socket對應于通信的一端,工作流程如圖2所示。

圖2 Socket工作流程

VS2010作為客戶端在創建工程時,利用APPWIZARD創建MFC EXE。選中Windows Socket項,這樣創建的項目就已經支持Socket,并默認初始化。如果要在已有的項目中添加Socket支持,須在stdefx.h文件中包含頭文件WINSOCK.H(#include winsock.h),并在應用程序類的成員函數:“::InitInstance()”中添加如下初始化套接字代碼:

VS2010客戶端與MATLAB服務器端都首先使用WSAStartup()函數來檢查處理機系統中是否裝有Windows Socket的實現庫,然后使用socket()函數來給網絡程序創建一個套接字。在VS2010客戶端創建好套接字之后,調用connect()函數提出一個與服務器建立連接的請求,在MATLAB服務器端套接字創建好后,通過bind()函數把一個套接字口與一個主機地址和端口聯系起來,然后調用listen()函數指示套接字進入監聽連接請求的狀態。服務器進入監聽狀態后,用accept()函數接收來自VS2010客戶端connect()函數發出的連接請求。最后VS2010客戶端和MATLAB服務器端都通過send()函數和recv()函數分別實現數據的發送和接收。一個套接字不再使用時一定要及時關閉,以釋放與其關聯的所有資源,即使用closesocket()函數[7-8]。

4 鋼坯號在線識別應用

將所提出的基于MEX文件的混合編程方法應用到所設計的鋼坯號在線自動識別系統,系統現場安裝如圖3所示。考慮到鋼坯溫度高和采集視野等問題,主要設備和鋼坯保持了一定距離。系統主要由光源、攝像頭和工業控制計算機等部分組成。其中攝像頭選用的是Manta系列相機,鏡頭前加有透明防護罩和冷卻裝置,以防止灰塵污染等問題。

圖3 系統現場安裝圖

對系統正常工作時MATLAB向VS2010發送消息的交互時間進行測量,為了驗證基于MEX文件混合編程交互的實時性,針對TXT文件交互方法進行了比較,具體實驗測量數據如表2所示。通過測量發現采用混合編程方法MATLAB向VS2010發送相機暫停、讀取圖片和啟動相機的時間主要由讀取圖片的時間決定,發送消息的時間幾乎可以忽略不計,且較TXT文件交互方式相比實時性得到大大提高,同時也驗證了基于MEX文件混合編程方法的可行性。

表2 MATLAB向VS2010發送消息

5 結束語

提出的基于MEX文件的混合編程方法,有效利用兩種不同語言的優點進行混合編程。通過工程實際應用,驗證了MATLAB通過Windows消息響應機制向VS2010發送消息和VS2010通過Socket通信向MATLAB發送消息的可行性和有效性,使鋼坯號在線自動識別系統的工作效率得到大大提高。

[1] 吳迪,焦東升,張筱,等.基于SVM的鋼坯號自動識別算法[J].開發應用,2011,27(10):49-51.

WU Di,JIAO Dongsheng,ZHANG Xiao.The steel billet number automatic recognition based on SVM algorithm[J].Microcomputer Application,2011,27(10):49-51.

[2] 董建婷,王杰.VC++調用Matlab實現圖像處理的3種常用方法比較[J].現代電子技術,2012,35(16):46-49.

DONG Jianting,WANG Jie.Comparison of three image processing methods realized by VC++calling Matlab[J].Modern Electronics Technique,2012,35(16):46-49.

[3] 來爽,慕德俊.基于VC和MATLAB的PID仿真軟件實現[J].計算機工程與應用,2009,45(3):81-83.

LAIShang,MU Dejun.PID simulation software based VC and MATLAB[J].Computer Engineering and Applications,2009,45(3):81-83.

[4] 陶硯蘊,單鳴雷,徐萃華.MATLAB&VC++混合編程在HIFU聲場仿真中的應用[J].計算機工程與應用,2007,43(2):224-226.

TAO Yanyun,SHAN Minglei,XU Cuihua.Application of combined programming with MATLAB and VC++in HIFU sound-field simulation[J].Computer Engineering and Applications,2007,43(2):224-226.

[5] 陳少成.基于Windows消息的Matlab與C++實時通訊方法[J].工業控制計算機,2010,23(5):88-89.

CHEN Shaocheng.Real-Time Communication Between Matlab and C++Based on Windows Message[J].Industrial Control Computer,2010,23(5):88-89.

[6] Man QingMao.VC++and MATLAB-Based Interactive Filter Design[J].Applied Mechanics and Materials,2011,66:1972-1975.

[7] 張允剛,劉常春,劉偉,等.基于Socket和多線程的遠程監控系統[J].控制工程,2006,13(2):175-177.

ZHANG Yungang,LIU Changchun,LIU Wei.Remote Monitoring and Control System Based on Socket and Multithread[J].Control Engineering of China,2006,13(2):175-177.

[8] 鄭阿奇.Visual C++網絡編程教程(Visual Studio 2010平臺)[M].北京:電子工業出版社:75-80.

ZHENG Aqi.Visual C++Network Programming Tutorial(Visual Studio 2010 platform)[M].Electronic Industry Press:75-80.

Application of Hybrid Programm ing in Billet Number Recognition

Yin Yuzhen,Zhu Changping,Zhong Yuze,Li Xufei
(Changzhou Key Laboratory of Sensor Networks and Environmental Sensing,Jiangsu Key Laboratory of Power Transmission and Distribution Equipment Technology,Hohai University,Changzhou 213022,China)

According to the automation identification requirements of steel billet number in steelmill currently,a system,with high efficiency MATLAB development algorithm and VS2010 friendly writing user features,is designed for steel billetnumbers automatic identification.In order to prevent the conflict caused during system memory and picture reading and reduce the interaction time between MATLAB and VS2010,a hybrid programmingmethod based on MEX file is proposed to realize the functions ofmessage sending such as MATLAB to VS2010 byWindowsmessage responsemechanism and VS2010 to MATLAB by Socket communications.The efficiency of the system and the accuracy of the steel billet number online identification are greatly improved.

Steel billet number;On-line identification;Hybrid programming;Interaction time;Windowsmessage response;Socket communications

10.3969/j.issn.1002-2279.2015.05.013

TP391.7

B

1002-2279(2015)05-0050-04

國家自然科學基金項目(11274092、61401146);江蘇省自然科學基金(BK20130238)

尹玉振(1989-),男,山東聊城人,碩士研究生,主研方向:通信與信息系統。

朱昌平(1956-),男,湖北荊門人,教授,博士,博導,江蘇省教學名師,主要從事通信電路與聲學技術的研究。

2015-03-09

猜你喜歡
自動識別系統
中國自動識別技術協會
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
船舶自動識別系統對船舶救助的影響
水上消防(2019年3期)2019-08-20 05:46:08
半沸制皂系統(下)
自動識別系統
特別健康(2018年3期)2018-07-04 00:40:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
金屬垃圾自動識別回收箱
主站蜘蛛池模板: 欧美a级在线| 亚洲精品自产拍在线观看APP| 精品亚洲麻豆1区2区3区| 中文字幕免费播放| 色婷婷亚洲十月十月色天| 欧美第一页在线| 精品伊人久久久久7777人| 国产精品免费露脸视频| 国产va在线观看| 国产国模一区二区三区四区| 麻豆精品在线| 国产又粗又猛又爽视频| 操美女免费网站| 久久久精品无码一二三区| 亚洲青涩在线| 亚洲视屏在线观看| 一级黄色网站在线免费看| 欧美一级在线播放| 无码一区二区波多野结衣播放搜索| 毛片视频网| 国产无码在线调教| 国产香蕉一区二区在线网站| 久久成人18免费| 激情影院内射美女| 91www在线观看| 国产毛片不卡| 国产剧情无码视频在线观看| 国产区在线看| 亚洲视频免| 久久77777| 国产精品福利导航| 六月婷婷激情综合| 久久精品亚洲专区| 亚洲Va中文字幕久久一区 | 国产真实乱子伦精品视手机观看 | 日韩 欧美 小说 综合网 另类| av无码久久精品| 欧美精品v欧洲精品| 国产精品一线天| 在线日韩一区二区| 欧美69视频在线| 国产无码网站在线观看| 亚洲日本www| 国产欧美成人不卡视频| 99精品视频播放| 国产白浆视频| 精品国产中文一级毛片在线看| 国产成人无码久久久久毛片| 日韩欧美国产三级| 91美女在线| a级毛片网| 找国产毛片看| 亚洲色图另类| 国产精品成人不卡在线观看| 国产精品9| 色综合久久久久8天国| 国产一级毛片yw| 亚洲不卡影院| 在线观看亚洲成人| 欧美成人综合视频| 国产成人免费手机在线观看视频| 国产二级毛片| 人人澡人人爽欧美一区| av色爱 天堂网| 中国一级毛片免费观看| 青青青视频91在线 | 色悠久久综合| 久久人人97超碰人人澡爱香蕉 | 国产日韩欧美在线视频免费观看| 国产精品黄色片| 亚洲三级成人| 国产真实乱人视频| 麻豆国产精品| 青草娱乐极品免费视频| 亚洲国产系列| 在线中文字幕网| 一区二区三区高清视频国产女人| 欧美成人手机在线观看网址| 99中文字幕亚洲一区二区| 永久免费无码成人网站| 久久夜色撩人精品国产| 伊人蕉久影院|