机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: jiangssli

数控车高级宏程序逻辑运用的题目

[复制链接]
发表于 2011-5-24 12:36:11 | 显示全部楼层
呵呵!用子程序不快一些吗!?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-24 17:07:30 | 显示全部楼层
回复 yukunv6 的帖子
* r5 c& s; k; J! g; L, c1 N
  N* O# p2 j" ~8 h  ^' A+ J呵呵,估计阁下没有把题目读明白!!!用子程序是非常麻烦的!!!那样程序会很长很长!
回复 支持 反对

使用道具 举报

发表于 2011-5-29 22:47:37 | 显示全部楼层
谢谢楼主,把自己的精锐拿出来给大家看!可我对宏程序还不是很了解,我现在特别希望能学到点入门知识!希望楼主多多指点!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-31 22:07:53 | 显示全部楼层
回复 6704288848 的帖子  |4 L, K$ E: G& W, R8 i
- Q4 b, w( |0 W
人气太低了!发出来也没人来看啊!
回复 支持 反对

使用道具 举报

发表于 2011-6-1 01:18:57 | 显示全部楼层
大家都是宏程序的高手呀    ·· ·  · ·  · ·  哪我问哈外圆上用35°刀如何车出圆弧螺纹,凸凹都讲讲。
回复 支持 反对

使用道具 举报

发表于 2011-6-17 21:44:16 | 显示全部楼层
回复 jiangssli 的帖子
+ s) d. V) ?% e
. X* T& V+ @% J* I* K你这个太复杂了,用子程序和G50相结合就很简单,让你参考一篇文章http://user.qzone.qq.com/413916864/blog/1307800248
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-18 02:13:56 | 显示全部楼层
本帖最后由 jiangssli 于 2011-6-18 02:23 编辑
$ i! {( w( K5 e) U& n
7 A3 ~5 d$ G9 t回复 sniper2006 的帖子& k  S; z1 Z( f# `
7 T! @; Y+ p) P( \7 U
  呵呵,估计阁下没有把题目要求读明白!!!用子程序是非常麻烦的!!!那样程序会很长很长! 用G50也会是一样的效果!!
0 a- G, r' ^+ G8 q#200=1245的时候.同时切 第一,第二.第四,第五个槽,假如#200=1235的时候,同时切 第一,第二,第三,第五个槽...
' ^8 F# \& t4 x9 q" P5 Q            如果这个是一个零件,你同时为28家公司供货,每一个公司都要求有区分是不是自己公司的零件的标记槽..其他尺寸都是一样的!是不是你得做28个切槽的程序?然后备注每一个公司对应的是哪一个程序去切标记槽?这样是不是浪费了数控系统的资源?是不是容易出错?我这个程序就简单多了,只有一个程序,节省了系统资源.....#200的值就对应了每一个公司的要求,你只需要改变它的值,就知道是生产哪一个公司的零件了!!3 ^, B6 v) ]$ G, b6 j' O. T, `
   这个题目是别人公司实际加工中遇到过的事情!不过别人遇到的是加工中心零件上面钻孔!我只是把它更改一下做成数控车的题目而已!# F7 q0 ]. Y  n3 e% U6 K
回复 支持 反对

使用道具 举报

发表于 2011-6-18 03:10:28 | 显示全部楼层
我半路出家的 看不懂宏程式给点新手能看 懂的可以吗!~
回复 支持 反对

使用道具 举报

发表于 2011-6-18 08:21:17 | 显示全部楼层
回复 jiangssli 的帖子" G# L/ h$ h% j7 K( ]
' w9 W  \9 D2 G1 a1 u7 u+ e
用子程序加宏更快。看实例
G97
, ~; E( K" Q, @/ o+ p1 I% S
G99
7 V/ f1 `. H8 M6 j' C% }
T0202 M03 S500

8 I9 e( k4 t, b5 y+ _5 y
G00 X72 Z-1
& M, R2 |+ S$ J5 c
G01 X70 F0.2
! V/ H% z6 g# s! p0 [. K5 L5 j
G01 X68 Z0 F0.05

& l+ W5 Q; N5 L  l) B" r! Y
G01 X2 F0.1
- e7 ^2 H$ G3 {: W7 |& G
G01 X-1 F0.05

/ Y3 E, O+ v1 S
G00 X72 W1
5 P) F$ ~. D$ V4 n* c) t9 _. W
M98 P052229                                                                      调用子程序O2229调用5次

3 A4 y0 Y* L6 @9 Q. J3 u
G50 W-95                                                                            加工坐标系的回原

# P3 J  |9 y* h. {9 G% r& X
G00 X72 Z0

8 q' T4 T* s6 k. D' S
M30

/ s- [  E5 P' h# ^
" y, w) i) ?7 Q: C

/ p2 G. I! U  E& @) C
2.子程序O2229(切槽刀4mm)

0 O$ p0 @# j1 z; o9 J; s" M( ]) z
G97
) r7 ]8 ^  L: |! w+ |/ k1 \4 Y
G99

4 I) x6 V3 G9 [6 K. j" Z
T0202 M03 S500        
! x" d+ p1 X4 l1 r- J* M$ L
G00 X72 Z-11.1                                                                   G75的循环起点
4 X( D/ O* }9 o" K- S% ~2 ]5 s# i
G75 R1

8 ]! N% Z' o/ ~
G75 X60 Z-18.9 P4000 Q3800 F0.1                                    径向方向进刀4mm   轴向方向进刀3.8mm

8 ]; |- F: s7 E* m3 Y1 W
G00 X61 Z-11.1

