技術(shù)|易控 用戶程序C#編程——超越組態(tài)軟件
由于組態(tài)軟件用戶的監(jiān)控需求千變?nèi)f化,組態(tài)軟件用戶需要一種按照自己的意愿來(lái)實(shí)現(xiàn)某些特殊需求的方法和手段,一般是通過(guò)“腳本”功能。組態(tài)軟件的“腳本”功能是指通過(guò)其提供的一種嵌入到其自身內(nèi)部的簡(jiǎn)單編程語(yǔ)言實(shí)現(xiàn)基本的程序流程控制手段(比如條件語(yǔ)句)和可執(zhí)行指令。可執(zhí)行指令可以劃分為兩種類型:第一類指令是調(diào)用組態(tài)軟件功能的指令,如打開或關(guān)閉畫面,第二類指令是與組態(tài)軟件功能無(wú)關(guān)的命令,如運(yùn)算和文件操作等命令?!澳_本”極大地增強(qiáng)了組態(tài)軟件的靈活性,使組態(tài)軟件能夠去適應(yīng)不同行業(yè)、不同用戶的千變?nèi)f化的需求,讓用戶可以按照自己的意愿來(lái)編寫自己的邏輯和控制流程??梢哉f(shuō)“腳本”是組態(tài)軟件必不可少的重要功能。 組態(tài)軟件的“腳本”發(fā)展經(jīng)歷過(guò)了兩個(gè)階段。第一個(gè)階段是組態(tài)軟件廠商自己定義的類似高級(jí)語(yǔ)言,比如C和Basic等的一種簡(jiǎn)化腳本。為了更好滿足用戶需求,組態(tài)軟件廠商需要不斷擴(kuò)充第一類調(diào)用組態(tài)軟件功能的指令和第二類實(shí)現(xiàn)其它功能的指令。這一階段的腳本語(yǔ)言是完全由廠家自定義的語(yǔ)言、語(yǔ)法,是不通用的,非開放性的,用戶需要記住和不斷翻閱厚厚的指令手冊(cè)來(lái)編寫程序,而且無(wú)論廠家如何去擴(kuò)充其指令,特別是第二類實(shí)現(xiàn)其它一些通用功能的指令,總是有限的,不可能滿足需求復(fù)雜的組態(tài)軟件用戶的特別需求,目前國(guó)內(nèi)大部分組態(tài)軟件和一部分國(guó)外組態(tài)軟件都采用這一“腳本”方式。正是基于這一點(diǎn),國(guó)外一些大的組態(tài)軟件廠商采用了一些通用的腳本語(yǔ)言作為自己的腳本語(yǔ)言,比如VBA,javascript等,這些通用腳本提供的功能相對(duì)自定義腳本來(lái)說(shuō)要強(qiáng)得多,這也是目前主流組態(tài)軟件的做法,屬于“腳本”發(fā)展的第二個(gè)階段?! ? 但隨著信息技術(shù)的發(fā)展,用戶對(duì)“腳本”的需求越來(lái)越高,有些用戶覺得一些通用腳本語(yǔ)言提供的功能還不夠強(qiáng)大。不管是用自定義腳本語(yǔ)言還是通用腳本語(yǔ)言所編寫的腳本程序,它們都是在工程運(yùn)行時(shí)解釋執(zhí)行,比直接編譯成計(jì)算機(jī)可執(zhí)行代碼的編譯性語(yǔ)言效率要低很多,因此都存在功能不夠強(qiáng)大、速度慢等一些不足。 為了彌補(bǔ)以上不足,組態(tài)軟件的最新的發(fā)展就是直接嵌入功能強(qiáng)大的標(biāo)準(zhǔn)高級(jí)語(yǔ)言,并在工程運(yùn)行前,直接將用戶編寫的“腳本”程序,編譯成計(jì)算機(jī)可以執(zhí)行的代碼,將“腳本”程序執(zhí)行的解釋過(guò)程在運(yùn)行之前進(jìn)行,從而提高“腳本”程序的執(zhí)行效率。因此,新的“腳本”程序,已經(jīng)在逐漸脫離“腳本”的定義(注:“腳本”語(yǔ)言的定義就是在運(yùn)行時(shí)需要另外一個(gè)程序來(lái)解釋執(zhí)行,而不是像其它高級(jí)語(yǔ)言程序一樣,直接被編譯成計(jì)算機(jī)處理器可執(zhí)行的代碼的一類高級(jí)語(yǔ)言)。這也可以定義為“腳本”發(fā)展的第三個(gè)階段?! ? 正是基于以上原因,內(nèi)嵌微軟最新高級(jí)語(yǔ)言C#,并可將用戶編寫的代碼直接編譯為計(jì)算機(jī)可執(zhí)行代碼的易控(INSPEC)組態(tài)軟件,不再使用“腳本語(yǔ)言”/“腳本程序”的概念,而是給出了一個(gè)全新的概念- “用戶程序”。即用戶可以在易控中編寫自己的真正的計(jì)算機(jī)程序。 C#是一種為Microsoft全新的.net平臺(tái)開發(fā)而專門設(shè)計(jì)的程序設(shè)計(jì)語(yǔ)言,它優(yōu)雅、簡(jiǎn)單、安全、性能高、面向?qū)ο?。其語(yǔ)法風(fēng)格源自C/C++家族,融合了Visual Basic的高效和C/C++的強(qiáng)大。其優(yōu)雅的語(yǔ)法風(fēng)格,創(chuàng)新的語(yǔ)言特性,快速實(shí)現(xiàn)應(yīng)用程序開發(fā),深受世界各地程序員的好評(píng)和喜愛?! ? “易控(INSPEC)”是國(guó)內(nèi)迄今唯一將C#語(yǔ)言嵌入到自己產(chǎn)品中的組態(tài)軟件,易控除了提供訪問(wèn)其本身功能所必須的“方法”(注:在面向?qū)ο髸r(shí)代,“方法”是對(duì)傳統(tǒng)“指令”或“命令”或“函數(shù)”的新稱謂)外,用戶可以使用標(biāo)準(zhǔn)C#語(yǔ)言提供的所有功能,使用.net Framework提供的數(shù)以千計(jì)的龐大類庫(kù),以及第三方軟件提供商提供的類庫(kù),即大量已經(jīng)被其它廠家編寫完成并經(jīng)過(guò)其它用戶使用的代碼都可以直接使用,從而使用戶在有特別需求的情況下,可以利用這些成熟代碼來(lái)編程實(shí)現(xiàn),并將自己的程序嵌入到易控(INSPEC)中運(yùn)行。同時(shí)也為九思易自身幫助用戶定制特殊功能掃清了障礙。實(shí)際上,易控的功能擴(kuò)充是沒(méi)有限制的?! ? C#語(yǔ)言是徹底的面向?qū)ο笳Z(yǔ)言,與目前組態(tài)軟件中的腳本語(yǔ)言,甚至和許多其它高級(jí)語(yǔ)言相比,程序結(jié)構(gòu)都更為清晰,便于維護(hù)。簡(jiǎn)潔、高效、優(yōu)雅以及其開放性,決定了它將是未來(lái)IT業(yè)的主流編程語(yǔ)言。 為了避免因?yàn)楣δ艿臄U(kuò)充而造成用戶編寫程序困難,易控(INSPEC)大量地采用了可視化編程等等精心的人性化設(shè)計(jì),用戶程序代碼編輯器提供了工程命令、用戶程序可以引用的工程對(duì)象、關(guān)鍵字和運(yùn)算符等窗口用于可視化選擇,代碼的不同部分采用不同顏色顯示,提供智能感知,自動(dòng)提示用戶可選的方法(命令)和屬性,導(dǎo)入和導(dǎo)出,語(yǔ)法檢查、錯(cuò)誤提示等等,極大簡(jiǎn)化了開發(fā)用戶程序的難度,盡可能讓用戶更多關(guān)注其所要解決的問(wèn)題,而不是語(yǔ)言本身?! ? “易控(INSPEC)”還對(duì)用戶最可能開發(fā)的用戶程序,不同的用戶程序片段進(jìn)行了非常好的組織管理,比如按照用戶程序執(zhí)行的觸發(fā)條件來(lái)進(jìn)行組織,結(jié)構(gòu)清晰,同時(shí)簡(jiǎn)化了對(duì)用戶程序的管理工作?! 耙卓?INSPEC)”的C#用戶程序,是用戶擴(kuò)展監(jiān)控系統(tǒng)功能的強(qiáng)大工具,將為用戶實(shí)現(xiàn)特殊效果和功能,創(chuàng)造前所未有的條件,特別是高級(jí)用戶,將能隨心所欲如虎添翼地編制各種強(qiáng)大的邏輯、動(dòng)畫、算法和操作等功能,同時(shí)可以用更精簡(jiǎn)的代碼實(shí)現(xiàn)需要大量代碼的傳統(tǒng)腳本程序??傊?,“易控(INSPEC)”的C#用戶程序?qū)橛脩魩?lái)前所未有的超越組態(tài)軟件的體驗(yàn)。
我要收藏
個(gè)贊
評(píng)論排行