国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

雙HHU手持單元在數(shù)控大型臥式車床上的應(yīng)用(下)

2015-04-17 01:02沈陽機(jī)床集團(tuán)沈一希斯事業(yè)部遼寧110142石潔芳
金屬加工(冷加工) 2015年19期
關(guān)鍵詞:源文件手輪源代碼

沈陽機(jī)床集團(tuán)沈一希斯事業(yè)部 (遼寧 110142) 石潔芳

沈陽機(jī)床成套設(shè)備有限責(zé)任公司 (遼寧 110142) 孫 波

3. PLC程序的調(diào)整

在隨系統(tǒng)帶的toolbox光盤里面有HHU的源程序。使用時(shí)先找到源文件的壓縮文件HHU.exe,點(diǎn)擊該文件,源文件會(huì)展開到一個(gè)文件目錄里面,然后打開STEP7,選擇相應(yīng)的STEP7 程序,在源文件目錄下(sources)選擇插入源代碼,把剛才展開的源代碼插入到這個(gè)目錄即可。打開源代碼后,根據(jù)機(jī)床的實(shí)際情況作些相應(yīng)的調(diào)整,匯編生成程序的功能塊。

在PLC程序中,以下功能塊是用來控制HHU的。FC68:HHU的處理程序,必須根據(jù)情況填寫參數(shù)并在OB1里在調(diào)用FC119或FC124的前面調(diào)用FC68。DB68 :(在S7符號(hào)表中的符號(hào)是“_db68”)HHU的輸入和輸出緩沖區(qū),在源代碼里需要根據(jù)機(jī)床的實(shí)際情況進(jìn)行重新修改,然后再匯編。DB69:FB2的暫存數(shù)據(jù)塊。FC119&FC124:是修改過的FC19&FC24。

(1)DB68塊的調(diào)整。在DB68 的源文件hhu2_db68.awl中可調(diào)整HHU和MCP (FC119/FC124) 上機(jī)械軸的順序。MachaxNames:(“X1 Z1 Z11 X2 Z2 Z22 SP1 SP2....”),定義在HHU上顯示的字符串包含了機(jī)床各軸的名字。xconf_ch1..10:(“1, 2, 3, -7”),(“4, 5, 6, -8”),定義每個(gè)通道使用的機(jī)床軸的分配(與機(jī)床數(shù)據(jù) 20070 相同)。如果是旋轉(zhuǎn)軸,在數(shù)字前面加上負(fù)號(hào)。mode_grp:(1, 1, 402,402, 403, 403, 0, 0, 0, 0),通過最低位把相應(yīng)的通道賦值給相應(yīng)的方式組,倒數(shù)第3位定義MCP的尋址00x:FC119/MCP1;10x:FC119/MCP2;20x: FC124/MCP1;40x: FC124/MCP2。NameOfChan1..10:(CHAN1,CHAN2,HilfsKan,Lad.Rechts,Lad.Links,NameChan6,NameChan7,NameChan8,N a m e C h a n9,N a m e C h a n10)。輸入每個(gè)通道的名稱(最多10個(gè)字符)。d i s p2:(N C_ALARM!!!!!!!!reset w.Rap.OVR),當(dāng)HHU 不生效時(shí),屏幕上面顯示內(nèi)容。

(2)F C68的輸入輸出定義。B H G_o n_condition:HHU生效的條件,比如通過這個(gè)參數(shù)可以防止在不適當(dāng)?shù)臅r(shí)候(程序運(yùn)行時(shí))激活手輪HHU。BHG_stop:等同于FB1里的參數(shù)BHGstop,如果為1的話,HHU與NCU的通信中斷,這時(shí)可以從硬件上斷開HHU。HW_to_mmc:等同于FB1的HWheelMMC,如果為1的話,當(dāng)HHU 不生效時(shí),可以通過MMC來選擇第一個(gè)手輪。Inch:選擇米制/英寸制,如果為1的話,則表示為英寸制。BHG_activ:表示手輪已經(jīng)激活(一般用來觸發(fā)一個(gè)PLC的用戶提示信息)。chan_nr:選擇的通道號(hào)(當(dāng)HHU生效的時(shí)候選擇的通道號(hào)或者是HHU 不生效時(shí)外部選擇的通道號(hào))。BAG_nr:所選擇通道對(duì)應(yīng)的方式組(根據(jù)DB68中的設(shè)定)。