/ q& \+ o0 Q' i. e8 p- i1 U
G75 R1

7 H* w) }; [- F+ R
G75 X50 Z-18.9 P4000 Q3800 F0.1                                    径向方向终点值50mm  轴向方向终点值18.9mm

$ O8 O6 V) l3 X# P7 G& v
G00 X51 Z-11.1
; `  Q+ e% _- j0 c0 y4 w
G75 R1                                                                                径向方向每进刀4mm退刀1mm可以断屑
! l% p1 y! e# c3 s$ T0 s
G75 X40 Z-18.9 P4000 Q3800 F0.1

1 H; ~6 X8 g1 u. c! L$ v# {$ b
G00 X41 Z-11.1
) o% P# @2 L  D* E# v# \
G75 X30.1 Z-18.9 P4000 Q3800 F0.1

6 J4 C! F' ?3 n5 {, p5 V
G00 X72

. d5 x" u3 U6 T& X9 q8 B7 l
Z-10

) @5 u# Q' ~) |! g
G01 X70 F0.2
4 O) ^- r3 b3 ?" M
G01 X68 W-1 F0.05
2 K! U3 G8 l0 x
G01 X30 F0.1

: r( j+ o) l: ^' M- L. }
G00 X72 W-1

5 t0 R# |9 [" D  ~1 {6 A* y, X
Z-20

7 P6 C2 f  H6 T  J5 H( R5 N
G01 X70 F0.2

" b" h5 k3 D& |
G01 X68 W1 F0.05

! G7 a% V) W  F9 h
G01 X30 F0.1
7 ^0 p! @0 s5 T/ V) R- I
G01 Z-11 F0.1
( `3 |) d( m( U: ]0 ]: Y# G
G00 X72 W-1
+ k0 r9 U" `; D+ F; X( @+ X
Z-11.1
/ Y7 B  D9 \! n% _& B
G50 W19

. l1 ~7 Q- E5 F
M99

9 ~; y3 t4 {9 m+ J& s! g) d
9 i" X) z% T- x8 R4 E

" E  C" p/ ^; A2 ~! O
你可以把需要变化的值写成宏,如定位G00 X72 Z-11,1可以写成,G00 X#1 Z#2,其他地方也一样,因为零件的结构基本上市一致的,下次就可以直接修改宏,而不需要重新编辑程序。就像西门子一样参数化编程,还有你忘记了C语言的一条重要原则要限制使用GOTO语句。我想对数控也是一样的程序跳来跳去容易出错,过程不好控制。

' m) x" x  T0 P1 N7 h

# T( z+ P# ?/ Y+ f* e

* ]6 ]+ Y$ c0 w9 s4 B

点评

大侠有没有用过FANUC系统,有个问题请教一下。 关于取整函数FIX [attachimg]390924[/attachimg] 运算结果#3=2 但是换一种情况: [attachimg]390925[/attachimg] 运行结果#3=3 这个是怎么个情况。。  详情 回复 发表于 2016-6-23 22:20
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-18 11:35:03 | 显示全部楼层
本帖最后由 jiangssli 于 2011-6-18 11:46 编辑
- @! S! R1 z* k, u8 B$ U1 k# E2 G; F7 A1 f8 B2 E  t2 s/ h1 A  H" e
回复 sniper2006 的帖子
- G1 V  X' R" q( F3 M        
0 Y# H( ^9 e0 \, T/ V我觉得你还是没有看明白本题目是怎么回事吧?? 1 [& K/ s) w: e/ H- D& c" n# v
就按你说的调子程序加工,这个零件有29个加工模式,,你的程序怎么去判断什么情况的时候只需要去加工其中的两个位置不同的槽?
3 E; W( {7 b* P7 u+ G5 l#200=1  只需要加工第一个槽
! {# _3 F0 H7 Y  m#200=2  只需要加工第二个槽* R7 U4 P8 T" e# k
#200=3  只需要加工第三个槽! `% ]4 W6 {* [$ Z
#200=4  只需要加工第四个槽6 Y! }2 D* m7 |9 L8 r
#200=135 只需要加工第一 第三 第五个槽
, C! b4 T0 |' M0 P* j7 ?5 X      像这样的情况你怎么判断?% ~, w" ~9 T# J# a
每一次都去改程序吗??
( p7 x! y" E1 v7 a2 B+ O1 G; j) R& ]! ?
多用一个程序就多占用一个系统的资源和空间!!本题目的要求是通过宏程序的算法来精简程序长度,你的方法不是说做不出来,而是占用的系统资源和内存不是一般的大...和我要求的初衷背道而驰了!!
* @2 U+ ?7 ^3 ~5 x* t. @- {% P1 s2 J    再者如果就按你的思路这样说的话,1-9有多少个不重复数字的组合????如果每个数字的组合用一个子程序的话 且不是有多少组合就得做多少个子程序??
  Q& g8 Q1 b4 L) ]/ A适当和正确的使用GOTO跳转是必须的,思路严谨和构架没有问题的时候,用多少GOTO都不会出错的!如果程序编好测试完以后没有出错就不会出错了!!  就像你说的连GOTO跳转都会出错,难道每次去改槽位置的宏变量就不会出错?估计人的大脑在这方面还没有数控系统那么稳定和高效吧??$ i3 F+ _+ j0 \1 b, q

5 }+ P2 C( G* o4 s: |4 _2 F$ f" L& l  Q. ^/ _- ]8 p
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-2-19 07:10 , Processed in 0.062461 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表