ABB机器人EGM功能简单应用

EGM中使用的是Protocol Buffer2的协议,从Egm.proto模板文件中可以了解到,协议版本没有定义默认为proto2,目前最新版本为proto3。PC安装了RobotStudio 6.08后,在如下路径可以找到egm.proto模板文件。
在这里插入图片描述

C:\ProgramData\ABB Industrial IT\Robotics IT\DistributionPackages\ABB.RobotWare-6.08.0134\RobotPackages\RobotWare_RPK_6.08.0134\utility\Template\EGM

初次使用Protocol Buffer协议格式时,是在项目中使用微服务了解到的。有用到gRpc基于远程过程调用框架,gRPC 是Google 发布的开源 RPC 框架,提供 protocol buffer 编译插件,能够从一个服务定义的 .proto 文件生成客户端和服务端代码。通常 gRPC 用户可以在服务端实现这些API,并从客户端调用它们。使用和了解更多帮助信息可以参考以下两个链接

gRPC 官方文档中文版 http://doc.oschina.net/grpc?t=60132

gRpc入门之旅博客 https://www.cnblogs.com/chillsrc/p/18062504

这里不做详细介绍,主要讲两点,第一点需要用到包,在打开的NuGet包管理界面的中选择“浏览”标签页,在搜索框中输入“google”,找到最新版本Google.ProtocolBuffers,点击安装。如下图
在这里插入图片描述
安装完成后打开.nuget包本地文件夹路径,我电脑在如下位置C:\Users\Administrator.nuget\packages\google.protocolbuffers\2.4.1.555\tools

在这里插入图片描述
第二点复制Egm.proto文件至该文件夹内,win+r输入cmd打开控制台,cd到该路径下。输入以下命令生成.cs文件,详细看截图操作
在这里插入图片描述
如何使用Egm.cs里面的方法,模板里的Egm.proto有注释,更多功能自行尝试,需要获取机器人相关数据,可以参考如下示例代码


  UdpClient _udpServer = new UdpClient(6511);
  var remoteEP = new IPEndPoint(IPAddress.Any, 6511); 
  while (true){
    var data = _udpServer.Receive(ref remoteEP);
    //先启动C#程序,再启动机器人程序
    MessageBox.Show($"Seq={robot.Header.Seqno.ToString()} tm={robot.Header.Tm.ToString()}  pos= {robot.FeedBack.Cartesian.Pos}");
  }

机器人通讯设置需要设置6511端口
在这里插入图片描述
机器人Rapid代码如下


 PROC main()
    MoveJ p100,v1000,fine,MyTool\WObj:=wobj0;
    EGMReset egmID1;
    waittime 1;
    EGMGetId egmID1;
    egmSt1:=EGMGetState(egmID1);
    IF egmSt1<=EGM_STATE_CONNECTED THEN   
         EGMSetupUC ROB_1,egmID1,"default","UCdevice"\pose;
    ENDIF
    EGMActPose egmID1\Tool:=MyTool,corr_frame_offs,EGM_FRAME_WORLD,corr_frame_offs,EGM_FRAME_WORLD\x:=egm_minmax_lin1\y:=egm_minmax_lin1\z:=egm_minmax_lin1\rx:=egm_minmax_rot1\ry:=egm_minmax_rot1\rz:=egm_minmax_rot1\LpFilter:=20\MaxSpeedDeviation:=30;
    EGMRunPose egmID1,EGM_STOP_HOLD\x\y\Z\CondTime:=3\RampInTime:=0.05;
  ENDPROC

对Rapid中EGM相关指令不熟悉可以参考,RobotStudio中帮助手册
在这里插入图片描述

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值