(3)調(diào)用FC119/124 的參數(shù)。FC119(FC19)用于標(biāo)準(zhǔn)機(jī)床面板,F(xiàn)C124(FC24)用于窄機(jī)床面板。參數(shù)與調(diào)用FC19的參數(shù)基本相同, 但增加以下兩個(gè)參數(shù)PoiXconf :DB68指向中變量xconf_ch1的起始地址。Mcp2 :是否有第2操作面板,false:mcp1//true:mcp2。注意:如果給Mcp2填寫的參數(shù)不同于DB68.mode_grp分配通道時(shí)指定的面板,那么MCP將通訊不上(MCP上的LED燈閃爍)。

(4)PLC程序。按上面所列方法把相應(yīng)版本的HH?U 源程序文件拷貝到用戶的STEP7 程序中的源程序目錄里,打開DB68 的源程序,根據(jù)機(jī)床的配置修改相應(yīng)的參數(shù),其中灰色部分是經(jīng)常需要修改的地方。再打開hhu2_fc119, hhu2_fc68,編譯生成新的FC119和FC68。

DATA_BLOCK _DB68

STRUCT

bits: array [0..5] of byte;

d i s p 1: s t r i n g[3 2]:= ‘N a m e O f C h a n AUTOgeoX+1234.567

disp2: string[32]:=‘SMTCL-SCHIESS HTC1601000sub’;

disp3: string[32]:=‘ ax01 ax02 ax03 ax04 ax05 ax06’;

disp4: string[32]:=‘ ax07 ax08 ax09 ax10 ax11 ax12’;

disp5: string[32]:=‘BAG:__ Chan:__ ’;

MachaxNames: string[128]:= ‘X1 Z1 Z11 X2 Z2 Z22 SP1 SP2 AX9AX10AX11ax12ax13ax14ax15ax16ax17ax18ax19ax20ax 21ax22ax23ax24ax25ax26ax27ax28ax29ax30ax31ax32’;

xconf_ch1: array [0..11] of int:= 1, 2, 3, -7;

xconf_ch2: array [0..11] of int:= 4, 5, 6, -8;

xconf_ch3: array [0..11] of int:=0;

xconf_ch4: array [0..11] of int:=0;

xconf_ch5: array [0..11] of int:=0;

xconf_ch6: array [0..11] of int:=0;

xconf_ch7: array [0..11] of int:=0;

xconf_ch8: array [0..11] of int:=0;

xconf_ch9: array [0..11] of int:=0;

xconf_ch10: array [0..11] of int:=0;

mode_grp: array [0..9] of int:= 1, 1, 402, 402, 403, 403, 0, 0,0, 0;

NameOfChan1: string[10]:= ‘CHAN1’;

NameOfChan2: string[10]:= ‘CHAN2’;

NameOfChan3: string[10]:= ‘HilfsKan’;

NameOfChan4: string[10]:= ‘Lad.Rechts’;

NameOfChan5: string[10]:= ‘Lad.Links’;

NameOfChan6: string[10]:= ‘NameChan6’;

NameOfChan7: string[10]:= ‘NameChan7’;

NameOfChan8: string[10]:= ‘NameChan8’;

NameOfChan9: string[10]:= ‘NameChan9’;

NameOfChan10:string[10]:= ‘NameChan10’;

IncDisp:string[24]:=‘,..1,001,010,1001,0010,0’;

