2021年12月13日,晚上8点44分
你好,
我在用在线编程进行3D打印。
我使用3D打印配置模块生成了RoboDK程序。此外,我正在使用我的计算机(windows)和挤出机控制器(RAMBo板上的马林固件)之间的串行连接来发送挤出机控制的g代码。
因为我需要建立一个与Marlin的串行连接,所以我使用了一个单独的Python程序来发送g码。因此,我在RoboDK中使用了一个' extrder .py'程序来从RoboDK程序中获取回调,并将它们转储到数据库中,然后由该单独的Python程序读取。
现在,我的问题是,当我开始运行RoboDK主程序时,RoboDK不会等待实际的机器人完成线性移动,然后发送挤出机命令。这使得一切都不同步。
从附件的照片中可以看到,程序的一部分(4段路径中的一层)的执行顺序是这样的:move54将机器人移动到层的开始,然后有一个挤出命令和路径的第1段的move55命令。但是当move55之后没有等待时,问题就开始了,RoboDK发送了另一个挤出命令,对应于路径的第二段。当这三个命令(图中为2)全部执行后,RoboDK等待机器人完成移动,然后执行MoveL56和第3个挤出命令。它继续像这样不同步。
我的方法是在Extruder()回调之前添加一个命令/指令,以等待机器人完成任务。我使用了Python API的WaitBusy(), WaitMove()和WaitFinished()方法,但无法实现预期的行为。
如果你能帮我解决这个问题,我将不胜感激。我已经纠结了好几个星期了。用库卡机器人就快打印了,但做得不好,真是令人沮丧。如果还需要更多信息,请告诉我。
谢谢,
坡
我在用在线编程进行3D打印。
我使用3D打印配置模块生成了RoboDK程序。此外,我正在使用我的计算机(windows)和挤出机控制器(RAMBo板上的马林固件)之间的串行连接来发送挤出机控制的g代码。
因为我需要建立一个与Marlin的串行连接,所以我使用了一个单独的Python程序来发送g码。因此,我在RoboDK中使用了一个' extrder .py'程序来从RoboDK程序中获取回调,并将它们转储到数据库中,然后由该单独的Python程序读取。
现在,我的问题是,当我开始运行RoboDK主程序时,RoboDK不会等待实际的机器人完成线性移动,然后发送挤出机命令。这使得一切都不同步。
从附件的照片中可以看到,程序的一部分(4段路径中的一层)的执行顺序是这样的:move54将机器人移动到层的开始,然后有一个挤出命令和路径的第1段的move55命令。但是当move55之后没有等待时,问题就开始了,RoboDK发送了另一个挤出命令,对应于路径的第二段。当这三个命令(图中为2)全部执行后,RoboDK等待机器人完成移动,然后执行MoveL56和第3个挤出命令。它继续像这样不同步。
我的方法是在Extruder()回调之前添加一个命令/指令,以等待机器人完成任务。我使用了Python API的WaitBusy(), WaitMove()和WaitFinished()方法,但无法实现预期的行为。
如果你能帮我解决这个问题,我将不胜感激。我已经纠结了好几个星期了。用库卡机器人就快打印了,但做得不好,真是令人沮丧。如果还需要更多信息,请告诉我。
谢谢,
坡