大家好,

本论坛已提供示例后处理器一段时间,用于将VC机器人程序导出为原生机器人语言。现推出一款实现反向操作的插件,支持将原生机器人程序上传至VC仿真模型。当前首发版本为库卡翻译器,未来有望增加更多品牌支持。

安装方法:将zip文件解压至"My Commands"文件夹,重启应用程序后,"上传"按钮将显示在程序功能区选项卡中。

压缩包内含ReadMe.txt文件,提供各翻译器的快速使用指南。

version_history_xxxx_xx_xx.txt文件记录插件更新日志。


当前包含的上传器:

  • 库卡 (.src/.dat)
  • ABB (.mod)
  • 发那科 (.ls)
  • 安川电机 (.JBI)
---

库卡翻译器支持上传单个.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 字节)

2 Likes

我已经将ABB上传器添加到OP附件中。

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

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

上传器从模块加载基座和工具数据,并覆盖当前数据。如果不需要此操作,只需删除 upload() 函数中的 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 上传器已添加到 OP 附件中。

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 keke 2020年4月15日 上午10:25 5 我已在原帖中添加了安川上传器。 安川可读取PULSE和RECTAN格式的程序,但转换某些系统的程序时可能存在一些问题。如遇问题,请在本帖回复说明,我们将尝试更新转换器。详情请参阅软件包中的ReadMe.txt文件。 -k Petr 2020年4月22日 下午1:22 6 你好Keke! 我在Fanuc后处理器中发现了一些小问题。 在我的.ls文件中,0.xxx(浮点数)值被输出为.xxx或-.xxx。

The functionality is somewhat in line with other translators on this package and it matches the Fanuc downloader on the forum (https://forum.visualcomponents.com/forums/topic/post-processor-with-sample-translators/).

I couldn’t do tests with a real robot so any feedback on this is welcome.

-k

I added Yaskawa uploader to the OP.

Yaskawa can read PULSE and RECTAN jobs but there may be some issues with translating jobs from some systems. In case of problems please reply this thread about the issues and we try to update the translator. Please read ReadMe.txt in the package for details.

-k

Hello Keke!

I’ve found some minor issues, with Fanuc PP.
In my .ls the 0.xxx (float) values were printed out as .xxx or -.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,

你们有计划添加三菱的上传器吗?
还有电装的上传/下载器。

你好 Bunta,

目前我们没有计划开发三菱或电装的上传器。电装的下载器未来或许可以加入我们的翻译器。

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

-k

Hi keke,

Thank you for answering.
We look forward to future upgrades.

Hi Keke,

is it possible to add Adept Robots to the Pre Processor? Especially the Scara robots would be interesting.

Cheers,
A

Hello
Great piece of Add-on! Can i ask you if the following code structure made in a KUKA is compatible for upload? Its a Base_Frame where im modifying the data based on an Input variable (eg. stacking height adjusted)

&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]

No I don’t think this will be translated. This sort of math operations rarely translate well into VC program. While we do have SetBase statement the problem is that you cannot use variables in that statement to shift the base. So translating this sort of logic is near impossible to do as the vocabulary of VC language is so much smaller than KRL.

-k

1 Like

Any chance to get Doosan pre-processor/uploader soon?

No new pre-processors are being planned at the moment. Pre-processors in general are really difficult to make because the VC language is so much simpler than native robot languages and therefore there are big limitations on what you can translate to VC. Lately the trend has been going more towards the use case where you run the native code on virtual controller and connect virtual controller to VC simulation. That way we don’t have to worry about some functionality missing on VC controller/executor. And for that connectivity we might have some news soon for Doosan specifically.

-k

2 Likes

Thanks, im waiting for the news then:slight_smile:

Hi , is there any chance that a pre-processor for Mitshubishi will be available in the near future?

At the moment we have no plans to add new brands for this uploader add-on.

-k

Hi K,
Do you have any plan on developing one for UR robots? – Thank you

We don’t have any plans to develop new translators for this forum add-on. Nowadays we have specific product for offline programming in Robotics OLP (Robotics OLP - Visual Components). That product includes translators for many brands including UR. I would say that these OLP translators in general are better because they have been developed and tested in production environment whereas these forum add-ons are more of a sample with limited testing usually against virtual controllers only. Of course the OLP translators are not available for basic Essentials user but if you are in need of a good offline programming software I would suggest to look into our OLP products.

-k