职位:8
线程:3
加入时间:2021年8月
声誉:
0
早上好,
我想向后处理程序(kuka krc4)的输出文件添加几行代码。
非常确定这可以通过一个相对简单的.append方法来完成(代码必须位于输出文件*.src的最后)
我在roboDK文档中没有找到任何示例,而且由于我远非程序员,因此如果有一点帮助我会很感激。
致以最亲切的问候
赫尔曼
职位:8
线程:3
加入时间:2021年8月
声誉:
0
谢谢你!
如果我想在输出文件的最后添加某些代码行,我该如何处理?
帖子:1800
线程:2
加入:2018年10月
声誉:
69
如果您在程序末尾添加“程序调用”,您可以选择下拉菜单并选择“插入代码”并键入您想要看到的代码。
这是最简单的方法,它不需要任何编码。
杰里米
职位:8
线程:3
加入时间:2021年8月
声誉:
0
我明白,但我想通过一个后处理器来标准化。
这是我目前得到的。
def RunCode(self, code, is_function_call=False):
添加代码或函数调用
#添加计数器属性,如果这是第一次调用RunCode
如果没有hasattr(self, "M51_counter"):
自我。M51_counter = 0
如果“M_RunCode(50)”在代码中:
#过滤M50
self.addline(“\ n”)
自我。addline(“激光”)
self.addline(“\ n”)
返回
elif "M_RunCode(51)" in code:
#忽略第一个M51呼叫
如果自我。M51_counter > 0:
#在程序事件中,默认情况下我们将通过M_RunCode过滤M50
self.addline(“\ n”)
自我。addline(“激光”)
self.addline(“\ n”)
返回
#总是增加计数器,即使它是0
自我。M51_counter += 1
返回
如果“M_RunCode(30)”在代码中:
self.addline (" ")
返回
(缩进可能显示不正确)
正如您所看到的,这“使用”m代码来添加新行。
我只是想在不“劫持”输出文件末尾的m代码的情况下添加行。
帖子:1800
线程:2
加入:2018年10月
声誉:
69
好吧,那就去做吧。XD
到目前为止,您创建的内容看起来不错。问题到底是什么?
你刚刚发布的代码的结果是什么?
要使用M-Code,您需要从NC (G-code)文件开始,并且它需要在末尾有一个M-Code。
这是你的情况吗?
如果是这样,只需捕获代码并使用addline即可。
职位:8
线程:3
加入时间:2021年8月
声誉:
0
嗯…我可能不是程序员……但它会完成(有一点帮助;)
是的……m码的捕获工作得很好。
我要做的是在每个输出文件的末尾添加以下textcluster。这个文本集群没有链接到任何m代码,应该只是“原样”打印。
当然我可以手工复制粘贴这个集群,但是…你知道的…这是不可接受的;)
DEF laser_on ()
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:13, 3:Laser bereit(待机),5:TRUE, 6:
美元[13]= TRUE
; ENDFOLD
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:14, 3:Laser (Steuerung) ein, 5:TRUE, 6:
美元[14]= TRUE
; ENDFOLD
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:26 7,3: abaugung ein, 5:TRUE, 6:
美元[267]= TRUE
; ENDFOLD
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:26 6,3:Sauerstoff, 5:TRUE, 6:
美元[266]= TRUE
; ENDFOLD
laser_ein (3800 # schneiden)
%{PE}%R 8.3.38,%MKUKATPBASIS,%CWAIT,%VWAIT,%P 3:3
等待第三部分
; ENDFOLD
laser_aus ()
# schneiden laser_ein (1000)
结束
DEF laser_off ()
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:26 6,3:Sauerstoff, 5:FALSE, 6:CONTINUE
继续
美元[266]= FALSE
; ENDFOLD
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:26 7,3: abaugung ein, 5:FALSE, 6:
美元[267]= FALSE
; ENDFOLD
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:14, 3:Laser (Steuerung) ein, 5:FALSE, 6:
美元[14]= FALSE
; ENDFOLD
%{PE}%R 8.3.38,%MKUKATPBASIS,%COUT,%VOUTX,%P 2:13, 3:Laser bereit(待机),5:FALSE, 6:
美元[13]= FALSE
; ENDFOLD
%{PE}%R 8.3.38,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P13, 3:, 5:0.5, 7:CPDAT10
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT10
FDAT_ACT = FP13
BAS (# CP_PARAMS, 0.5)
林XP13
; ENDFOLD
pv_korrektur = false
结束
帖子:1800
线程:2
加入:2018年10月
声誉:
69
哦,难道不应该把它添加到页眉中吗?
你应该在文章中找到一个“CUSTOM_HEADER”部分,在那里你可以像这样添加自定义代码,它总是会被添加到程序中。
我不是KRL专家,但我知道的大多数语言,在标题中添加它应该工作。
杰里米