通過(guò)人機(jī)界面實(shí)現(xiàn)伺服壓裝深度的在線修改
點(diǎn)擊:1603
A+ A-
所屬頻道:新聞中心
1. 引言
壓裝深度一直是伺服壓裝設(shè)備的技術(shù)關(guān)鍵,設(shè)置固定的壓裝深度不能滿足所有壓裝的工藝和質(zhì)量要求,經(jīng)常需要頻繁調(diào)整和修改。而一般的壓床沒(méi)有設(shè)置調(diào)整導(dǎo)管的壓裝深度的人機(jī)界面。當(dāng)壓裝深度不滿足工藝要求時(shí),只能通過(guò)編程器與611U數(shù)控聯(lián)機(jī)才能修改數(shù)控壓裝參數(shù)。一是這種方法操作難度較大,時(shí)間長(zhǎng),同時(shí)需要專業(yè)的自動(dòng)化工程師來(lái)操作修改;二是修改值不能直接反應(yīng)到人機(jī)界面上,有極大的質(zhì)量風(fēng)險(xiǎn)。為了更方便的在最短時(shí)間內(nèi)完成深度調(diào)整工作,在操作面板上開發(fā)增加一個(gè)壓裝深度調(diào)整界面,實(shí)現(xiàn)在人機(jī)界面上直接修改壓裝深度成為必要。
2、611U數(shù)控系統(tǒng)數(shù)據(jù)通訊格式
西門子611U數(shù)控系統(tǒng)通過(guò)PROFIBUS-DP總線與S7-300 CPU上的DP口來(lái)實(shí)現(xiàn)數(shù)據(jù)通訊,通訊采用RS485接口及支持9.6k~12Mbps波特率的高速數(shù)據(jù)傳輸,其中數(shù)據(jù)的報(bào)文頭尾主要是用于規(guī)定數(shù)據(jù)的功能碼、傳輸長(zhǎng)度、奇偶校驗(yàn)、發(fā)送應(yīng)答等內(nèi)容,主從站之間的數(shù)據(jù)讀寫核心是參數(shù)接口(簡(jiǎn)稱PKW)和過(guò)程數(shù)據(jù)(簡(jiǎn)稱PZD)。
PKW參數(shù)區(qū)域,用于讀、寫參數(shù)值;PZD過(guò)程數(shù)據(jù)區(qū)域,包括控制字、設(shè)定值、狀態(tài)字和實(shí)際值。如果PLC需要通過(guò)總線來(lái)讀、寫數(shù)控系統(tǒng)中的某個(gè)參數(shù),就需要用到PKW區(qū)域;如果PLC要通過(guò)總線來(lái)控制數(shù)控系統(tǒng)運(yùn)行或者讀取數(shù)控系統(tǒng)當(dāng)前各種狀態(tài)值等就要用PZD區(qū)域。PKW和PZD的數(shù)據(jù)通訊格式共有五種:PPO1、PPO2、PPO3、PPO4、PPO5,其傳輸?shù)淖止?jié)長(zhǎng)度及結(jié)構(gòu)形式各不相同。在PLC和611U數(shù)控系統(tǒng)的通訊方式配置時(shí)要對(duì)PPO進(jìn)行選擇,每一種類型的結(jié)構(gòu)形式如表1。
表1 PKW和PDZ數(shù)據(jù)通訊格式類型的結(jié)構(gòu)形式
以上5種不同的PPO類型是用不同的數(shù)據(jù)長(zhǎng)度選擇的,而數(shù)據(jù)長(zhǎng)度是由數(shù)控系統(tǒng)在自動(dòng)化運(yùn)行環(huán)境中需要完成的任務(wù)決定的。例如:PPO3和PPO4中不包含PKW區(qū)域數(shù)據(jù),所以只能用于進(jìn)行過(guò)程控制,不能對(duì)數(shù)控參數(shù)進(jìn)行讀寫。
參數(shù)區(qū)域PKW的數(shù)據(jù)結(jié)構(gòu)如下:PKE為一個(gè)字,0~10位是寫待讀寫的參數(shù)號(hào);第11位是系統(tǒng)預(yù)留位;12~15位是寫作業(yè)報(bào)文ID號(hào)。
PKW區(qū)的第二個(gè)字IND,0~7位是表示子參數(shù)號(hào)也就是索引號(hào);8~15位是系統(tǒng)預(yù)留位。
PWE為兩個(gè)字存放參數(shù)值。總線數(shù)據(jù)傳輸作業(yè)過(guò)程是:首先由PLC將作業(yè)報(bào)文ID發(fā)送到611U數(shù)控系統(tǒng)中,然后系統(tǒng)讀取到作業(yè)ID后根據(jù)作業(yè)ID的任務(wù)來(lái)更新(讀取或者寫入)參數(shù)區(qū)域的參數(shù)值,最后611U數(shù)控系統(tǒng)發(fā)給PLC一個(gè)與作業(yè)ID相對(duì)應(yīng)的響應(yīng)ID,PLC讀取到響應(yīng)ID后,就說(shuō)明參數(shù)讀寫作業(yè)已完成。
系統(tǒng)作業(yè)ID,其系統(tǒng)參數(shù)有幾種不同的形式,包括單字節(jié)參數(shù)、雙字節(jié)參數(shù)、另外還有帶索引下標(biāo)的陣列參數(shù)等,對(duì)于不同的參數(shù)其讀寫方式也不一樣,不同參數(shù)的讀寫作業(yè)ID如表2。
表2 不同參數(shù)的讀寫作業(yè)ID
與作業(yè)ID號(hào)相對(duì)應(yīng)的ID如表3。
表3 與作業(yè)ID號(hào)對(duì)應(yīng)的相應(yīng)ID
作業(yè)執(zhí)行過(guò)程中如果出現(xiàn)錯(cuò)誤導(dǎo)致作業(yè)無(wú)法完成,則系統(tǒng)返回ID號(hào)為7,具體錯(cuò)誤類型代碼放在參數(shù)區(qū)的第四個(gè)字,代碼含義如表4。
表4 故障代碼含義
3、數(shù)控系統(tǒng)中導(dǎo)管壓裝程序塊格式
在611U數(shù)控系統(tǒng)中,壓裝導(dǎo)管的程序塊使用的是基本的定位指令。每個(gè)驅(qū)動(dòng)軸最多可獨(dú)立編程達(dá)64個(gè)移動(dòng)程序段,程序保存在參數(shù)中。一個(gè)程序段包含程序段號(hào)、指令、指令參數(shù)、方式、位置、速度、加速度修調(diào)、減速度修調(diào)和結(jié)束方式,如表5。
表5 基本定位指令程序段格式
上面程序段段號(hào)為3,PLC調(diào)用3號(hào)程序時(shí),這段定位程序執(zhí)行。定位程序無(wú)指令參數(shù),方式選擇有兩種:ABSOLUTE為絕對(duì)位置定位方式;RELATIVE為相對(duì)位置定位方式。定位目標(biāo)位置為200.000mm,運(yùn)動(dòng)速度為1500mm/min,加速度和減速度都為100%。程序段的結(jié)束方式一共有三種:END、CONTINUE WITH STOP、CONTINUE WITH FLYING:
END方式下程序運(yùn)行完這個(gè)程序段后,就結(jié)束;
CONTINUE WITH STOP方式下程序運(yùn)行完這個(gè)程序段后,軸減速停止,然后繼續(xù)執(zhí)行下一個(gè)程序段;
CONTINUE WITH FLYING方式下程序運(yùn)行完這個(gè)程序段后,軸不停止,然后繼續(xù)執(zhí)行下一個(gè)程序段,后兩種方式程序段如表6;
表6 CONTINUE WITH方式下程序段
上面兩段程序執(zhí)行過(guò)程中,速度與時(shí)間的曲線圖如圖1。
圖1 兩種方式下速度與時(shí)間的曲線圖
從上面的曲線圖中可以直觀的看出CONTINUE WITH STOP方式和CONTINUE WITH FLYING方式的區(qū)別。
4、數(shù)控系統(tǒng)中導(dǎo)管壓裝程序塊對(duì)應(yīng)的參數(shù)
在611U數(shù)控系統(tǒng)中,每一個(gè)程序塊中的每一項(xiàng)都對(duì)應(yīng)著一個(gè)參數(shù),程序塊可以通過(guò)參數(shù)來(lái)修改,因此PLC通過(guò)總線數(shù)據(jù)的傳遞即可更改這些參數(shù),實(shí)現(xiàn)PLC更改數(shù)控程序。
與程序塊對(duì)應(yīng)的參數(shù)為80—87號(hào),對(duì)應(yīng)關(guān)系如表7。
表7 參數(shù)80-87對(duì)應(yīng)關(guān)系
在611U數(shù)控系統(tǒng)中每個(gè)驅(qū)動(dòng)軸有64個(gè)程序段,如何與64套單獨(dú)的參數(shù)相對(duì)應(yīng),系統(tǒng)通過(guò)索引下標(biāo)區(qū)分這64個(gè)程序段對(duì)應(yīng)的參數(shù),即80—87號(hào)每個(gè)參數(shù)都要帶一個(gè)索引下標(biāo),下標(biāo)范圍為0—63,共64個(gè),用來(lái)區(qū)分不同的程序段。每一個(gè)程序段的每一個(gè)信息都有一個(gè)參數(shù)與之對(duì)應(yīng),PLC通過(guò)總線可以更改任意一個(gè)程序段的任何信息。
本機(jī)床需要更改壓裝導(dǎo)管的深度位置,必須知道壓裝導(dǎo)管程序中壓裝深度位置對(duì)應(yīng)的參數(shù),因壓床可以對(duì)兩種類型的零件進(jìn)行壓裝,所以壓裝兩種類型的導(dǎo)管也有兩個(gè)程序,在611U程序塊中對(duì)應(yīng)的是3號(hào)程序和13號(hào)程序,壓裝深度位置對(duì)應(yīng)的參數(shù)是81號(hào)參數(shù),因此要更改壓裝深度就要從PLC中更改參數(shù)81:3和參數(shù)81:13這兩個(gè)(3和13是參數(shù)81的索引下標(biāo))。
5、PLC讀寫數(shù)控壓裝深度參數(shù)的功能塊設(shè)計(jì)
考慮到程序應(yīng)用的通用性,采用模塊化編程,設(shè)計(jì)出參數(shù)讀寫用的功能塊FC塊,通過(guò)功能塊接口變量進(jìn)行參數(shù)傳遞,將數(shù)控系統(tǒng)地址、需要讀寫的參數(shù)號(hào)、參數(shù)索引地址等信息作為功能塊的接口變量,這樣通過(guò)調(diào)用同一個(gè)功能塊,寫入不同的接口變量就可以很方便的讀寫不同數(shù)控軸的不同參數(shù)。
首先確定參數(shù)讀寫FC的接口變量,IN輸入接口變量需要4個(gè):PKW區(qū)域的起始地址;待讀寫的參數(shù)號(hào);待讀寫參數(shù)的索引下標(biāo);讀或?qū)憳?biāo)志位。定義前三個(gè)接口變量的數(shù)據(jù)類型為INT整數(shù)型,第四個(gè)接口變量數(shù)據(jù)類型為BOOL位型,定義1為寫標(biāo)志,表示PLC向611U數(shù)控系統(tǒng)寫數(shù)據(jù), 0為讀標(biāo)志,表示PLC從611U讀數(shù)據(jù)。
壓裝深度參數(shù)數(shù)值需要定義到IN-OUT輸入輸出接口變量中,因在FC塊調(diào)用過(guò)程中,需要對(duì)該參數(shù)進(jìn)行讀或?qū)憽?/span>
為了判斷讀寫功能的完成情況,F(xiàn)C塊執(zhí)行參數(shù)讀寫任務(wù)完成以后,還需要反饋一個(gè)完成信號(hào),因此在OUT輸出接口變量中定義一個(gè)讀寫完成信號(hào)。
FC程序塊的接口變量中還需要定義一些臨時(shí)變量,用于存放程序執(zhí)行過(guò)程中臨時(shí)用到的一些變量。參數(shù)讀寫需要用到系統(tǒng)功能塊SFC14、15,這兩個(gè)系統(tǒng)功能塊的接口變量里有ANY類型的參數(shù),需要一次對(duì)應(yīng)8個(gè)字節(jié)的PKW區(qū)域所有,因此需要在臨時(shí)變量中定義:PKE兩個(gè)字節(jié)、IND兩個(gè)字節(jié)、PWE四個(gè)字節(jié)。另外還要定義兩個(gè)臨時(shí)變量來(lái)存放參數(shù)讀寫時(shí)的返回ID值,用來(lái)判斷參數(shù)讀寫完成后是否出錯(cuò):TypeRep一個(gè)字節(jié); SFC14、15執(zhí)行后的返回值:RET_V兩個(gè)字節(jié)。以上定義的接口變量如表8。
表8接口變量定義
通訊程序編寫時(shí),先將需要讀寫參數(shù)的參數(shù)號(hào)及索引地址寫入PKW區(qū)域里的PKE和IND:
L #PAR_NO
T #PKE //寫入?yún)?shù)號(hào)
L #PAR_IND
T #IND //寫入?yún)?shù)下標(biāo)
程序需要根據(jù)接口輸入變量PAR_W的狀態(tài)來(lái)判斷當(dāng)前是讀參數(shù)還是寫參數(shù),然后跳轉(zhuǎn)到相應(yīng)的程序段執(zhí)行:
A #PAR_W
JC _W //若為1則跳轉(zhuǎn)到寫參數(shù)程序段
從數(shù)控系統(tǒng)中讀出帶索引的參數(shù)值,作業(yè)ID號(hào)應(yīng)該為6,需要將此ID號(hào)寫入PKE的高4位,用字或運(yùn)算保留其他的位并且將高4位改為6;作業(yè)ID號(hào)6對(duì)應(yīng)的返回ID應(yīng)該為4號(hào):
L W#16#6000 //讀參數(shù)作業(yè)ID號(hào)為6
L #PKE
OW //字或運(yùn)算保留低12位
T #PKE //將作業(yè)ID號(hào)加入PKE中
L 4
T #TypeRep //讀參數(shù)返回ID應(yīng)該為4
JU _C //直接跳轉(zhuǎn)到總線數(shù)據(jù)發(fā)送程序段
往系統(tǒng)中寫參數(shù)值的作業(yè)ID為8,返回ID為5,同時(shí)需要將寫入?yún)?shù)的數(shù)值寫到PWE中:
_W: NOP 0 //寫參數(shù)程序段標(biāo)號(hào)
L W#16#8000 //寫參數(shù)作業(yè)ID號(hào)為8
L #PKE
OW //字或運(yùn)算保留低12位
T #PKE //將作業(yè)ID號(hào)加入PKE中
L #PAR_V
T #PWE //將寫入?yún)?shù)的數(shù)值寫到PWE
L 5
T #TypeRep //寫參數(shù)返回ID應(yīng)該為5
相關(guān)讀寫參數(shù)填寫完成后,調(diào)用系統(tǒng)功能塊SFC15來(lái)向總線發(fā)送數(shù)據(jù),并對(duì)應(yīng)寫入發(fā)送數(shù)據(jù)的總線地址、PKW區(qū)域的起始地址及長(zhǎng)度:
_C: NOP 0
CALL SFC15 //往總線上傳送數(shù)據(jù)
LADDR :=#PKW_ADD //總線地址
RECORD :=P#L 0.0 BYTE 8 //PKW區(qū)域的起始地址及長(zhǎng)度
RET_VAL:=#RET_V //SFC15執(zhí)行的返回值
讀寫命令發(fā)送到總線上由系統(tǒng)執(zhí)行,接著用系統(tǒng)功能塊SFC14從總線上讀出執(zhí)行的結(jié)果來(lái)判斷執(zhí)行情況、取回讀出的參數(shù)值等:
CALL SFC14 //從總線上讀入數(shù)據(jù)
LADDR :=#PKW_ADD //總線地址
RET_VAL:=#RET_V // SFC14執(zhí)行的返回值
RECORD :=P#L 0.0 BYTE 8 // PKW區(qū)域的起始地址及長(zhǎng)度
數(shù)據(jù)讀出來(lái)后要進(jìn)行處理分析,檢查返回的ID號(hào)是否與之前寫入#TypeRep的值相等,如果相等說(shuō)明讀寫任務(wù)成功完成,讀出來(lái)的參數(shù)值有效可用,同時(shí)將讀寫任務(wù)完成信號(hào)接通:
L #PKE //取PKE區(qū)的數(shù)據(jù)
L 2#1111000000000000 //高4位數(shù)據(jù)保留其余清零
AW //字與運(yùn)算
SRW 12 //右移12位分離出返回ID號(hào)(高4位)
L #TypeRep //前面賦值的返回值
==I //比較
JCN _AL //如果不相等,出錯(cuò)跳轉(zhuǎn)
L #PWE //取出讀出來(lái)的參數(shù)值
T #PAR_V
SET
= #ACT_OK //讀寫任務(wù)完成信號(hào)
_AL: NOP 0
讀寫參數(shù)的功能塊編寫完成后,在主程序中調(diào)用功能塊就可以實(shí)現(xiàn)不同參數(shù)的讀寫功能,調(diào)用功能塊如下。
6、人機(jī)界面開發(fā)
人機(jī)界面開發(fā)采用Wincc flexible,變量地址表如表9。
表9人機(jī)界面變量地址表
開發(fā)后的人機(jī)界面,壓裝部位選擇、讀寫命令控制、寫入?yún)?shù)的輸入等都可通過(guò)面板上的按鍵完成,實(shí)現(xiàn)面板操作直接更改611U數(shù)控系統(tǒng)的壓裝參數(shù),更改壓裝深度,人機(jī)界面如圖2。
圖2 人機(jī)界面
7、結(jié)束語(yǔ)
改進(jìn)后的人機(jī)界面使得原來(lái)只有通過(guò)編程器才能修改的壓裝深度值,能夠直觀的顯示當(dāng)前設(shè)定的壓裝深度值,不僅可以直接在人機(jī)界面上修改,而且減輕了現(xiàn)場(chǎng)自動(dòng)化工程師的工作量,同時(shí)還使得工藝人員可以對(duì)壓裝深度方便、直接的掌控,給操作和維修人員帶來(lái)了極大便捷,有效的控制了壓裝質(zhì)量,降低了質(zhì)量風(fēng)險(xiǎn)。
(審核編輯: 智匯小新)