機械社區
標題: 數控車高級宏程序邏輯運用的題目 [打印本頁]
作者: jiangssli 時間: 2011-5-16 15:39
標題: 數控車高級宏程序邏輯運用的題目
本帖最后由 jiangssli 于 2011-5-16 16:11 編輯 7 v; x- x; L9 Z* [% r" j
/ A A6 Z) }1 E2 P0 b
[attach]213038[/attach]) h, ]6 ~0 B, b6 q5 f# w2 s7 o+ J( T
% C8 T7 Q2 x, y
當#200=0時;切槽1.2.3.4.5,7 u, ^; P9 ?' R; a) _
=1切槽1,
9 r8 V* J% c& u2 j/ D* Q =2切槽2,1 M/ ^, o9 g6 o( A9 T* w' _
=3切槽3,9 L, B3 H5 e, K0 W
=4切槽4, e6 D0 }2 M2 J6 f
=5切槽5,
. ?; ?" I0 B7 y+ j5 h- {" _& V* G =12切槽1、2,
7 r( v5 H5 M( w& _5 x =13切槽1、3,
/ a" Q% P1 Z5 T/ u, A! ~2 F =14切槽1、4,, t) m2 K) s* j' e
=15切槽1﹑5,+ ?) u. d7 P* Q. g8 b$ P
=23切槽2、3,) Z# H* e& s5 x) D
=24切槽2、4,
7 _5 i d4 y, P0 ^ =25切槽2﹑5
1 J+ T% w' [: s, g q% n =34切槽3、4,1 @% L) \5 x8 o
=35切槽3﹑5,+ g$ @$ B) d' w2 F7 Z0 F8 z
=123切槽1、2、3,
=124切槽1、2、4,
=125切槽1、2、5,7 a; `( ~0 j, j+ u5 ?) {
=134切槽1、3、4,) |9 z3 C/ ^* C9 P- J* \1 c: H
=135切槽1、3、5,
=145切槽1、4、57 X- m! L8 q4 @
=234切槽2、3、4, 4 T0 U3 ?/ t0 }9 q5 e x6 x
=235切槽2、3、5,
=245切槽2、4、5,' K3 m) T( c2 F. W& \# L
=345切槽3﹑4﹑5,
6 d& h* c1 c4 C d$ Q8 V =1234切槽1﹑2﹑3﹑4,
( e5 J. ~* D% Q% G6 l =1235切槽1、2、3、5,
=1245切槽1、2、4、5,
=1345切槽1、3、4、5,
9 T) u! ` O* | e% C =2345切槽2﹑3﹑4﹑5.# V' ^3 [ j" O" k% R
8 ]2 J- J6 b8 _+ d& P: I要求:只能用五組坐標實現,力求把程序做到最簡短! 7 ~5 L& [5 |& M/ \
( }% r" v- r3 h& H) {- u這個題目是以前在其它論壇發過的!現在轉貼在這里,請各位大俠多討論下!!8 N, S1 q7 K( T A1 H
+ q* f' a- {2 |; }" v
作者: 2010dengkai 時間: 2011-5-16 22:37
假如是我我不用宏,用宏太傷腦了。
作者: jiangssli 時間: 2011-5-18 13:31
本帖最后由 jiangssli 于 2011-5-18 13:36 編輯
, V) B8 z4 ?! K- V M. K' G0 `! t, o- u# m0 s) z/ ~3 H
我把程序上傳吧,除了老鄧哥哥以外...居然沒有一個人看得出這個題目的真正含義!!!!!9 e$ ]; B( q9 e3 I' Z! z; @9 ]
$ r$ P* \7 b+ r, D' `
M3S500T101
#1=13
#200=0
#10=31
IF[#200EQ0]GO5
#200=1
#10=1
IF[#200EQ1]GO5
#200=2
#10=2
IF[#200EQ2]GO5
#200=3
#10=4
IF[#200EQ3]GO5
#200=4
#10=8
IF[#200EQ4]GO5
#200=5
#10=16
IF[#200EQ5]GO5
#200=12
#10=3
IF[#200EQ12]GO5
#200=13
#10=5
IF[#200EQ13]GO5
#200=14
#10=9
IF[#200EQ14]GO5
#200=15
#10=17
IF[#200EQ15]GO5
#200=23
#10=6
IF[#200EQ23]GO5
#200=24
#10=10
IF[#200EQ24]GO5
#200=25
#10=18
IF[#200EQ25]GO5
#200=123
#10=7
IF[#200EQ123]GO5
#200=124
#10=11
IF[#200EQ124]GO5
#200=125
#10=19
IF[#200EQ125]GO5
#200=135
#10=21
IF[#200EQ135]GO5
#200=145
#10=25
IF[#200EQ145]GO5
#200=234
#10=14
IF[#200EQ234]GO5
#200=235
#10=22
IF[#200EQ235]GO5
#200=245
#10=26
IF[#200EQ245]GO5
#200=345
#10=28
IF[#200EQ345]GO5
#200=1234
#10=15
IF[#200EQ1234]GO5
#200=1235
#10=23
IF[#200EQ1235]GO5
#200=1245
#10=27
IF[#200EQ1245]GO5
#200=1345
#10=29
IF[#200EQ1345]GO5
#200=2345
#10=30
IF[#200EQ2345]GO5
IF[#200EQ#0]GO3000
N5G0X52M8
IF[[#10AND1]EQ0]GOTO10
G0Z[-#1]
G75R0.5
G75X44P500F80
N10#1=#1+10
IF[[#10AND2]EQ0]GOTO20
Z[-#1]
N20#1=#1+10
IF[[#10AND4]EQ0]GOTO30
Z[-#1]
N30#1=#1+10
IF[[#10AND8]EQ0]GOTO40
Z[-#1]
N40#1=#1+10
IF[[#10AND16]EQ0]GOTO50
Z[-#1]
N50G0X100.M9
Z100.M5
M30
N3000#3000=1﹙#200-MODE-ERROR﹚
" j! r5 f; z4 w
作者: 昊天大帝 時間: 2011-5-18 17:17
在書上見過這個圖!~!~我也可以編出來 但是達不到你所說的精短!~!~
作者: jiangssli 時間: 2011-5-18 17:51
在下去年剛學會位操作時的原創
作者: 天空的櫻花 時間: 2011-5-18 18:18
先收了啊,好東西啊,有時間看看
作者: flm0095 時間: 2011-5-18 22:49
好像樓主也掌握了那個分中程序的精要了: [/ _" J* Z, E' H$ i: k+ f
這個題目和那個程序所用的原理一樣
作者: jiangssli 時間: 2011-5-19 01:39
回復 flm0095 的帖子
1 i- C8 m" V" ]9 V3 u8 @0 W; ^; [2 X! A
哪里哦,那個程序的算法的確不是我目前所能掌握的!只是剛入門!正在學習中,不過進步很慢!!請你有空多多指點啦!!
作者: jiangssli 時間: 2011-5-19 01:57
還有比這個更簡短的程序!不過那個程序有一個弊端,就是圖中的切槽數目大于9了.就不好判斷了!呵呵雖然這個程序比較長,但是就算是有10幾個槽 也同樣可以達到要求和目的!!
3 w$ I' [+ ]' c. k0 H! H8 d如果社友們多多的來發帖討論下,我可以把另外的程序也貼出了獻獻丑!!!!
作者: yukunv6 時間: 2011-5-24 12:34
呵呵!用子程序不快一些嗎!?
作者: yukunv6 時間: 2011-5-24 12:36
呵呵!用子程序不快一些嗎!?
作者: jiangssli 時間: 2011-5-24 17:07
回復 yukunv6 的帖子% d! U. Y/ f7 U) C7 S8 j
( X4 d; F) W5 x& I
呵呵,估計閣下沒有把題目讀明白!!!用子程序是非常麻煩的!!!那樣程序會很長很長!
作者: 6704288848 時間: 2011-5-29 22:47
謝謝樓主,把自己的精銳拿出來給大家看!可我對宏程序還不是很了解,我現在特別希望能學到點入門知識!希望樓主多多指點!
作者: jiangssli 時間: 2011-5-31 22:07
回復 6704288848 的帖子
5 l8 V/ v3 t& G7 D9 I4 j+ @( Z* a9 m0 Y& _) Q" G$ |1 F
人氣太低了!
發出來也沒人來看啊!
作者: 求學求知者 時間: 2011-6-1 01:18
大家都是宏程序的高手呀 ·· · · · · · 哪我問哈外圓上用35°刀如何車出圓弧螺紋,凸凹都講講。
作者: sniper2006 時間: 2011-6-17 21:44
回復 jiangssli 的帖子 ~/ S' k8 T, t Q
/ b1 M, H5 I$ N, \1 m A- g, S: X
你這個太復雜了,用子程序和G50相結合就很簡單,讓你參考一篇文章http://user.qzone.qq.com/413916864/blog/1307800248
作者: jiangssli 時間: 2011-6-18 02:13
本帖最后由 jiangssli 于 2011-6-18 02:23 編輯
( {) m9 }- x% A6 i1 J/ T% C: P& f: p) |! v$ q8 z- N( V( R
回復 sniper2006 的帖子
+ T9 N5 v4 [$ q) p9 u8 l( Y) k0 e u+ Q! V
呵呵,估計閣下沒有把題目要求讀明白!!!用子程序是非常麻煩的!!!那樣程序會很長很長! 用G50也會是一樣的效果!!3 ?/ \; ]+ F% ^5 p5 b' b
#200=1245的時候.同時切 第一,第二.第四,第五個槽,假如#200=1235的時候,同時切 第一,第二,第三,第五個槽..." R; N! t$ \; C4 m, j. } i
如果這個是一個零件,你同時為28家公司供貨,每一個公司都要求有區分是不是自己公司的零件的標記槽..其他尺寸都是一樣的!是不是你得做28個切槽的程序?然后備注每一個公司對應的是哪一個程序去切標記槽?這樣是不是浪費了數控系統的資源?是不是容易出錯?我這個程序就簡單多了,只有一個程序,節省了系統資源.....#200的值就對應了每一個公司的要求,你只需要改變它的值,就知道是生產哪一個公司的零件了!!
9 O6 }% A% S) x F 這個題目是別人公司實際加工中遇到過的事情!不過別人遇到的是加工中心零件上面鉆孔!我只是把它更改一下做成數控車的題目而已!
# N. ~4 ?# H, q& _; z0 \5 P
作者: SJ15021875032 時間: 2011-6-18 03:10
我半路出家的 看不懂宏程式給點新手能看 懂的可以嗎!~
作者: sniper2006 時間: 2011-6-18 08:21
回復 jiangssli 的帖子
0 H7 ^* ^7 y' A; i& C1 \4 X
# [5 H4 P9 G {6 |6 W/ b) @用子程序加宏更快。看實例G97
, ?( p- O5 u; GG99
5 E; \, B1 t+ ]+ N7 t/ K& D# D) jT0202 M03 S500
+ @; q7 i2 {/ }7 q9 |5 }9 }G00 X72 Z-1
4 y! @2 l2 U0 q5 T. B" Y* l- [8 K% kG01 X70 F0.2
! _! N$ F( X0 ]
G01 X68 Z0 F0.05
) e- B7 R- _: M- g5 f1 H
G01 X2 F0.1
& w n& g$ o6 [G01 X-1 F0.05
9 ]5 h$ o; D$ H- e8 G$ f
G00 X72 W1
( U* j$ w( w8 o& S+ i% h) ?1 f5 EM98 P052229 調用子程序O2229調用5次
* f8 Z6 C! x; r2 d7 V$ e) rG50 W-95 加工坐標系的回原
' K4 e$ ~# b3 `6 G3 M* c% {$ V
G00 X72 Z0
: W5 _: A" V0 B- z# f! [8 {
M30
9 O: G& b! [5 }) u8 `
$ R) Z! r6 x# j! f# c$ o3 w" ^; h
F8 d7 L* f% w# H b3 z4 r2.子程序O2229(切槽刀4mm)
; ~- e' i2 k; A5 p: M5 h/ i! yG97
+ o$ [' f: Y: M" d5 D! N% \2 E( i# h
G99
4 g6 Z! ^7 K4 [8 |( L, k
T0202 M03 S500
( U0 {8 K) g8 s- S
G00 X72 Z-11.1 G75的循環起點
. z) i3 g% S [+ n& t7 t z) z1 _6 C
G75 R1
/ L8 w" S. ^8 U$ q2 {G75 X60 Z-18.9 P4000 Q3800 F0.1 徑向方向進刀4mm 軸向方向進刀3.8mm
! f- Z; U ~: n" j( e
G00 X61 Z-11.1
2 B. [1 E! i* w+ S3 Z: y
G75 R1
+ Y/ p6 @4 t7 w7 R% F5 mG75 X50 Z-18.9 P4000 Q3800 F0.1 徑向方向終點值50mm 軸向方向終點值18.9mm
- m2 l" |5 l; }3 [* ^G00 X51 Z-11.1
5 |' z% F2 `, qG75 R1 徑向方向每進刀4mm退刀1mm可以斷屑
9 Q! I, S6 J8 N j# ^G75 X40 Z-18.9 P4000 Q3800 F0.1
' r5 E4 `) \+ Z% `2 M# m& x2 a
G00 X41 Z-11.1
& q8 R7 D+ |7 i. W* ^2 F- u- W
G75 X30.1 Z-18.9 P4000 Q3800 F0.1
9 q( Y& X' X: S8 A" B( J( ~# \
G00 X72
. O: h0 l8 {* v* I( I0 U3 N9 O
Z-10
6 K1 q- o. x t; M7 f1 V% k2 mG01 X70 F0.2
. _/ L- T& l6 b" L
G01 X68 W-1 F0.05
7 ?9 q7 X) a& w& V/ `+ ZG01 X30 F0.1
8 h% Y) c! H6 [
G00 X72 W-1
% m/ _' M) r6 P6 X1 o& \
Z-20
7 [" E" x, R: ~% k4 tG01 X70 F0.2
H$ ?* B7 q$ q' H" ~G01 X68 W1 F0.05
5 b ?! w8 ~3 ~, y( Q2 r
G01 X30 F0.1
. f% m3 ?5 Z: i" hG01 Z-11 F0.1
4 r' m9 a0 i8 ]# a3 P% I# z, GG00 X72 W-1
4 A3 Y% \; u$ ]Z-11.1
- x8 v3 i3 h$ \G50 W19
9 r/ t. z9 [( J# h. U$ DM99
5 L6 S' J( W) j7 \
& k: q2 z7 j4 K0 H
: [6 @- |' e7 R0 n( R9 `8 W你可以把需要變化的值寫成宏,如定位G00 X72 Z-11,1可以寫成,G00 X#1 Z#2,其他地方也一樣,因為零件的結構基本上市一致的,下次就可以直接修改宏,而不需要重新編輯程序。就像西門子一樣參數化編程,還有你忘記了C語言的一條重要原則要限制使用GOTO語句。我想對數控也是一樣的程序跳來跳去容易出錯,過程不好控制。
' |; B2 |* M" a5 e " x" v/ I4 B- E9 p9 L* |4 I
4 I3 J1 I, o, e* h5 H% U4 |
作者: jiangssli 時間: 2011-6-18 11:35
本帖最后由 jiangssli 于 2011-6-18 11:46 編輯
, O7 j4 b7 A3 u: d& o9 C
: Z. n" y+ ~% P1 r. I, K6 l# { Y回復 sniper2006 的帖子
0 d# [6 o9 v( s# l! D
6 ?6 \/ G. r. [& f1 ?( M$ i我覺得你還是沒有看明白本題目是怎么回事吧?? - t6 c$ H4 Q9 }* c; b# E
就按你說的調子程序加工,這個零件有29個加工模式,,你的程序怎么去判斷什么情況的時候只需要去加工其中的兩個位置不同的槽?5 c" Z) {* C3 L* Z" p% Z9 W6 z" V
#200=1 只需要加工第一個槽5 C. d; `) F3 U+ C
#200=2 只需要加工第二個槽
/ b0 M% j a. K#200=3 只需要加工第三個槽
; h+ h: e/ {6 O, I9 [#200=4 只需要加工第四個槽
! r" u- s, [: D4 I#200=135 只需要加工第一 第三 第五個槽
. s3 X. m" W$ Y- ]. d. g+ o$ f 像這樣的情況你怎么判斷?
; W- c* t. N$ p8 ~每一次都去改程序嗎??4 l! Z/ e1 \7 H# ^& R+ x8 e* w
3 p$ r' B% A- A! A3 |3 [/ Q
多用一個程序就多占用一個系統的資源和空間!!本題目的要求是通過宏程序的算法來精簡程序長度,你的方法不是說做不出來,而是占用的系統資源和內存不是一般的大...和我要求的初衷背道而馳了!!
7 Z) e1 q$ [" u3 d, E 再者如果就按你的思路這樣說的話,1-9有多少個不重復數字的組合????如果每個數字的組合用一個子程序的話 且不是有多少組合就得做多少個子程序??
2 G, _" A i" g7 t( g4 M, Z: q+ Z; \適當和正確的使用GOTO跳轉是必須的,思路嚴謹和構架沒有問題的時候,用多少GOTO都不會出錯的!如果程序編好測試完以后沒有出錯就不會出錯了!! 就像你說的連GOTO跳轉都會出錯,難道每次去改槽位置的宏變量就不會出錯?估計人的大腦在這方面還沒有數控系統那么穩定和高效吧??* F8 C" u5 }+ E8 M! U& U0 G& ~& \
1 l. r1 p& ^3 A7 J5 n
$ X6 E: P8 M/ l6 K) Y6 |6 j( E
作者: gaoyouzf 時間: 2011-6-18 11:39
看不懂啊
作者: jiangssli 時間: 2011-6-18 11:52
類似于本題目的還有一個情況,加工中心上面根據事實的時間和日期在零件表面刻字!!比如今天是20110618 12:15:36 A-0000001 A是班次,0000001是產品流水號,假如每個班做500零件 就得刻字500次!同一個班次除了年月日以外其他的數字不是相同的......
3 T9 G9 K, `$ v 這樣的情況下我們又應該怎么去做呢??還是用手工去修改每次刻字的程序嗎??這樣估計的錯很多次,也會累死很多人!!
作者: 老飄 時間: 2011-6-28 21:00
嘿嘿,剛剛涉足宏程序,真是太有意思啦,興奮之極
作者: jiangssli 時間: 2011-6-28 22:11
回復 求學求知者 的帖子' D n; x) m1 d9 A
) J! x3 c& L' q8 h( P
了解了圓的方程就可以!!不是很難!
# A L( F" \& x/ `/ d+ x1 F
作者: dwwolves 時間: 2011-6-29 09:25
這個問題應該不是很難吧?
作者: jiangssli 時間: 2011-6-29 11:33
回復 dwwolves 的帖子
' {+ a* j3 @) @% p& m3 ^( b4 ~; h+ ]3 e2 v
題目是很典型的實際應用題....方法有很多!
+ x6 v0 [" W6 I% P9 ?9 ]
作者: k1608 時間: 2011-7-1 20:43
這個圖我也覺得用子程序好比較快一些。。。
作者: ymf381241440 時間: 2011-7-1 21:12
看不懂.但是還死頂起來
作者: 求學求知者 時間: 2011-7-6 20:44
回復 jiangssli 的帖子8 N0 |' J% A: \! S
; F& y! P* I) r2 G& D6 {6 y
呵呵 ,那么請編個簡便的發過來看看吧
; S2 @" `* ~# s( G0 F" n
/ s" @! G+ N+ D' n3 x; Q; L
作者: jiangssli 時間: 2011-7-7 18:02
回復 求學求知者 的帖子
8 J. @' O3 Y& m: [& `: V2 ^. `, H
我的程序已經發了,你沒有看到??
作者: lukexc 時間: 2011-11-16 21:39
O0033
: l c* d! A8 o+ j4 W; b& F#200=0
( K3 W+ t+ ?4 u/ J+ q; \#10=-3
: U/ O, ]* d$ v3 e#1=-10, R$ [ M# O- v
#102=10000; i9 C/ `3 _/ m, w$ o
G97M3S400' c) B8 [7 u* I# n% R
T0303$ X5 E; F6 ~6 } j3 e2 i
G0X52.Z2./ u3 C/ X/ v( Y# {
G99
9 L: d$ o* e- {/ A9 O4 G0 P$ X6 h# V: f
IF[#200EQ0]THEN#200=12345
$ Z- O* B) ]" Q# fWHILE[#102GE1]DO10 m6 B' u7 v2 K/ t7 ?
N1#30=#200/#102
b) b/ Z3 F7 C! c; G0 V#100=FIX[#30]
2 H3 c1 \* C0 q6 `$ l# @5 ^" C#200=#200-#100*#102. r- Y$ n5 B0 Q" Q a4 d. T
#102=#102/10
0 c, t3 U% `( r& p, ^; M4 ~% pIF[#100NE0]GOTO10
; t$ v; r" _" mEND1
. b9 L- Q# c& C5 V: Z
3 V0 @" p8 h, s6 VIF[#102LT1]GOTO20
( t+ A) H% o7 S ~6 ~, R! c& p) ? [5 Q- a/ M, H
N10#101=#100*#1-#3$ ^, s; I( @; g8 k1 C$ k; A
G1Z#101F1.
) ~/ Y5 W$ o$ K$ x7 F) Q2 q0 vX44.F0.05
3 `9 b1 k0 R* F- z9 GG0X52.
0 {# j. A$ Q8 W9 A1 yGOTO1; h) j9 u7 K* q0 s
" m% p2 n/ o: I X) v5 @! }& R, LN20G0Z100.' X- T: a _7 p; d
M5
1 K: ~( e- s* x- H+ I" j+ ^: BM30
) a; v [* U1 U+ _6 j( r5 ^9 x2 {見笑了!哈哈!
" W6 p* j6 P3 U* s# Q/ C( H Y$ l我這個程序容錯性差,求改進!* h3 F( Q' [# u( o
" q* K4 Z; V) k( x' ~6 {
作者: jiangssli 時間: 2011-11-17 17:25
本帖最后由 jiangssli 于 2011-11-17 17:25 編輯 ! h: l4 K0 N6 C, \/ c% U# I- r
lukexc 發表于 2011-11-16 21:39
6 n Y) q8 ^3 ]
O0033
6 q4 d0 R1 a2 K+ F+ h& q#200=0
3 c b9 I' s# L' g9 D5 q, H* [3 m#10=-3
2 W$ d& d1 O& `+ m5 O+ |7 U8 X& M1 {
1 S" O+ \. |; H% y* E( h$ z2 `3 H的確是容錯性差!!要是22555.這樣的數據就會出錯了!!呵呵!!
1 i4 K @% Z7 s6 J( ]# D; W不過最近發現你進步不是一般的大..........3 R9 x i) [3 C) b
作者: lukexc 時間: 2011-11-17 21:18
jiangssli 發表于 2011-11-17 17:25 
6 B0 v4 A {! b1 N4 j& g0 o8 w" @的確是容錯性差!!要是22555.這樣的數據就會出錯了!!呵呵!!
V( c6 ~; {4 b9 S+ a不過最近發現你進步不是一般的大.......... ...
( ]. y2 C: s+ f哈哈,謝謝一生大師的夸獎!
8 L+ Z8 K; [" t: {) q. J最近我們廠沒有好多活可做,所以就研究學習了宏!
& L5 U" ^8 j$ U5 j以后還請一生大師多多指教!呵呵!/ N) d d4 t3 G/ [
作者: wang413362569 時間: 2011-11-18 09:14
IF[[#10AND1]EQ0]GOTO105 |! x# N4 O9 b
這個局子什么意思,知道AND的用法,但這個不明白,求指教
作者: veroinca 時間: 2011-11-18 16:11
進來看看高手的
作者: jiangssli 時間: 2011-11-19 18:28
wang413362569 發表于 2011-11-18 09:14 
$ o4 u4 ]: j& _* J- {: ZIF[[#10AND1]EQ0]GOTO10
4 E f% T6 B- l- G$ @; O6 C這個局子什么意思,知道AND的用法,但這個不明白,求指教
2 y. z' z" M Y# V( N
這就是一句運算加判斷的語句........
作者: wang413362569 時間: 2011-11-19 22:26
jiangssli 發表于 2011-11-19 18:28
0 }1 h D+ G, l這就是一句運算加判斷的語句........
6 O2 P" o2 H7 W* }+ U# K! p
如果是運算加判斷應該有運算符號的例如IF[[#10+1]EQ0]GOTO10,AND不是運算符號,高手解釋下,謝了
作者: lovesoho 時間: 2011-11-20 00:25
好像樓主也掌握了那個分中程序的精要了; p" U8 T- A# d! b
v加點的9 i0 F5 L) k+ O$ g0 K( @
|3 T- r; b* E, V
作者: jiangssli 時間: 2011-11-20 12:10
lovesoho 發表于 2011-11-20 00:25 
% [) Y& }" Y# o, _; b9 K* j6 q' m好像樓主也掌握了那個分中程序的精要了
3 a1 I( J2 P$ _3 M8 Nv加點的
; V- t/ j+ q* O呵呵!謝謝夸獎,那個分中程序就是我轉發的..所以我對于那個什么精要還是了解一部分的!!
作者: wuyanqing 時間: 2011-12-12 22:15
學習了!!!!!!!!!!!!!!!!!!!
作者: veroinca 時間: 2011-12-12 22:27
進來看看,學習了
作者: 杜磊8825 時間: 2011-12-12 22:35
隨便看看,還沒學呢……
作者: 浪子獻青 時間: 2012-1-10 10:06
GOX52Z-13& c$ ?8 k$ Y$ h9 D
MODIN O123 Q1
1 l, E. ^$ [0 W: l! Z2 jG0Z-13
( R6 {) L4 L9 xZ-23
* }# r, P# O! gZ-33( l1 Z5 K. B6 }: ^- S
Z-43
/ X; |/ ~1 T E' kZ-53
" ^$ ~, s: o% dMODOUT
9 K4 n1 ~; O8 c7 l% K2 l( z4 fO123( A& ~' b. j9 d0 L% T
G91
% \$ f8 c% A( L8 m8 _- ?G73X-8Z-13D1.5L3E0.05F0.152 p! M: I; U: Q8 K. ^/ ^
G90) Q3 x6 I, _+ H" Z, j1 ?
RTS
3 Q) X; @1 C. I: P! Y 9 s. G: f' l3 b
b. m: {0 p1 uOKUMA OSP U10 系統的L
作者: jiangssli 時間: 2012-1-10 11:20
浪子獻青 發表于 2012-1-10 10:06
, g0 d0 ^+ Y- l2 P/ e
GOX52Z-13
! M: T, R7 ^" O! h3 \* QMODIN O123 Q1$ H1 m [! V% O% Z! g( a" ]5 |: T' k
G0Z-13
5 i, D" c/ A7 T- x5 A/ w7 }: I
噢噢噢!!請你解釋下程序怎么運行計算的吧!!
作者: HC小丁 時間: 2012-1-10 20:19
jiangssli 發表于 2011-5-18 13:31 
' T% c+ g( R; d3 L) B* K" d. Z+ C5 R我把程序上傳吧,除了老鄧哥哥以外...居然沒有一個人看得出這個題目的真正含義!!!!!
9 W* _1 z. \+ }, l% O+ h7 X6 H4 x4 a. ?
M3S500T101#1=13#200 ...
7 r( |8 b* j( x% m5 T B我見過的位判斷不是這樣的!也沒這么長,好像是直接從高位往低位用余數還是什么(也有一年多了,當時用手機看見還收藏到uc瀏覽器了,可惜格機很多次。。。。)判斷對應的數字車對應的槽,當時看明白后才覺得宏還有這樣的用法!時間久了沒遇到類似的東西就忘了,現在也找不到當時看見的那個帖子了........{:soso_e105:}
作者: jiangssli 時間: 2012-1-11 09:41
漢川機床 發表于 2012-1-10 20:19 
: u9 S8 ~# m0 m( h I+ ^/ e, s' e我見過的位判斷不是這樣的!也沒這么長,好像是直接從高位往低位用余數還是什么(也有一年多了,當時用手 ...
; h+ Y' z) m- d) w7 T8 p( o
從高位到地位判斷中間的處理過程要么是系統自己已經有這樣的功能,要么就得用宏程序做一個這樣的計算和處理的功能!!所以這個程序也不算長!
作者: HC小丁 時間: 2012-1-13 20:18
jiangssli 發表于 2012-1-11 09:41
$ y- F, ~) N; h' x; p" K% }. m
從高位到地位判斷中間的處理過程要么是系統自己已經有這樣的功能,要么就得用宏程序做一個這樣的計算和處理 ...
; w! Y: C: B& c) C! u
是不長,也不難8 I) [- Q" o" @# [
{:soso_e181:} b; I, ^, L7 d' b% x# n% E
作者: jiangssli 時間: 2013-8-24 15:21
舊地重游,物是人非
作者: 小木0829 時間: 2013-8-25 23:25
正在學習宏程序
作者: 南方祥云 時間: 2013-8-27 00:44
樓主的意思很簡單嘛,就是想用#200指定某個數就程序就加工這幾個槽嘛,既然想要程序簡單,又方便那為什么要限定一個#200數來迷惑大家呢,我的想法很簡單,就是直接指定5個變量代表加工5個刀槽,需要做幾個槽就將這幾個變量改成1就好了,程序既簡單又明了,寫的人和用的人都能一目了然。程序如下:
: _. X5 O8 r0 c5 }1 V) H/ `
% _0 t0 f1 a, W2 U#1=0 (指定刀槽加工,1為打開,加工槽1,其他任意數關閉,安全措施,避免意外加工)1 f! `3 D- ~3 t3 [5 J- Q' v
#2=0 (指定刀槽加工,1為打開,加工槽2,其他任意數關閉,安全措施,避免意外加工)
4 V& t- G5 W+ b#3=0 (指定刀槽加工,1為打開,加工槽3,其他任意數關閉,安全措施,避免意外加工)
7 e% U$ z2 n3 r! z4 k6 Y#4=0 (指定刀槽加工,1為打開,加工槽4,其他任意數關閉,安全措施,避免意外加工)2 E6 t% x/ O3 }
#5=0 (指定刀槽加工,1為打開,加工槽5,其他任意數關閉,安全措施,避免意外加工)' s$ Y8 b, Q ?8 Z( v' r
G90 G54 G0X0Y0 (回歸原點)
+ X! {8 s0 j( sN10 IF[#1EQ1]GOTO100 (跳轉,當刀槽#1=1時進行加工槽1)- u0 [" _" s. m) F5 U. z3 q
N20 IF[#2EQ1]GOTO200 (跳轉,當刀槽#2=1時進行加工槽2)# x! J/ k1 p1 ^, X0 T: f! U0 L
N30 IF[#3EQ1]GOTO300 (跳轉,當刀槽#3=1時進行加工槽3)
) Q0 V& c- w; M9 v1 [8 D1 ON40 IF[#4EQ1]GOTO400 (跳轉,當刀槽#4=1時進行加工槽4)/ b# n4 c$ r' u7 k! O. F% j* x+ Y
N50 IF[#5EQ1]GOTO500 (跳轉,當刀槽#5=1時進行加工槽5)
( o; e" t! m& u- ^GO999 (刀槽加工后跳轉到999號程序)
# `4 [4 X7 b- x! r! hN100 G00 X-50. Y-26.0 (第1個槽坐標定位,Y軸刀槽安全避空1mm)
' R; H f0 Q) b+ i2 O" a G01Y-30.0 F30 (切槽,單邊槽深3mm)3 t h5 C' d, o9 U# J1 {
G01Y-26.0 F100 (退刀)
1 @1 ^1 ]' g, N& [% [8 t* }9 M, Z #1=#1+1 (變量增值)
5 n- d5 D8 O6 [& t GO10 (跳轉)
) w$ k' ]1 }. _! c+ D: `3 rN200 G00 X-40. Y-26.0 (第2個槽坐標定位,Y軸刀槽安全避空1mm)
' I6 o4 N( p& L; N+ c( q G01Y-30.0 F30
- g# p" l4 n* ^. P/ Q0 A G01Y-26.0 F100 + Y( A" g, B: g# j: u
#2=#2+1! U; ]: l+ s/ g6 |$ i
GO204 [- N9 e1 v/ d! {$ Z, K4 G% s
N300 G00 X-30. Y-26.0 (第3個槽坐標定位,Y軸刀槽安全避空1mm)
r3 p! n1 g; y1 N' m; ~# @$ A6 c G01Y-30.0 F30
; {+ C& Y3 ? x9 O# O5 Q! \ G01Y-26.0 F100 x4 X, k2 H5 M$ d. ]- P
#3=#3+1
- L) P# b9 A4 V. R! h GO301 D# J0 ?; L; z& O$ E
N400 G00 X-20. Y-26.0 (第4個槽坐標定位,Y軸刀槽安全避空1mm)
% D' Q, n) o; R1 m G01Y-30.0 F30
7 J4 _1 b( g; L" ^& i, v# M- P G01Y-26.0 F100
& {$ S' L+ Q" Z' T2 | #4=#4+1
& w7 ?: l7 \3 w' S" d GO409 k( y9 p( `; G$ m2 u- y' j! H, J8 f
N500 G00 X-10. Y-26.0 (第5個槽坐標定位,Y軸刀槽安全避空1mm)! t0 K; L+ s* B" N* D( X3 d
G01Y-30.0 F30 ( K% |8 a( t& ]! m3 w& k
G01Y-26.0 F100
! D: G4 I4 h2 K9 u( j3 ~ #5=#5+1' O9 I( v" P; R6 R
GO50# x _4 D s6 T0 d5 p
N999 G00 X0 Y09 V% E) i5 t; Q# Q% V& Y; |$ f( {
M30
作者: 夜總是要來的 時間: 2013-8-27 07:59
很不錯的帖子!!!
作者: 天天他爸 時間: 2013-8-27 08:03
感謝分享
作者: 夜總是要來的 時間: 2013-8-27 08:04
主要是學思路、。。其實宏做到最后都差不多
作者: 夜總是要來的 時間: 2013-8-27 10:48
#10是代表什么?$ t, v# _+ [+ X5 L# [5 V7 _
9 n' a% H# D4 H. X. N
作者: mcsino 時間: 2013-8-27 13:06
本帖最后由 mcsino 于 2013-8-27 14:00 編輯 9 k1 f6 r4 b( U. u
- [2 [7 j8 t9 o; S \: H5 J2 n
不用這么復雜吧,既然有人挖,我寫點簡單的 1~9個槽應該隨便切(如果需要切10個以上的槽,適當增加變量即可),也不需要邏輯運算,位運算,也許有錯,沒深究4 O( f; y: o% f# f) T. Q( _
#20=#200
While 1>0 do1
#20=#20/10
#33= FIX[#20]
#32=#20-FIX[#20]*10
IF[ #33==0 and #32<1] goto 1
#30=#1-(#32-1)*10-#3
g0 z#30
g1 x40 f#7
g0 x52
end1
n1 m99
#1 z向第一個槽起點, #3槽刀寬
作者: 吃玩樂 時間: 2013-8-27 14:42
呵呵!用子程序不快一些嗎!?
作者: 龍少 時間: 2013-8-27 19:47
看不懂,但是學習了
作者: mcsino 時間: 2013-8-28 18:44
本帖最后由 mcsino 于 2013-8-28 18:53 編輯 . m9 ?" b6 e" Y
: i# b4 I1 ~# p2 \#17=01 u; [8 [. x2 Z* R0 [
#19=1
#20=#200
While 1>0 do1
#20=#20/10
#33= FIX[#20]
#32=#20-FIX[#20]*10
IF[ #33==0 and #32<1] goto 1
#18=#32
WHILE #18>0 do2
#19=#19*2
#18=#18-1
end2
if #17 and #19 goto2;判斷當前槽是否已經加工,已加工則跳轉
#17=#17+#19 ;對當前槽狀態做記錄,標記為已加工
#30=#1-(#32-1)*10-#3
g0 z#30
g1 x40 f#7
g0 x52
n2 end1
n1 m99
7 P# ^! }7 b J5 T5 I j紅色字體為避免重復切削增加的代碼
作者: 閑潭夢落 時間: 2013-8-28 19:59
哪里哦,那個程序的算法的確不是我目前所能掌握的!只是剛入門!正在學習中,不過進步很慢!!請你有空多多指點啦!!
作者: jiangssli 時間: 2013-8-28 21:16
本帖最后由 jiangssli 于 2013-8-29 12:02 編輯
: N5 b" i4 u9 O' I6 X* @mcsino 發表于 2013-8-28 18:44
; m9 f! D0 O4 ]* a
#17=0 W0 Y4 z5 M. n* i, T
#19=1#20=#200While 1>0 do1#20=#20/10#33= FIX[#20]#32=#20-FIX[#20]*10IF[ #33==0 and #320 do2#1 ...
) O4 _) J7 U/ t, [& b* m
8 `# N* D |' W# D2 M* ^
哇咔咔......用你這個思路還有更簡單更完美的......可以很容易就判斷出數據是否重復...
作者: sqfqqpp 時間: 2013-8-29 11:26
學宏程序還不如學C語言!!!
作者: sqfqqpp 時間: 2013-8-29 11:27
樓主是傻逼用G75
作者: jiangssli 時間: 2013-8-29 12:01
sqfqqpp 發表于 2013-8-29 11:27 
: c9 J: Q% T$ `1 u樓主是傻逼用G75
5 w: ~4 R! y" u: p
哈哈,我看見一個比樓主還傻B的人...
作者: mcsino 時間: 2013-8-29 12:34
jiangssli 發表于 2013-8-28 21:16 
' a0 @' w3 S6 E哇咔咔......用你這個思路還有更簡單更完美的......可以很容易就判斷出數據是否重復...
1 k2 O n! V) n! w! [大師就是大師呀,新人永遠只能仰望
, X2 G9 T3 h/ R2 S6 b, B
作者: 傷情于劍 時間: 2013-8-29 14:17
sqfqqpp 發表于 2013-8-29 11:27
/ v0 S( U/ d% Z& V( \. s- D$ I
樓主是傻逼用G75
4 T. _) l! L: M+ ]+ C- w2 }$ x
你在哪里看到的G75,請恕我眼神不好?
作者: mzw00123 時間: 2013-9-1 10:55
非常感謝,下下來研究研究
作者: qingeyouco 時間: 2013-9-1 14:52
jiangssli 發表于 2011-5-19 01:57 
9 e& v8 A* f; \9 }1 t& q4 R7 w還有比這個更簡短的程序!不過那個程序有一個弊端,就是圖中的切槽數目大于9了.就不好判斷了!呵呵雖然這個程序 ...
- m& `, T& F8 @4 i
里面的AND是這個意思嗎。+ p" b$ D% F* \. D$ z. ]
+ Y0 _! }+ K8 `5 R' j& m0 g% r7 y0 ]二進制乘法(與運算) # i = # j AND # k Z Z/ D' [ Z
能不能給我解釋下 不太明白 二進制運算 最好幫我講兩個列子 謝謝~~
" B7 W3 `: g4 M+ n
作者: jiangssli 時間: 2013-9-1 15:43
qingeyouco 發表于 2013-9-1 14:52 
! m5 U' o! U, o里面的AND是這個意思嗎。
! ]: r9 Q5 L }4 |: @7 f
' @) B& v) S3 z& }9 Q+ I二進制乘法(與運算) # i = # j AND # k
" d% b" b+ @1 c* ^( n
邏輯 與 同位為真時為真
作者: qingeyouco 時間: 2013-9-1 17:17
jiangssli 發表于 2013-9-1 15:43
& B9 E+ Y% G, o% Z: O: @" ^
邏輯 與 同位為真時為真
3 i4 v" w3 e' O& |2 e3 w3 x
有點高深~~~~
0 C: |6 ~9 \4 Q0 f7 ~
作者: packwema 時間: 2013-9-1 21:29
LZ威武………………
作者: packwema 時間: 2013-9-1 21:30
呵呵!用子程序不快一些嗎!?
作者: packwema 時間: 2013-9-1 21:32
好東西啊,有時間看看
作者: 酶墨逆 時間: 2015-7-7 17:30
向男神學習
作者: victry 時間: 2015-7-10 08:15
一下子有點蒙,慢慢體會一下,對宏程序不了解
作者: Wooden_Horse 時間: 2015-7-15 18:34
下載下載
作者: 吉吉250gg 時間: 2015-7-16 17:23
留著以后學習!
作者: 雄獅61 時間: 2015-7-19 21:53
好東西 學習
作者: e-xp 時間: 2015-11-13 23:14
看出來了,位運算的妙用;計算機程序編程常用
作者: TFT_polaris 時間: 2016-6-23 22:20
8 D4 q7 E" V+ b+ I$ ?: k
大俠有沒有用過FANUC系統,有個問題請教一下。
1 Y5 J9 p- G" A. h& v關于取整函數FIX
8 B3 u5 b4 t4 [% d. I. H# i
5 \% `0 x8 F9 \0 f[attach]390924[/attach]0 j0 H: I* G6 j% {9 S
* l& w( V% H4 b) z& W運算結果#3=2. D6 k* K3 x; i" f) ^2 @4 U
, q& a! v& x# N6 [ q" x但是換一種情況:
& S9 \+ Y1 Y. M% F% t1 t& O5 J+ h[attach]390925[/attach]
0 n, t( c9 e }' m/ x- a# p- H; D9 H& O' B: a, s' C6 e
運行結果#3=3
6 h& ~5 t; N: j8 ]2 A% ] ?) F# U% v- n0 l! B+ @# T! }
這個是怎么個情況。。。。
8 w V* _1 u1 U* o
作者: wangcunjia 時間: 2016-7-2 20:41
你的程序也太復雜了吧!
| 歡迎光臨 機械社區 (http://m.whclglass.com.cn/) |
Powered by Discuz! X3.5 |