張波(化名)是福建省廈門市一家很有名的工控儀表生產(chǎn)廠家的技術(shù)人員,該廠家是昆侖通態(tài)MCGS組態(tài)軟件的老客戶,每年都使用200套以上的MCGS組態(tài)軟件,張波的主要工作是為該廠家的各種儀表編寫MCGS組態(tài)軟件的設(shè)備驅(qū)動程序。
  昆侖通態(tài)在2002年推出了nTo">

      技術(shù)頻道

      MCGS近期推出新功能,“腳本驅(qū)動”與用戶面對面

      張波(化名)是福建省廈門市一家很有名的工控儀表生產(chǎn)廠家的技術(shù)人員,該廠家是昆侖通態(tài)MCGS組態(tài)軟件的老客戶,每年都使用200套以上的MCGS組態(tài)軟件,張波的主要工作是為該廠家的各種儀表編寫MCGS組態(tài)軟件的設(shè)備驅(qū)動程序。
        昆侖通態(tài)在2002年推出了nTouch系列嵌入式一體化工控機(jī)和MCGS嵌入式組態(tài)軟件。廈門這一廠家在對昆侖通態(tài)這兩款產(chǎn)品進(jìn)行試用和論證后,決定采用nTouch和MCGS應(yīng)用到其工程項(xiàng)目中。于是派張波到北京出差,學(xué)習(xí)如何使用Embeded VC開發(fā)MCGS嵌入式組態(tài)軟件的設(shè)備驅(qū)動程序。
        張波是昆侖通態(tài)的老朋友,大家都比較熟悉。在昆侖通態(tài)學(xué)習(xí)的空閑時(shí)間里四處走動,他發(fā)現(xiàn)昆侖通態(tài)測試部門的員工正在認(rèn)真地測試一個軟件,詢問之后得知,這是昆侖通態(tài)準(zhǔn)備在近期推出的MCGS組態(tài)軟件新功能的一部分,名叫MCGS腳本驅(qū)動開發(fā)程序,覺得非常好奇,于是找到該項(xiàng)目的負(fù)責(zé)人侯尚秋,與侯尚秋有了如下一段對話?! ?BR>  張波(以下簡稱張):什么是腳本驅(qū)動?
        侯尚秋(以下簡稱侯):
        腳本驅(qū)動是我們推出的一種使用MCGS腳本編寫設(shè)備驅(qū)動程序的技術(shù)。
        使用腳本驅(qū)動,您不需要使用復(fù)雜的VC、DELPHI、VB等開發(fā)語言,不需要理解動態(tài)連接庫、COM接口等復(fù)雜的技術(shù)。您只需要使用我們提供的開發(fā)工具,做一些簡單的設(shè)置,編寫一些簡單的腳本,就可以完成一個設(shè)備驅(qū)動程序?! ?BR>  張:為什么需要腳本驅(qū)動?
        侯:在組態(tài)軟件的應(yīng)用中,需要與各種智能設(shè)備通訊。一般組態(tài)軟件都是通過VC、DELPHI或者VB等高級語言編寫動態(tài)庫程序,通過組態(tài)軟件提供的接口,實(shí)現(xiàn)采集設(shè)備數(shù)據(jù)并和組態(tài)軟件通訊。
        這種方式目前在組態(tài)軟件中應(yīng)用廣泛。但存在其不足之處。尤其是對于一些簡單的設(shè)備,或者用戶自己開發(fā)的設(shè)備。
        這種設(shè)備的通訊協(xié)議本身非常簡單,但客戶不得不委托組態(tài)軟件的開發(fā)商開發(fā)設(shè)備驅(qū)動程序,而組態(tài)軟件廠商的開發(fā)人員往往沒有實(shí)際的設(shè)備,只能根據(jù)用戶提供的協(xié)議完成代碼編程。實(shí)際用戶在現(xiàn)場使用,如果出現(xiàn)問題,又需要返回廠商修改,有時(shí)不得不反復(fù)數(shù)次才能解決問題。給用戶造成了人力、物力、時(shí)間上的浪費(fèi)。
        如果用戶希望自己開發(fā)設(shè)備驅(qū)動程序,則必須使用組態(tài)軟件廠商提供的開發(fā)框架和接口進(jìn)行開發(fā)。理解框架和接口本身就是一件費(fèi)時(shí)費(fèi)力的事情,同時(shí)還需要了解具體的串口、網(wǎng)絡(luò)、端口等方面的知識。
        腳本驅(qū)動屏蔽了大量的技術(shù)細(xì)節(jié)。用戶需要關(guān)心的事情只有一件,就是分析設(shè)備的通訊協(xié)議,解析從設(shè)備讀取的數(shù)據(jù)。這樣,用戶可以自己完成設(shè)備驅(qū)動的編寫、調(diào)試和現(xiàn)場應(yīng)用,就可以在最短的時(shí)間內(nèi),開發(fā)出滿足需要的設(shè)備驅(qū)動程序?! ?BR>  張:腳本驅(qū)動難不難呀?
        侯:不難,簡單是腳本驅(qū)動程序最大的特點(diǎn)。
        腳本驅(qū)動程序是專為簡化驅(qū)動開發(fā)過程設(shè)計(jì)的,只要會使用MCGS軟件,在4、5個小時(shí)的時(shí)間內(nèi),就可以全面掌握腳本驅(qū)動程序開發(fā)過程。熟練之后,甚至只需要30分鐘就可以完成一個象泓格7017模塊的驅(qū)動?! ?BR>  張:哪些設(shè)備可以用腳本編寫驅(qū)動?
        侯:理論上,所有串口設(shè)備、MODEM設(shè)備、以太網(wǎng)通訊設(shè)備和板卡設(shè)備都可以使用腳本驅(qū)動程序開發(fā)驅(qū)動。最適合使用腳本驅(qū)動的有:單片機(jī),傳感器,智能模塊,智能儀表,常見PCI板卡等。
        我們對我們所編寫的全部設(shè)備驅(qū)動程序的代碼作了統(tǒng)計(jì)分析,分析后發(fā)現(xiàn),70%以上的設(shè)備驅(qū)動程序,其代碼量在200行以內(nèi)。這些設(shè)備的特點(diǎn)是協(xié)議比較簡單,通道較少,對協(xié)議的解析和命令合成過程不是很復(fù)雜。腳本驅(qū)動針對這些設(shè)備,提供了必要的數(shù)據(jù)收發(fā),協(xié)議解析,通道賦值等方面的功能。開發(fā)這些類型的驅(qū)動程序,腳本驅(qū)動使用方便、調(diào)試簡單、工作量小。  
        張:通訊協(xié)議復(fù)雜的設(shè)備怎么辦?
        侯:對于通訊協(xié)議復(fù)雜的設(shè)備,如PLC和一些國外的儀表等,理論上也可以使用腳本驅(qū)動開發(fā),但是并不是最合適的。這類設(shè)備代碼量大,調(diào)試復(fù)雜,一般應(yīng)由組態(tài)廠商的設(shè)備驅(qū)動人員為用戶完成。
        腳本驅(qū)動程序推出的目標(biāo),并不是代替目前的設(shè)備驅(qū)動開發(fā)方式,而是提供給用戶一種新的選擇。  
        張:對于MCGS的用戶,是不是都要學(xué)習(xí)使用腳本驅(qū)動?
        侯:對于MCGS的用戶,包括組態(tài)用戶和最終用戶,都不會發(fā)覺MCGS在設(shè)備處理方面有任何變化,腳本驅(qū)動編寫的設(shè)備驅(qū)動程序,與一般的設(shè)備驅(qū)動程序的使用方式是沒有任何區(qū)別的。
        腳本驅(qū)動程序的使用對象,一是我公司內(nèi)部的驅(qū)動開發(fā)人員,二是我公司的技術(shù)支持人員和銷售人員,三是需要自己編寫驅(qū)動的客戶。我們在公司內(nèi)部的要求是:所有技術(shù)支持人員和銷售人員都要掌握腳本驅(qū)動編寫的方法,其目標(biāo)是加快客戶服務(wù)的速度?! ?BR>  張:不知其速度和性能如何?
        侯:這是一個每個使用腳本驅(qū)動程序的人員都會問的一個問題,特別是在嵌入式系統(tǒng)的應(yīng)用中,速度更是一個非常關(guān)鍵的問題。
        我們在內(nèi)部做了實(shí)驗(yàn),MCGS的腳本語言比VC代碼平均慢10倍。但對通訊程序而言,速度的瓶頸是在對串口、以太網(wǎng)等的讀寫上。我們已將對串口讀寫、以太網(wǎng)等的讀寫操作進(jìn)行了精心的封裝,這一部分代碼全部是使用C語言編寫的,腳本驅(qū)動程序只需要調(diào)用該部分的函數(shù)接口,即可完成一次完整的通訊過程。經(jīng)過大量的極限測試,我們得出結(jié)論,其速度和性能完全能滿足現(xiàn)場設(shè)備的需要?! ?BR>  張:你剛才講到精心的封裝,能不能具體介紹一下這方面的內(nèi)容?
        侯:這方面的內(nèi)容,涉及到比較多的計(jì)算機(jī)知識,我只大概地描述一下,我只針對串口通訊來進(jìn)行說明。
        對于串口通訊,最底層的操作是通過INP和OUP對端口3F8或2F8進(jìn)行操作,目前編程人員一般不直接采用這種方式了。VC編程人員是通過ReadFile和WriteFile兩個API接口函數(shù)進(jìn)行串口操作的;DELPHI一般使用SPCOMM等構(gòu)件進(jìn)行串口操作;VB則一般使用MSCOMM控件進(jìn)行串口操作。
        VB和DELPHI對串口操作即進(jìn)行了封裝,將大量的串口操作細(xì)節(jié)封裝在控件或構(gòu)件的內(nèi)部,用戶只需要調(diào)用該控件的屬性和方法,即可完成通訊參數(shù)的設(shè)置和通訊了。
        腳本驅(qū)動中,對串口操作的封裝更加強(qiáng)大,我們分析了歷年來我們?yōu)榭蛻艟帉懙拇罅吭O(shè)備驅(qū)動程序,歸納出幾種典型的串口通訊模式,并將這些串口通訊模式進(jìn)行封裝?,F(xiàn)在,用戶只要調(diào)用一個接口函數(shù),就可以完成數(shù)據(jù)發(fā)送、等待、接收等全過程?! ?BR>  張:我聽不太懂,我對VB比較熟悉,我能很快熟悉腳本驅(qū)動嗎?
        侯:如果您打開MCGS提供的腳本驅(qū)動開發(fā)工具,你一定會發(fā)現(xiàn):這個工具多么象VB的編譯器呀,包括界面風(fēng)格、語法等,還有與VB類似的單步跟蹤和調(diào)試手段呢?! ?BR>  張:腳本驅(qū)動只能運(yùn)行在MCGS嵌入版本嗎?
        侯:不,腳本驅(qū)動可以運(yùn)行在MCGS的三個版本中,即在嵌入版本、通用版本和網(wǎng)絡(luò)版本都可以應(yīng)用。
        而且,腳本驅(qū)動還有一個特點(diǎn),即:一次編寫,無需編譯。您在MCGS嵌入版本中編寫的腳本驅(qū)動,可以直接在通用版本或網(wǎng)絡(luò)版本上使用?! ?BR>  張:腳本驅(qū)動的穩(wěn)定性如何?
        侯:主程序可以控制腳本驅(qū)動的所有異常訪問并加以判斷處理。使用腳本驅(qū)動,絕不會出現(xiàn)象C語言編寫的驅(qū)動程序那樣,動不動就出現(xiàn)非法指針訪問的情況,也不會出現(xiàn)VB那樣對內(nèi)存的非法操作情況。  
        張:能不能給我演示一下?
        侯:好的。

      按此在新窗口瀏覽圖片張:這對我們這些系統(tǒng)制造商或其它系統(tǒng)集成商來說,真是一件天大的好事,它什么時(shí)間發(fā)布?
        侯:目前腳本驅(qū)動正在緊張的測試中,預(yù)計(jì)嵌入版本的腳本驅(qū)動程序在一個月之后正式發(fā)布,通用版本和網(wǎng)絡(luò)版本的腳本驅(qū)動程序在三個月之后正式發(fā)布?! ?BR>  張:看來我不需要學(xué)習(xí)EMBEDED VC和VB了,能不能給我拿一套試用版本,我先試試?
        侯:可以呀。能為您和那些支持我們昆侖通態(tài)事業(yè)發(fā)展的朋友效勞,是我們的榮幸。
        我的EMAIL:mcgslcb@263.net。如果您在試用過程中對我們的產(chǎn)品有任何意見或者建議,也請與我們聯(lián)系。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 精品无码av一区二区三区| 日本中文一区二区三区亚洲| 国产主播一区二区| 精品日韩在线视频一区二区三区 | 人妻无码一区二区三区免费| 亚洲爆乳精品无码一区二区 | 精品日韩一区二区| 人妻体内射精一区二区三区| 日韩精品一区二区三区中文字幕| 国产一区二区三区久久| 日韩一区二区三区在线精品 | 国产乱码精品一区二区三区四川人| 中文字幕亚洲一区| 色狠狠一区二区三区香蕉蜜桃| 无码播放一区二区三区| 久久精品视频一区| 国产成人精品久久一区二区三区| 国产综合一区二区在线观看| 日本一区二区高清不卡| 精品一区二区三区免费毛片| 亚洲第一区精品观看| 中文字幕一区日韩在线视频| 精品久久久久一区二区三区| 一区二区三区影院| 无码少妇一区二区| 日韩在线一区视频| 成人影片一区免费观看| 亚洲一区中文字幕在线观看| 日韩精品一区二区三区国语自制| 夜精品a一区二区三区| 亚洲男人的天堂一区二区| 无码av免费一区二区三区试看| 色窝窝无码一区二区三区色欲 | 蜜臀AV一区二区| 无遮挡免费一区二区三区| 无码欧精品亚洲日韩一区夜夜嗨| 国产午夜福利精品一区二区三区| 亚洲中文字幕久久久一区| 福利一区二区在线| 99在线精品一区二区三区| 国产情侣一区二区三区|