FC68(液晶显示手持单元的)程序注释_第1页
FC68(液晶显示手持单元的)程序注释_第2页
FC68(液晶显示手持单元的)程序注释_第3页
FC68(液晶显示手持单元的)程序注释_第4页
FC68(液晶显示手持单元的)程序注释_第5页
已阅读5页,还剩20页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FUNCTION FC 68 : VOIDTITLE = BHG_beispiel S7_language := 9(1) English (United States) 11.06.2008 09:41:21 AUTHOR : stvNAME : hhu_explVERSION : 2.2VAR_INPUT BHG_on_condition : BOOL ; BHG_stop : BOOL ; HW_to_mmc : BOOL ;/选择手轮的方式,1-MMC选择手轮,0-PLC选择手轮 inch : BOOL ;END_VARVAR_OUTPUT BHG_activ : BOOL ;/HHU

2、有效END_VARVAR_IN_OUT chan_nr : BYTE ;/通道号 BAG_nr : BYTE ;/方式组号END_VARVAR_TEMP aux : ARRAY 0 . 63 OF BOOL ;/aux_flags - mst_ein01 : ARRAY 0 . 15 OF /MCP的IB0和IB1 BOOL ; mst_ein23 : ARRAY 0 . 15 OF /MCP的IB2和IB3 BOOL ; mst_ein45 : ARRAY 0 . 15 OF /MCP的IB4和IB5 BOOL ; mst_ein67 : ARRAY 0 . 15 OF /MCP的IB6和I

3、B7 BOOL ; mst_aus01 : ARRAY 0 . 15 OF /MCP的QB0和QB1 BOOL ; mst_aus23 : ARRAY 0 . 15 OF /MCP的QB2和QB3 BOOL ; mst_aus45 : ARRAY 0 . 15 OF /MCP的QB4和QB5 BOOL ; mst_aus67 : ARRAY 0 . 15 OF BOOL ; bhg_ein23 : ARRAY 0 . 15 OF BOOL ; bhg_ein45 : ARRAY 0 . 15 OF BOOL ; bhg_aus01 : ARRAY 0 . 15 OF BOOL ; bhg_au

4、s23 : ARRAY 0 . 15 OF BOOL ; max_axe : WORD ;/最大轴数 max_chan : WORD ;/最大通道数 max_bag : WORD ;/最大方式组数 axis_nr : WORD ;/轴号 chan_db : WORD ;/通道数据块块号 ax_db : WORD ;/轴数据块块号 tempdw : DWORD ; line_nr : WORD ;/FB2参数 line号 colm_nr : WORD ;/FB2参数 column号 fc13_row : BYTE ;/FC13的参数 行号 fc13_dig : BYTE ;/FC13参数,小数点

5、后位数 fc13_err : BOOL ;/FC13参数,出错标志 fc24_akt : BOOL ; tempw : WORD ; nr_var : INT ; db_bhg : WORD ; MCP_db : WORD ; Poi_McpAus : DWORD ; Poi_McpEin : DWORD ; Poi_bhgEin : DWORD ; Poi_bhgAus : DWORD ; p_xconf : WORD ; p_disp3 : WORD ; indx : INT ; Temp_addr : ANY ;END_VARBEGINNETWORKTITLE = /- 装载机床面板输入

6、输出信号到临时变量 -/常用机床控制面板-483C/IB0-mst_ein0 QB0-mst_aus0/IB1-mst_ein1 QB1-mst_aus1 /IB2-mst_ein2 QB2-mst_aus2/IB3-mst_ein3 QB3-mst_aus3/IB4-mst_ein4 QB4-mst_aus4/IB5-mst_ein5 QB5-mst_aus5/IB6-mst_ein6 /IB7-mst_ein7 /窄机床控制面板/IB0-mst_ein0 QB0-mst_aus0/IB1-mst_ein1 QB1-mst_aus1 /IB2-mst_ein2 QB2-mst_aus2/IB

7、3-mst_ein3 QB3-mst_aus3/IB4-mst_ein4 QB4-mst_aus4/IB5-mst_ein5 QB5-mst_aus5/IB6-mst_ein6 QB6-mst_aus6/IB7-mst_ein7 QB7-mst_aus7/ L DB7.DBW 128; / 最大方式组号 T #max_bag; / 存入临时变量#max_bag L DB7.DBW 130; / 最大通道号 T #max_chan; / 存入临时变量#max_chan L DB7.DBW 132; / 最大轴号(轴+主轴) T #max_axe; / 存入临时变量#max_axe LAR2 P#

