一、內(nèi)容簡(jiǎn)介
本篇內(nèi)容主要介紹Node-Red如何通過(guò)插件node-red-contrib-opcua來(lái)從OPC UA服務(wù)器讀寫(xiě)數(shù)據(jù),仍然用KEPServer來(lái)模擬OPC UA服務(wù)器,UaExpert用來(lái)測(cè)試連接和獲取變量NodeId。
-
二、環(huán)境搭建
KEPServer的安裝參考文章Node-Red如何與OPC DA服務(wù)器通訊。
安裝UaExpert沒(méi)有太多要注意的地方,依次下一步就行了
接下來(lái)安裝插件node-red-contrib-opcua,點(diǎn)擊Node-Red工作區(qū)右上角的主菜單->節(jié)點(diǎn)管理菜單項(xiàng),在打開(kāi)的窗口中定位到“控制板”標(biāo)簽,再點(diǎn)擊“安裝”選項(xiàng)卡,在搜索框中輸入“opcua”搜索插件。
再點(diǎn)擊插件node-red-contrib-opcua右下角的“安裝”按鈕安裝插件,如果插件已安裝,則該按鈕不可用,可以跳過(guò)以上安裝步驟,安裝完成之后工作區(qū)左側(cè)面板顯示如下:
-
三、連接OPC UA服務(wù)器
1.Node-Red匿名登陸
打開(kāi)KEPServerEX 6 Configuration,如下圖
在左側(cè)樹(shù)型列表中的“項(xiàng)目”上右擊鼠標(biāo),再點(diǎn)擊彈出的“屬性”菜單,打開(kāi)屬性編輯器
在左側(cè)列表中選擇“OPC UA”選項(xiàng),在右側(cè)表格中將“啟用”設(shè)置為“是”,將“允許匿名登錄”也設(shè)置為“是”,其余保持不變,如下所示
打開(kāi)KEPServerEX 6 Administration,在任務(wù)欄托盤(pán)上會(huì)顯示KEPServerEX的圖標(biāo),右擊托盤(pán)上的圖標(biāo),選擇“OPC UA 配置”選項(xiàng)打開(kāi)OPC UA配置管理器,選擇“服務(wù)器端點(diǎn)”選項(xiàng)卡,如圖
雙擊第一條,打開(kāi)編輯頁(yè)面
安全策略只勾選“無(wú)”,其它都不選,復(fù)制端點(diǎn)“opc.tcp://127.0.0.1:49320”,后面要用到,注意,如果“服務(wù)器端點(diǎn)”選項(xiàng)卡中沒(méi)有端點(diǎn),則需要點(diǎn)擊“添加”按鈕添加端點(diǎn)。
從Node-Red左側(cè)面板中將節(jié)點(diǎn)OpcUa-Client拖放到工作區(qū),雙擊節(jié)點(diǎn)打開(kāi)編輯頁(yè)面
在Endpoint下拉列表中選擇“添加新的 OpcUa-Endpoint 節(jié)點(diǎn)”選項(xiàng),再點(diǎn)擊右側(cè)“筆型”按鈕,打開(kāi)Endpoint節(jié)點(diǎn)配置頁(yè)面,在Endpoint 輸入框中輸入上面復(fù)制的端點(diǎn)“opc.tcp://127.0.0.1:49320”,勾選“Anonymous”,點(diǎn)擊“添加”按鈕完成設(shè)置,如圖
回到OpcUa-Client配置頁(yè)面,點(diǎn)擊“完成”按鈕完成設(shè)置,并部署流程,可以看到節(jié)點(diǎn)已經(jīng)成功連接到了OpcUa服務(wù)器。
2.Node-Red賬號(hào)登陸
打開(kāi)KEPServerEX 6 Administration,右擊系統(tǒng)托盤(pán)上的圖標(biāo),選擇“設(shè)置”選項(xiàng)打開(kāi)設(shè)置對(duì)話框,選擇“用戶管理器”選項(xiàng)卡,如圖
選中樹(shù)形列表中的“Administrators”,點(diǎn)擊“新建用戶”按鈕,也就是第二個(gè)按鈕,打開(kāi)用戶屬性對(duì)話框
輸入用戶名“test”,密碼“1234567890abcd”,點(diǎn)擊“確定”按鈕完成設(shè)置。
打開(kāi)KEPServerEX 6 Configuration,在左側(cè)樹(shù)型列表中的“項(xiàng)目”上右擊鼠標(biāo),再點(diǎn)擊彈出的“屬性”菜單,打開(kāi)屬性編輯器,在左側(cè)列表中選擇“OPC UA”選項(xiàng),在右側(cè)表格中將“允許匿名登錄”也設(shè)置為“否”,點(diǎn)擊“確定”按鈕完成修改,如下所示
右擊KEPServer系統(tǒng)托盤(pán)圖標(biāo),選擇“重新初始化”菜單,重新初始化服務(wù)使設(shè)置生效。
回到Node-Red,雙擊之前添加的OpcUa-Client節(jié)點(diǎn),打開(kāi)編輯頁(yè)面,再點(diǎn)擊Endpoint 后面的“筆型”按鈕,打開(kāi)Endpoint節(jié)點(diǎn)編輯頁(yè)面,勾選“use credentials”復(fù)選框,在顯示出來(lái)的“User”和“Password”輸入框中輸入上面設(shè)置的用戶名和密碼,點(diǎn)擊“更新”按鈕更新設(shè)置,并部署流程。
OpcUa-Client節(jié)點(diǎn)成功連接到OpcUa服務(wù)器。
3.UaExpert賬號(hào)登陸
點(diǎn)擊工具欄的“加號(hào)”按鈕,打開(kāi)Add Server窗口,選擇Discovery選項(xiàng)卡
在樹(shù)形列表中雙擊Custom Discovery下的“加號(hào)”按鈕,打開(kāi)URL輸入對(duì)話框,輸入上面復(fù)制的服務(wù)器端點(diǎn)“opc.tcp://127.0.0.1:49320”,點(diǎn)擊“OK”按鈕確定。
可以看到在Custom Discovery下多了一個(gè)服務(wù)器,先選中服務(wù)器名“KEPServerEX/UA@WKS042 ”下的“None”條目,再在下面的Authentication Settings組合框中選擇第二項(xiàng),輸入用戶名“test”和密碼“01234567890abcd”,并勾選“Store”,點(diǎn)擊“OK”按鈕確定。
服務(wù)器連接成功。
在左側(cè)Address Space面板中找到并選中Objects->數(shù)據(jù)類(lèi)型示例->16 位設(shè)備->K 寄存器->DWord1變量,可以在右側(cè)Attributes選項(xiàng)卡中看到其詳細(xì)的屬性,把該變量拖入中間的Data Access View選項(xiàng)卡頁(yè)面,以監(jiān)視其值的變化,在Attributes選項(xiàng)卡中找到該變量的Value屬性,將其修改為888,則可以在Data Access View選項(xiàng)卡頁(yè)面同步看到修改后的Value值
在Attributes選項(xiàng)卡中復(fù)制該變量的NodeId“ns=2;s=數(shù)據(jù)類(lèi)型示例.16 位設(shè)備.K 寄存器.DWord1”備用。
-
四、從OPC UA服務(wù)器讀數(shù)據(jù)
從Node-Red左側(cè)邊欄拖動(dòng)一個(gè)inject節(jié)點(diǎn)、一個(gè)OpcUa-Item節(jié)點(diǎn)和一個(gè)debug節(jié)點(diǎn)到工作區(qū),依次連接之后使之與OpcUa-Client節(jié)點(diǎn)連接,如圖
雙擊OpcUa-Client節(jié)點(diǎn),打開(kāi)編輯頁(yè)面,在Action下拉框中選擇“READ”,其它保持不變,點(diǎn)擊“完成”按鈕確認(rèn)修改。
雙擊OpcUa-Item節(jié)點(diǎn),打開(kāi)屬性編輯頁(yè)面,在Item輸入框輸入上面復(fù)制的變量NodeId,Type選擇“UInt32”,點(diǎn)擊“完成”按鈕確定,并部署流程。
點(diǎn)擊inject節(jié)點(diǎn),可以在調(diào)試窗口看到讀到的數(shù)據(jù)
-
五、向OPC UA服務(wù)器寫(xiě)數(shù)據(jù)
復(fù)制流程,如下所示
雙擊OpcUa-Client節(jié)點(diǎn),打開(kāi)編輯頁(yè)面,在Action下拉框中選擇“WRITE”,其它保持不變,點(diǎn)擊“完成”按鈕確認(rèn)修改。
雙擊inject節(jié)點(diǎn),打開(kāi)屬性編輯頁(yè)面,將msg.payload的值設(shè)置為數(shù)字“666”,點(diǎn)擊“完成”按鈕確定,并部署流程。
點(diǎn)擊inject節(jié)點(diǎn)觸發(fā)流,可以在調(diào)試窗口看到寫(xiě)數(shù)據(jù)成功的信息
在UaExpert的Data Access View選項(xiàng)卡頁(yè)也可以看到修改后的Value值,寫(xiě)入數(shù)據(jù)成功。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-840953.html
如果您想獲取文章相關(guān)的代碼、工具等資料,關(guān)注公眾號(hào)"NodeRed物聯(lián)網(wǎng)",回復(fù)“nr”即可。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-840953.html
到了這里,關(guān)于Node-Red如何與OPC UA服務(wù)器通訊的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!