OPCUA 行业配套标准:机器人

     

   OPC UA 定义了对象,对象类型,结构化组织能力和定义对象之间关系的能力,利用这些基础和衍生类型及对象,用户还可以搭建出更复杂的类型,关系和对象。

如果不同的厂商或者用户定义的信息模型不同,将会影响系统的互操作性,对于设备而言,如果采用统一标准的信息模型,将会提高设备的互操作。

        OPC 基金会在OPC UA标准的基础上,与众多的行业机构展开合作,针对行业的特点,制定各种配套标准,也称为伴随标准。这些配套标准促进了专业设备的互操作性。另一方面,使用同样的信息模型标准, 建模的工作将变的简单有效。

在本博文中,我们介绍其中一个配套标准,机器人。

OPC 40010-1: Robotics - Vertical Integration

         国外一些机械臂制造厂商已经为他们的机械臂构建了符合OPC-40010-1 的OPCUA 服务器 。在学习该标准的同时,我们也参考了UR 公司的OPC UA 服务器。

机器人OPC UA 模型

模型的根是MotionDeviceSystemType的对象,名称 Robot,在OPCUA for Device 模型的ComponentType之下,也可以直接在服务器的Objects目录下,它包括下面三个对象:

  • MotionDevices
  • Controllers
  • SafetyStates

运动设备(MotionDevices)

 

运动设备(MotionDeviceType)

    MotionDevics目录包含了MotionDeviceType对象,取名为RobotArm 这是连接到控制器的物理机械臂的模型。

轴(Axes)

该目录包含了机械臂6个轴的对象

  • 基轴Base
  • 肩部轴Shoulder
  • 肘部轴Elbow
  • 腕部轴Wrist1
  • 腕部轴Wrist2
  • 腕部轴Wrist3

每个轴包括的变量

  • MotionProfile: 1 (ROTARY,ROTATARY_ENDLESS,LINEAR)
  • AdditionalLoad 在该轴上的负载,例如焊接机的变压器
  • 参数ParameterSet:
    1. 实际位置ActualPosition: 对应的关节位置,单位:弧度。
    2. 实际速度ActualSpeed: 相应的关节的速度 单位rad/sec
    3. 实际加速度

动力总成(PowerTrains)

该文件夹包含6个电机类型(MotorType)对象:

  • 基电机Base
  • 肩部电机Shoulder
  • 肘部电机Elbow
  • 腕部电机Wrist1
  • 腕部电机Wrist2
  • 腕部电机Wrist3

电机类型(MotorType)

基础属性

  •  序列号
  • 制造商
  • 型号
  • 生产号

参数集(ParameterSet)

  • 刹车释放
  • 电机温度
  • 有效载荷率

齿轮类型(GearType)

  •  序列号
  • 制造商
  • 型号
  • 生产号
  • 齿轮比
  • 齿轮距(Pitch)

安全状态(SafetyStates)

控制器(ControllerType)

  •  序列号
  • 制造商
  • 型号
  • 生产号
  • 当前用户
  • 软件
  • 任务控制
  • 参数集
    • 总开机时间
    • 开机时间
    • UPS 状态
    • 总能耗
    • 机箱风扇速度
    • CPU风扇速度
    • 输入电压
    • 温度

辅助组件类型(AuxiliaryComponentType)

驱动类型(DriveType)

只有一个生产编号

任务控制TaskControls

  • 组件名称ComponentName
  • 参数集ParameterSet
    • 任务程序装入TaskProgramLoaded
    • 任务程序名称TaskProgramName
    •  执行模型ExecutionMode

任务程序名称: 在UR 中,是装入Polyscope 的程序名称,例如:"/programs/palletizer.urp"  

执行模型: 枚举类型,CYCLE, CONTINUOUS, STEP

注:UR 的程序

UR 的程序不是OPCUA Robot 模型的一部分。

用户可以通过两种办法给优傲机器人编程:

  • URP程序——用户使用示教器的图形界面编程可直接生成URP程序,即机器人可读代码。用户不需要具备任何编程水平即可生成或修改程序。URP程序还可以调用多个SCRIPT子程序,具有延展功能。
  • SCRIPT程序——SCRIPT是优傲的UR Script编程语言所生成的程序文件。就像其他编程语言那样,UR Script有变量、类型、控制流程指令、函数等功能。另外,UR Script包括内置的变量与函数可以控制机器人输出入信号以及运动。

        这两种编程方式各有所长:你可以无需编程水平在示教器上直接生成URP程序;也可以使用SCRIPT增加编程功能,另外,SCRIPT还可用于远程控制机器人驱动。

 

心得

        OPCUA For Robot 是机械臂的信息模型,包含了许多Robot 零部件的相关信息和一些状态,但是没有包括控制的方法。机械臂的控制程序是通过下载SCRIPT 程序实现的。OPCUA 信息模型只是提供了文件名称,甚至没有下载程序的接口。

    感觉这样的OPCUA 模型实用性不大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/180325.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯省赛真题41】Scratch电脑开关机 蓝桥杯少儿编程scratch图形化编程 蓝桥杯省赛真题讲解

目录 scratch电脑开关机 一、题目要求 编程实现 二、案例分析 1、角色分析

CMU/MIT/清华/Umass提出生成式机器人智能体RoboGen

文章目录 导读1. Introduction2. 论文地址3. 项目主页4. 开源地址5. RoboGen Pipeline6. Experimental Results作者介绍Reference 导读 CMU/MIT/清华/Umass提出的全球首个生成式机器人智能体RoboGen,可以无限生成数据,让机器人7*24小时永不停歇地训练。…

STM32笔记-AD模数转换