8、mst_ein01; /Adresse mst_ein laden (Var_temp Datum) ! L DB8.DBB 3; / DB8.DBB3存放的是操作者在面板上选择的轴的轴号 T #axis_nr; / 存入临时变量#axis_nr/aux-flags in var_temp laden OPN DB 68; / 打开DB68 L DBD 0; T LD 0; / 辅助标志Aux. flags L DBW 4; T LW 4; / 辅助标志Aux. flags A #BHG_stop; / 输入参数#BHG_stop 停用手持单元 = DB7.DBX 108.1; / 相当于FB

9、1的参数BHGstop A #aux43; / 根据DB68的mode_grp填写的参数判断出是FC24 = #fc24_akt; / 是窄面板MCP310 AN #aux44; / 不是MCP2 LAR1 DB7.DBD 146; / 将MCP1_Poi装载到AR1 JC mcp1; / 若不是MCP2跳转到MCP1 LAR1 DB7.DBD 150; / 将MCP2_Poi装载到AR1mcp1: L DBW AR1,P#0.0; / T #MCP_db; L DBD AR1,P#8.0; / 装载指向MCP输出的指针 T #Poi_McpAus; / 存入临时变量#Poi_McpAus L

10、 DBD AR1,P#2.0; / 装载指向MCP输入的指针 LAR1 ; T #Poi_McpEin; / 存入临时变量#Poi_McpEin OPN DB #MCP_db; L D AR1,P#0.0; / 装入机床面板的0-3字节(输入) T LD AR2,P#0.0; / 存放到临时变量mst_ein01和mst_ein23 L D AR1,P#4.0; / 装入机床面板的4-7字节(输入) T LD AR2,P#4.0; / 存放到临时变量mst_ein45和mst_ein67 LAR1 #Poi_McpAus; /Area crossing address of the MCP o

11、utputs L D AR1,P#0.0; / 装载机床面板的8-11字节(输出) T LD AR2,P#8.0; / 存放到临时变量 mst_aus01和mst_aus23 L D AR1,P#4.0; / 装载机床面板的12-13字节(输出) T LD AR2,P#12.0; / 存放到临时变量 mst_aus45和mst_aus67NETWORKTITLE = /-装载HHU的输入输出到临时变量 - LAR1 DB7.DBD 154; / 将BHG_Poi装载到AR1 L DBW AR1,P#0.0; T #db_bhg; L DBD AR1,P#8.0; / 装载指向HHU输出的指针

12、T #Poi_bhgAus; L DBD AR1,P#2.0; / 装载指向HHU输入的指针 LAR1 ; T #Poi_bhgEin; OPN DB #db_bhg; L D AR1,P#2.0; /bhg_ein23/45 T LD AR2,P#16.0; / 存入临时变量#bhg_ein23和#bhg_ein45 LAR1 #Poi_bhgAus; L D AR1,P#0.0; /bhg_aus01/23 T LD AR2,P#20.0; / 存入临时变量#bhg_aus01和#bhg_aus23 SET ; S AR1,P#0.7; / bhg_aus017 - immer Eins!

13、要让手持单元生效,此位需为常1 OPN DB 68; L DBD 0; T LD 0; / 辅助标志Aux. flags L DBW 4; T LW 4; / 辅助标志Aux. flagsNETWORKTITLE = /-手持单元生效 - A #bhg_ein4514; / HHU上的钥匙开关 A #BHG_on_condition; / HHU允许工作条件 FP #aux1; = #aux2; / HHU有效后第一个脉冲 S #aux19; / 显示第一行(HHU有效后置位)disp1_row1 JCN bhgx; /-presettings on hhu_activation- S #au

14、x3; / HHU有效bhgx: ON #bhg_ein4514; / HHU上的钥匙开关 O #BHG_stop; / 输入参数#BHG_stop 停用手持单元 R #aux3; / HHU有效 A #aux3; / HHU有效 = #BHG_activ; / HHU有效 JCN abxc; L #chan_nr; / 通道号 INC 20; / 加20 T #chan_db; / 通道数据块号/-presettings if axis_nr = 0 L #axis_nr; / 轴号 OW W#16#0; JN abxd; / 不是0(即轴号不为0)转abxd A #fc24_akt; /

