徐清華 周炳蘭 葉瑋 洪超 袁樹紅/文
工業自動化控制中變量表生成軟件的開發
徐清華 周炳蘭 葉瑋 洪超 袁樹紅/文
本文闡述了當前工業自動化控制領域內,電氣控制程序和現場監控畫面開發過程中變量表編制方式以及該方式存在的弊端;介紹了基于該現狀開發的變量表自動生成軟件及其軟件功能、開發環境、開發語言以及開發過程;基于實際測試采集數據并繪制散點圖,對散點圖進行分析,得出該軟件功能高效性、可行性和經濟性的結論。
工業自動化、變量表、C#、計算機輔助設計、監控畫面
在工業自動化控制領域內,尤其對于大型智能系統,電氣控制程序開發時,成百上千個變量表的編制是一個工作量大、耗時比較長、工作繁瑣的工程。變量表也經常因為程序開發人員的筆誤和疏忽導致地址或者符號名錯誤,給后期程序開發工作帶來諸多不便,無形中也延長了項目開發周期,增加了程序設計和監控畫面開發成本。
本文介紹的變量表自動生成軟件(ATCS)基于上述問題而開發,為程序開發人員提供了很多便利,不但解決了電控程序變量表編寫繁瑣的問題,也為目前幾款應用比較廣泛的現場監控軟件在進行現場操作員終端開發時提供變量表生成服務,能夠有效減小程序和畫面開發的工作量,縮短開發周期并降低成本。
圖1為ATCS軟件操作界面,由六個操作按鈕和五個輸入框組成,界面簡潔直觀便于操作。按鈕功能介紹如下:
1.源Excel文件:輸入來自電路圖設計軟件導出的符號表;
2.源文件工作表:用于選擇要轉換的符號表所在工作表;
3.目標文件位置:用于選擇生成變量表存放位置,設置該功能是為了滿足同時生成編程軟件和監控軟件使用變量的需要;
4.目標文件類型:用于選擇需要生成的變量表類型,其中包括:Portal、Step7、Intouch和Flexible四個選項。項目代號用于在生成Intouch和Flexible變量表時填入項目代號,該功能由Intouch和Flexible軟件導入變量格式決定;
5.查看導出文件:為便于用戶快速找到已生成變量表,軟件設置了“查看導出文件”按鈕,點擊按鈕后將打開已生成變量表所在文件夾。
為便于用戶使用,該軟件創建了幫助和關于兩個功能,用于提供軟件使用幫助和簡介軟件功能,如圖2和圖3。
ATCS軟件采用C#計算機編程語言開發。C#是微軟公司發布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。開發平臺采用美國微軟公司開發的Windows平臺應用程序Visual Studio 2013。
生成變量之前,軟件首先根據用戶選擇的“目標文件類型”在新建表格中寫入變量表基礎數據,各種開發軟件的導入數據格式不同,必須根據各自的格式寫入基礎數據。基礎數據寫入完成后開始解析源文件中的符號標志位,判斷當前符號為輸入變量還是輸出變量、所屬子站箱編號以及在該子站箱中位置屬于上層或下層IO模塊等信息。最后,根據以上信息結合預置計算公式計算出變量的輸入輸出地址,并寫入到目標文件相應的位置。
由于ATCS軟件的源文件來自電路圖設計軟件,因此,使用該軟件時須保證電路圖設計軟件輸出的符號表中符號順序完全符合可編程控制器硬件配置輸入輸出模塊的順序,如果出現符號順序顛倒,該軟件將無法正確計算變量地址,此外,該軟件不具備判斷變量名稱是否重名的功能,對重名符號按正常符號進行地址生成。編程和監控畫面開發軟件要求所有變量不能重名;因此,須保證電路圖設計軟件輸出的符號表中的符號不重名。
為驗證軟件實際使用中的高效性、可靠性和可行性,對軟件進行功能測試,分別采集測試過程中生成不同數量變量的實際耗時。
測試過程分別生成編程軟件西門子Portal和Step7以及監控畫面開發軟件Intouch和Flexible四種軟件所需格式變量,生成的變量能夠通過直接導入或者粘貼復制的形式使用。將每種格式變量分成50、200、500、1000、2000、3000六種數量等級,每種軟件對應每個等級的變量做三組測試,采集每組測試實際耗時并求得平均值,最后針對平均值繪制數據散點圖。

圖1:ATCS軟件操作界面

圖2:幫助屏

圖3:簡介屏

圖4:Step7測試數據散點圖
表1為測試過程所采集數據,測試數據采用四舍五入法取小數點后兩位,單位為秒。為便于分析,將實測數據平均值根據不同的變量表需求分別繪制成較為直觀的散點圖,如圖4、圖5、圖6和圖7所示。圖中橫坐標表示測試變量數量(單位:個),縱坐標表示生成變量實際耗時(單位:秒)。
測試數據散點圖表明:
(1)隨著測試生成變量數量的不斷增加,所需時間也逐漸增加,時間與數量的變化趨于線性變化。

表1:實測數據
(2)無論是編程軟件還是監控開發軟件,40秒以內均能完成高達3000~3500個變量。
圖8為所有測試數據對比圖,測試結果表明:
(1)當變量數量在200個左右時,生成4種軟件所需格式的變量表消耗時間差距不大,均在5秒以內完成;
(2)變量數量相同時,耗費的時間由小到大順序為:Step7 < Portal (3)在相同的時間內,能生成的變量數量由小到大順序為:Intouch (4)生成4種軟件所需變量對應的散點圖線性比由小到大順序為:Step7< Portal < Flexible < Intouch,分析每種軟件導入變量格式得知,導致該現象的原因與各軟件導入單個變量所需輔助標志位以及導入表格初始化數據相關; (5)散點圖線性比越小,單位時間內生成的變量數量越多,生成變量的效率越高。 ATCS基于電路圖設計軟件導出的符號表,自動生成可導入西門子博途和Step7編程軟件以及監控畫面Intouch和Flexible的變量表。該軟件與目前采取人工編制變量表的方式相比,能夠高效、準確地生成所需的變量表,并將所有項目生成的變量地址格式進行統一,便于實現電控程序標準化開發和提高程序易讀性。該軟件生成變量表的高效性和準確性能夠很大程度縮短項目電控程序以及現場監控畫面開發周期,進而大大降低開發成本,達到降本增效的目的。 作者單位為昆明昆船物流信息產業有限公司 圖5:Portal測試數據散點 圖6: Intouch測試數據散點 圖7:Flexible測試數據散點圖 圖8:測試數據對比圖四、結論



