线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
向代码追加行
# 1
早上好,

我想向后处理程序(kuka krc4)的输出文件添加几行代码。
非常确定这可以通过一个相对简单的.append方法来完成(代码必须位于输出文件*.src的最后)

我在roboDK文档中没有找到任何示例,而且由于我远非程序员,因此如果有一点帮助我会很感激。

致以最亲切的问候
赫尔曼
# 2
您可以通过在程序末尾使用程序调用指令来使用用户界面轻松地做到这一点。这允许您在程序中添加一个或多个自定义代码行:
//www.x7093.com/doc/en/Robot-Programs...nsProgCall

或者,如果你的所有程序都需要这个,我们可以帮助你定制一个后处理器。
# 3
谢谢你!

如果我想在输出文件的最后添加某些代码行,我该如何处理?
# 4
如果您在程序末尾添加“程序调用”,您可以选择下拉菜单并选择“插入代码”并键入您想要看到的代码。
这是最简单的方法,它不需要任何编码。

杰里米
有关RoboDK及其功能的有用信息,请访问我们的爱游戏ayx高尔夫球在线文档通过观看我们的Youtube频道


# 5
我明白,但我想通过一个后处理器来标准化。

这是我目前得到的。

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代码的情况下添加行。
# 6
好吧,那就去做吧。XD
到目前为止,您创建的内容看起来不错。问题到底是什么?
你刚刚发布的代码的结果是什么?

要使用M-Code,您需要从NC (G-code)文件开始,并且它需要在末尾有一个M-Code。
这是你的情况吗?
如果是这样,只需捕获代码并使用addline即可。
有关RoboDK及其功能的有用信息,请访问我们的爱游戏ayx高尔夫球在线文档通过观看我们的Youtube频道


# 7
嗯…我可能不是程序员……但它会完成(有一点帮助;)

是的……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



结束
# 8
哦,难道不应该把它添加到页眉中吗?

你应该在文章中找到一个“CUSTOM_HEADER”部分,在那里你可以像这样添加自定义代码,它总是会被添加到程序中。
我不是KRL专家,但我知道的大多数语言,在标题中添加它应该工作。

杰里米
有关RoboDK及其功能的有用信息,请访问我们的爱游戏ayx高尔夫球在线文档通过观看我们的Youtube频道






浏览此主题的用户:
1客人(年代)