15、是窄面板MCP310 S #mst_aus673; / 窄面板MCP310上MCS/WCS键的LED指示灯 S #mst_aus458; / 窄面板MCP310上X轴的LED指示灯 R #mst_aus4510; / 窄面板MCP310上Z轴的LED指示灯 R #mst_aus459; / 窄面板MCP310上Y轴的LED指示灯 AN #fc24_akt; / 不是窄面板MCP310 S #mst_aus2313; / MCP483C上MCS/WCS的LED指示灯 S #mst_aus236; / MCP483C上X轴的LED指示灯 R #mst_aus2315; / MCP483C上Z轴的L

16、ED指示灯 R #mst_aus450; / MCP483C上Y轴的LED指示灯 L 1; T #axis_nr; / 轴号abxd: INC 30; / 加30 T #ax_db; / 轴数据块号abxc: AN #aux3; / HHU无效 A #HW_to_mmc; / 通过MMC选择手轮 = DB7.DBX 116.2; / FB1的参数HWheelMMCNETWORKTITLE = /-手持单元显示- A #aux19; / 显示第一行(HHU有效后曾单独置位) R #aux19; / 显示第一行(HHU有效后曾单独置位) JCN dis1; S #aux25; L 4; / 初始值

17、为二进制的100 T DB68.DBW 906; / 右移位用寄存器dis1: A #aux25; A #bhg_ein4515; / 显示新数据 FP #aux20; JCN xz07; L DB68.DBW 906; / 右移位用寄存器 SRW 1; / 第一次移位后为010;第二次移位后为001 T DB68.DBW 906; / 右移位用寄存器 JZ xz07; R #aux25; xz07: AN #BHG_activ; / HHU有效 R #aux15; / 手持单元选择第7-第12机床轴标志 R #aux14; / 手持单元选择第1-第6机床轴标志 R #aux12; / 手持单

18、元选择方式组和通道标志 JC dsp2; A #aux15; / 手持单元选择第7-第12机床轴标志 JC dsp4; A #aux14; / 手持单元选择第1-第6机床轴标志 JC dsp3; A #aux12; / 手持单元选择方式组和通道标志 JC dsp5; OPN DB #chan_db; / 打开通道数据块 A DBX 36.6; / DB21.DBX36.6-有通道的NCK报警存在 JC dsp6; /-display_1- L W#16#A; /colomn value for SGA_actProgPos A DB19.DBX 0.7; / 是WCS工件坐标系,转axnm J

19、C axnm; L W#16#2; /colomn value for SGA_actToolBasePosaxnm: T #colm_nr; OPN DB #ax_db; / 打开轴数据块 L P#64.0; AN #fc24_akt; / 不是窄面板MCP310 AN #mst_aus2313; / MCP483C上MCS/WCS的LED指示灯没亮,即是MCS JC x001; / 是MCP483且是MCS转x001 A #fc24_akt; / 是窄面板MCP310 AN #mst_aus673; / 窄面板MCP310上的上MCS/WCS LED指示灯没亮,即是MCS JC x001;

20、 / 是窄面板MCP310且是MCS转x001 L #axis_nr; / 轴号 R #aux9; / 轴配置为负数的标志 T DB68.DBW 912; / FB2的参数,轴号 L geoW; +I ; / geoW+1=geoX;geoW+2=geoY;geoW+3=geoZ T DBD 24; / 将此字符串插入到disp1 L in; / 装载英制单位 A #inch; / 是英制 JC noMM; / 是英制转noMM L mm; / 装载公制单位noMM: T DBW 38; / 将单位字符串插入到disp1 L #axis_nr; / 装载轴号 calc. pointer for

21、 db21.dbb40,46,52 L 6; / 装载常数6 *I ; / 相乘 SLW 3; / 字左移3位,变成指针 L P#34.0; / 装载指针 +D ; / 6+34=40;12+34=46;18+34=52 ,注意是指针的运算 OPN DB #chan_db; / 打开通道数据块x001: LAR1 ; L ; A DBX AR1,P#0.7; / 几何轴正向移动指令DB21.DBX40.7/DBX46.7/DBX52.7 JC xx03; / 有几何轴正向移动指令转xx03 L 和xx03: OPN DB 68; T DBB 37; / 将方向符号字符插入到disp1 AN #