目录 一、ADC介绍 二、ADC主要特征 三、ADC框图 1. ​​​​ 外部触发转换 ​ 2. 转换模式 3. 输入通道 4. 逻辑框图 四、校准 五、数据对齐 六、AD转换步骤 七、AD_Init(单通道AD转换)初始化函数配置 一、ADC介绍 1. 12位ADC是一种逐次逼近型模拟数字转换器。它有多达…

基于SSM的购物商城网站的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

HttpClient基本使用

十二、HttpClient 12.1 介绍 HttpClient是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。 HttpClient作用: 发送HTTP请求接收响应数据 …

算法:Java构建二叉树并递归实现二叉树的前序、中序、后序遍历

先自定义一下二叉树的类: // Definition for a binary tree node. public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left…

Ubuntu20.04下安装Redis环境

apt安装Redis环境 更新apt-get安装镜像源 安装Redis sudo apt-get install -y redis-server设置密码 # 编辑Redis的配置文件redis.conf,如果不知道配置文件的位置可以执行whereis redis.conf查看 sudo vim /etc/redis/redis.conf取消文件中的requirepass注释&am…

Linux之管道

管道 管道什么是管道匿名管道readpipe 应用有名管道mkfifoopenunlinkcopy on write 管道 什么是管道 管道是Linux中最古老的进程间通信的方式 我们把一个进程连接到另一个进程的一个数据流称作 一个管道 注意:管道只能单向通信 你可以把他看做是一种特殊的文件&…

Prometheus+Node_exporter+Grafana实现监控主机

PrometheusNode_exporterGrafana实现监控主机 如果没有安装相关的配置,首先要进行安装配置,环境是基于Linux,虚拟机的相关环境配置在文末给出,现在先讲解PrometheusNode_exporterGrafana的安装和使用。 一.Prometheus安装 虽然…

详解RSA加密算法 | Java模拟实现RSA算法

目录 一.什么是RSA算法 二.RSA算法的算法原理 算法描述 三.RSA算法安全性 四.RSA算法的速度 五.用java实现RSA算法 一.什么是RSA算法 1976年,Diffie和Hellman在文章“密码学新方向(New Direction in Cryptography)”中首次提出了公开…

WSL安装Ubuntu

先安装wsl2 安装Ubuntu 打开windows商店,搜索对应版本的Ubuntu,点击获取进度跑完后,点击打开,就可以完成安装 删除Ubuntu版本 wsl --unregister Ubuntu-18.04安装位置迁移 正常情况下Ubuntu是被安装在C盘,我们需要…

【python基础】python切片—如何理解[-1:],[:-1],[::-1]的用法

文章目录 前言一、基本语法二、切片1.a[i:j]2.a[i:j:k] 总结:[-1] [:-1] [::-1] [n::-1] 前言 在python中,序列是python最基本的数据结构,包括有string,list,tuple等数据类型,切片对序列型对象的一种索引方…

Plist编辑软件 PlistEdit Pro mac中文版功能介绍

PlistEdit Pro mac是一款功能强大的Plist文件编辑软件。Plist文件是苹果公司开发的一种XML文件格式,用于存储应用程序的配置信息和数据。PlistEdit Pro可以帮助用户轻松地编辑和管理Plist文件。 PlistEdit Pro具有直观的用户界面和丰富的功能。用户可以使用该软件打…

C++ 多态 纯干货讲解 复制可调试(1)

💯 博客内容:多态 😀 作  者:陈大大陈 🚀 个人简介:一个正在努力学技术的准C后端工程师,专注基础和实战分享 ,欢迎私信! 💖 欢迎大家:这里是CSD…

Leetcode—1588.所有奇数长度子数组的和【简单】

2023每日刷题&#xff08;十九&#xff09; Leetcode—1588.所有奇数长度子数组的和 直接法实现代码 int sumOddLengthSubarrays(int* arr, int arrSize){int i 1;int sum 0;int left 0, right;int k;int j 0;while(i < arrSize) {for(left 0; left < arrSize; lef…

[每周一更]-(第70期):常用的GIT操作命令

1、增删文件 # 添加当前目录的所有文件到暂存区 $ git add .# 添加指定文件到暂存区 $ git add <file1> <file2> ...# 添加指定目录到暂存区&#xff0c;包括其子目录 $ git add <dir># 删除工作区文件&#xff0c;并且将这次删除放入暂存区 $ git rm [file…

[计算机网络]认识“协议”

认识“协议” 文章目录 认识“协议”序列化和反序列化网络计算器引入Sock类设计协议编写服务端类启动服务端编写客户端类启动客户端程序测试 序列化和反序列化 在网络体系结构中&#xff0c;应用层的应用程序会产生数据&#xff0c;这个数据往往不是简单的一段字符串数据&…

Android Studio布局

线性布局 水平或竖直排列子元素的布局容器 相对布局 可针对容器内每个子元素设置相对位置&#xff08;相对于父容器或同级子元素的位置&#xff09; 网格布局 找了下面这篇文章连接可以参考&#xff08;不再赘述&#xff09; GridLayout(网格布局) | 菜鸟教程 (runoob.com) …

用WebStorm运行VUE项目

提示&#xff1a;原来用VS Code开Vue&#xff0c;可是VS Code用Ctrl打不开国际化&#xff0c;下载推荐插件也不好使 文章目录 下载WebStorm运行WebStorm实用插件 下载WebStorm 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; https://www.jetbrains.com/webs…

Hybrid App(原生+H5)开发

介绍 市面上主流的hybrid app框架主要有 React Native&#xff1a;由FaceBook开发&#xff0c;使用JavaScript和React来构建原生应用程序Flutter&#xff1a;由Google开发&#xff0c;使用Dart语言。Flutter使用自己的渲染引擎Ionic&#xff1a;基于 Web 技术&#xff08;HTM…