disp6: string[32]:=‘NC_ALARM!!!!!!!!reset w.Rap.OVR’;

disp7: string[32];

state_fb2: word;

block_66: string[66];

hhu_out: array [0..19] of byte;

hhu_in: array [0..7] of byte;

hhu_st_out: array [0..3] of byte;

hhu_st_in: array [0..3] of byte;

disp_nr: byte;

save_ch_nr: byte;

save_mst01: dword;

save_INC: byte:=b#16#1;

act_pos_geo: 0.000000e+000;

mst_aus23ret: dword;

chan_ret: array [0..1] of word;

aux_srw: word;

cmdContrPos;

STRUCT

SYNTAX_ID : BYTE := B#16#82;

bereich_u_einheit :byte := B#16#41;

spalte :word := W#16#0;

zeile :word := W#16#0;

bausteintyp :byte := B#16#73;

ZEILENANZAHL : BYTE := B#16#1;

typ :byte := B#16#F;

laenge :byte := B#16#8;

END_STRUCT;

C1_SPARP_block0_4;

STRUCT

SYNTAX_ID : BYTE := B#16#82;

bereich_u_einheit :byte := B#16#41;

spalte :word := W#16#0;

zeile :word := W#16#0;

bausteintyp :byte := B#16#73;

ZEILENANZAHL : BYTE := B#16#1;

typ :byte := B#16#F;

laenge :byte := B#16#8;

END_STRUCT;

C1_SPARP_progName1_3;

STRUCT

SYNTAX_ID : BYTE := B#16#82;

bereich_u_einheit :byte := B#16#41;

spalte :word := W#16#3;

zeile :word := W#16#1;

bausteintyp :byte := B#16#7D;

ZEILENANZAHL : BYTE := B#16#1;

typ :byte := B#16#13;

laenge :byte := B#16#20;

END_STRUCT ;

END_STRUCT ;

BEGIN

END_DATA_BLOCK

OB100的修改(程序):

CALL FB 1 , DB7

IN0 :=1 //MCPNum

IN1 :=P#I 0.0 //MCP1In

IN2 :=P#Q 0.0 //MCP1Out

IN3 :=P#Q 8.0 //MCP1StatSend

IN4 :=P#Q 12.0 //MCP1StatRec

IN5 :=6 //MCP1BusAdr

IN6 :=S5T#700MS //MCP1Timeout

IN7 :=S5T#200MS //MCP1Cycl

IN8 := //

IN9 := //

IN10 := //

IN11 := //

IN12 := //

IN13 := //

IN14 := //

IN15 := //

IN16 :=FALSE //

IN17 := //

IN18 := //

IN19 := //

IN20 := //

IN21 := //

IN22 := //

IN23 :=2 //BHG

IN24 :=P#DB68.DBX 870.0(“_DB68”.hhu_in) //BHGIn

IN25 :=P#DB68.DBX 850.0(“_DB68”.hhu_out) //BHGOut

IN26 :=P#DB68.DBX 878.0(“_DB68”.hhu_st_out) //BHGStatSend

IN27 :=P#DB68.DBX 882.0(“_DB68”.hhu_st_in) //BHGStatRec

IN28 := //

IN29 := //

IN30 := //

IN31 :=S5T#80MS //BHGCycl

IN32 :=2 //BHGRecGDNo

IN33 :=2 //BHGRecGBZNo

IN34 :=1 //BHGRecObjNo

IN35 :=2 //BHGSendGDNo

IN36 :=1 //BHGSendGBZNo

IN37 :=1 //BHGSendObjNo

IN38 :=FALSE //BHGMPI

IN39 := //

IN40 := //

IN41 :=S5T#200MS //NCCyclTimeout

IN42 :=S5T#50S //NCRunupTimeout

IN43 := //

IN44 :=TRUE //NCKomm

IN45 := //

IN46 :=FALSE //HWheelMMC

IN47 := //

IN48 := //

