jihuangy 发表于 2013-10-31 21:50:17

宏程序如何判断这种情况

我现在在编制一个宏程序,想实现这样的效果,我需要给X、Y、Z、D三个附值,程序需判断我给哪个值进行附值了,并只对附了值的进行操作。
例如:
G65 X24.0 P800那么就只对X进行处理
G65 D1.0 P800只对D进行处理
这种情况怎么处理?是不是判断值是否为0 ?

onelee 发表于 2013-10-31 21:51:17

两个G65调用同一子程式,第一次调用会用x判断,第二次调用会用D判段,为什么x和D不同时赋值,只用一个做为判断呢?

jiangssli 发表于 2013-10-31 21:52:05

直接G65 P800 D** X**不就可以了吗?

jihuangy 发表于 2013-10-31 21:52:47


onelee 发表于 2013-1-11 06:46

两个G65调用同一子程式,第一次调用会用x判断,第二次调用会用D判段,为什么x和D不同时赋值,只用一个做为判断呢 ...
我只需要对一个值进行判断,值多了我就实现不了我的程序功能。

jihuangy 发表于 2013-10-31 21:53:31


jiangssli 发表于 2013-1-11 10:55

直接G65 P800 D** X**不就可以了吗?
我好象没有说清楚

jiangssli 发表于 2013-10-31 21:54:21


jihuangy 发表于 2013-1-11 12:33

我好象没有说清楚
你想实现什么功能呢?说具体点啊

jihuangy 发表于 2013-10-31 21:55:21


jiangssli 发表于 2013-1-11 12:43

你想实现什么功能呢?说具体点啊
我调用程序会有以下4种情况
1、G65 X12.5(数值) P8000
2、G65 Y-1.5 P8000
3 G65 Z10.5 P8000
4G65D1.5 P8000
以上数值不固定
我的子程序8000需要判断是哪个值赋值了,即当我使用G65 Y-1.5 P8000这个指令的时候,子程序只对我G65赋的Y值-1.5与我子程序中设定的值进行比较。合格就返回主程序,不然报警停止程序。
当我使用G65 D1.5 P8000这个指令的时候,子程序只对我G65赋的D值1.5与我子程序中设定的值进行比较。合格就返回主程序,不然报警停止程序。

jiangssli 发表于 2013-10-31 21:56:13


jihuangy 发表于 2013-1-12 10:36

我调用程序会有以下4种情况
1、G65 X12.5(数值) P8000
2、G65 Y-1.5 P8000
这个需要在你的子程序里面编写判断和报警程序....这个没有什么难的

chenxin_98 发表于 2013-10-31 21:56:54

我觉得可以这样写
开头:#1=0(X) #2=111(y) #3=0(z) #4=0(d)
。。。
G65 X#1 y#2 z#3 D#4P8000
然后判断#1#2#3#4某一个参数不为零

guoshouxu0214 发表于 2013-10-31 21:57:50

学习
页: [1]
查看完整版本: 宏程序如何判断这种情况