22、fc24_akt; / 不是窄面板MCP310 JC m19a; / 是MCP483C转m19a/*fc24a_begin 开始处理面板MCP310* L LW AR2,P#9.0; / 装载MCP310的QB1和QB2(mst_aus12) L W#16#42F; AW ; / 与W#16#42F进行字与操作 L 0; =D ; / 若与操作结果为0,表示REF和INC1/10/100/1000/var.的LED没有亮 A #mst_aus012; / 窄面板MCP310上的JOG键LED R #aux26; / 清手轮有效标志 L JOG_; JC xx06; A #mst_aus0110

23、; / 窄面板MCP310上的REF键LED L REF_; JC xx06; S #aux26; / 置手轮有效标志 A #mst_aus235; / 窄面板MCP310上的INC var.键LED L I.; JC xx06; L P#0.0; A #mst_aus230; / 窄面板MCP310上的INC1键LED JC xx07; L P#4.0; A #mst_aus231; / 窄面板MCP310上的INC10键LED JC xx07; L P#8.0; A #mst_aus232; / 窄面板MCP310上的INC100键LED JC xx07; L P#12.0; A #mst

24、_aus233; / 窄面板MCP310上的INC1000键LED JC xx07; R #aux26; / 清手轮有效标志 JU xx77; /*fc24a_end 结束处理面板MCP310*/*fc19a_begin 开始处理面板MCP483C*m19a: L LW AR2,P#8.0; / 装载MCP483C的QB0和QB1(mst_aus01) L W#16#F007; AW ; L 0; =D ; / 若与操作结果为0,表示REF和INC1/10/100/1000/10000/var.的LED没有亮 A #mst_aus013; / MCP上的JOG键LED R #aux26; /

25、清手轮有效标志 L JOG_; JC xx06; A #mst_aus0110; / MCP上的REF键LED L REF_; JC xx06; S #aux26; / 置手轮有效标志 A #mst_aus019; / MCP483C上的INC var.键LED L I.; JC xx06; L P#0.0; A #mst_aus014; / MCP483C上的INC1键LED JC xx07; L P#4.0; A #mst_aus015; / MCP483C上的INC10键LED JC xx07; L P#8.0; A #mst_aus016; / MCP483C上的INC100键LED

26、JC xx07; L P#12.0; A #mst_aus017; / MCP483C上的INC1000键LED JC xx07; AN #mst_aus018; / MCP483C上的INC10000键LED R #aux26; / 清手轮有效标志 JC xx77; L P#16.0; xx07: LAR1 ; L DBD AR1,P#688.0; / 读取用英制时,点动当量的显示字符 A #inch; / 是英制 JC xx06; L DBD AR1,P#692.0; / 读取用公制时,点动当量的显示字符 JU xx06; xx77: L AUTO; A #mst_aus010; / MC

27、P上的AUTO键LED JC xx06; L MDA_; A #mst_aus011; / MCP上的MDA键LED JC xx06; L ?; xx06: OPN DB 68; T DBD 20; / 将操作方式字符串插入disp1 L DB68.DBD 888; L LD AR2,P#8.0; / 装载机床面板的QB0-QB3(#mst_aus01/23) T DB68.DBD 888; / 保存MCP输出的状态 XOD ; A #fc24_akt; / 是窄面板MCP310 L DW#16#7040F00; / 保留窄面板MCP310的操作方式位 JC m24b; TAK ; L DW#

28、16#FF0F0000; / 保留面板MCP483C操作方式位m24b: AD ; / 双字与操作 L 0; / 装载常数0 D ; / 不为0表示操作方式有变化 S #aux19; / 显示第一行(HHU有效后曾单独置位) A #aux25; L 1; JC fc13; L 2; fc13: T #fc13_row; L 4; A #inch; / 是英制 AN #aux9; / 轴配置为负数的标志 JC xx10; L 3; xx10: T #fc13_dig; CALL FC 13 (/ 操作方式,轴坐标值的显示 Row := #fc13_row, ChrArray := DB68.di

29、sp1, Convert := TRUE, Addr := DB68.DBD 894, DataType := B#16#8, StringAddr := 29, Digits := #fc13_dig, Error := #fc13_err); JU bbee; dsp2: CALL FC 13 (/ 手持单元无效时的显示 Row := B#16#3, ChrArray := DB68.disp2, Convert := FALSE, Addr := DB68.DBD 894, DataType := B#16#8, StringAddr := 29, Digits := B#16#3, E

