当前位置:首页>资讯 >技术知识>【ABB】上位机实时记录ABB机器人扭矩

【ABB】上位机实时记录ABB机器人扭矩

2020-09-11 来源:JQRZX |责任编辑:小球球 浏览数:766 全球焊接网

核心提示:1. 上位机实时采集机器人各轴扭矩,如何实现?2. PCSDK未提供直接读取扭矩接口,但RAPID中可以通过指令GetJointDataMechUnit:=ROB_1,1Torque:=reg1,读取1轴的扭矩并存储于reg13. 可以在RAPID创建后台程序,实时读取



1. 上位机实时采集机器人各轴扭矩,如何实现?

2. PCSDK未提供直接读取扭矩接口,但RAPID中可以通过指令

GetJointDataMechUnit:=ROB_1,1Torque:=reg1,读取1轴的扭矩并存储于reg1

3. 可以在RAPID创建后台程序,实时读取各轴扭矩。

4. 上位机根据选择,读取对应各轴扭矩数值并以曲线形式显示。

5. 机器人创建后台任务,并编写代码。编写完毕将后台任务设为semistatic,即开机自启动


var num axis_tor_arr{6}:=[0,0,0,0,0,0];

   PROC main()

       WHILETRUEDO

           FOR i FROM 1 TO 6 DO

               GetJointDataMechUnit:=ROB_1,iTorque:=axis_tor_arr{i};

               !将各轴扭矩存储于数组中

           ENDFOR

           waittime 0.1;

       ENDWHILE

ENDPROC


6. 为方便以曲线形式显示数据,这里使用HSLcomponent库中的user_curve控件(HSLcomponent获取方式见 上位机仪表盘实时显示机器人速度)

7. 在上位机插入user_curve控件,做相应设置。

8. 对“启动记录”按钮创建代码如下:


Timer timer;

//通过定时器定时获取当前各轴扭矩

bool t_record = false;

  privatevoid button2_Click_1(object sender, EventArgs e)

       {

    if (t_record == false)

           {

               userCurve1.SetLeftCurve("A", newfloat[] { }, Color.Tomato);

               //创建空曲线

               timer.Tick += (sender1, e1) =>

               {

              RapidData rd = controller.Rapid.GetRapidData("t2", "module1", "axis_tor_arr");

             //获取任务t2下的module1下的axis_tor_arr数组

                   if (rd.IsArray)

                   {

                       ArrayData ad = (ArrayData)rd.Value;

                     //转化数组

                       float t1 = Convert.ToSingle(ad[comboBox1.SelectedIndex].ToString());

                    //根据选择的comboBox1序号,显示对应轴扭矩

                       if (comboBox1.SelectedIndex > 2)

                       {

                           userCurve1.ValueMaxLeft = 10;

                           userCurve1.ValueMinLeft = -10;

                       }

                      //调整Chart的显示上下限

                       else

                       {

                           userCurve1.ValueMaxLeft = 300;

                           userCurve1.ValueMinLeft = -300;

                       }

                  userCurve1.AddCurveData("A", t1);

                  //将当前数据填入

                   }

               };

              timer.Start();

               t_record = true;

               button2.Text = "停止记录扭矩";

           }

           else

           {

               timer.Stop();

               t_record = false;

               button2.Text = "开始记录扭矩";

           }

   }

打赏
分享到:
0相关评论
阅读上文 >> 沃尔玛宣布与Flytrex达成合作推出无人机试点
阅读下文 >> 2020年工业机器人重要零部件——减速器市场现状分析

大家喜欢看的

  • 品牌
  • 资讯
  • 展会
  • 视频
  • 图片
  • 供应
  • 求购
  • 商城

版权与免责声明:

注明稿件来源的内容均为自动转载信息、企业用户或网友注册发布,本网转载出于传递更多信息的目的;如转载信息涉及版权问题,请及时联系网站客服,我们将第一时间对相关内容进行删除处理。同时对于资讯内容及用户评论等信息,本网并不表示赞同其观点或证实其内容的真实性;亦不承担任何法律责任。


本文地址:http://www.qqweld.com/news/show-3706.html

转载本站原创文章请注明来源:全球焊接网 或原稿来源。

推荐新闻

更多

微信“扫一扫”
即可分享此文章

友情链接

  • 旗下平台:货源网

  • 旗下平台:玩具网

2018-2023 QQWELD.COM All Rights Reserved 全球焊接网版权所有 丨 冀ICP备2024057666号
访问和使用全球焊接网,即表明您已完全接受和服从我们的用户协议。