利用

你可以使用免費軟UaExpert來測試RoboDK OPC UA伺服器的性能。請點擊以下連結下載安裝檔案。

https://www.unified-automation.com/downloads/opc-ua-clients.html.

OPC UA - 图片 8

新增伺服器

執行UaExpert軟件點擊按鈕去新增OPC UA伺服器

OPC UA - 图片 9

展開Custom Discovery菜單,雙擊<Double clicks to Add Server.>來新增伺服器

OPC UA - 图片 10

輸入你的OPC UA伺服器地址。

OPC UA - 图片 11

選擇None作為安全連接選項,點擊OK開始連接OPC UA伺服器。

OPC UA - 图片 12

你在UaExpert新增了OPC UA伺服器。

OPC UA - 图片 13

連接 OPC UA伺服器

現在你可以利用UaExpert嘗試連接OPC UA伺服器。

OPC UA - 图片 14

如果連接成功你會看到OPC UA伺服器內的所有Node Method

OPC UA - 图片 15

Nodes

RoboDK OPC UA伺服器提供不同的node讓其他裝置可以讀寫RoboDK工作站的情報。

RoboDK

你可以使用RoboDK node來取得RoboDK的軟件版本。

OPC UA - 图片 16

如圖所示,我們在這篇教學中使用了RoboDK 64 Bit v5.5.3.23031

OPC UA - 图片 17

SimulationSpeed

你可以使用Simulation Speed node來讀寫RoboDK工作站的仿真速度。

OPC UA - 图片 18

SimulationSpeed的現在值是和RoboDK工作站上的仿真速度設定是一樣,而且你可以直接更改SimulationSpeed node的數值來覆寫這個設定。

OPC UA - 图片 19

Station

你可以使用Station Node來讀取RoboDK工作站的名稱。

OPC UA - 图片 20

如圖所示我們在這篇教學中使用了RoboDK工作站名稱是”New Station(1)”

OPC UA - 图片 21

Station parameters/Station Value

你可以使用Station Parameter Station Value這對Node來讀寫RoboDK工作站的參數。RoboDK OPC UA伺服器會重覆監視Station Parameter,然後根據其現在值去讀取工作站參數的現在值,最後將其值傳送到Station Value Node

OPC UA - 图片 22

你可以右擊view >點擊Station parameters來確認自己工作站的參數

OPC UA - 图片 23

工作站所有默認的參數和其參數值都表示在Constant parameters的表格內。

OPC UA - 图片 24

Stationparameter是等於Parameter,而StationValue是相等於Value

OPC UA - 图片 25

你也可以點擊“Add“來新增屬於自己工作站的參數。

OPC UA - 图片 26

如圖所示,你的工作站新增了一個參數。

輸入參數的名稱和數值,然後點擊Apply保存。

OPC UA - 图片 27

然後你可以利用StationParameterStationValue來讀取這個參數。

OPC UA - 图片 28

Time

你可以使用time node來讀取RoboDK工作站的現在時間。

OPC UA - 图片 29

工作站的現在時間會以DataTime格式的儲存下來。

OPC UA - 图片 30

然後這個Node是不停更新的。

OPC UA - 图片 31

Methods

RoboDKOPC UA伺服器也提供了一系列的methods讓使用者讀寫RoboDK OPC UA伺服器的情報。我們可以右擊Method>點擊Call來執行Method

OPC UA - 图片 32

getItem

你可以使用getItem來讀取RoboDK工作站內物件的指標。

OPC UA - 图片 33

getItem需要Device Name作為InputArguments,你可以想像, Device Name是任何被配置在RoboDK工作站的其物件名稱,然後OutputArguments就會輸出指定物件的指標。

OPC UA - 图片 34

我們會在Item Name輸入“ABB_RB1”作為InputArguments,然後你會取得工作站中ABB 機械人的指標。

OPC UA - 图片 35

如果你輸入了無效Item NameMethod 的執行結果會是0

OPC UA - 图片 36

getJoints

getJonits會根據Item ID來讀取其工作站內機械人的關節情報(配列格式)。

OPC UA - 图片 37

Item ID是工作站物件的指標值你可以使用剛才所介紹的getItem()來讀取其現在值。

OPC UA - 图片 38

所以我們要先從getItem()中取得工作站內的“ABB_RB1”指標值。

OPC UA - 图片 39

然後你只需要將那個指標值剪報到getJoints methodItem ID上,然後執行method;你就會取得機械人關節的現在值。(配列格式)

OPC UA - 图片 40

getJointsStr

getJonits會根據Item ID來讀取其工作站內機械人的關節情報(文字格式)。

OPC UA - 图片 41

利用這個method時,我們不再需要工作站物件的指標,取而代之的是工作站其物件的名稱(文字格式)。

OPC UA - 图片 42

我們現在嘗試利用getJonits method來讀取ABB_RB1現時的關節值。

OPC UA - 图片 43

執行method前,我們只需然在Robot name參數中輸入“ABB_RB1”,其機械人現時的關節值就會自動返回。

OPC UA - 图片 44

setJointsStr

我們可以使用setJointsStr method來設定機械人的關節位置(文字列格式)

OPC UA - 图片 45

Robot name參數中輸入ABB_RB1然後在Joints參數中輸入你想設定的關節位置,然後執行。

例子:-0.000000,0.000000,-0.000000,-0.000000,-0.0,-0.000000

OPC UA - 图片 46