西門子802d系統(tǒng)是近年來(lái)廣泛應(yīng)用于數(shù)控車、數(shù)控銑以及經(jīng)濟(jì)型加工中心上的數(shù)控系統(tǒng),由pcu(面板控制單元)、mcp(機(jī)床控制面板)、nc鍵盤、伺服驅(qū)動(dòng)功率模塊及電源、i/o輸入輸出模塊、電子手輪等基本單元組成。pcu作為802d數(shù)控系統(tǒng)的核心部件,將nck(數(shù)控核心)、plc、hmi(人機(jī)界面)和通訊任務(wù)集成在一起,并用profibus現(xiàn)場(chǎng)總線將各單元連接起來(lái),組成一個(gè)可同時(shí)控制4個(gè)伺服進(jìn)給軸和一個(gè)模擬主軸的數(shù)控系統(tǒng)。
802d數(shù)控系統(tǒng)各坐標(biāo)軸的伺服控制由nck裝置完成,但機(jī)床邏輯控制則由pcu內(nèi)嵌的plc完成。機(jī)床外部輸入輸出信號(hào)經(jīng)i/o模塊pp72/48(72入48出)并通過(guò)profibus現(xiàn)場(chǎng)總線實(shí)現(xiàn)與plc的連接。802d系統(tǒng)最多可配兩塊pp72/48模塊。
由于802d系統(tǒng)是一種通用的數(shù)控系統(tǒng),將其應(yīng)用于不同的數(shù)控機(jī)床時(shí),機(jī)床的邏輯控制以及plc的輸入輸出信號(hào)會(huì)不一樣,因此,將802d系統(tǒng)應(yīng)用于數(shù)控機(jī)床時(shí),最重要的是要根據(jù)機(jī)床的邏輯控制要求設(shè)計(jì)和調(diào)試好系統(tǒng)plc程序,才能使系統(tǒng)正常和安全地工作。本文結(jié)合802d系統(tǒng)在廣西水利電力職業(yè)技術(shù)學(xué)院經(jīng)濟(jì)型數(shù)控銑床xk5036上的應(yīng)用,介紹802d數(shù)控系統(tǒng)plc的編程與應(yīng)用方法。銑床的數(shù)控系統(tǒng)配置及系統(tǒng)連接如圖1所示[1],兩塊611ue功率模塊負(fù)責(zé)三個(gè)坐標(biāo)軸的伺服進(jìn)給控制,銑床的主軸電機(jī)則采用接觸器控制,主軸轉(zhuǎn)速由機(jī)械變速箱調(diào)整。
1 數(shù)控系統(tǒng)與plc接口信號(hào)
從圖1可看出,機(jī)床外部的輸入輸出信號(hào)主要包括機(jī)床控制面板(mcp)和機(jī)床電氣控制信號(hào)。機(jī)電電氣控制信號(hào)主要包括參考點(diǎn)以及各軸限位信號(hào)、各異步電機(jī)啟??刂萍斑^(guò)載信號(hào)、伺服驅(qū)動(dòng)控制使能信號(hào)等,該部分信號(hào)通過(guò)pp72/48的x333插座連接。mcp上主要安裝有急停開關(guān)、主軸轉(zhuǎn)速和進(jìn)給速度倍率開關(guān)、主軸控制按鍵、系統(tǒng)控制方式選擇按鍵、各軸點(diǎn)動(dòng)控制按鍵、nc控制按鍵以及用戶選擇鍵和led指示燈等,并通過(guò)2條50芯的扁平電纜與pp72/48的x111、x222插座連接。由于mcp上全部為開關(guān)信號(hào)且通過(guò)i/o接口與plc連接,因此,用戶可選擇西門子公司配套的mcp,也可以根據(jù)實(shí)際機(jī)床控制需要設(shè)計(jì)自己的機(jī)床控制面板。
作為數(shù)控系統(tǒng)的重要組成部分,系統(tǒng)內(nèi)嵌的plc采用接口變量v及相應(yīng)的數(shù)據(jù)位的形式與nck、hmi和mcp進(jìn)行控制和狀態(tài)信息的傳送,并按照系統(tǒng)的工作狀態(tài)和用戶編寫的控制程序完成機(jī)床邏輯控制任務(wù)。plc、nck、hmi、mcp相互間信息傳送的路徑和方向如圖2所示,數(shù)控系統(tǒng)與plc主要接口信號(hào)簡(jiǎn)要說(shuō)明如表1所示,詳細(xì)接口信號(hào)的說(shuō)明請(qǐng)參閱西門子(中國(guó))有限公司技術(shù)手冊(cè)——sinumerik 802d 簡(jiǎn)明調(diào)試指南。
表1 數(shù)控系統(tǒng)與plc主要接口信號(hào)簡(jiǎn)要說(shuō)明
序號(hào)
變量地址范圍
信息傳送方向
傳送主要內(nèi)容
1
v10000000~v10000008
mcp→plc
將來(lái)自mcp上按鍵信號(hào)以數(shù)據(jù)位的形式送至plc,包括系統(tǒng)控制方式選擇鍵、nc控制鍵、各軸點(diǎn)動(dòng)控制鍵、倍率開關(guān)、用戶選擇鍵等信號(hào)
2
v11000000~v11000007
plc→mcp
將plc已確認(rèn)的mcp按鍵信號(hào)(除倍率開關(guān)外)返回給mcp
3
v16000000~v16000007
plc→hmi
將plc程序所觸發(fā)的用戶報(bào)警號(hào)送至hmi,再由hmi根據(jù)已編好并下載到數(shù)控系統(tǒng)的報(bào)警文件將報(bào)警信息顯示出來(lái)。
4
v16002000
hmi→plc
hmi將nc不能啟動(dòng)、系統(tǒng)急停等系統(tǒng)重要的有效報(bào)警響應(yīng)送至plc
5
v17000000~v17000003
hmi→plc
將用戶在hmi上選擇的程序空運(yùn)行、程序測(cè)試、程序跳段、快速進(jìn)給倍率生效等狀態(tài)信號(hào)送至plc
6
v25001000~v25001012
nck→plc
將nc程序譯碼得出的輔助功能m信號(hào)送至plc,包括m0~m99
7
v30000000~v30000002
plc→nck
將plc已確認(rèn)的系統(tǒng)控制方式信號(hào)送nck,包括auto、手動(dòng)、mda控制方式以及手輪脈沖進(jìn)給增量
8
v31000000~v31000001
nck→plc
將nck確認(rèn)的系統(tǒng)控制方式有效信號(hào)返回plc
下面以在auto狀態(tài)下啟動(dòng)nc程序,來(lái)說(shuō)明接口信號(hào)的傳送和處理過(guò)程:
(1)按下mcp上的auto方式按鍵時(shí),v10000000.0=1,實(shí)現(xiàn)mcp的按鍵信號(hào)向plc傳送,plc可據(jù)此位數(shù)據(jù)可判斷用戶是否按下auto方式按鈕。
(2) 系統(tǒng)處于auto方式后,v11000000.0=0,實(shí)現(xiàn)plc向mcp回傳系統(tǒng)已處于auto方式。
(3) 按下mcp上的nc啟動(dòng)按鍵時(shí),v10000001.7=1,實(shí)現(xiàn)mcp向plc傳送用戶的nc啟動(dòng)命令。
(4) plc收到nc啟動(dòng)命令后,v11000001.7=1,由plc向mcp回傳nc已啟動(dòng)信號(hào);同時(shí),v32000007.1=1,由plc向nck傳送nc啟動(dòng)命令。
(5) nck開始執(zhí)行用戶已選定的nc加工程序,v33000003.0=1,并由nck向plc傳送程序已處于運(yùn)行狀態(tài)的信息。
(6) nck執(zhí)行nc程序并通過(guò)伺服驅(qū)動(dòng)模塊控制各進(jìn)給軸運(yùn)動(dòng),當(dāng)程序中執(zhí)行到m3功能時(shí),經(jīng)nck譯碼,v25001000.3=1,nck向plc傳送主軸正轉(zhuǎn)啟動(dòng)命令。
(7) plc經(jīng)pp72/48模塊以及機(jī)床電氣接口實(shí)現(xiàn)主軸正轉(zhuǎn)啟動(dòng)和自保持控制,同時(shí),v11000001.6=1,plc向mcp傳送主軸已正轉(zhuǎn)信息。
(8) 在用戶程序執(zhí)行過(guò)程中,如果出現(xiàn)了主軸或冷卻電機(jī)過(guò)載等機(jī)床電氣故障,故障信號(hào)從pp72/48送入plc并在plc程序中觸發(fā)用戶報(bào)警,再由plc以變量的形式將對(duì)應(yīng)的報(bào)警號(hào)送至hmi。最后hmi根據(jù)已編好并下載到數(shù)控系統(tǒng)的報(bào)警文件將報(bào)警信息顯示出來(lái)。
2 數(shù)控系統(tǒng)plc程序編程
802d數(shù)控系統(tǒng)的plc編程使用專用的programming tool plc 802d工具軟件,其編程環(huán)境和程序結(jié)構(gòu)類似simatic s7-200 plc,由一個(gè)主程序和相關(guān)子程序組成,使用lad(梯形圖)作為編程語(yǔ)言,但所使用的通信接口和通信電纜與s7-200 plc不同。
802d系統(tǒng)plc程序的設(shè)計(jì)可參考西門子公司利用802d plc子程序庫(kù)編寫的銑床plc應(yīng)用實(shí)例,并結(jié)合銑床具體的系統(tǒng)配置、i/o信號(hào)地址分布以及系統(tǒng)模塊的連接方式,修改實(shí)例程序來(lái)獲得銑床的plc控制程序。
2.1 信號(hào)地址分布說(shuō)明
根據(jù)圖1的系統(tǒng)連接方式,mcp各按鍵的地址分布如表2所示,機(jī)床i/o信號(hào)接至x333后的i/o分布如表3所示,其中輸出信號(hào)均為驅(qū)動(dòng)24vdc中間繼電器的開關(guān)信號(hào),經(jīng)中間繼電器的觸點(diǎn)實(shí)現(xiàn)對(duì)外部強(qiáng)電回路的控制[1]。
表2 mcp信號(hào)地址分布表
mcp
對(duì)應(yīng)的按鍵及其所占輸入輸出字節(jié)
pp72/48
x1201
輸入字節(jié)ib0: 對(duì)應(yīng)按鍵 #1 ~ #8
x111
輸入字節(jié)ib1: 對(duì)應(yīng)按鍵 #9 ~ #16
輸入字節(jié)ib2:對(duì)應(yīng)按鍵 #17 ~ #24
輸出字節(jié)qb0:對(duì)應(yīng)于用戶定義鍵的6個(gè)發(fā)光二極管
x1202
輸入字節(jié)ib3:對(duì)應(yīng)按鍵 #25 ~ #27
x222
輸入字節(jié)ib4:對(duì)應(yīng)進(jìn)給倍率開關(guān) (5位格林碼)
輸入字節(jié)ib5:對(duì)應(yīng)主軸倍率開關(guān) (5位格林碼)
輸出字節(jié)qb1:保留
表3 機(jī)床i/o信號(hào)及地址分布表
pp72/48 x333
輸入信號(hào)
輸出信號(hào)
針號(hào)
信號(hào)名稱
信號(hào)地址
信號(hào)地址
信號(hào)名稱
針號(hào)
2
輸入公共端
+24vdc
q4.0
急停輸出
31
3
急停輸入
i6.0
q4.1
控制使能
32
4
主軸電機(jī)過(guò)載
i6.1
q4.2
脈沖使能
33
6
冷卻電機(jī)過(guò)載
i6.3
q4.3
啟動(dòng)接觸器
34
7
潤(rùn)滑泵電機(jī)過(guò)載
i6.4
q4.4
主軸正轉(zhuǎn)
35
9
x軸參考點(diǎn)
i6.6
q4.5
主軸制動(dòng)
36
10
y軸參考點(diǎn)
i6.7
q4.6
z軸抱閘
37
11
z軸參考點(diǎn)
i7.0
q4.7
主軸反轉(zhuǎn)
38
12
+x限位
i7.1
q5.0
冷卻控制
39
13
-x限位
i7.2
+24vdc
輸出公共端
47
14
+y限位
i7.3
+24vdc
輸出公共端
48
15
-y限位
i7.4
+24vdc
輸出公共端
49
16
+z限位
i7.5
+24vdc
輸出公共端
50
17
-z限位
i7.6
18
電源模塊準(zhǔn)備好
i7.7
19
i2t或溫度監(jiān)控
i8.0
在mcp的用戶選擇鍵中,定義kt4鍵(#5)為伺服使能控制,定義kt5鍵(#6)為冷卻控制鍵,各鍵上方的led為對(duì)應(yīng)狀態(tài)指示燈。
2.2 plc程序設(shè)計(jì)
結(jié)合銑床的系統(tǒng)配置,設(shè)計(jì)的plc程序由一個(gè)主程序和七個(gè)子程序組成,具體如下:
2.2.1 主程序main(ob1)
主程序main是plc在run狀態(tài)下自動(dòng)循環(huán)執(zhí)行的程序,其主要作用:一是利用sm0.1接點(diǎn)在plc第一個(gè)掃描周期調(diào)用plc初始化子程序plc_ini(sbr32),完成plc的初始化工作;二是利用sm0.0接點(diǎn)在plc每個(gè)掃描周期調(diào)用各子程序,完成相應(yīng)的機(jī)床邏輯控制功能,主程序如圖3所示。
2.2.2 plc初始化子程序plc_ini(sbr32)
plc的初始化用于設(shè)置一些基本接口信號(hào),包括設(shè)定v32000006.7=1,使nck通道接口的進(jìn)給倍率生效;設(shè)定各軸v380x0001.5=1和v380x0001.7=1,使各軸進(jìn)給倍率生效和測(cè)量系統(tǒng)有效。
2.2.3 急停處理子程序emg_stop(sbr33)
emg_stop子程序主要處理急停操作以及對(duì)伺服電源模塊的上電和下電時(shí)序進(jìn)行控制。
當(dāng)主軸電機(jī)和冷卻電機(jī)同時(shí)過(guò)載時(shí),利用q4.0及外部中間繼電器切斷控制回路電源;當(dāng)按下急停鍵、主軸電機(jī)過(guò)載、冷卻電機(jī)過(guò)載、伺服電源模塊未準(zhǔn)備好或伺服電源模塊i2t報(bào)警的任一條件滿足時(shí)急停動(dòng)作,由plc→nck發(fā)要求急停信號(hào)(v26000001.1=1),同時(shí)可觸發(fā)相應(yīng)的報(bào)警信號(hào)。
當(dāng)nck→plc發(fā)急停有效(v27000000.1=1)信號(hào)時(shí),plc程序按伺服電源模塊的下電時(shí)序依次斷開模塊的控制使能信號(hào)(端子64)、脈沖使能信號(hào)(端子63)、啟動(dòng)接觸器信號(hào)(端子48)。當(dāng)急停退出時(shí),plc則按相反時(shí)序完成伺服電源模塊的上電。伺服電源模塊的上下電時(shí)序如圖4所示,圖中t一般取200ms。
2.2.4 802d機(jī)床控制面板mcp信號(hào)傳遞子程序mcp_802d(sbr34)
mcp_802d子程序主要是將mcp上各按鍵的動(dòng)作信號(hào)送至plc,包括伺服使能、主軸控制、系統(tǒng)控制方式選擇、nc 啟停及復(fù)位、各軸點(diǎn)動(dòng)控制、主軸及進(jìn)給倍率、增量選擇等信號(hào),并將nck已確認(rèn)的增量值、nc啟停等信息返回mcp。
2.2.5 mcp和hmi信號(hào)處理子程序mcp_nck(sbr38)
mcp_nck子程序主要將mcp上已選擇并送到plc的nc啟停及復(fù)位、系統(tǒng)控制方式、增量值、主軸及進(jìn)給倍率、各軸點(diǎn)動(dòng)控制、快進(jìn)以及hmi上所激活的空運(yùn)行、快進(jìn)倍率生效、程序跳段和測(cè)試等信息送nck。各軸點(diǎn)動(dòng)控制信息送nck前應(yīng)進(jìn)行越限判斷。
2.2.6 據(jù)hmi接口信號(hào)選擇手輪子程序handwhl(sbr39)
由于系統(tǒng)中只安裝了一個(gè)電子手輪(802d系統(tǒng)最多可安裝三個(gè)電子手輪),因此在用手輪控制各軸進(jìn)給時(shí),需要在hmi中用軟鍵選擇要控制的軸號(hào)。handwhl子程序的作用:一是初始化手輪在機(jī)床坐標(biāo)系中選擇的軸號(hào),二是判斷和激活用戶所選擇的軸號(hào)并送nck,由nck根據(jù)手動(dòng)控制方式下選擇的增量實(shí)現(xiàn)對(duì)相應(yīng)軸的手輪脈沖進(jìn)給控制。
2.2.7 主軸和進(jìn)給軸控制子程序axis_ctl(sbr40)
axis_ctl子程序用于主軸和進(jìn)給軸控制。主軸的控制是根據(jù)mcp選擇的主軸控制信號(hào)或nc程序譯碼得到的m代碼實(shí)現(xiàn)主軸的啟停及正反轉(zhuǎn)控制。進(jìn)給軸的控制首先根據(jù)伺服電源模塊控制使能和脈沖使能啟動(dòng)信號(hào),將各軸的伺服使能和脈沖使能信號(hào)送nck,如電源模塊的脈沖使能信號(hào)消失,則將各軸伺服使能復(fù)位信號(hào)送nck;接著根據(jù)z軸伺服電機(jī)的工作條件完成z軸電機(jī)抱閘的控制;最后進(jìn)行機(jī)床回參考點(diǎn)以及各軸點(diǎn)動(dòng)進(jìn)給的控制,并進(jìn)行各軸進(jìn)給的越限判斷及處理,出現(xiàn)越限時(shí)禁止進(jìn)給并觸發(fā)相應(yīng)的系統(tǒng)報(bào)警信息。
2.2.8 冷卻泵控制子程序cooling(sbr44)
plc程序設(shè)計(jì)時(shí)在用戶選擇鍵中定義了一個(gè)冷卻控制鍵kt5,cooling子程序首先根據(jù)冷卻泵的當(dāng)前狀態(tài)及kt5鍵的觸發(fā)情況判斷冷卻泵的啟動(dòng)或停止控制觸發(fā)信號(hào),然后在手動(dòng)方式下根據(jù)控制信號(hào)實(shí)現(xiàn)對(duì)冷卻泵的控制,如是在auto或mda方式下,則根據(jù)nc程序譯碼得到的m代碼實(shí)現(xiàn)對(duì)冷卻泵的控制。當(dāng)急停、nc復(fù)位、程序測(cè)試有效、冷卻泵電機(jī)過(guò)載、m2或m30指令任一信號(hào)有效時(shí),均要停泵。
3 結(jié)束語(yǔ)
802d數(shù)控系統(tǒng)plc的編程, 是在完成機(jī)床數(shù)控系統(tǒng)配置及電氣控制設(shè)計(jì)回路設(shè)計(jì)的基礎(chǔ)上,根據(jù)機(jī)床控制功能要求、系統(tǒng)連接方式和i/o地址分配,利用802d系統(tǒng)子程序庫(kù)并參考和修改西門子公司提供的實(shí)例程序來(lái)完成的,不同的系統(tǒng)配置,不同的機(jī)床功能要求,系統(tǒng)的plc程序會(huì)不一樣,但編程的原理和方法是一致的。由于篇幅有限,具體的plc程序以及程序的調(diào)試方法,讀者可通過(guò)閱讀和研究西門子公司相關(guān)資料來(lái)掌握。