王超,張立平,王愛震
(天津賽象科技股份有限公司,天津 300384)
基于HMI Advanced的纏繞機(jī)上位軟件開發(fā)
Upper software development of the spiral windar based on HMI Advanced
王超,張立平,王愛震
(天津賽象科技股份有限公司,天津 300384)
介紹了HMI Advanced軟件在纏繞機(jī)上的應(yīng)用。包括HMI Advanced程序開發(fā)環(huán)境,規(guī)劃畫面功能,生成動(dòng)態(tài)鏈接庫,使用Visual Basic軟件開發(fā)應(yīng)用程序,HMI與PLC通訊方式,設(shè)定程序入口等等。該軟件的應(yīng)用降低了操作難度,提高了數(shù)據(jù)傳輸速度。
纏繞機(jī);西門子;數(shù)控系統(tǒng) ;HMI Advanced;Visual Basic
過去的纏繞機(jī)一般都使用LABVIEW作為人機(jī)接口,與PLC進(jìn)行通訊。這種軟件通用性強(qiáng),運(yùn)算速度快,底層代碼完全開放,所以便于設(shè)計(jì)人員進(jìn)行設(shè)計(jì)調(diào)試。由于纏繞機(jī)最核心的纏貼機(jī)頭結(jié)構(gòu)是4軸聯(lián)動(dòng)系統(tǒng)(膠條輸送軸、橫移X軸、縱移Y軸、旋轉(zhuǎn)Z軸),見圖1。為提高四軸系統(tǒng)的聯(lián)動(dòng)精度和穩(wěn)定性,控制系統(tǒng)由普通的PLC系統(tǒng),提升為控制精度更高和相應(yīng)頻率更快的西門子數(shù)控系統(tǒng)840D sl。如果PLC采用西門子的數(shù)控,問題就出現(xiàn)了。原本的上位軟件并不能直接對(duì)數(shù)控文件進(jìn)行處理,只能針對(duì)PLC的普通數(shù)字量、模擬量進(jìn)行通訊。這樣在上位工控機(jī)中,就必須同時(shí)安裝labview 和 HMI Advanced 才能實(shí)現(xiàn)功能?,F(xiàn)場(chǎng)操作人員在操作時(shí),也會(huì)覺得2個(gè)軟件來回切換非常麻煩。效率低,而且容易出現(xiàn)誤操作,導(dǎo)致數(shù)控加工文件丟失。西門子的HMI Advanced軟件,本身具備了和數(shù)控CPU進(jìn)行通訊的功能,而且又是可以通過高級(jí)語言編程進(jìn)行開發(fā)。所以本文主要講解如何使用Visual Basic規(guī)劃設(shè)計(jì)HMI Advanced 實(shí)現(xiàn)上位機(jī)與數(shù)控CPU的無縫連接。
我國數(shù)控系統(tǒng)雖然取得了較大的發(fā)展,但是我國高檔數(shù)控機(jī)床配套的數(shù)控系統(tǒng)90%以上都是國外產(chǎn)品,特別是對(duì)于國防工業(yè)繼續(xù)的高檔數(shù)控機(jī)床,高檔數(shù)控系統(tǒng)是決定機(jī)床裝備的性能、功能、可靠性和成本的關(guān)鍵因素。而國外對(duì)我國至今仍進(jìn)行封鎖限制,成為制約我國高檔數(shù)控機(jī)床發(fā)展的瓶頸。
在本文中提到的西門子840D sl系統(tǒng),就是數(shù)控系統(tǒng)中最先進(jìn)的系統(tǒng)之一,其編程方式跟其他的系統(tǒng)有點(diǎn)差別。一般旋轉(zhuǎn)編程以及角度偏移都跟其他的系統(tǒng)不一樣。
(1)硬件要求
標(biāo)準(zhǔn)PC(英文 Windows XP SP2 以上);PCU50 / PCU50.3 : Windows XP SP2。
(2) 軟件要求
PCU50 / PCU50.3;
Visual Basic VB6 / VC6;
Visual C++ 用于編譯文本DLL;
HMI Programming Package。
(1) 操作畫面主要包含以下幾個(gè)內(nèi)容,見表1。
表1 操作畫面包含內(nèi)容
(2) 畫面之間的調(diào)用關(guān)系規(guī)劃
主界面可調(diào)用:OEM1 / OEM4 / OEM5 / OEM6 / OEM7 / OEM8。
配方列表可調(diào)用:OEM2。
配方編輯可調(diào)用:OEM3。
(1) 在840D sl 上使用HMI Advanced開發(fā)用戶界面時(shí),其中用于描述畫面結(jié)構(gòu)及調(diào)用關(guān)系的文件zus、mdi等文件,如果采用記事本等編寫比較繁瑣,不宜閱讀。因此Screen Designer軟件的出現(xiàn),可以方便快捷直觀的對(duì)畫面結(jié)構(gòu)進(jìn)行設(shè)計(jì)。
(2) 新建一個(gè)項(xiàng)目,根據(jù)之前的規(guī)劃給每一個(gè)界面分別賦予一個(gè)編號(hào),在編輯界面上方輸入該State編號(hào),見圖2。
圖2 畫面設(shè)計(jì)軟件
(3) 每一個(gè)畫面都包含8個(gè)水平軟鍵和8個(gè)垂直軟鍵。這些軟件有2種功能,一是可以進(jìn)行界面的跳轉(zhuǎn),二是可以當(dāng)成按鈕,提供返回值。
(4) 把VB項(xiàng)目中指定的FORM嵌入到當(dāng)前的SCREEN中去。
(5) 設(shè)置每一個(gè)畫面的軟鍵標(biāo)題文字和點(diǎn)擊軟鍵觸發(fā)的返回值,區(qū)分大小寫。
(6) 當(dāng)所有的畫面設(shè)計(jì)完畢之后,就可以保存項(xiàng)目并生成相關(guān)的文件了。
(1) 通過VC創(chuàng)建OEM Programming package 界面的文本顯示DLL文件。
(2) 創(chuàng)建一個(gè)MFC AppWizard (dll) 。
(3) 選擇創(chuàng)建DDL類型時(shí),選擇Regular DLL using shared MFC DLL。
(4) 在項(xiàng)目中,#Endif 語句后面添加下述指令:#include “example1_.rc” 指定文本語言切換文件。
(5) 編譯文件,生成語言動(dòng)態(tài)鏈接庫文件,然后將該文件放在指定位置。
(1) Visual Basic是一種由Microsoft公司開發(fā)的結(jié)構(gòu)化、模塊化、面向?qū)ο蟮?,包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)為機(jī)制的可視化程序設(shè)計(jì)語言。從任何標(biāo)準(zhǔn)來說,VB都是世界上使用人數(shù)最多的一種語言。VB擁有圖形用戶界面GUI和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO / RDO / ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。
(2) 打開Visual Basic針對(duì)每一個(gè)畫面分別新建一個(gè)窗體,見圖3。
(3) 在窗體中可以添加控件、編寫代碼,實(shí)現(xiàn)邏輯功能。
圖3 Visual Basic開發(fā)界面
(1) 數(shù)控CPU與HMI Advanced之間的通訊一般是通過OPC或者Sinumerik-COM來實(shí)現(xiàn)的。為了保證兼容性,這種訪問通常是采用DCDDE服務(wù)器來實(shí)現(xiàn)連接,見圖4。組態(tài)NCDDE服務(wù)器初始文件,可以讓系統(tǒng)去匹配特殊的開發(fā)環(huán)境。Windows操作系統(tǒng)支持動(dòng)態(tài)數(shù)據(jù)交換(DDE)。
圖 4 數(shù)控CPU與HMI的通訊結(jié)構(gòu)
(2) 與Visual Basic建立一個(gè)DDE連接,連接的媒介只有三種,Label 、textbox 、picture 。
(3) 只讀模式,LinkMode = 1 ,實(shí)時(shí)連接,常用于一些狀態(tài)顯示的例子。
(4) 可讀可寫模式LinkMode = 2 ,結(jié)合Link Request和Link Poke來確定是讀或者寫。
(5) 只讀模式LinkMode = 3 ,僅僅在NC和PLC終端數(shù)據(jù)發(fā)生變化時(shí),才將數(shù)據(jù)發(fā)送到HMI上。
(6) 以纏繞重量的數(shù)據(jù)傳遞舉例,見例程:
Rem Winding Weight hot link : The address in PLC is DB622.DBD56 ; The Address in HMI Advance is Text_main(2)
T e x t_m a i n(2).L i n k T o p i c = g_ chNCDDEServiceName
Text_main(2).LinkItem = " / PLC / DataBlock / Float [c622,14] "
Text_main(2).LinkMode = 1
(1) Regie文件是控制程序文件,它負(fù)責(zé)管理:輔助程序(基本模塊)、區(qū)域應(yīng)用程序(Area application)、動(dòng)態(tài)鏈接庫和VBX文件
(2) Regie文件進(jìn)行區(qū)域應(yīng)用程序管理用到下列文件:
REGIE.INI文 件、REGIE.DLL文 件、REGIE-language.ini(e.g. RE_UK.INI) 文件、ORMFRAME. INI文件、MMC.INI文件。
(3) Regie.ini文件的組成
表2 Regie.ini文件組成
通過膠條形狀與外輪廓的計(jì)算后,HMI Advance會(huì)自動(dòng)計(jì)算出,4軸電機(jī)的運(yùn)動(dòng)軌跡和相應(yīng)的插補(bǔ)點(diǎn)坐標(biāo)。將該坐標(biāo)轉(zhuǎn)換后,并且生成數(shù)控加工文件MPF文件,最后通過PI服務(wù)器的功能可以對(duì)該文件加載到數(shù)控CPU當(dāng)中,例程如下:
Sub Mpf_File_Arrange()
Dim trans As String
FileCopy " C: Strip Machine 2D recipecurrent load recipemotion.mpf", "C: Siemens Sinumerik HMI-Advanced dhmpf.dirmotion.mpf"
Labela.LinkTopic = g_chNCDDEServiceName
Labela.LinkMode = 2
Labela.LinkExecute "COPY_TO_NC(C: SiemensSinumerikHMI-Advanced dh mpf. dir motion.mpf, /NC/_N_MPFDIR/_N_motion_MPF,trans)"
End Sub
(1) HMI Advanced軟件和其他的上位軟件一樣,也擁有報(bào)警功能,但HMI Advanced的報(bào)警功能更完善。他擁有一個(gè)報(bào)警功能的控制體系,針對(duì)不同的報(bào)警等級(jí)和報(bào)警類型會(huì)有相應(yīng)的分類。
(2) 在HMI Advanced軟件中,報(bào)警和事件服務(wù)器會(huì)通過COM接口提供當(dāng)前系統(tǒng)的報(bào)警信息。為了保證兼容性,訪問報(bào)警服務(wù)器(mbdde.exe)也需要通過DDE才行,見圖5。
圖5 報(bào)警通訊模塊結(jié)構(gòu)
(3) 系統(tǒng)提供的報(bào)警信息都包含:數(shù)控內(nèi)容報(bào)警、驅(qū)動(dòng)器報(bào)警、程序循環(huán)報(bào)警、PLC報(bào)警、HMI報(bào)警。
(4) 報(bào)警信息文件的管理
將 “myplc_uk.com”放 置 在: C: Siemens Sinumerik HMI-Advanced dh mb.dir 下面。
在路徑C: Siemens Sinumerik HMI-Advanced mmc2下面,找到mbdde.ini文件,打開進(jìn)行修改。找到USERPLC行,在后面添加上述報(bào)警文件的路徑。
報(bào)警觸發(fā)。從DB2.DBB180.0開始,對(duì)應(yīng) 第70000號(hào) 報(bào)警信息。以此類推。支持至少2000多個(gè)報(bào)警。
報(bào)警號(hào)70000 ~ 70031為紅色報(bào)警,70032 ~ 70063為黑色報(bào)警,以此類推。每32個(gè)報(bào)警為一組,顏色則為紅、黑交替。
(5) 報(bào)警信息例程
Sub Form_Load ( )
Label1.LinkTopic = ”mbdde |alarm”
Label1.LinkMode = 2
Label1.LinkExecute ”Alarm Free (test )”
End Sub
界面簡潔易于入手,參數(shù)設(shè)定及設(shè)備監(jiān)控?cái)?shù)據(jù)功能全面。
界面效果圖見圖6、圖7。
圖6 HMI Advanced 主界面
圖7 HMI Advanced 仿真界面
通過開發(fā)HMI Advanced軟件,實(shí)現(xiàn)上位機(jī)功能的完善與統(tǒng)一,降低了操作難度,提高了數(shù)據(jù)傳輸速度,也保證了穩(wěn)定性。作為數(shù)控領(lǐng)域最先進(jìn)的系統(tǒng)之一,如何保證數(shù)控系統(tǒng)高速穩(wěn)定的運(yùn)行,上位軟件的提升也是給予了一定的保障。由于HMI Advanced的開放性,可通過Visual Basic的軟件的開發(fā),也使其性能得到深度的開發(fā)和釋放。
(R-01)
TQ330.493
1009-797X(2016)07-0042-04
B
10.13520/j.cnki.rpte.2016.07.011
王超(1987-),男,畢業(yè)于天津科技大學(xué)電氣工程及其自動(dòng)化專業(yè),2010年7月畢業(yè)至今,在天津賽象科技股份有限公司技術(shù)中心工作,主要負(fù)責(zé)橡膠機(jī)械設(shè)備電氣設(shè)計(jì)及調(diào)試工作
2016-01-25