30、rror := #fc13_err); JU bbee; dsp3: CALL FC 13 (/ 第1-第6轴轴名的显示 Row := B#16#3, ChrArray := DB68.disp3, Convert := FALSE, Addr := DB68.DBD 894, DataType := B#16#8, StringAddr := 29, Digits := B#16#3, Error := #fc13_err); JU bbee; dsp4: CALL FC 13 (/ 第7-第12轴轴名的显示 Row := B#16#3, ChrArray := DB68.disp4, Co

31、nvert := FALSE, Addr := DB68.DBD 894, DataType := B#16#8, StringAddr := 29, Digits := B#16#3, Error := #fc13_err); JU bbee; dsp5: CALL FC 13 (/ 方式组号和通道号的显示 Row := B#16#3, ChrArray := DB68.disp5, Convert := FALSE, Addr := DB68.DBD 894, DataType := B#16#8, StringAddr := 29, Digits := B#16#3, Error :=

32、#fc13_err); JU bbee; dsp6: CALL FC 13 (/ 有报警时的显示 Row := B#16#3, ChrArray := DB68.disp6, Convert := FALSE, Addr := DB68.DBD 894, DataType := B#16#8, StringAddr := 29, Digits := B#16#3, Error := #fc13_err); A #bhg_ein456; / 手持单元上的rap-overr键(快移键) S #mst_ein2315; / MCP上的RESET键 S #aux19; / 显示第一行(HHU有效后曾单

33、独置位)bbee: NOP 0; NETWORKTITLE = /-选择机床轴 / 通道+/- - OPN DB 68; AN #aux12; / 手持单元选择方式组和通道标志 R #aux15; / 手持单元选择第7-第12机床轴标志 R #aux14; / 手持单元选择第1-第6机床轴标志 A #aux2; / HHU有效后第一个脉冲 JC f009; AN #aux12; / 手持单元选择方式组和通道标志 JC f0ff; A #aux15; / 手持单元选择第7-第12机床轴标志 L 7; JC M_ax; L 1; A #aux14; / 手持单元选择第1-第6机床轴标志 JC M_

34、ax; /-selection of Channel-f009: L #chan_nr; / 通道号 A #bhg_ein455; / 手持单元的正方向键 FP #aux17; JCN f010; INC 1; f010: A #bhg_ein457; / 手持单元的负方向键 FP #aux18; JCN f011; DEC 1; f011: T #chan_nr; / 通道号 L #max_chan; I ; JC f013; L #max_chan; T #chan_nr; / 通道号,如果按-通道号减到零时变为最大通道号/-ModeGroup & Channel in ASCCII-f0

35、13: L P#544.0; /pointer db68.mode_grp0-2 LAR1 ; L #chan_nr; / 通道号 SLW 4; +AR1 ; L DBW AR1,P#0.0; /_db68.mode_grp#chan_nr ITB ; / 整数转成BCD码 PUSH ; AW W#16#F; T #BAG_nr; / 方式组号 POP ; SRW 8; T LB 5; / 对应辅助标志aux40-aux47 aux40.47 -mcp1/2- FC19/24 O #aux40; O #aux42; = #aux44; / 根据DB68的mode_grp填写的参数判断出是MCP

36、2 O #aux41; O #aux42; = #aux43; / 根据DB68的mode_grp填写的参数判断出是FC24 L #BAG_nr; /BCD to ASCII 将方式组号由BCD码转成ASCII码 PUSH ; ITB ; SRW 4; SLW 8; OW ; AW W#16#F0F; OW W#16#3030; T DBW 148; / 将方式组号BAG_nr的ASCII插入Disp5 L #chan_nr; / 通道号/BCD to ASCII 将通道号由BCD码转成ASCII码 PUSH ; ITB ; SRW 4; SLW 8; OW ; AW W#16#F0F; OW

37、 W#16#3030; T DBW 157; / 将通道号Chan_nr的ASCII插入Disp5/ KanalNr.f黵 FB2 L #chan_nr; / 通道号 + 64; / 将通道号ChanNr转换为FB2参数通道号需要的格式 (41hex.) T DB68.DBB 909; / 写入变量的地址/ NameOfChannel in disp1 eintragen L P#556.0; /pointer _db68.NameOfChannel1 minus10 LAR1 ; L #chan_nr; / 通道号 L 12; / 装载常数12 *I ; / 相乘 SLW 3; / 左移3位

