徐清華 周炳蘭 葉瑋 洪超 袁樹紅/文
工業(yè)自動化控制中變量表生成軟件的開發(fā)
徐清華 周炳蘭 葉瑋 洪超 袁樹紅/文
本文闡述了當(dāng)前工業(yè)自動化控制領(lǐng)域內(nèi),電氣控制程序和現(xiàn)場監(jiān)控畫面開發(fā)過程中變量表編制方式以及該方式存在的弊端;介紹了基于該現(xiàn)狀開發(fā)的變量表自動生成軟件及其軟件功能、開發(fā)環(huán)境、開發(fā)語言以及開發(fā)過程;基于實際測試采集數(shù)據(jù)并繪制散點圖,對散點圖進(jìn)行分析,得出該軟件功能高效性、可行性和經(jīng)濟(jì)性的結(jié)論。
工業(yè)自動化、變量表、C#、計算機(jī)輔助設(shè)計、監(jiān)控畫面
在工業(yè)自動化控制領(lǐng)域內(nèi),尤其對于大型智能系統(tǒng),電氣控制程序開發(fā)時,成百上千個變量表的編制是一個工作量大、耗時比較長、工作繁瑣的工程。變量表也經(jīng)常因為程序開發(fā)人員的筆誤和疏忽導(dǎo)致地址或者符號名錯誤,給后期程序開發(fā)工作帶來諸多不便,無形中也延長了項目開發(fā)周期,增加了程序設(shè)計和監(jiān)控畫面開發(fā)成本。
本文介紹的變量表自動生成軟件(ATCS)基于上述問題而開發(fā),為程序開發(fā)人員提供了很多便利,不但解決了電控程序變量表編寫繁瑣的問題,也為目前幾款應(yīng)用比較廣泛的現(xiàn)場監(jiān)控軟件在進(jìn)行現(xiàn)場操作員終端開發(fā)時提供變量表生成服務(wù),能夠有效減小程序和畫面開發(fā)的工作量,縮短開發(fā)周期并降低成本。
圖1為ATCS軟件操作界面,由六個操作按鈕和五個輸入框組成,界面簡潔直觀便于操作。按鈕功能介紹如下:
1.源Excel文件:輸入來自電路圖設(shè)計軟件導(dǎo)出的符號表;
2.源文件工作表:用于選擇要轉(zhuǎn)換的符號表所在工作表;
3.目標(biāo)文件位置:用于選擇生成變量表存放位置,設(shè)置該功能是為了滿足同時生成編程軟件和監(jiān)控軟件使用變量的需要;
4.目標(biāo)文件類型:用于選擇需要生成的變量表類型,其中包括:Portal、Step7、Intouch和Flexible四個選項。項目代號用于在生成Intouch和Flexible變量表時填入項目代號,該功能由Intouch和Flexible軟件導(dǎo)入變量格式?jīng)Q定;
5.查看導(dǎo)出文件:為便于用戶快速找到已生成變量表,軟件設(shè)置了“查看導(dǎo)出文件”按鈕,點擊按鈕后將打開已生成變量表所在文件夾。
為便于用戶使用,該軟件創(chuàng)建了幫助和關(guān)于兩個功能,用于提供軟件使用幫助和簡介軟件功能,如圖2和圖3。
ATCS軟件采用C#計算機(jī)編程語言開發(fā)。C#是微軟公司發(fā)布的一種面向?qū)ο蟮摹⑦\行于.NET Framework之上的高級程序設(shè)計語言。開發(fā)平臺采用美國微軟公司開發(fā)的Windows平臺應(yīng)用程序Visual Studio 2013。
生成變量之前,軟件首先根據(jù)用戶選擇的“目標(biāo)文件類型”在新建表格中寫入變量表基礎(chǔ)數(shù)據(jù),各種開發(fā)軟件的導(dǎo)入數(shù)據(jù)格式不同,必須根據(jù)各自的格式寫入基礎(chǔ)數(shù)據(jù)?;A(chǔ)數(shù)據(jù)寫入完成后開始解析源文件中的符號標(biāo)志位,判斷當(dāng)前符號為輸入變量還是輸出變量、所屬子站箱編號以及在該子站箱中位置屬于上層或下層IO模塊等信息。最后,根據(jù)以上信息結(jié)合預(yù)置計算公式計算出變量的輸入輸出地址,并寫入到目標(biāo)文件相應(yīng)的位置。
由于ATCS軟件的源文件來自電路圖設(shè)計軟件,因此,使用該軟件時須保證電路圖設(shè)計軟件輸出的符號表中符號順序完全符合可編程控制器硬件配置輸入輸出模塊的順序,如果出現(xiàn)符號順序顛倒,該軟件將無法正確計算變量地址,此外,該軟件不具備判斷變量名稱是否重名的功能,對重名符號按正常符號進(jìn)行地址生成。編程和監(jiān)控畫面開發(fā)軟件要求所有變量不能重名;因此,須保證電路圖設(shè)計軟件輸出的符號表中的符號不重名。
為驗證軟件實際使用中的高效性、可靠性和可行性,對軟件進(jìn)行功能測試,分別采集測試過程中生成不同數(shù)量變量的實際耗時。
測試過程分別生成編程軟件西門子Portal和Step7以及監(jiān)控畫面開發(fā)軟件Intouch和Flexible四種軟件所需格式變量,生成的變量能夠通過直接導(dǎo)入或者粘貼復(fù)制的形式使用。將每種格式變量分成50、200、500、1000、2000、3000六種數(shù)量等級,每種軟件對應(yīng)每個等級的變量做三組測試,采集每組測試實際耗時并求得平均值,最后針對平均值繪制數(shù)據(jù)散點圖。
圖1:ATCS軟件操作界面
圖2:幫助屏
圖3:簡介屏
圖4:Step7測試數(shù)據(jù)散點圖
表1為測試過程所采集數(shù)據(jù),測試數(shù)據(jù)采用四舍五入法取小數(shù)點后兩位,單位為秒。為便于分析,將實測數(shù)據(jù)平均值根據(jù)不同的變量表需求分別繪制成較為直觀的散點圖,如圖4、圖5、圖6和圖7所示。圖中橫坐標(biāo)表示測試變量數(shù)量(單位:個),縱坐標(biāo)表示生成變量實際耗時(單位:秒)。
測試數(shù)據(jù)散點圖表明:
(1)隨著測試生成變量數(shù)量的不斷增加,所需時間也逐漸增加,時間與數(shù)量的變化趨于線性變化。
表1:實測數(shù)據(jù)
(2)無論是編程軟件還是監(jiān)控開發(fā)軟件,40秒以內(nèi)均能完成高達(dá)3000~3500個變量。
圖8為所有測試數(shù)據(jù)對比圖,測試結(jié)果表明:
(1)當(dāng)變量數(shù)量在200個左右時,生成4種軟件所需格式的變量表消耗時間差距不大,均在5秒以內(nèi)完成;
(2)變量數(shù)量相同時,耗費的時間由小到大順序為:Step7 < Portal (3)在相同的時間內(nèi),能生成的變量數(shù)量由小到大順序為:Intouch (4)生成4種軟件所需變量對應(yīng)的散點圖線性比由小到大順序為:Step7< Portal < Flexible < Intouch,分析每種軟件導(dǎo)入變量格式得知,導(dǎo)致該現(xiàn)象的原因與各軟件導(dǎo)入單個變量所需輔助標(biāo)志位以及導(dǎo)入表格初始化數(shù)據(jù)相關(guān); (5)散點圖線性比越小,單位時間內(nèi)生成的變量數(shù)量越多,生成變量的效率越高。 ATCS基于電路圖設(shè)計軟件導(dǎo)出的符號表,自動生成可導(dǎo)入西門子博途和Step7編程軟件以及監(jiān)控畫面Intouch和Flexible的變量表。該軟件與目前采取人工編制變量表的方式相比,能夠高效、準(zhǔn)確地生成所需的變量表,并將所有項目生成的變量地址格式進(jìn)行統(tǒng)一,便于實現(xiàn)電控程序標(biāo)準(zhǔn)化開發(fā)和提高程序易讀性。該軟件生成變量表的高效性和準(zhǔn)確性能夠很大程度縮短項目電控程序以及現(xiàn)場監(jiān)控畫面開發(fā)周期,進(jìn)而大大降低開發(fā)成本,達(dá)到降本增效的目的。 作者單位為昆明昆船物流信息產(chǎn)業(yè)有限公司 圖5:Portal測試數(shù)據(jù)散點 圖6: Intouch測試數(shù)據(jù)散點 圖7:Flexible測試數(shù)據(jù)散點圖 圖8:測試數(shù)據(jù)對比圖四、結(jié)論