1、加载程序:相当于把自己写的机器人代码加载到ABB机器人示教器中。加载需要机器人程序路径,上一篇所讲到的保存就是为加载准备,所以加载之前必须保存。

还是老样子,双击加载控件

        private void button19_Click(object sender, EventArgs e){Task tRob = controller.Rapid.GetTask(comboBoxtask.SelectedItem.ToString());if (tasks != null){string str = textBox5.Text;if (str == ""){MessageBox.Show("请选择路径");return;}try{using (Mastership.Request(controller.Rapid)){tRob.LoadModuleFromFile(str, RapidLoadMode.Replace);}MessageBox.Show("加载成功");}catch (Exception ex){MessageBox.Show(ex.Message);}}}

2、显示程序机器手臂所在程序步骤和指针所在程序的步骤。

进入实时函数Timer,在Timer中创建线程 ,加快运算时间

private void timer1_Tick(object sender, EventArgs e)
{//程序加载步骤Thread ProgressChange = new Thread(progresschange);ProgressChange.IsBackground = true;ProgressChange.Start();
}
        private void progresschange(){if (iscanchangetext == true && tasks[taskint].ProgramPointer != null && tasks[taskint].MotionPointer != null){try{ProgramPosition programPosition = tasks[taskint].ProgramPointer;string programstr = programPosition.Range.End.Row.ToString();ProgramPosition position = tasks[taskint].MotionPointer;string motionstr = position.Range.End.Row.ToString();alllines = textBox4.Text.Split('\n');postionindex = Convert.ToInt32(programstr);motionindex = Convert.ToInt32(motionstr);string changeprogram = postionindex.ToString() + "  ->" + alllines[postionindex - 1].Trim();//指针string changemotion = motionindex.ToString() + "  Z*" + alllines[motionindex].Trim();//机器人textBox10.Text = changeprogram;textBox8.Text = changemotion;string[] changePointx = alllines[postionindex - 1].Trim().Split(' ');changePoint = changePointx[1].Split(',');}catch (Exception ex){beginback = false;}}}

2、查看数据变量

双击数据控件

private void button11_Click(object sender, EventArgs e){if (comboBoxtask.SelectedItem.ToString() != null){RapidSymbolSearchProperties date = RapidSymbolSearchProperties.CreateDefault();date.Types = SymbolTypes.Data;date.SearchMethod = SymbolSearchMethod.Block;date.Recursive = true;date.InUse = false;date.LocalSymbols = false;RapidSymbol[] symbols = tasks[taskint].SearchRapidSymbol(date, comboBox2.SelectedItem.ToString(), string.Empty);this.listView2.Items.Clear();foreach (RapidSymbol symbol in symbols){try{RapidData rD = tasks[taskint].GetRapidData(symbol);textBox3.AppendText(rD.Name + " |");ListViewItem item2 = new ListViewItem(symbol.Name);item2.SubItems.Add(symbol.Type.ToString());item2.SubItems.Add(rD.RapidType.ToString());if (rD.Value != null){item2.SubItems.Add(rD.Value.ToString());}else{item2.SubItems.Add("0");}item2.Tag = symbol;this.listView2.Items.Add(item2);}catch (Exception ex){return;}}}}

3、写入数据

该代码只能写入一些类型变量,其他复杂变量写入并未开发,大家可以自己尝试着,思路是一样的

双击写入按键

        private void button22_Click(object sender, EventArgs e){string str = textBox7.Text;string strVariable = listView2.SelectedItems[0].ToString();WriteRapidDate(taskstring, modulestring, strVariable, str);}
 void WriteRapidDate(string strName, string strModule, string strVariable, string str){if (controller == null){return;}try{RapidData rD = controller.Rapid.GetRapidData(strModule, strVariable);IRapidData val = rD.Value;if (val is ABB.Robotics.Controllers.RapidDomain.Num){Num rapidNum = (Num)rD.Value;rapidNum.FillFromString2(str);using (Mastership.Request(controller.Rapid)){rD.Value = rapidNum;}}else if (val is ABB.Robotics.Controllers.RapidDomain.Bool){Bool rapidBool = (Bool)rD.Value;rapidBool.FillFromString2(str);using (Mastership.Request(controller.Rapid)){rD.Value = rapidBool;}}else if (val is ABB.Robotics.Controllers.RapidDomain.Pos){Pos rapidPos = (Pos)rD.Value;rapidPos.FillFromString2(str);using (Mastership.Request(controller.Rapid)){rD.Value = rapidPos;}}}catch (Exception ex){MessageBox.Show("异常错误:" + ex.Message);}}

好了,C#ABB机器人PC SDK通讯已经初步完成,但是PC SDK还有很多封装好的功能,本人曾经因为解决ABB机器人通讯问题花费大量的时间,写这个博客是为了让后面一些人在ABB通讯的时候花费更少的时间,把更多的时间用在项目开发上。博客可能存在问题,可以一起谈论

C#ABB机器人PC SDK 通讯05相关推荐

  1. C#ABB机器人PC SDK通讯02

    1.ABB机器人电机开关 将两个按键控件放在主窗口,text改为电机开启和电机关闭.双击电机开启按键进入程序编写. 程序如下 private void button2_Click(object sen ...

  2. ABB机器人二次开发(C#)- 二更

    ABB机器人二次开发(C#)- 二更 3 编程学习篇 3.1 PC SDK学习 3.2 代码阅读和学习 3.3 代码编写 3.4 小结 3 编程学习篇 创作背景在上一篇文章中写过,此处不再赘述.作者之 ...

  3. abb机器人指令手册_爆!!ABB机器人支持OPC UA了

    更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...

  4. abb机器人指令手册_ABB机器人新示教器Touch Jog

    更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...

  5. abb外部轴零位校准_新品发布 | ABB机器人节拍最快的冲压自动化以及ABB紧凑型车身内喷解决方案...

    ABB机器人节拍最快的冲压自动化 ABB 推出IRB 760PT码垛搬运机器人,全新冲压上下料型号,为汽车冲压自动化带来快速灵活的解决方案.IRB 760PT机器人是一款柔性的冲压上下料解决方案,专为 ...

  6. FactoryIO+ABB机器人+博图仿真实验程序

    FactoryIO+ABB机器人+博图仿真实验程序 [程序原创]通过三个不同品牌的仿真平台相互通讯,实现一些简单的动作,内容简单,主要演示通讯,起到抛砖引玉的作用,比较适合有动手能力的入门初学者. 软 ...

  7. abb机器人指令手册_ABB机器人图形化编程wizard

    更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...

  8. abb机器人指令手册_ABB机器人实战技巧超强合集

    更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...

  9. 上位机引导机械手、ABB机器人C#二次开发、PC SDK 开发项目。应用机器人喷涂或机器人搬运

    上位机引导机械手.ABB机器人C#二次开发.PC SDK 开发项目.应用机器人喷涂或机器人搬运. 提供运行环境:电脑端vs2019运行程序,ABB机器人端robotstudio6.08 提供源-程序: ...

最新文章

  1. 浅谈Generator和Promise原理及实现
  2. php未登录跳到登陆页面,vue实现未登录跳转到登录页面的方法
  3. 计算机基础知识教程职称怎么计算,2017年职称计算机考试基础知识教程详解(二十)...
  4. Java简单输入输出
  5. idea运行maven出现o.s.boot.SpringApplication : Application run failed
  6. 3.5框架不能创建就加这一段代码
  7. §4.1.2数学归纳法证明不等式第6题 (复旦大学2004年保送生考试数学试题)
  8. 跨语言调用模块.TXT
  9. ML — 浅谈聚类和分类的区别
  10. oracle imp命令路径,在oracle中关于imp命令的详细讲解
  11. 服务器Raid数据恢复,磁盘阵列数据恢复,raid 5数据恢复算法原理
  12. 人类存储技术发展二三事
  13. Valine添加自定义表情
  14. Deprecated注解
  15. 一览数据异步加载的解决方案
  16. RFID技术是怎么构成的,主要分为哪几部分?
  17. dsf5.0修改不了头像
  18. 用Python做游戏有多有趣——这还拿不下你?
  19. 自动控制原理实验一——离散控制系统建模和仿真
  20. Linux 软件包安装

热门文章

  1. 智慧门店对实体商家的价值始于连接和引流
  2. echarts散点图加图片
  3. 7805管脚图,应用电路
  4. git 码云 新建仓库
  5. module-info.class问题
  6. FANUC机械手与康耐视相机搭配使用走socket通讯使用手册
  7. ASN.1笔记——语法规则与类型概述
  8. /wp-cron.php_通过CRON / PHP快速检测被黑客入侵的文件:SuperScan
  9. CUPS 在和使用 HPLIP 驱动程序的打印机配合使用时报错 “Filter Failed“
  10. html一键打包注册表,分享5款简洁高效的注册表优化软件,打包拿走