使用

你可以使用UaExpert软件测试与RoboDK OPC UA服务器的连接。

我们可以在该网站下载免费的UaExpert软件:https://www.unified-automation.com/downloads/opc-ua-clients.html

OPC UA - 图片 8

UaExpert服务器

启用UaExpert,点击按钮"+",即可添加RoboDK插件OPC UA服务器。

OPC UA - 图片 9

在Add Server窗口,展开Custom Discovery,选择<Double Click to Add Server...> 选项,即可添加RoboDK OPC UA 服务器。

OPC UA - 图片 10

输入上一步配置的OPC UA 服务器URL:opc.tcp://127.0.0.1:48440。

OPC UA - 图片 11

以"None"安全性连接OPC UA服务器。

OPC UA - 图片 12

服务器就配置好了。

OPC UA - 图片 13

连接服务器

现在,你可以在UaExpert连接到RoboDK OPC UA服务器。

OPC UA - 图片 14

创建连接后,你可以看到节点和方法。

OPC UA - 图片 15

服务器节点

RoboDK OPC UA服务器内有一些节点,可传输工作站的一些信息。

RoboDK

RoboDK节点:提供RoboDK软件实际版本的节点。

OPC UA - 图片 16

本案例使用的版本:RoboDK 64 Bit v5.5.3.23031。

OPC UA - 图片 17

仿真速度

SimulationSpeed节点:显示实际仿真速度,并允许用户覆盖当前仿真速度。

OPC UA - 图片 18

节点值参考模拟速度的滑动条。

可以从该节点读取当前的模拟结果,并可以覆盖模拟速度。

OPC UA - 图片 19

站点

Station节点:用户获取RoboDK中当前站名称。

OPC UA - 图片 20

如下所示,Station节点在 RoboDK 中引用了你的工作站名称:New Station(1)。

OPC UA - 图片 21

工作站参数/值

站参数(StationParameter)和站值(StationValue)是一对设置节点,允许用户获取或设置站内的任何参数。RoboDK OPC UA 服务器将持续监控 "StationParameter "的实际值,并从 "Station Value "节点返回该 "StationParameter "的值。

Note:如果站参数不存在,则返回空字符串。

OPC UA - 图片 22

在RoboDK中右键单击工作站,点击:工作站参数。

OPC UA - 图片 23

在固定参数模块,我们可以看到工作站的默认参数和值。

OPC UA - 图片 24

工作站参数指的是"Parameter"字段,台站值指的是"Value"字段。

OPC UA - 图片 25

在工作站参数窗口,点击按钮:添加,我们就可以创建参数。

OPC UA - 图片 26

这样就添加了一个新的工作站参数。

OPC UA - 图片 27

输入参数名称和值,然后点击应用即可保存。

OPC UA - 图片 28

你还可以获得自己的站点的参数。

OPC UA - 图片 29

时间

time节点:可以获取RoboDK站当前的时间。

OPC UA - 图片 30

返回值是DataTime格式。

OPC UA - 图片 31

会自动更新数据。

OPC UA - 图片 32

方法

RoboDK OPC UA服务器还提供了一些方法,允许用户动态访问RoboDK工作站数据。

只需要右键点击你需要的方法,选择Call…,即可执行该方法。

OPC UA - 图片 33

getItem

getItem方法:getItem是一个​​通过设备名称获取对象指针(内存地址引用)的关键方法,主要用于跨系统交互时精确定位工作站内的设备。

OPC UA - 图片 34

对于InputArguments(输入参数),设备名称是必需的,你可以将设备名称想象为你的站名、机器人名称等。项目 ID 是输出参数,用于返回该设备的指针。

OPC UA - 图片 35

在本例中,我们可以看到,接收到的ABB机器人的项目Item Name:ABB_RB1。

OPC UA - 图片 36

如果项目名称无效或在站内不存在,则返回 0。

OPC UA - 图片 37

getJoints

getJonits是一种允许用户根据项目 ID 从站台获取机器人关节值的方法。

OPC UA - 图片 38

Item ID 是 Item 的指针值,可以通过 getItem() 方法获取。

OPC UA - 图片 39

我们将通过 "ABB_RB1 "项目名称获取项目 ID,并返回一个 UInt64 值。

OPC UA - 图片 40

在上一个方法中传递项目 ID 时,会返回关节值。

OPC UA - 图片 41

getJointsStr

getJointsStr 是一种允许用户根据字符串值获取关节值的方法。

OPC UA - 图片 42

我们可以在此方法中传递机器人名称(字符串)。

OPC UA - 图片 43

在示例工作站中,ABB_RB1 是我的机器人名称。

OPC UA - 图片 44

我们只需在机器人名称参数中输入 "ABB_RB1",然后调用该方法--以字符串格式返回关节值。

OPC UA - 图片 45

setJointsStr

setJointsStr 是一个允许用户根据字符串值设置机器人关节值的方法。

OPC UA - 图片 46

在机器人名称中,传递的是 ABB_RB1,我们只需在关节参数中传递一个包含关节值的字符串即可。

举例来说:-0.000000,0.000000,-0.000000,-0.000000,-0.0,-0.000000

OPC UA - 图片 47