38、,变为指针 +AR1 ; / 与指针p#556.0相加 L DBD AR1,P#0.0; / 装载DB68中设置的通道名前4个字节 T DBD 8; / 写入disp1 T DBD 160; L DBD AR1,P#4.0; / 装载DB68中设置的通道名中间4个字节 T DBD 12; / 写入disp1 T DBD 164; L DBW AR1,P#8.0; / 装载DB68中设置的通道名后面2个字节 T DBW 16; / 写入disp1 T DBW 168; JU f0ff; /-selection of ChanAxis-M_ax: A #bhg_ein230; / 在手持选择机床轴

39、时按T1键选择轴1或轴7 JC f001; INC 1; A #bhg_ein454; / 在手持选择机床轴时按T21键选择轴2或轴8 JC f001; INC 1; A #bhg_ein231; / 在手持选择机床轴时按T2键选择轴3或轴9 JC f001; INC 1; A #bhg_ein232; / 在手持选择机床轴时按T3键选择轴4或轴10 JC f001; INC 1; A #bhg_ein455; / 在手持选择机床轴时按T22键选择轴5或轴11 JC f001; INC 1; A #bhg_ein236; / 在手持选择机床轴时按T7键选择轴6或轴12 JC f001; A #

40、aux13; /MachAx selected R #aux13; R #aux12; / 手持单元选择方式组和通道标志 S #aux19; / 显示第一行(HHU有效后曾单独置位) JU f0ff; /-MachAx according to ChanAx-f001: T #tempw; / 通道轴的序号,用于FB2 L #chan_nr; / 通道号 L 24; / 装载常数24 *I ; / 相乘 + 280; / 加280,对应DB68.DBX306.0/330.0等,即通道的轴配置 L #tempw; SLW 1; +I ; SLW 3; / 左移3位变成指针 LAR1 ; / AR

41、1指向通道轴配置 L DBW AR1,P#0.0; / 装载通道轴号 PUSH ; NEGI ; / 相当于乘-1 S #aux9; / 设轴配置为负数的标志 JP f002; / 如果为正数(原来轴号为负数)转f002;如果为负数往下执行 SET ; R #aux9; / 复位负数标志 TAK ; f002: L 0; =I ; JC f0ff; / 若为0转f0ff TAK ; L #max_axe; I ; / 若大于最大轴数转f0ff JC f0ff; TAK ; T #axis_nr; / 轴号selected axis (fc19) SLW 2; / 左移2位,相当于乘4 + 17

42、4; / 加174 SLW 3; / 左移3位,变为指向轴名的指针 LAR1 ; / AR1指向轴名 S #aux13; / MachAx selected A #fc24_akt; / 是窄面板MCP310 R #mst_aus673; / 窄面板上MCS/WCS的LED指示灯geo_axis selected R #mst_aus458; / 窄面板上X轴的LED指示灯 R #mst_aus4510; / 窄面板上Z轴的LED指示灯 R #mst_aus459; / 窄面板上Y轴的LED指示灯 AN #fc24_akt; / 是窄面板MCP310 R #mst_aus2313; / MCP

43、上MCS/WCS的LED指示灯geo_axis selected R #mst_aus236; / MCP上X轴的LED指示灯 R #mst_aus2315; / MCP上Z轴的LED指示灯 R #mst_aus450; / MCP上Y轴的LED指示灯 L #tempw; T DB68.DBW 912; / FB2用变量地址 L in; A #inch; / 是英制 JC NOmm; L mm; NOmm: AN #aux9; / 轴配置为负数的标志 JC _lin; L dg; _lin: T DBW 38; / 将单位字符写入disp1 L DBD AR1,P#0.0; T DBD 24;

44、 / 将轴名写入disp1f0ff: NOP 0; NETWORKTITLE = /-软键选择 机床轴/通道和方式组 - A #bhg_ein2313; / 手持单元上的T14键(4键) FP #aux10; = #aux11; / 4键被按下的脉冲 JCN e008; AN #aux12; / 手持单元选择方式组和通道标志 = #aux12; / 手持单元选择方式组和通道标志 S #aux14; / 手持单元选择第1-第6机床轴标志 NOT ; S #aux19; / 显示第一行(HHU有效后曾单独置位)e008: A #bhg_ein456; / 手持单元上的T23键(Rap_Overr.

