《ifix學(xué)習(xí)七部曲》
(2007-8-31 Osala編輯)
這里不教你使用ifix,只教你如何學(xué)習(xí)ifix,是一篇學(xué)習(xí)指南性的文章。很多學(xué)習(xí)ifix的朋友,尤其是初學(xué)者,總是摸不著門路,不知該如何學(xué)習(xí)才好,我根據(jù)自身的學(xué)習(xí)體會(huì)和輔導(dǎo)他人的經(jīng)驗(yàn),對宏觀的學(xué)習(xí)路徑進(jìn)行了簡單總結(jié),希望對朋友們有所幫助。想要成為ifix的高手,要學(xué)的東西實(shí)在是不少,對其不了解的朋友,看一看,對于你想達(dá)到的水平都需要學(xué)習(xí)什么內(nèi)容,心里有個(gè)底。人家都是三部曲,我這是七部曲(或說七個(gè)層次),多了點(diǎn)兒,其實(shí)核心也就是三部分內(nèi)容。后面就都是輔助修煉,用以達(dá)到高高手的層次。 **步要做的: 如果你從未使用過任何組態(tài)平臺(tái),那么你需要了解組態(tài)軟件的基本概念,什么叫組態(tài)軟件,他能做什么、怎么做的——也就是工作機(jī)制(具體請參考相關(guān)資料),然后再開始進(jìn)一步學(xué)習(xí)。如果你對組態(tài)平臺(tái)有一定的經(jīng)驗(yàn),那么你起步會(huì)很容易,因?yàn)楦鹘M態(tài)系統(tǒng)的基本功能和用法是非常近似的,仔細(xì)閱讀ifix電子書或154教程,就可以很快掌握這些基本組態(tài)功能的實(shí)現(xiàn)方法。在學(xué)習(xí)過程中,如果遇到某些和編程相關(guān)的地方,可以簡單了解然后跳過。 **步要做的: ifix除了基本的圖形組態(tài)功能以外,還提供了強(qiáng)大的、基于VBA平臺(tái)的腳本功能。所以,如果你想讓你的組態(tài)畫面,具備除基本組態(tài)以外的更**的功能,那么你就必須熟練掌握VBA編程,建議通過學(xué)習(xí)VB6.0來獲得這種能力,因?yàn)?/span>VBA可以理解為VB6的子集(需要注意,更高的VB版本如VB.NET和VB2005并不適合)。買一本《VB6+從入門到精通》一類的書就基本夠用了。通過學(xué)習(xí),應(yīng)達(dá)到這樣的結(jié)果——理解VB編程語言的基本概念,具備編程的基本能力和技巧。其中有一個(gè)重要的概念,必須盡可能的透徹理解和熟練掌握,那就是“面向?qū)ο缶幊?/span>”,如果這一點(diǎn)沒有做到,*好不要進(jìn)行下一步學(xué)習(xí)。 第三步要做的: 學(xué)會(huì)了VB并不等于學(xué)會(huì)ifix編程,首先,VB和VBA是有差異的,VBA的功能稍弱,應(yīng)該在應(yīng)用過程中注意到并體會(huì)這些差異(例如VBA窗體中不支持控件樹組、常用控件的特性也有不少差異)。再有,ifix是完**向?qū)ο蟮慕M態(tài)系統(tǒng),它有很多特有的對象及其特性,這些對象并不都是完全獨(dú)立的,有些對象之間具有特殊的聯(lián)系。ifix還在VBA系統(tǒng)中添加了很多子程序,這些子程序可以簡化很多常用功能的腳本編寫,比如用于打開畫面的OpenPicture子程序。了解這些ifix特有對象的屬性、方法、事件,理解對象間的關(guān)聯(lián)關(guān)系,并且熟悉ifix子程序的用法,這都是至關(guān)重要的。這也是為什么在**步中強(qiáng)調(diào)透徹理解和熟練掌握“面向?qū)ο缶幊?/span>”的原因。相關(guān)幫助文檔參見《自動(dòng)化接口幫助》 第四步要做的: 看了前三步,似乎ifix已經(jīng)學(xué)完了,其實(shí)并非如此。比如你吃一碗米飯和一盤菜,你一定會(huì)吃一口米飯吃一口菜,然后再吃一口米飯吃一口菜……而不會(huì)先一口氣把米飯吃光然后再端著盤子狂吃菜。學(xué)習(xí)ifix也是一樣的,需要循序漸進(jìn),在**步,你不可能把ifix所有的特性都學(xué)懂學(xué)會(huì),因?yàn)橛行└拍詈吞匦裕枰邆湟欢ǖ木幊讨R(shí)和其它輔助知識(shí)以后,才能理解掌握的。所以,第四步*有可能的情況就是返回**步,開始循環(huán),這是你進(jìn)一步提高的標(biāo)志,是你通向高手之路過程中,打通任督二脈的環(huán)節(jié)。 第五步要做的: 第四步已經(jīng)開始循環(huán)了,開始了修煉的過程,那么第五步只能算是循環(huán)之外的。但其實(shí)也可以在循環(huán)過程中逐漸加入。這里所要學(xué)習(xí)的包括:關(guān)系數(shù)據(jù)庫知識(shí)和SQL語言的使用、Windows API的使用、計(jì)算機(jī)基礎(chǔ)知識(shí)(例如不懂得進(jìn)制及其轉(zhuǎn)換的知識(shí),則相應(yīng)的編程就無從談起)、網(wǎng)絡(luò)知識(shí)、圖形文件相關(guān)知識(shí)和加工處理……等等等等。其中,關(guān)系數(shù)據(jù)庫知識(shí)和SQL語言的使用是非常重要的,缺了它,你就像一頭沒有利齒的獅子,難以對付強(qiáng)壯的獵物。如果你的消化能力強(qiáng),因該把關(guān)系數(shù)據(jù)庫和Windows API加入到第三步的學(xué)習(xí)內(nèi)容中去(在循環(huán)中加入也可)。而Windows API的作用,是用來實(shí)現(xiàn)VB語言沒有直接提供的各種功能,例如各種聲音文件的播放和對其他程序的交叉控制等。 第六步要做的: 從**步開始,你每多走一步,就向ifix高手的行列更靠近一步,完成了第五步,從一般的意義上說,已經(jīng)是高手中的高手了,可以獨(dú)步ifix江湖了。那么第六步又是干什么用的呢?它的作用是使你達(dá)到出神入化、登峰造極的境界,從而成為絕頂高手、一代宗師。這是什么高深武功呢?這就是設(shè)計(jì)!它不是技術(shù),而是思想,是一種高層次的內(nèi)功。鳥巢之所以是鳥巢、水立方之所以水立方,它們的嘆為觀止,不是由建筑隊(duì)決定的,而是由設(shè)計(jì)師決定的。設(shè)計(jì)不是異想天開,設(shè)計(jì)師不僅決定它們是什么樣子的、有什么功能,還要知道能否實(shí)現(xiàn)、如何實(shí)現(xiàn)、用什么材料和技術(shù)實(shí)現(xiàn),而建筑隊(duì)要做的,就是按照設(shè)計(jì)師的要求去工作。前五步的學(xué)習(xí),僅是可以成為*優(yōu)良的建筑隊(duì)。可見,設(shè)計(jì)師才是*高境界。然而,就像所有傳說中的高深武功一樣,*高的一個(gè)層次,往往是*難以修煉的,也不是所有人都能夠成功的。首先它要在前五步的基礎(chǔ)之上,然后還需要大量的經(jīng)驗(yàn)以及一些天賦、悟性和思想高度。簡單地說,設(shè)計(jì)包括功能設(shè)計(jì)、界面交互設(shè)計(jì)、總體結(jié)構(gòu)設(shè)計(jì)。提高設(shè)計(jì)水平,除了自己多練多想,還要參觀研究別人做的系統(tǒng),這種研究,并不需要看代碼,你只需要看外觀就夠了,看到了好的系統(tǒng),用照相機(jī)把屏幕拍下來,回去慢慢體會(huì)。(如果有機(jī)會(huì),我會(huì)專門寫一寫這方面的東西,和大家探討一下)。 第七步要做的: 又是一個(gè)意外吧?不是練到頭了嗎?怎么又出來了一步?其實(shí)這第七步要做的,應(yīng)該是“每一步都要做的”,但又是相對獨(dú)立的,所以單獨(dú)分出一步,那就是:獲得幫助。 無論是誰,學(xué)習(xí)過程中都會(huì)遇到困難,有時(shí)是知識(shí)障礙,有時(shí)是理解障礙,都會(huì)需要?jiǎng)e人的幫助,這很正常。但是,首先要記住,自己多動(dòng)腦、多研究永遠(yuǎn)是*重要的,因?yàn)閹椭坏扔诖妗?/span> 自己的工資自己掙,別指望不勞而獲—— 不要說英語差,英語差可以學(xué);不要說電子書和教程太厚,我相信比這還厚的書你也讀過;更不要以工期緊,學(xué)英語來不及、看資料來不及為借口,要求別人替你做什么,那不如干脆說你現(xiàn)在要買別墅,來不及掙那么多錢,讓別人替你掙算了。高手可以為你指路,但高手不能替你干活,高手不欠你什么,指點(diǎn)迷津就是*有價(jià)值的幫助。有時(shí)有人問我一個(gè)問題,我告訴他電子書里有解答,并告訴他具體在哪一章哪一節(jié),他卻說“懶得看,你給我說說吧”,我的反應(yīng)只能是暈倒。還有的干脆說讓我?guī)退幰粋€(gè)程序。如果你編程過程中遇到難點(diǎn),我?guī)湍憬鉀Q是可以的,讓我整個(gè)替你編?天!你又不是我老板。高手愿意告訴你如何渡過一條湍急的河流,但高手不能把你背在身上替你走路。 學(xué)會(huì)加減乘除再學(xué)二次方程,不要好高騖遠(yuǎn)—— 如果你有人問你“去***廣場怎么走”,你告訴他向東走,**個(gè)紅路燈左轉(zhuǎn)就到了。這已經(jīng)很詳盡了吧?可他接著問你“東是什么意思?左是什么意思?紅綠燈又是什么東西?”,你會(huì)是什么反應(yīng)?估計(jì)除了暈倒和逃跑就沒有別的選擇了。在請求別人幫助之前,應(yīng)該判斷一下你的問題的性質(zhì)和自己的能力,不要好高騖遠(yuǎn),比如你看ifix的演示系統(tǒng)看不懂,那說明你基礎(chǔ)知識(shí)能力太弱,還不到學(xué)習(xí)這些東西的時(shí)候,除了繼續(xù)學(xué)習(xí)基礎(chǔ),沒人幫得了你。我建議,在學(xué)會(huì)站立之前,不要問任何關(guān)于跑步的問題。如果你得到一段代碼,其中有一兩處不是很理解,你可以請教別人,也許可以得到解答,但如果絕大部分看不懂,你*好是再提高一下編程水平,而不要拿著它去麻煩別人,因?yàn)闆]人能幫得了你。就像一個(gè)小學(xué)還沒度完的人,讓別人給他講解微積分,誰能給他講清楚?沒有人! 你的問題我不明白,提問也需要水平—— 至于有效的獲得別人的幫助,也是需要技巧的。提問也需要水平,比如,提問題要問一個(gè)點(diǎn),不要問一個(gè)面。比如你問:如何修改歷史筆的顏色。其實(shí)這種問題你應(yīng)該自己查幫助文件,但我還是會(huì)告訴你相關(guān)的屬性是什么。因?yàn)橹恍枰卮鹨痪湓挕6绻銌栁遥喝绾问褂脠D表。我也能回答你一句話:去看電子書吧。如果我不這樣回答,我就只好當(dāng)著你的面寫出一篇關(guān)于圖表的教程,那我不是有病嗎。還有就是語言表達(dá)能力,我經(jīng)常遇到這種情況:一個(gè)朋友提出一個(gè)問題,我實(shí)在不能確判斷到底出了什么情況,只好反過來問他好幾個(gè)問題,然后再把他的回答總結(jié)成一段文字,讓他確認(rèn),他說沒錯(cuò),就是這個(gè)問題。為什么不能一開始就寫出這樣一段清晰明了的表述呢?很明顯,這個(gè)人的語言表達(dá)能力太差,不懂得如何把一件事情原原本本從頭到尾的講個(gè)明白。有時(shí),我看到一個(gè)不明所以的問題,甚至不愿意去管,因?yàn)槲覒械脼榱酥浪降自趩柺裁矗磫査畟€(gè)問題。還有一種類似的情況,比如,有人問:我的ifix和PLC接不通是怎么回事?我真想說,鬼才知道呢!你用的什么PLC、什么驅(qū)動(dòng)、如何配置的、你都做過什么測試,通訊不成功在各環(huán)節(jié)上的現(xiàn)象……等等一系列問題,你不說出來,別人怎么猜得到?不了解這些基本情況如何幫你判斷?想幫助你的人只好反過來向你詢問所有這些問題。也許不是表達(dá)能力的問題,而是因?yàn)閼小D銘校褎e人累死!希望大家在這方面多做鍛煉提高。 免費(fèi)家教—— 其實(shí),不用上網(wǎng),不用打電話,你手里就有一個(gè)現(xiàn)成的老師,那就是ifix提供的演示系統(tǒng),它是一個(gè)非常好的工程樣板,把它研究透徹,你就一定是高手了。如果演示系統(tǒng)未研究明白,其他高手做的、比演示系統(tǒng)還要復(fù)雜、**的工程你也沒必要去看,你也根本看不懂。那么什么時(shí)候開始研究它呢?從一開始!當(dāng)然你不可能一上來就把演示系統(tǒng)完全看懂,但隨著學(xué)習(xí)的深入,你會(huì)越來越有收獲。*初你只需要看一看它的動(dòng)畫效果是如何實(shí)現(xiàn)的,當(dāng)你編程水平提高以后,你就可以研究一下那些靈活的**功能是如何編寫的,*后你還可以學(xué)習(xí)功能劃分、畫面布局等設(shè)計(jì)方面的思想。一定要循序漸進(jìn),一步一個(gè)腳印,捷徑是**不存在的(花大價(jià)錢顧一個(gè)全能型家教,手把手的教你一年,勉強(qiáng)可以算是一種捷徑)。 尾聲: 這七步曲算是演奏完了,但有些話還要說一下。首先,邊學(xué)邊練是必須的,實(shí)際動(dòng)手,會(huì)有助于理解并加深印象。再有,不管你是不是想要達(dá)到登峰造極的境界,在學(xué)習(xí)上超前一些,總是有好處的,不要太懶,這點(diǎn)很重要。用不到的先不學(xué),用到了臨時(shí)再學(xué)。這似乎是大家的共性,我也不例外,但這其中也是又區(qū)別的。比如你平時(shí)根本不用ifix,所以根本不學(xué),突然有客戶要求你用,你只好現(xiàn)上轎現(xiàn)扎耳朵眼,開始攻關(guān)。這很正常。但是如果你平時(shí)就使用ifix,但是對于沒有用到過的功能一概不聞不問,就是非常錯(cuò)誤的,等到有**你必須用了,才去研究,自然會(huì)感覺時(shí)間緊張,如果研究毫無進(jìn)展,你只好向別人求助,有人能幫你,那算你命好,如果沒有呢?說服客戶去掉這個(gè)功能?還是等著客戶罵老板、老板再罵你?你怎么選擇是你的事,但可以肯定,沒有一種結(jié)果是令你開心的。與其如此,不如平時(shí)多看看資料、多研究研究,至少大概了解一下ifix這個(gè)工具能做什么、怎么去做,這種研究不需要很精深,但至少要留一個(gè)大概印象。一旦遇到著需求,能迅速找到解決的途徑,結(jié)果是你、老板、客戶全都好,何樂而不為呢? 本想簡單說幾句的,沒想到寫了這么長,還真挺累的。如果你覺得這篇文章對你很有幫助,那么就找機(jī)會(huì)請我喝一杯吧。 雖然已經(jīng)說了不少,但還有種言尤未盡的感覺,如果有哪位朋友想指正或補(bǔ)充的,請留言。大家共同把這篇東西完善一下。還有,文章的題目起的不是很好,開始想叫《ifix學(xué)習(xí)寶典》比較有氣派,可是一看見“寶典”倆字兒,我就總想起那個(gè)需要把雞雞割掉才能練的《葵花寶典》,不吉利,不用了。換成《學(xué)習(xí)指南》吧,又太土;現(xiàn)在這個(gè)也不好,但總算醒目明了,湊合了吧,誰有更好的,我換一個(gè)。上一篇:ifix工程開發(fā)流程 下一篇:IFIX的優(yōu)點(diǎn)