IN49 := //

IN50 := //

IN51 := //

IN52 := //

OUT53:= //

OUT54:= //

OUT55:= //

OUT56:= //

OUT57:= //

OUT58:= //

OUT59:= //

OUT60:= //

修改OB1,用如下的程序段代替原來的FC19:

L DB19.DBB 8(“MMC”.A_MCPChan)

OW W#16#0

JN M006

L 1

T DB19.DBB 8(“MMC”.A_MCPChan)

M006: L 2

T MB 380

CALL FC 68

IN0 :=DB100.DBX1.0 //BHG_on_condition

IN1 :=I33.7 //BHG_stop

IN2 :=FALSE //HW_to_mmc

IN3 :=DB10.DBX107.7(“NC”.E_SystemInchDim) //inch

OUT4:=DB2.DBX187.6(“ALMSG_DB”.A7000xx[63])//BHG_activ

IO5 :=DB19.DBB8(“MMC”.A_MCPChan) //chan_nr

IO6 :=MB381 //BAG_nr

A DB2.DBX 187.6(“ALMSG_DB”.A7000xx[63])

JC M002

L DB19.DBB 22(“MMC”.E_Chan)

OW W#16#0

JN M003

L 1

M003: T DB19.DBB 8(“MMC”.A_MCPChan)

M002: CALL FC 119

IN0 :=P#DB68.DBX 306.0(“_DB68”.xconf_ch1) //PoiXconf

IN1 :=DB19.DBB8(“MMC”.A_MCPChan) //ChanNo

IN2 :=B#16#7 //SpindleIFNo

IN3 :=FALSE //Mcp2

OUT4:=M206.0(“ALMSG_DB”.C1.FDD_5100xx[8]) //FeedHold

OUT5:=M206.1(“ALMSG_DB”._5FdStop6005xx[8]) //SpindleHold

CALL FC 119

IN0 :=P#DB68.DBX 306.0(“_DB68”.xconf_ch1) //PoiXconf

IN1 :=DB19.DBB8(“MMC”.A_MCPChan) //ChanNo

IN2 :=B#16#8 //SpindleIFNo

IN3 :=FALSE //Mcp2

OUT4:=M206.0(“ALMSG_DB”.C1.FDD_5100xx[8])//FeedHold

OUT5:=M206.1(“ALMSG_DB”._5FdStop6005xx[8])//SpindleHold

4. 結(jié)語

手持單元在數(shù)控機(jī)床加工中應(yīng)用非常普遍,尤其是由于結(jié)構(gòu)原因選擇了固定操縱臺(tái)控制方式的,手持單元的作用就更加突出。手持單元操作靈活,功能明確,既可以實(shí)現(xiàn)手動(dòng)對(duì)刀,也可以做自動(dòng)加工的手動(dòng)調(diào)整,作用不可小視。本臺(tái)機(jī)床調(diào)試完畢后,兩個(gè)HHU就可以同時(shí)工作而且相互不干擾。極大方便了操作者,對(duì)于大型機(jī)床來說雙HHU具有非常大的便利性,值得廣泛應(yīng)用。

猜你喜歡
源文件手輪源代碼
基于TXL的源代碼插樁技術(shù)研究
數(shù)控機(jī)床電子手輪工作原理及故障分析
網(wǎng)絡(luò)社區(qū)劃分在軟件質(zhì)量問題分析中的應(yīng)用
基于源文件可疑度的軟件缺陷定位方法研究
軟件源代碼非公知性司法鑒定方法探析
基于語法和語義結(jié)合的源代碼精確搜索方法
基于生產(chǎn)改造的數(shù)控銑床手輪加裝策略研究
LKJ基礎(chǔ)數(shù)據(jù)源文件自動(dòng)編制系統(tǒng)的研究
數(shù)控機(jī)床電子手輪類故障及快速診斷方法
揭秘龍湖產(chǎn)品“源代碼”