线程评分:
  • 0投票 - 0平均
  • 1
  • 2
  • 3
  • 4
  • 5
在线编程中等待真正的机器人
你好呀,

我正在使用在线编程进行3D打印。
我使用3D打印配置模块生成了Robodk程序。另外,我正在使用计算机(Windows)和挤出机控制器(RAMBO板上的Marlin固件)之间的串行连接来发送挤出机控制的G代码。
由于我需要建立与Marlin的串行连接,因此我使用了一个单独的Python程序来发送G代码。因此,我在Robodk中使用了一个“挤出器”程序来从Robodk程序中获取回调,并将其转储到数据库中,然后将通过该单独的Python程序读取该程序。
现在,我的问题是,当我开始运行主Robodk程序时,Robodk不会等待实际的机器人完成线性移动,然后发送挤出器命令。这使一切都变得不同步。

从附件的照片中可以看出,程序的一部分执行顺序(对于4分段路径的一层)就是这样:Movel54将机器人移至层的开头,然后有一个挤压命令和Movel55命令的第一个路径。但是问题始于Movel55之后没有等待,Robodk发送了另一个与路径第二段相对应的挤出命令。一旦执行了所有这三个命令(在照片中表示为2),Robodk就等待机器人完成运动,然后执行Movel56和第三挤出命令。而且它继续如此。


我的方法是在挤出器()回调之前添加命令/说明,以等待机器人完成任务。我使用了waitbusy(),waitmove()和waitfined()方法,但无法实施预期的行为。

如果您可以帮助我解决这个问题,我将不胜感激。我在挣扎数周。接近使用Kuka机器人的印刷真是令人沮丧,但不能正确地打印。让我知道是否需要更多信息。

谢谢,
在我解决这个问题之前,您能否阅读我对您以前问题的答案?

杰里米
通过访问我们爱游戏ayx高尔夫球在线文档通过在我们的教程上观看教程YouTube频道


(12-15-2021,11:00 PM)杰里米写道:在我解决这个问题之前,您能否阅读我对您以前问题的答案?

杰里米

嗨,杰里米,

感谢您的其他答案。
我知道离线编程方法可能ayx官方更有前途。但是我开发了用于在线编程的所有内容,只有这个问题使其不同步。
您是否知道如何使Robodk等待在调用回调函数之前完成机器人移动(如我的第一篇文章所述)?这将立即推进我的项目,因为我可以成功地3D打印对象并继续进行研究的下一步...

谢谢
您是否了解为什么驾驶员无法实现3D打印?
通过访问我们爱游戏ayx高尔夫球在线文档通过在我们的教程上观看教程YouTube频道


(01-04-2022,09:05 PM)杰里米写道:您是否了解为什么驾驶员无法实现3D打印?

没有人说与驾驶员的3D打印是不可能的。握手可能不是平稳的,我现在不介意非最佳结果。如果解决了Robodk的执行顺序中的此问题,为什么无法实现呢?还有其他原因使它不可能吗?
这就像使用计算机通过USB电缆在FDM 3D打印机上运行GCODE ...
另一方面,您应该能够完成3D打印,由于较有限的外观功能,您可能没有光滑的边缘。

如果将挤出机命令映射到由KUKA控制器管理的外部轴,则可以实现最佳的结果。为此,您应该修改SRC驱动程序文件以读取通过挤出器调用传递的E号码,并使用下一个线性移动命令更新它。

如果要阻止运动,则可以尝试将Advance变量设置为0,并从移动命令中删除C_DIS标志。




用户浏览此线程:
1位客人