45、键) A #aux12; / 手持单元选择方式组和通道标志 FP #aux21; JCN e009; AN #aux16; / 轴数大于7标志 A #aux14; / 手持单元选择第1-第6机床轴标志 O #aux15; / 手持单元选择第7-第12机床轴标志 R #aux14; / 手持单元选择第1-第6机床轴标志 R #aux15; / 手持单元选择第7-第12机床轴标志 JC e0ff; /deselect SK_display? AN #aux14; / 手持单元选择第1-第6机床轴标志 S #aux14; / 手持单元选择第1-第6机床轴标志 JC e0ff; S #aux15; /

46、 手持单元选择第7-第12机床轴标志 JU e0ff; e009: L DB68.DBB 887; L #chan_nr; / 通道号 =I ; AN #aux2; / HHU有效后第一个脉冲 JC e0ff; / 通道号没有变转e0ff T DB68.DBB 887; / 选择了新的通道,往下执行 L 24; / 装载常数24 *I ; / 相乘 + 282; / (通道号*24+282)后再左移3位变成指针 SLW 3; / 指向DB68轴配置(DB68.DBX306.0)的指针 T #p_xconf; / 指向DB68轴配置(DB68.DBX306.0)的指针(p#306.0) L P#

47、77.0; T #p_disp3; / pointer disp3_byte2 L -1; T #indx; / 计数用临时变量e002: L 12; / 循环开始, 12-HHU可以处理12根轴 L #indx; + 1; T #indx; =I ; JC e006; / 12根轴都处理完成转e006 L 5; L #indx; I ; L #p_disp3; LAR2 ; / AR2指向disp3 JC e004; / #index不为5,转e004.即处理完6根轴后往下执行,否则转e004 + 32; / 指针从disp3转向指到disp4(+ p#4.0) T #p_disp3; R

48、#aux16; / 轴数大于7标志e004: L #indx; / 装载计数变量 L 5; / 装载常数5 *I ; / 相乘 SLW 3; / 左移3位变为指针 +AR2 ; / 加偏移 L #indx; SLW 4; LAR1 ; / AR1作为读DB68轴配置的偏移 L #p_xconf; / 指向DB68轴配置(DB68.DBX306.0)的指针(p#306.0) +AR1 ; L 0; L DBW AR1,P#0.0; / 读取DB68的轴配置(数字) =D ; L .; JC e005; / 若读取的轴为0,则显示. S #aux16; / 轴数大于7标志 POP ; NEGI ;

49、 JP e003; TAK ; e003: SLW 2; /x2 + 174; SLW 3; LAR1 ; / 指向MachaxNames?的指针 L DBD AR1,P#0.0; e005: T DBD AR2,P#0.0; / 拷贝轴名,从MachaxNames到disp3和disp4 JU e002; / 跳转回e002e006: L ; A #aux16; / 显示表示还有轴,轴数大于7 JC e007; L ; e007: T DBB 107; / 将字符插入disp3e0ff: LAR2 P#mst_ein01; / 将AR2指向mst_ein01NETWORKTITLE = /-

