C#ABB机器人PC SDK 通讯05
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相关推荐
- C#ABB机器人PC SDK通讯02
1.ABB机器人电机开关 将两个按键控件放在主窗口,text改为电机开启和电机关闭.双击电机开启按键进入程序编写. 程序如下 private void button2_Click(object sen ...
- ABB机器人二次开发(C#)- 二更
ABB机器人二次开发(C#)- 二更 3 编程学习篇 3.1 PC SDK学习 3.2 代码阅读和学习 3.3 代码编写 3.4 小结 3 编程学习篇 创作背景在上一篇文章中写过,此处不再赘述.作者之 ...
- abb机器人指令手册_爆!!ABB机器人支持OPC UA了
更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...
- abb机器人指令手册_ABB机器人新示教器Touch Jog
更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...
- abb外部轴零位校准_新品发布 | ABB机器人节拍最快的冲压自动化以及ABB紧凑型车身内喷解决方案...
ABB机器人节拍最快的冲压自动化 ABB 推出IRB 760PT码垛搬运机器人,全新冲压上下料型号,为汽车冲压自动化带来快速灵活的解决方案.IRB 760PT机器人是一款柔性的冲压上下料解决方案,专为 ...
- FactoryIO+ABB机器人+博图仿真实验程序
FactoryIO+ABB机器人+博图仿真实验程序 [程序原创]通过三个不同品牌的仿真平台相互通讯,实现一些简单的动作,内容简单,主要演示通讯,起到抛砖引玉的作用,比较适合有动手能力的入门初学者. 软 ...
- abb机器人指令手册_ABB机器人图形化编程wizard
更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...
- abb机器人指令手册_ABB机器人实战技巧超强合集
更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...
- 上位机引导机械手、ABB机器人C#二次开发、PC SDK 开发项目。应用机器人喷涂或机器人搬运
上位机引导机械手.ABB机器人C#二次开发.PC SDK 开发项目.应用机器人喷涂或机器人搬运. 提供运行环境:电脑端vs2019运行程序,ABB机器人端robotstudio6.08 提供源-程序: ...
最新文章
- 浅谈Generator和Promise原理及实现
- php未登录跳到登陆页面,vue实现未登录跳转到登录页面的方法
- 计算机基础知识教程职称怎么计算,2017年职称计算机考试基础知识教程详解(二十)...
- Java简单输入输出
- idea运行maven出现o.s.boot.SpringApplication : Application run failed
- 3.5框架不能创建就加这一段代码
- §4.1.2数学归纳法证明不等式第6题 (复旦大学2004年保送生考试数学试题)
- 跨语言调用模块.TXT
- ML — 浅谈聚类和分类的区别
- oracle imp命令路径,在oracle中关于imp命令的详细讲解
- 服务器Raid数据恢复,磁盘阵列数据恢复,raid 5数据恢复算法原理
- 人类存储技术发展二三事
- Valine添加自定义表情
- Deprecated注解
- 一览数据异步加载的解决方案
- RFID技术是怎么构成的,主要分为哪几部分?
- dsf5.0修改不了头像
- 用Python做游戏有多有趣——这还拿不下你?
- 自动控制原理实验一——离散控制系统建模和仿真
- Linux 软件包安装
热门文章
- 智慧门店对实体商家的价值始于连接和引流
- echarts散点图加图片
- 7805管脚图,应用电路
- git 码云 新建仓库
- module-info.class问题
- FANUC机械手与康耐视相机搭配使用走socket通讯使用手册
- ASN.1笔记——语法规则与类型概述
- /wp-cron.php_通过CRON / PHP快速检测被黑客入侵的文件:SuperScan
- CUPS 在和使用 HPLIP 驱动程序的打印机配合使用时报错 “Filter Failed“
- html一键打包注册表,分享5款简洁高效的注册表优化软件,打包拿走