亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Node-Red在工業(yè)物聯(lián)網(wǎng)的應用研究

        2022-09-06 02:52:24盧小錦
        今日自動化 2022年8期
        關鍵詞:云端聯(lián)網(wǎng)服務器

        盧小錦

        (廣東開放大學廣東理工職業(yè)學院,廣東廣州 510091)

        隨著工業(yè)4.0的到來,物聯(lián)網(wǎng)和大數(shù)據(jù)的應用成為制造業(yè)升級改造的重要技術,如何高效解決異構工業(yè)通信網(wǎng)絡的互聯(lián)互通成為了重要的研究課題。Node-Red 正是解決這一難題的利器。Node-Red 基于Node.js 開發(fā),將應用程序封裝成節(jié)點模塊,每個節(jié)點都有特殊的功能,通過連線實現(xiàn)節(jié)點間數(shù)據(jù)流的交互,簡單易用,更重要的是Node-Red 有一個開放的生態(tài)環(huán)境,提供了豐富的API,支持MQTT,OPC UA,TCP 等眾多通信協(xié)議,支持在PC、嵌入式平臺以及PLC 等終端運行,支持阿里云、亞馬遜等云平臺,具有良好的擴充性和開放性。Node-Red 的這些特點使得它被用作物聯(lián)網(wǎng)、邊緣設備以及工業(yè)云數(shù)據(jù)流控制的開發(fā)工具,并已經(jīng)在工業(yè)物聯(lián)網(wǎng)、工業(yè)控制等場合得到廣泛的應用。包括西門子,研華等知名企業(yè)的產品均支持Node-Red。

        本文以工業(yè)物聯(lián)網(wǎng)應用為場景,通過設計開發(fā)Node-Red 的OPC UA、MQTT 以及MYSQL 應用實例,實現(xiàn)PLC 的數(shù)據(jù)采集和交互,以及PLC 數(shù)據(jù)向云端、數(shù)據(jù)庫的傳輸。

        1 系統(tǒng)框架設計

        在工業(yè)物聯(lián)網(wǎng)中,常常需要對控制器、傳感器等現(xiàn)場設備進行數(shù)據(jù)采集,并通過網(wǎng)絡進行數(shù)據(jù)傳輸,最終將數(shù)據(jù)傳輸?shù)皆破脚_或者數(shù)據(jù)庫以便進行數(shù)據(jù)的分析處理,實現(xiàn)對現(xiàn)場設備運行狀態(tài)的跟蹤、記錄和分析?;谶@個需求,本文對系統(tǒng)的組成、主要功能和實現(xiàn)方案進行了如下設計。

        (1)系統(tǒng)的組成。系統(tǒng)硬件主要包括SIMATIC S7-1500 PLC,SIMATIC IOT2040工業(yè)物聯(lián)網(wǎng)智能網(wǎng)關以及數(shù)據(jù)庫服務器,云端選用阿里云ECS 服務器。

        (2)系統(tǒng)的主要功能。SIMATIC IOT2040 作為系統(tǒng)數(shù)據(jù)交互的中心,可以從SIMATIC S7-1500 PLC采集數(shù)據(jù)以及向其發(fā)送數(shù)據(jù);可以將采集的數(shù)據(jù)發(fā)送到云端;可以將采集的數(shù)據(jù)存入數(shù)據(jù)庫。

        (3)系統(tǒng)的實現(xiàn)方案。使用Node-Red 工具開發(fā)相關應用。使用Node-Red 的OPC UA 模塊設計SIMATIC IOT2040 與SIMATIC S7-1500 PLC的通信程序;使用Node-Red 的MQTT 模塊設計SIMATIC IOT2040 與阿里云的通信程序;使用Node-Red 的MYSQL 模塊設計SIMATIC IOT2040與數(shù)據(jù)庫的通信程序。系統(tǒng)框架如圖1所示。

        圖1 系統(tǒng)框架圖

        2 IOT2040與S7-1500 PLC的通信

        2.1 IOT2040與S7-1500 PLC的通信方案設計

        2.1.1 設備介紹

        SIMATIC IOT2040 是一款支持多種高級編程語言的工業(yè)物聯(lián)網(wǎng)智能網(wǎng)關,廣泛應用于現(xiàn)場設備數(shù)據(jù)的采集和傳輸。SIMATIC IOT2040有豐富的接口,提供了2個USB 接口(USB2.0,USB-Client 各一個),2 個串行接口(RS232,RS485 各1 個),2 個工業(yè)以太網(wǎng)接口,常被用作云端,IT 層和生產層之間的網(wǎng)關,可實現(xiàn)數(shù)據(jù)雙向通信,在云平臺和現(xiàn)場設備間實現(xiàn)數(shù)據(jù)的傳輸。SIMATIC IOT2040 支持Node-Red,具有良好的開放性,可方便地實現(xiàn)各種工業(yè)應用定制方案。

        2.1.2 通信方案設計

        SIMATIC S7-1500 固件自V2.0 版本開始支持OPC UA 服務器功能,可以通過SIMATIC S7-1500 CPU 上集成的PROFINET 接口訪問OPC UA 服務器。而SIMATIC IOT2040可以通過Node-Red 的OPC UA模塊實現(xiàn)與OPU CA 通信。因此,本文采用OPC UA協(xié)議作為SIMATIC IOT2040 和SIMATIC S7-1500 的通信協(xié)議。

        OPU UA 是一項開源的工業(yè)通信標準,獨立于平臺,具有良好的可擴展性和可靠性,被廣泛應用在工業(yè)現(xiàn)場設備之間的通信,作為工業(yè)物聯(lián)網(wǎng)的解決方案。OPC UA 協(xié)議將通信對象分為客戶端和服務器端。本文中,SIMATIC S7-1500 PLC 作為服務器端,SIMATIC IOT2040作為客戶端。

        2.2 S7-1500 PLC OPC UA服務器功能激活

        SIMATIC S7-1500自帶OPC UA 服務器功能,在使用的時候需要進行相應的配置激活功能,主要配置步驟如下:①在TIA Portal 軟件創(chuàng)建SIMATIC S7-1500工程項目實例(固件版本需在V2.0及以上版本);②打開設備視圖,選擇相應的PLC 設備;③打開OPC UA“服務器”選項卡中的“常規(guī)”選項;④勾選“訪問服務器”中“激活 OPC UA 服務器”的復選框;⑤記錄“服務器地址”中的“地址”(該IP 地址在SIMATIC IOT2040 OPC UA 客戶端配置中需要用到);⑥勾選“標準服務器接口”中“啟動SIMATIC 服務器標準接口”的復選框,在“選項”中根據(jù)實際應用需要配置連接數(shù)和端口;⑦打開“控制參數(shù)”選項卡,勾選“常規(guī)”屬性中的“可從OPC UA 訪問DB”復選框。配置好后便可通過OPC UA 訪問PLC 變量。

        2.3 IOT2040 OPC UA客戶端功能配置

        SIMATIC IOT2040 OPC UA 客戶端功能配置主要包括:在IOT2040 安裝Yocto Linux 操作系統(tǒng);IOT2040 IP 地址設定;Node-Red 安裝與配置;OPC UA 節(jié)點安裝。

        2.3.1 Yocto Linux操作系統(tǒng)安裝

        在SIMATIC IOT2040安裝Yocto Linux 操作系統(tǒng)需要用到以下設備:裝有企業(yè)版WIN7系統(tǒng)的PC 以及Miro-SD 存儲卡。用到軟件工具有:Win32磁盤映像工具。安裝過程如下:①在西門子官網(wǎng)下載Yocto Linux 的鏡像文件“Example_Image_V3.1.1”;②將Micro SD-Card 插入PC,使用Win32磁盤映像工具打開鏡像文件,并寫入目標Micro SD-Card。完成燒寫工作后,將Micro SD-Card 裝入SIMATIC IOT2040插槽并通電啟動。

        2.3.2 連接和登錄SIMATIC IOT2040

        用以太網(wǎng)線纜將PC 的以太網(wǎng)端口與SIMATIC IOT2040的X1P1以太網(wǎng)端口連接,運行PuTTY 工具,在“Session”選項卡中選擇SSH 作為連接類型,IP地址設為192.168.200.1,端口設為22,點擊“OPEN”即可連接SIMATIC IOT2040并彈出登錄對話框,默認用戶為root,無密碼(如需設置可以在命令行鍵入“passwd”指令進行設置)。

        2.3.3 IP地址的設定

        SIMATIC IOT2040默認IP 地址為192.168.200.1,可根據(jù)實際需要進行設置。IP 地址設置的方法如下:①在PuTTY 工具命令行輸入“iot2000setup”啟動IOT2040 配置程序;②在“setup”菜單選擇“Networking”;③在“Networking”菜單選擇“Configure Interface”;④在“Configure Network Interface”菜單中的“eth0”(eth0對應X1P1端口)欄目鍵入新地址(如:192.168.200.20);⑤在PuTTY工具命令行輸入“reboot”命令重啟IOT2040完成設定。

        2.3.4 Node-Red 啟動配置及OPC UA模塊的安裝

        (1)Node-Red 的自動啟動配置。應用中,一般需要在SIMATIC IOT 2040啟動時自動啟動Node-Red。Node-Red 的自動啟動設置方法如下:①啟動IOT2040配置程序;②在“setup”菜單選擇“Software”;③選 擇“Software” 菜單中的“Manage Autostart Options”;④在“Advanced options”菜單中勾選“Auto Start Node-Red”的復選框;⑤在PuTTY 工具命令行輸入“reboot”命令重啟IOT2040完成配置。配置好后,Node-Red 將在IOT2040啟動的時候自動啟動。

        (2)OPC UA 模塊安裝.SIMATIC IOT 2040固件在V2.1.2 版本之后已經(jīng)預先安裝Node-Red,不過OPC UA 模塊需要另外安裝。具體步驟如下:①在PuTTY 工具命令行輸入“cd/usr/lib/node_modules”指令進入安裝目錄;②在命令行輸入“npm install Node-Red-contrib-opcua”指令安裝Node-Red OPUC UA 模塊。

        在PuTTY 工具命令行輸入“node/usr/lib/node_modules/Node-Red/red &”指令啟動Node-Red,隨后在瀏覽器地址欄輸入SIMATIC IOT2040 的ip 地址和端口(如:http://192.168.200.20:1880)登錄Node-Red 頁面,如果安裝成功,頁面左側欄目將出現(xiàn)OPCUA 節(jié)點。

        2.4 Node-Red OPC UA通信程序

        SIMATIC IOT2040 的OPC UA 通信通過Node-Red 節(jié)點實現(xiàn),通信程序的主要功能包括:①SIMATIC IOT2040可通過訂閱方式讀取SIMATIC S7-1500 PLC 的數(shù)據(jù);②通過寫方式向SIMATIC S7-1500 PLC 寫入數(shù)據(jù);③通過Node-Red 的inject節(jié)點注入流;④通過Node-Red dashborad 模塊的dropdown 節(jié)點設置傳輸給SIMATIC S7-1500 PLC 的測試數(shù)據(jù);⑤通過Node-Red dashborad 模塊的text 節(jié)點顯示采集回來的數(shù)據(jù)以及傳輸給SIMATIC S7-1500 PLC 的測試數(shù)據(jù)。

        2.4.1 SIMATIC S7-1500 PLC數(shù)據(jù)讀取

        SIMATIC S7-1500 PLC 數(shù)據(jù)讀取程序用到inject,OpcUa-Client,text 等3個節(jié)點,如圖2所示。

        圖2 PLC數(shù)據(jù)讀取程序

        inject 節(jié)點可實現(xiàn)手動或者周期性向流中注入消息,支持布爾、數(shù)值、字符串等數(shù)據(jù)類型。本文中,inject 節(jié)點屬性中的“payload”設置為字符串類型,每隔1s 周期性注入消息。

        OpcUa-Client 節(jié)點可通過inject 節(jié)點的TOPIC以及inject 節(jié)點控制的OpcUa-Item 節(jié)點注入消息。OpcUa-Client 節(jié)點的具體配置如下:①將OPC UA 服務器的地址及端口填入Endpoint,如:opc.tcp://192.168.200.21:4080;②將Action 設置為SUBSCRIBE;將Interval 設置為1s。設置好后,該節(jié)點將通過訂閱的模式讀取PLC 的數(shù)據(jù)。

        text 是dashboard 的輸出文本框節(jié)點,用于顯示接收到的數(shù)據(jù)。

        2.4.2 SIMATIC S7-1500 PLC數(shù)據(jù)寫入

        SIMATIC S7-1500 PLC 數(shù)據(jù)寫入程序用到dropdown,OpcUa-Item,OpcUa-Client,text 等幾個節(jié)點,如圖3所示。

        圖3 PLC數(shù)據(jù)寫入程序

        dropdown 節(jié)點是dashboard 的下拉菜單節(jié)點,其配置值將以msg.payload 的形式返回,用于設定向OPC UA 服務器發(fā)送的測試數(shù)據(jù)。

        OpcUa-Item 節(jié)點的Item 項需包含有效的OPC UA 地址,Type 設置為Int16,Value 留空,程序執(zhí)行時自動把dropdown 設置的值作為數(shù)據(jù)輸出。

        OpcUa-Client1節(jié)點通過寫模式將數(shù)據(jù)寫入OPC UA 服務器,OpcUa-Client2 節(jié)點通過訂閱模式讀取寫入OPC UA 服務器的值,并通過text 節(jié)點顯示。OpcUa-Client1和OpcUa-Client2節(jié)點的Endpoint 均設置為opc.tcp://192.168.200.21:4080;OpcUa-Client1的Action 設置為WRITE;OpcUa-Client1的Action 設置為SUBSCRIBE。

        3 向數(shù)據(jù)庫傳輸數(shù)據(jù)

        Node-Red 支持多種數(shù)據(jù)庫,本文使用的是MYSQL 數(shù)據(jù)庫,用到mysql 節(jié)點。在Node-Red 安裝mysql 節(jié)點的具體方法如下:①在Node-Red 頁面打開用戶設置菜單中的控制板;②點擊“安裝”選項卡,搜索“Node-Red-node-mysql”模塊并點擊安裝。

        實現(xiàn)向數(shù)據(jù)庫傳輸數(shù)據(jù)的程序用到function 節(jié)點(名字為insert)和mysql 節(jié)點,如圖4所示。

        圖4 數(shù)據(jù)庫數(shù)據(jù)傳輸程序

        function 節(jié)點可以編寫JavaScript 代碼,實現(xiàn)對接收到的信息的處理。function 節(jié)點輸入消息的正文保留在msg.payload 屬性中,可以通過以下代碼構造向數(shù)據(jù)庫寫入數(shù)據(jù)的SQL 語句:

        msg.topic="INSERT INTO iot2040Table(value)VALUES("+msg.payload+");";

        return msg;

        mysql 節(jié)點可以實現(xiàn)對數(shù)據(jù)庫的基本訪問。需要在節(jié)點的屬性選項卡配置數(shù)據(jù)庫的地址,端口,用戶名,密碼,數(shù)據(jù)庫名稱等信息。

        4 向云端傳輸數(shù)據(jù)

        4.1 在阿里云部署mqtt-broker

        MQTT 是一款應用廣泛的物聯(lián)網(wǎng)通信協(xié)議,在阿里云使用MQTT 服務有兩種方案。①通過租用方式,我國主流的公用云平臺均提供MQTT 租賃服務。②使用開源的MQTT 組建進行搭建。本方案使用第二種方法,利用輕量級的mosquitto 開源項目搭建MQTT 服務器,目前最新版為mosquitto-2.0.9。

        在阿里云部署mqtt-broker 的具體過程如下:

        ①使用PuTTy 工具登錄阿里云ECS 服務器,在PuTTy 工具命令行輸入“wget http://mosquitto.org/files/source/mosquitto-2.0.9.tar.gz”指令下載軟件包;②執(zhí)行“tar xzvf mosquitto-2.0.9.tar.gz”指令進行解壓;③依次執(zhí)行“cd mosquitto-2.0.9”、“make”、“make intall”指令完成編譯安裝;(4)執(zhí)行“mosquitto -v”指令啟動mosquitto。mosquitto 啟動成功后即可查看到服務的監(jiān)聽端口以及IP 地址。

        4.2 云端數(shù)據(jù)傳輸程序

        向云端傳輸數(shù)據(jù)的程序使用mqtt out 節(jié)點實現(xiàn)。打開mqtt out 節(jié)點屬性菜單中的Connection 標簽,將阿里云ECS 服務器的地址、端口號寫入配置項。將MQTT 服務質量QoS 值設為0。設置好后該節(jié)點就可以連接到MQTT代理并發(fā)布消息。云端數(shù)據(jù)傳輸程序,如圖5所示。

        圖5 云端數(shù)據(jù)傳輸程序

        5 結論

        本文以工業(yè)應用為場景,對Node-Red 的物聯(lián)網(wǎng)應用開發(fā)進行了研究,利用Node-Red 的OPC UA 節(jié)點、MQTT 節(jié)點以及MYSQL 節(jié)點編寫應用程序,成功實現(xiàn)了SIMATIC IOT2040 智能網(wǎng)關與SIMATIC S7-1500 PLC 的數(shù)據(jù)交互;成功把PLC 數(shù)據(jù)上傳至云端;成功將PLC 數(shù)據(jù)存入數(shù)據(jù)庫。基于Node-Red 的物聯(lián)網(wǎng)應用開發(fā)簡單高效且功能強大,加之其生態(tài)開放,具有很強的應用前景。理論上,Node-Red 可以運行在任何移植了Linux 的平臺,因此,如何在自己開發(fā)的嵌入式平臺實現(xiàn)Node-Red 的物聯(lián)網(wǎng)應用開發(fā),將是更值得研究的課題。

        猜你喜歡
        云端聯(lián)網(wǎng)服務器
        “身聯(lián)網(wǎng)”等五則
        云端之城
        通信控制服務器(CCS)維護終端的設計與實現(xiàn)
        搶占物聯(lián)網(wǎng)
        通信世界(2018年27期)2018-10-16 09:02:56
        美人如畫隔云端
        絲路藝術(2017年5期)2017-04-17 03:11:50
        行走在云端
        初中生(2017年3期)2017-02-21 09:17:43
        云端創(chuàng)意
        得形忘意的服務器標準
        知識產權(2016年8期)2016-12-01 07:01:13
        計算機網(wǎng)絡安全服務器入侵與防御
        可再生能源與物聯(lián)網(wǎng)
        風能(2015年10期)2015-02-27 10:15:34
        色婷婷一区二区三区四| 无码国产激情在线观看| 伊人久久大香线蕉在观看| 日韩精品av在线一区二区| 国内揄拍国内精品人妻久久| 91热久久免费频精品99| 国产亚洲av另类一区二区三区| 插b内射18免费视频| 99精品国产在热久久国产乱| 美腿丝袜av在线播放| 男女做羞羞事的视频网站| 熟女少妇内射日韩亚洲| 中文字幕高清在线一区二区三区| 日本一区二区不卡超清在线播放 | 高清少妇一区二区三区| 免费日本一区二区三区视频| 欧美金发尤物大战黑人| 中文字幕无码专区一VA亚洲V专 | 日韩欧美第一区二区三区| 中文字幕手机在线精品| 日韩夜夜高潮夜夜爽无码| 精品香蕉久久久午夜福利| 日日噜噜噜夜夜爽爽狠狠视频| 草逼视频免费观看网站| 国产男小鲜肉同志免费| 日韩成人免费一级毛片| 白白白色视频在线观看播放| 亚洲av无码国产精品久久| 99久久精品费精品国产一区二区| 亚洲精品成人网线在线播放va| 久久99精品综合国产女同| 国产精品中文久久久久久久 | 久久婷婷五月国产色综合| 狠狠人妻久久久久久综合| 日韩精品中文字幕人妻中出| 蜜桃尤物在线视频免费看| 熟女人妇交换俱乐部| 探花国产精品三级在线播放| 日韩麻豆视频在线观看| 青草内射中出高潮| 欧美人与禽交zozo|