UG爱好者

标题: 请大神们帮我看看这几行代码哪里出问题了,谢谢! [打印本页]

作者: ysh5858    时间: 2021-12-6 08:52
标题: 请大神们帮我看看这几行代码哪里出问题了,谢谢!
本帖最后由 ysh5858 于 2021-12-6 08:53 编辑

如图:请大神们帮我看看这几行代码哪里出问题了,谢谢!
global mom_tool_adjust_register
global hh mom_tool_number

if {$hh == "1"} {
set hh "1"
} else {
set mom_tool_adjust_register $mom_tool_number
}


作者: 472751863    时间: 2021-12-6 09:19
是不是设置了强制输出
还有模态方式

作者: coocool05    时间: 2021-12-6 09:29
可以参考我发的后处理里加强制输出h和手动设置的代码
作者: ysh5858    时间: 2021-12-6 09:34
本帖最后由 ysh5858 于 2021-12-6 09:35 编辑
472751863 发表于 2021-12-6 09:19
是不是设置了强制输出
还有模态方式

谢谢!我改了强制输出,第一个条件开启达到了强制输出H01,没为题了。可关闭功能输出还是如上图2一样。模态是,否也试了。

作者: ysh5858    时间: 2021-12-6 09:40
coocool05 发表于 2021-12-6 09:29
可以参考我发的后处理里加强制输出h和手动设置的代码

proc PB_CMD_G41_D { } {
#=============================================================
global mom_cutcom_adjust_register
global dh mom_tool_number

if { $dh == 1 } {
set mom_cutcom_adjust_register $mom_tool_number
}

MOM_force Once D
}
这这些吗?

作者: H306721585    时间: 2021-12-6 09:56
后处理H 强制输出 改掉,这里同时出现2个长度补偿刀号,机器肯定会报警的。
作者: ysh5858    时间: 2021-12-6 10:25
H306721585 发表于 2021-12-6 09:56
后处理H 强制输出 改掉,这里同时出现2个长度补偿刀号,机器肯定会报警的。

这个肯定是知道的呀!现在就是代码哪里不对才出现这个问题啊!
作者: 如云得龙    时间: 2021-12-6 10:58
把整个后处理文件发上来,这样好判断些。
作者: 893011376    时间: 2021-12-6 16:04
global mom_tool_adjust_register
global hh mom_tool_number

if {$hh == "1"} {
set mom_tool_adjust_register  "1"
} else {
set mom_tool_adjust_register $mom_tool_number
}
作者: ysh5858    时间: 2021-12-6 17:39
本帖最后由 ysh5858 于 2021-12-6 17:43 编辑
893011376 发表于 2021-12-6 16:04
global mom_tool_adjust_register
global hh mom_tool_number

非常感谢大佬的解答,现在没有出现换行,H01也是正常输出,可默认刀号输出为00.哪里还有点点问题?谢谢!
模态和强制输出都试过,还是一样,自动刀号不能正常输出,输出为00

作者: coocool05    时间: 2021-12-6 20:40
ysh5858 发表于 2021-12-6 17:39
非常感谢大佬的解答,现在没有出现换行,H01也是正常输出,可默认刀号输出为00.哪里还有点点问题?谢谢! ...

这个表达式默认值就可以了,定制命令就行了,,我就没有改,我这样改的,开启强制输出,关闭就手动设置输出的
global mom_tool_adjust_register
global dh mom_tool_number

if { $dh == 1 } {
set mom_tool_adjust_register $mom_tool_number
}
作者: ysh5858    时间: 2021-12-7 08:36
coocool05 发表于 2021-12-6 20:40
这个表达式默认值就可以了,定制命令就行了,,我就没有改,我这样改的,开启强制输出,关闭就手动设置输 ...

谢谢大神指点!你的意思是还需手工设置才会输出H01吗?我的意图是要手工换刀时不论刀号是多少都强制输出H01(1号刀补)防止输出其它设定刀号,操机补偿错误而撞刀。反之按刀号实际设定数值输出。
作者: 893011376    时间: 2021-12-7 08:48
主要是不明白你想达到什么样的效果
作者: ysh5858    时间: 2021-12-7 09:08
893011376 发表于 2021-12-7 08:48
主要是不明白你想达到什么样的效果

谢谢大神!我用易语做的一个窗体其中一个功能就是:功能开(hh=1),手工换刀强制输出1号刀补正(G43H01),功能关(hh1=0)正常按设定刀号补偿输出。配置文件hh已正常输出。现在状况是功能开可输出H01,关就不能正常按输出了,输出的是H00
作者: 如云得龙    时间: 2021-12-7 09:43
本帖最后由 如云得龙 于 2021-12-7 09:50 编辑

给楼主一个建议:
先抛弃易语言的窗口,正常后处理。
一个后处理的参数为hh=1,一个后处理的参数hh≠1。
后处理实验没有问题再用易语言调试。
这样故障点容易查找。
感觉这个功能非常好调试。
分分钟就可以搞定的事情。



看了楼主实现的方法,将H默认指令给改掉了。
我实现的思路是在后处理开头增加一个全局变量hh,这样就可以控制输出了。
不建议该系统默认的变量,你不知道这个值在哪里被引用。很容易出错的。

作者: ysh5858    时间: 2021-12-7 10:20
如云得龙 发表于 2021-12-7 09:43
给楼主一个建议:
先抛弃易语言的窗口,正常后处理。
一个后处理的参数为hh=1,一个后处理的参数hh≠1。
...

谢谢大神指点,是我想复杂了,搞定!




欢迎光临 UG爱好者 (https://www.ugsnx.com/) Powered by Discuz! X3.5