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

机器人程序预处理器(上传器) - visual compents 疑难解答

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

大家好,

本论坛已提供示例后处理器一段时间,用于将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 个赞

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

该上传器的功能范围与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

发那科上传器已添加到原帖附件中。

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

该上传器存在一些限制。UFrame和UTool数据不会自动加载,需要手动设置。上传器不会转换所有跳转指令,仅转换构成循环的跳转,并将其转换为while循环。部分程序流程指令(如SELECT)不支持。在运动指令中,不支持OFFSET和TOOL_OFFSET。该上传器不支持Karel语言,仅支持.LS文件。 功能与同软件包中的其他转换器基本一致,并与论坛上的发那科下载器匹配(https://forum.visualcomponents.com/forums/topic/post-processor-with-sample-translators/)。 我未能在真实机器人上进行测试,欢迎提供相关反馈。 -k

我已在原帖中添加了安川上传器。

安川可读取PULSE和RECTAN格式的程序,但转换某些系统的程序时可能存在一些问题。如遇问题,请在本帖回复说明,我们将尝试更新转换器。详情请参阅软件包中的ReadMe.txt文件。

-k

你好 Keke!

我在发那科后处理器中发现了一些小问题。
在我的.ls文件中,0.xxx(浮点数)值被输出为.xxx或-.xxx。
后处理器也无法处理配置和位置名称。

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

嗨 keke,

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

嗨 Keke,

是否有可能在预处理器中添加 Adept 机器人?尤其是 Scara 机器人会很有趣。

祝好,
A

你好
非常棒的插件!我想问一下,以下在 KUKA 中创建的代码结构是否支持上传?这是一个 Base_Frame,我正在根据输入变量(例如调整堆叠高度)修改其数据。

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

你好,近期有没有可能提供三菱(Mitsubishi)的预处理器?

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

-k

嗨 K,

你们有计划为 UR 机器人开发一个吗? – 谢谢

我们没有计划为这个论坛插件开发新的转换器。如今,我们在机器人离线编程(OLP)领域有专门的产品(Robotics OLP - Visual Components)。该产品包含针对许多品牌(包括 UR)的转换器。可以说,这些 OLP 转换器总体上更好,因为它们是在生产环境中开发和测试的,而这些论坛插件更像是样本,通常仅针对虚拟控制器进行了有限的测试。当然,OLP 转换器不适用于基础的 Essentials 用户,但如果你需要一个好的离线编程软件,我建议你了解一下我们的 OLP 产品。

-k

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

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

相关文章

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

广告  ×

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