热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

abb机器人离线编程软件叫做_ABB机器人高级编程PCSDK介绍以及环境搭建

现在好像没办法开两个专栏,我只能发在这个专栏里面了,感觉不伦不类,目前只能这样了。在所谓的四大家族里面,我感觉ABB机器人是
b72ed928697982453f9caac3061791ec.png

现在好像没办法开两个专栏,我只能发在这个专栏里面了,感觉不伦不类,目前只能这样了。

在所谓的四大家族里面,我感觉ABB机器人是最开放的无论是软件层面还是应用接口,今天我就向大家介绍一下我感觉ABB机器人比较厉害的一个功能PCSDK。

可能我的个人感觉有误差,但是依然感觉PCSDK很强大的功能,我曾在以前项目中无数次推荐这个功能,可以让我们的产品开发周期缩短,功能丰富方便产品迭代。可是这功能依然没有收到重视,甚至都不愿使用。

乘着这个机会,我可大家一起学习一下ABB的PCSDK和大家共同进步。

首先是PCSDK的功能大致介绍也是我这一次文章的主旨。

PCSDK简介

PCSDK可以基于IRC5控制器客户用来开发客户的一些定制化的PC的应用。当然也可以和RotbotStudio SDK一起使用配合IRC5控制器开发一些应用,把你的功能直接集成RobotStudio上,依托于RobotStudio强大的功能来实现快速开发和更友好的人际交界面。

PCSDK可以连接一个或者多个IRC5控制器,当然包括仿真的控制器,这个对前期开发有很大的帮助,开发者无需在吵闹的设备旁边仍受这噪音进行开发。

PCSDK 依托于选项PC Interface。

下面的说辞可能需要一定的软件基础或者对软件编程有一点了解的人进行观看,我会尽量说的简单易懂。

PCSDK 依托于微软的系统,这个可能和工业产品有关。该功能依托于微软的.NET Abbsemblies. 我们的好多电脑短的应用都是基于Microsoft的.net开发的。

下面一个是系统需求:64位的Win7 或者Win10.

开发软件 :Microsoft的VisualStudio 2015以上开发,现在最新的是VisualStudio2019,我用了一下挺好用的,我后期可能采用2019 和大家一起学习开发。

ABB最新的PCSDK版本是6.08.X

我先大体说一下,他的主要功能,PCSDK能替代RobotSdudio的大部分功能。

  1. 比如读取Robot的数据变量
  2. 修改数据变量
  3. 读取机器人状态信息,包括位置速度Current Tool,Wobj
  4. 配置机器人参数
  5. 读取日志等等这些功能。
  6. 唯一的缺点,速度不是实时,会有一定的延迟,但是对于工业应足够了,大部分用户只会在程序开始的时候进行数据修改和配置,启动后就很少频繁修机器人数据了。

其实我们的RobotSdudio好多可能就是基于PCSDK实现的,所以我们完全可以不用安装直接找到PCSDK的安装位置:

我的电脑是在下面的位置:

01d20dbf45a103528f3cb94784e4cb01.png

或者直接在电脑里面搜索:ABB.Robotics.Controllers.PC.dll也会找到他。如果找不到我会在留言区放出官方的下载地址。

下面是环境的搭建

首先在VisualStudio中新建一个项目或者控制台

1.语言选择C#

efaba099f4d0be103cebe7868cbf0329.png

2.平台选择:Windows

c8fe67b2311deb5a2109ce746624f8d8.png

3.项目类型选用控制台:

265775581b747e9eca3231deeef24a2c.png

4.然后是二选一:选择.NET FrameWork 不要选择第一PCSDK目前不支持.NET Core虽然是趋势,但是ABB机器人目前还不支持,以后会不会支持就不知道了。我其实希望支持.NET Core 这样就可以跨平台,你甚至可以用微软的Xbox来编写ABB机器人程序,想想用Xbox的定制遥感控制机器人是不是很Cool…

eea718a91d680dd16d9b751c5dfd4924.png

5.然后我们就会看到下面的一个页面:(中间省略了项目命名什么的,大家可以自己操作)

62daafac2e075a29d2a84d7a1ac8e7fb.png

6.下面右击应用点击添加引用:

ABB.Robotics.Controllers.PC.dll

RobotStudio.Services.RobApi.Desktop.dll

RobotStudio.Services.RobApi.dll

选择浏览找到你的那个的路径,建议你放在你自己的项目的目录下面

52b3cf9c01896ef5b85ad9b1aeb4cca6.png

下面你需要在RobotStudio新建一个带PCSDK的虚拟仿真站了,这个我就不用做截图教程了,如果这个都不知道,我上面的一通口水说辞也是白瞎了:P

最后一步:

下面是代码部分,有详细的注释

using ABB.Robotics.Controllers;using ABB.Robotics.Controllers.Discovery;
using System;namespace _000.PCSDKEnvironment
{class Program{static void Main(string[] args){//新建用于扫描网段内机器人的 Scanner变量NetworkScanner scanner = new NetworkScanner();//进行扫描操作 并获得机器人的列表ControllerInfo[] controllers = scanner.GetControllers(NetworkScannerSearchCriterias.Virtual);//判断扫描的List的长度,从而确认扫描到的机器人数量if (controllers.Length > 0){Console.WriteLine($"已经扫描到机器人数量:{ controllers.Length}");foreach (var control in controllers){//显示扫描到的机器人系统名称Console.WriteLine($"机器人系统名称:{control.SystemName}");Console.WriteLine($"机器人系统版本:{control.Version}");Console.WriteLine($"机器人IP地址 :{control.IPAddress}");Console.WriteLine($"是否是仿真机器人 :{control.IsVirtual}");}}Console.ReadLine();}}
}

下面是代码测试的结果:

598c6bcadf8c457c2722fe3b5b631a04.png

下面是代码和SDK安装包的分享地址:

链接: https://pan.baidu.com/s/1q_wOX9QiVk43VGpmYw43GQ

提取码: kg7p

希望能帮到大家。我去外面谁家做饭真香,我饿了。。。。。

花心灰太狼

-2019.4.14



推荐阅读
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 多线程基础概览
    本文探讨了多线程的起源及其在现代编程中的重要性。线程的引入是为了增强进程的稳定性,确保一个进程的崩溃不会影响其他进程。而进程的存在则是为了保障操作系统的稳定运行,防止单一应用程序的错误导致整个系统的崩溃。线程作为进程的逻辑单元,多个线程共享同一CPU,需要合理调度以避免资源竞争。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 检查在所有可能的“?”替换中,给定的二进制字符串中是否出现子字符串“10”带 1 或 0 ... [详细]
  • 本题探讨如何编写程序来计算一个数值的整数次方,涉及多种情况的处理。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 本文详细解析了Java类加载系统的父子委托机制。在Java程序中,.java源代码文件编译后会生成对应的.class字节码文件,这些字节码文件需要通过类加载器(ClassLoader)进行加载。ClassLoader采用双亲委派模型,确保类的加载过程既高效又安全,避免了类的重复加载和潜在的安全风险。该机制在Java虚拟机中扮演着至关重要的角色,确保了类加载的一致性和可靠性。 ... [详细]
  • 在C#编程中,设计流畅的用户界面是一项重要的任务。本文分享了实现Fluent界面设计的技巧与方法,特别是通过编写领域特定语言(DSL)来简化字符串操作。我们探讨了如何在不使用`+`符号的情况下,通过方法链式调用来组合字符串,从而提高代码的可读性和维护性。文章还介绍了如何利用静态方法和扩展方法来实现这一目标,并提供了一些实用的示例代码。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
author-avatar
手机用户2502939421
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有