网淘吧Visual Components、Flexsim 仿真技术博客 | Python、C#、Delphi xe 机器人编程教程 - 网淘吧

机器人程序上传器插件(支持 Kuka / ABB / Fanuc / Yaskawa) - visual compents 疑难解答

2026-04-03 新闻来源:网淘吧 围观:33
电脑广告
手机广告

keke

大家好,

此前一段时间,我们在论坛上提供了一些示例后处理器,用于将 VC 机器人程序导出为原生机器人语言。这里有一个反向操作的插件。现在你可以将原生机器人程序上传到 VC 仿真模型中。我们从 Kuka 转换器开始,希望未来能增加更多品牌。

将 zip 文件解压到“我的命令”文件夹即可安装该插件。然后重启应用程序,“上传”按钮就会出现在程序功能区选项卡上。

软件包中包含 ReadMe.txt 文件,其中提供了如何使用不同转换器的快速说明。

version_history_xxxx_xx_xx.txt 记录了插件的更新历史。


目前包含的上传器:

  • Kuka (.src/.dat)
  • ABB (.mod)
  • Fanuc (.ls)
  • Yaskawa (.JBI)
---

Kuka 转换器允许你上传单个 .src 文件。你也可以将 .dat 文件和 $config.dat 文件放在同一文件夹中,插件会识别它们。$config.dat 用于读取基座、工具数据以及可能的主位置信息。

转换器的功能范围有限。它可以处理 PTP/LIN/SPTP/SLIN 运动、子程序调用、二进制输入/输出、IF 和 WHILE 语句以及简单的数据声明和赋值。转换器使用正则表达式进行解析,因此如果你想修改解析器,会有一定的学习曲线。

-k

Robotuploader_2021_12_08.zip(35.3 KB)

version_history_2021_12_08.txt(578 Bytes)

2 个赞
将 ABB 机器人程序导入 VC
如何通过生成的 txt 文件改变机器人位置
关于通过编程控制机器人运动的问题
将 ABB 机器人程序导入 VC

我在原帖附件中添加了 ABB 上传器。

该上传器的功能范围与 Kuka 上传器非常相似。你可以一次加载一个 .mod 文件,也可以逐个加载其他模块并将它们合并到现有程序中。在加载多个模块时,请最后加载主模块,以便子程序在调用引用时已经存在。

对于 DO/DI 信号映射,你可以使用 robotWrapper.SignalOutMapping 和 robotWrapper.SignalInMapping 字典。将 real_signal:sim_signal 对(例如“doArcOn”:101)添加到这些字典中,以自定义映射来适配你的单元。如果没有字典,上传器会尝试从名称中找到信号索引(例如 do12 => 12)。

上传器会从模块中加载基座和工具数据并覆盖当前数据。如果不需要此行为,只需在上传函数中删除 readBaseToolData() 调用即可。转换中最常见的问题是基座/工具坐标系的位置。上传器会尝试找到合适的节点来附加坐标系,但这要求仿真模型中的运动学结构与实际设备完全匹配。机构名称必须匹配(例如定位器组件名称可能是“STN1”)。另外要注意导轨,因为当使用导轨时,机器人的世界坐标系可能与实际单元中的位置不同。在有问题的情况下,请手动设置坐标系并屏蔽 readBaseToolData()。

外部轴的值映射可以在 robotWrapper.ExAxisMapping 上更改。例如,如果实际单元中导轨是轴7(~E1),定位器是轴10(~E4)和11(~E5),而仿真模型中导轨是 E1,定位器是 E2 和 E3,则 ExAxMapping 应为 { 0:0, 3:1, 4:2, 1:3, 2:4, 5:5 }(使用从零开始的索引)。

MoveC 会被加载,但仅作为两个直线运动。代码周围有一些注释,提示原始运动实际上是圆弧。

-k

导入机器人程序
导入机器人程序

在原帖附件中添加了 Fanuc 上传器。

Fanuc 上传器加载单个 .LS 文件,但你也可以将 POSREG.VA 放在同一文件夹中,上传器会识别它以及其中的位置寄存器。你可以通过选择不重置现有程序来将其他 .LS 文件加载到同一个仿真中。

上传器存在一些限制。不加载 UFrame 和 UTool 数据,因此你需要手动设置这些。上传器不会转换所有跳转,只会转换那些构成循环的跳转,并将其转换为 while 循环。某些程序流指令(如 SELECT)不受支持。在运动中,不支持 OFFSET 和 TOOL_OFFSET。此上传器不支持 Karel,仅支持 .LS 文件。

