|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 wslaoa 于 2011-10-8 18:39 编辑
/ H% P. e% a. _9 G: I9 n0 Z0 H* w+ j* d3 ~- O& n
读小鱼(王工)四点碰数程序读后感
5 a3 O( Z/ G$ H* t0 q 昨晚,读到若枫论坛上一篇关于自动分中的宏程序,看了半天,没看明白,想放弃,但看到作者宏程序格式书写规范,注释写的完善,感觉作者绝非庸手,就制成pdf保存下来。
( U+ g/ f6 O& V; U0 y) s' A 今天,闲来无事打开分析,渐渐看出来门道来。 b' @3 r: B& g' _
一般来说,常用的分中建坐标系不外乎作者罗列的三类九种:第一类四边分中(XY双边分中,碰四次);第二类是一对边分中再加另一边(X边分中加一Y边和Y边分中加一X边,碰三下);第三类一角(打XY单边,碰两次)如表所示:7 S, @4 U& m- Z
% T6 p( y& I6 c4 o" H, s 如果选四边,需要碰四点,如果选一角需要碰两点,你不能多碰也不能少碰,另外还必须将探头自动移到你需要碰数的地方,否则就不叫自动碰数了,你该怎么实现呢?
5 Y' \0 j( C2 m: w* D0 O 作者用了我们(至少是我)很少用的功能AND(与运算),看了作者的程序后,我急忙翻起课本,复习了AND的知识点(1+1=1;1+0=0;0+0=0相当于串联开关,进行与运算时,先转化为相应的二进制数,然后从低位往高位逐个按上述规则进行运算;转化为二进制,位数不同时低位者向高位加0,如10010和1011进行与运算先把1011补位变成01011然后一位一位进行运算)后才恍然大悟:作者巧思构想,用1,2,4,8和对应的数进行与运算。我们只要把这四个数转换为二进制就可以理解作者的独具匠心了:1----1;2----10;4----100;8----1000;也就是说根据上述AND的用法,我们任选一个数如10,它的二进制是1010,。让它和8进行与运算10 AND 8 ,它的结果是多少呢?4 o/ q8 j* {- W4 M
$ _) S, Q* c1 h6 y( m7 u
不知诸位发现了没有,任何数和8进行AND运算,都只需考虑第四位即可,结果要么是1000(十进制8),要么是0。 1,2,4也同样。如果理解了这一点,整个程序就可以迎刃而解了。比如选上表中的第三类一角(X-,Y-)模式,按作者X-(1判别),Y-(2判别),Y+(4判别),Y-(8判别)碰就可以得到这样一个结果1,1,0 ,0(其中1代表需要碰;0代表不需要碰),按二进制从高位往低位排列就是0011,对应十进制就是3,其他依次类推就知道作者#14取那些数的良苦用心了。
1 ~* q" x4 J8 E5 N1 [2 l2 b附表:
9 E9 h( C* I2 L8 g) T0 [
. V1 r; x* g4 R' S' r% u
伟哉!作者,我本来以为自己在宏程序上小有所成,现在看来是多么浅陋无知。得知这只是碰数程序中的一部分而已(还有五点碰数)我顿时佩服的五体投地。后来听说有个培训班是他在讲宏程序我就毅然报名参加了。+ e# x& U* W4 J( U
作者给我们打开了一扇窗,让我们触摸到了宏的强大。愿作者将自己的心血多传授大家,以让全国各地的机床更加智能起来!1 e4 s) c# ~3 \" q0 t; m5 Q2 s
(附:作者是小鱼老师,小鱼老师的程序博大精深,有歪解小鱼老师原意的,希望请小鱼老师原谅。 程序源代码见前面 小鱼老师的帖子找正坐标宏程序)
~1 S& O% H, @" d- t/ q) u0 b. w 星期八& H: b! t" |3 C. S6 G; U6 o
10月8日凌晨2点 |
评分
-
查看全部评分
|