50、读机床轴/几何轴位置 - CALL FB 2 , DB 69 ( Req := #aux5, NumVar := 1, Addr1 := DB68.cmdContrPos, Column1 := #colm_nr, Error := #aux6, NDR := #aux7, State := DB68.DBW 780, RD1 := DB68.DBD 894);/读出的轴坐标/read cyclically A #BHG_activ; / HHU有效 AN #aux7; / FB2完成信号NDR AN #aux5; / FB2启动信号request S #aux5; / FB2启动信号requ

51、est O #aux6; / FB2错误信号error O #aux7; / FB2完成信号NDR R #aux5; / FB2启动信号requestNETWORKTITLE = /-mpg_deactivation of all Geo&MachAxes - AN #BHG_activ; / HHU无效 FP #aux23; = #aux22; / HHU无效后的脉冲信号 AN #BHG_activ; / HHU无效 AN #aux22; / HHU无效后的脉冲信号 JC k0ff; L #max_chan; / 装载通道数bck2: INC 20; T #tempw; OPN DB #te

52、mpw; / 打开通道数据块DB21/22/23/. R DBX 12.0; / 几何轴1的手轮1有效信号DB21.DBX12.0 R DBX 16.0; / 几何轴2的手轮1有效信号DB21.DBX16.0 R DBX 20.0; / 几何轴3的手轮1有效信号DB21.DBX20.0 DEC 20; LOOP bck2; / 循环,直至设置了所有通道 L #max_axe; / 装载轴数bck1: INC 30; T #tempw; OPN DB #tempw; / 打开轴数据块DB31/32/33/. R DBX 4.0; / 机床轴的手轮1有效信号DB3*.DBX4.0 DEC 30;

53、LOOP bck1; / 循环,直至设置了所有轴k0ff: NOP 0; NETWORKTITLE = /-传送手持单元信号到MCP - O #aux12; / 手持单元选择方式组和通道标志 ON #BHG_activ; / HHU无效 JCN bhg1; L DW#16#80000000; T LD AR2,P#20.0; /bhg_aus01/23bhg1: AN #BHG_activ; / HHU无效 JC nobh; / HHU无效转nobh L LB AR2,P#19.0; / 装载手持单元的bhg_ein5 SRW 1; / 右移一位 L B#16#1F; AW ; / 与1F做字

54、与操作,仅保留倍率信号 L LB AR2,P#3.0; / 装载MCP的mst_ein3 SRW 5; / 字右移5位 SLW 5; / 字左移5位 OW ; / 字的或操作 T LB AR2,P#3.0; / 传送到mst_ein3 A #aux12; / 手持单元选择方式组和通道标志 JC nobh; /versch.mstTasten ausblenden L DW#16#F00810FF; A #fc24_akt; / 是窄面板MCP310 JC m24c; L DW#16#F000C0FF; m24c: L LD AR2,P#0.0; / 装载MCP的mst_ein01/23 AD

55、; / 双字的与操作,去掉操作方式选择和启动停止信号 T LD AR2,P#0.0; L W#16#1FC0; A #fc24_akt; / 是窄面板MCP310 R #mst_ein673; / MCS_WCS JC m24d; L W#16#1108; m24d: L LW AR2,P#4.0; / 装载面板的mst_ein45 AW ; / 字的与操作 T LW AR2,P#4.0; A #fc24_akt; / 是窄面板MCP310 JC m24e; /*fc19_begin* A #bhg_ein237; /feed-stop = #mst_ein233; A #bhg_ein235

56、; /auto = #mst_ein010; AN #bhg_ein234; /nc-stop = #mst_ein230; AN #bhg_ein233; /spdl-stop = #mst_ein234; AN #bhg_ein232; /feed-hold = #mst_ein232; A #bhg_ein230; /jog = #mst_ein013; A #bhg_ein239; /nc-start = #mst_ein231; A #bhg_ein238; /spdl-start = #mst_ein235; A #bhg_ein457; /minus = #mst_ein456;

57、 A #bhg_ein456; /rap-overr = #mst_ein455; A #bhg_ein455; /plus = #mst_ein457; A #mst_aus0115; = #bhg_aus237; /feed-start A #mst_aus010; = #bhg_aus235; /auto A #mst_aus0112; = #bhg_aus234; /nc-stop A #mst_aus230; = #bhg_aus233; /sp-stop A #mst_aus0114; = #bhg_aus232; /feed-stop A #mst_aus013; = #bhg_

58、aus230; /jog A #bhg_ein2312; /Z = #mst_ein4514; S #mst_aus2313; / MCP上MCS/WCS的LED指示灯WCS A #mst_aus2315; / MCP上Z轴的LED指示灯 = #bhg_aus2312; /Z A #bhg_ein2311; /Y = #mst_ein4515; S #mst_aus2313; / MCP上MCS/WCS的LED指示灯WCS A #mst_aus450; / MCP上Y轴的LED指示灯 = #bhg_aus2311; /Y A #bhg_ein2310; /X = #mst_ein453; S

59、#mst_aus2313; / MCP上MCS/WCS的LED指示灯WCS A #mst_aus236; / MCP上X轴的LED指示灯 = #bhg_aus2310; /X A #mst_aus0113; = #bhg_aus239; /nc-start A #mst_aus231; = #bhg_aus238; /sp-start JU m19f; /*fc24_begin* 窄面板MCP310m24e: A #bhg_ein237; /feed-start = #mst_ein237; A #bhg_ein235; /auto = #mst_ein010; AN #bhg_ein234;

60、 /nc-stop = #mst_ein017; AN #bhg_ein233; /spdl-stop = #mst_ein0113; AN #bhg_ein232; /feed-hold = #mst_ein236; A #bhg_ein230; /jog = #mst_ein012; A #bhg_ein239; /nc-start = #mst_ein0115; A #bhg_ein238; /spdl -rechts = #mst_ein0114; A #bhg_ein457; /minus = #mst_ein456; A #bhg_ein456; /rap-overr = #mst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论