该功能与软件包中的其他转换器基本一致,并且与论坛上的 Fanuc 下载器相匹配(https://forum.visualcomponents.com/forums/topic/post-processor-with-sample-translators/)。

我无法使用真实机器人进行测试,因此欢迎任何反馈。

-k

我在原帖中添加了 Yaskawa 上传器。

Yaskawa 可以读取 PULSE 和 RECTAN 作业,但在转换某些系统的作业时可能会出现问题。如果遇到问题,请在此帖子中回复,我们会尝试更新转换器。详细信息请阅读软件包中的 ReadMe.txt。

-k

你好 Keke!

我发现了 Fanuc PP 的一些小问题。
在我的 .ls 文件中,0.xxx(浮点数)值被打印为 .xxx 或 -.xxx。
该 PP 也无法处理配置和位置名称。

P[1:“HOME”]{
GP1:
UF : 0, UT : 1, CONFIG : ‘N U T, 0, 0, 0’,
X = 621.034 mm, Y = .549 mm, Z = 172.662 mm,
W = -174.542 deg, P = -.934 deg, R = 107.944 deg
};

IF 语句也有问题。
它看起来像这样:
1: LBL[1] ;
2: !home ;
3: PAYLOAD[1] ;
4:J P[1:HOME] 100% FINE ;
5: ;
6: DO[102:LEF.HOME]=ON ;
7: DO[101:LEF.FENT]=ON ;
8: ;
9: DO[103:LEF.UZEMKESZ]=ON ;
10: !------------------------ ;
11: ;
12: IF DI[101:CIKLUS START/lef indulht]=ON AND DI[106:LEFUJO AUTOMATABAN]=ON,JMP LBL[2] ;
13: ;
14: JMP LBL[1] ;
15: !gep fole all ;
16: ;
17: LBL[2] ;
18: ;
19:J P[2] 100% CNT100 ;
20:…

我希望这些信息有用。:slight_smile:

你好 @Petr,

感谢你的反馈。我会把这些添加到我的待办事项列表中,并尝试在不久的将来修复。

此致,Keijo

你好 keke,

你打算添加三菱上传器吗?
还有 DENSO 上传器/下载器。

你好 Bunta,

目前我们没有计划添加三菱或 DENSO 上传器。未来我们可能会在转换器中添加 DENSO 下载器。

一般来说,下载器更容易制作,因此我们拥有更多下载器。上传过程可能复杂得多,因为你可能需要从多个来源读取数据,例如存储在作业文件之外其他地方的全局变量。此外,原生语言包含许多 VC 不支持的指令,例如 JUMP-LABEL(或 GOTO-LABEL)。因此,将它们转换为 VC 程序非常困难。下载更容易,因为 VC 语句通常可以轻松映射到原生机器人命令。

-k

你好 keke,

感谢你的回答。
我们期待未来的升级。

你好 Keke,

是否可以为 Adept 机器人添加预处理器?特别是 SCARA 机器人会很有趣。

干杯,
A

你好
很棒的插件!请问以下 KUKA 中的代码结构是否兼容上传?这是一个基坐标系,我根据输入变量修改其数据(例如调整堆叠高度)。

&ACCESS RV
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\ExpertVorgabe
DEF Pickup_subject( )

ENDECL GLOBAL FRAME Base_data[13]

   ;*********************************************************
   ;Fixed offset program base by values or variables
   ;*********************************************************
   Base_data[13]=$NULLFRAME
   Base_data[13].x=Base_data[13].x+0                                    ;Shift base in x-direction
   Base_data[13].y=Base_data[13].y+0                                    ;Shift base in y-direction
   Base_data[13].z=Base_data[13].z+giLayerToPlace*rCurrentCellHeight+0   ;Shift base in z-direction
   Base_data[13].a=Base_data[13].a+0                                    ;Shift base in z-rotation
   Base_data[13].b=Base_data[13].b+0                                    ;Shift base in y-rotation
   Base_data[13].c=Base_data[13].c+0                                    ;Shift base in x-rotation
   
   ;*********************************************************
   ;Set program base definition to table 1 and table 2
   ;*********************************************************
   Base_data[16]=Base_data[2]
   Base_data[16]=Base_data[16]:Base_data[13]

不,我认为这不会被转换。这种数学运算很少能很好地转换为 VC 程序。虽然我们有 SetBase 语句,但问题是你不能在该语句中使用变量来移动基座。因此,转换这种逻辑几乎是不可能的,因为 VC 语言的词汇量比 KRL 小得多。

-k

1 个赞

近期有可能获得 Doosan 预处理器/上传器吗?

目前没有计划增加新的预处理器。一般来说,预处理器非常难做,因为 VC 语言比原生机器人语言简单得多,因此可以转换到 VC 的内容有很大限制。最近的趋势更多地倾向于这样一种用例:在虚拟控制器上运行原生代码,并将虚拟控制器连接到 VC 仿真。这样我们就不必担心 VC 控制器/执行器缺少某些功能。而对于这种连接性,我们可能很快会有关于 Doosan 的消息。

-k

2 个赞

谢谢,那我等待消息了。:slight_smile:

你好,近期有可能提供三菱的预处理器吗?

目前我们没有计划为此上传器插件添加新品牌。

-k

你好 K,
你有计划为 UR 机器人开发一个吗?—— 谢谢

我们没有计划为此论坛插件开发新的转换器。现在,我们有一个专门用于离线编程的产品 Robotics OLP(Robotics OLP - visual Components)。该产品包括许多品牌的转换器,包括 UR。总的来说,这些 OLP 转换器更好,因为它们是在生产环境中开发和测试的,而这些论坛插件更像是示例,通常仅针对虚拟控制器进行有限测试。当然,OLP 转换器不适用于基础版 Essentials 用户,但如果你需要一款优秀的离线编程软件,我建议你看看我们的 OLP 产品。

-k

下一页 →
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部

相关文章

上网淘巴领天猫淘宝优惠券,一年省好几千。

广告  ×

您是本站第854312名访客 今日有0篇新文章/评论