Node-Red通過Profinet轉ModbusTCP采集西門子PLC數據配置案例

一、內容簡介

本篇內容主要介紹Node-Red通過node-red-contrib-modbus插件與ModbusTCP設備進行通訊,這里Profinet轉ModbusTCP網關作為從站設備,Node-Red作為主站分別從0地址開始讀取10個線圈狀態和10個保持寄存器,分別用Modbus-Read、Modbus-Getter、Modbus-Flex-Getter三個節點以不同的方式來實現。

二、設置Profinet轉ModbusTCP網關參數

首先打開網關配置軟件“Gateway Configuration Studio”新建項目選擇PN2MTS

設置網關在Profinet一側的設備名稱及IP地址(注意不要和Modbustcp一側沖突但可以是不同網段)

點擊ModbusTCP設置網關在Modbus一側的地址

完成后將配置下載進網關即可。

三、配置網關在PLC中的組態設置

新建項目,添加PLC。點擊選項-管理通用站描述文件(GSD)

選擇GSD所在文件夾位置(注意是文件夾位置而不是文件)

將模塊添加到組態,設置好網關在Profinet一側的設備名稱及IP地址(注意不要與ModbusTCP一側的地址沖突)

雙擊網關模塊進入設備視圖,添加網關輸入輸出對應的長度及IQ地址

到此網關在PLC側的配置完成下載進PLC。

四、安裝node-red-contrib-modbus插件

在Node-Red工作臺點擊右上角的菜單按鈕,選擇“節點管理”菜單項,再在彈出的對話框左邊選擇“控制板”標簽,然后在該頁面選擇上面的“安裝”標簽,在搜索框中輸入“modbus”,在搜索結果中找到“node-red-contrib-modbus”插件,并點擊插件右下角的“安裝”按鈕。

此時會彈出確認安裝的確認對話框,點擊“安裝”按鈕,稍等片刻即可安裝完成。

安裝完成之后,左側面板顯示已經安裝的節點。

五、設置Modbus-Read節點

1. 讀線圈

將Modbus-Read節點拖動到工作臺的默認流程,此處為“流程1”,雙擊節點,在彈出的對話框中找到FC下拉框,選擇“FC1:Read Coil Status”,在Address輸入框中輸入“0”,在Quantity輸入框中輸入“10”,在Poll Rate輸入框中輸入“1”,在隨后的下拉框中選擇單位“seconds(s)”,其它值保持默認,如圖所示。

接下來添加Modbus-client節點,點擊“Server”最右邊的筆形按鈕,彈出設置對話框,默認選擇“Settings”標簽,在“Type”下拉框中選擇“TCP”選項,在Host輸入框中輸入“網關ModbusTCP一側的IP地址”,Port設置為“502”,TCP Type選擇“DEFAULT”選項,其它保持默認值,如下圖所示,最后點擊右上角的“添加”按鈕確定。

添加完modbus-client節點之后回到Modbus-Read編輯界,點擊右上角的“完成”按鈕完成編輯。

添加一個debug節點到流程,將Modbus-Read的第一個輸出點與之連接。

點擊工作臺右上角的“部署”按鈕,右側邊欄切換到調試窗口,可以看到接收的數據,點擊debug節點后面的“尾巴”可以隱藏當前節點的調試信息,立即生效,不需要重新部署。

2.讀保持寄存器

從左側邊欄再拖動一個Modbus-Read節點到流程中,雙擊節點彈出設置對話框,在FC下拉框選擇“FC 3: Read Holding Registers”選項,在Address輸入框輸入“0”,在Quantity輸入框輸入“10”,Poll Rate設置為“1”,單位選擇“second(s)”,Server下拉框選擇已添加的“從站IP地址”選項,點擊“完成”按鈕確定。

從左側面板拖動一個debug節點到流程中,連接剛設置好的Modbus-Read節點,部署之后可以看到調試信息,改變西門子PLC中相應保持寄存器的值。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81729.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81729.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81729.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

React方向:react的基本語法-數據渲染

1、安裝包(js庫) yarn add babel-standalone react react-dom 示例圖.png 2、通過依賴包導入js庫文件 <script src"../node_modules/babel-standalone/babel.js"></script> <script src"../node_modules/react/umd/react.development.js"&g…

k8s部署grafana

部署成功截圖&#xff1a; 要在 Kubernetes (K8s) 集群中拉取 Grafana 鏡像并創建 Grafana 容器&#xff0c;您可以按照以下步驟使用命令行完成操作。下面是完整的命令步驟&#xff0c;包括如何創建 Deployment 和 Service&#xff0c;以及如何將 Grafana 容器暴露給外部。1. 創…

基于注意力機制與iRMB模塊的YOLOv11改進模型—高效輕量目標檢測新范式

隨著深度學習技術的發展,目標檢測在自動駕駛、智能監控、工業質檢等場景中得到了廣泛應用。針對當前主流目標檢測模型在邊緣設備部署中所面臨的計算資源受限和推理效率瓶頸問題,YOLO系列作為單階段目標檢測框架的代表,憑借其高精度與高速度的平衡優勢,在工業界具有極高的應…

uniapp運行到微信開發者工具報錯“更改appid失敗touristappidError:tourist appid”

原因分析 因為項目還沒配置自己的 小程序 AppID&#xff0c;導致微信開發者工具拒絕運行。 解決辦法&#xff1a;在 HBuilderX 中設置 AppID 打開你的項目 在左側找到并點擊 manifest.json 文件 切換到上方的 tab&#xff1a;「小程序配置」標簽頁 找到微信小程序區域&#…

使用Thrust庫實現異步操作與回調函數

文章目錄 使用Thrust庫實現異步操作與回調函數基本異步操作插入回調函數更復雜的回調示例注意事項 使用Thrust庫實現異步操作與回調函數 在Thrust庫中&#xff0c;你可以通過CUDA流(stream)來實現異步操作&#xff0c;并在適當的位置插入回調函數。以下是如何實現的詳細說明&a…

mysql-Java手寫分布式事物提交流程

準備 innodb存儲引擎開啟支持分布式事務 set global innodb_support_axon分布式的流程 詳細流程&#xff1a; XA START ‘a’; 作用&#xff1a;開始一個新的XA事務&#xff0c;并分配一個唯一的事務ID ‘a’。 說明&#xff1a;在這個命令之后&#xff0c;所有后續的SQL操…

算法練習:19.JZ29 順時針打印矩陣

錯誤原因 總體思路有&#xff0c;但不夠清晰&#xff0c;一直在邊調試邊完善。這方面就養成更好的構思習慣&#xff0c;以及漲漲經驗吧。 分析&#xff1a; 思路&#xff1a;找規律 兩個坑&#xff1a; 一次循環的后半段是倒著遍歷的是矩陣不是方陣&#xff0c;要考慮行列…

計算機組成與體系結構:緩存設計概述(Cache Design Overview)

目錄 Block Placement&#xff08;塊放置&#xff09; Block Identification&#xff08;塊識別&#xff09; Block Replacement&#xff08;塊替換&#xff09; Write Strategy&#xff08;寫策略&#xff09; 總結&#xff1a; 高速緩存設計包括四個基礎核心概念&#xf…

Tomcat多應用部署與靜態資源路徑問題全解指南

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家、CSDN平臺優質創作者&#xff0c;高級開發工程師&#xff0c;數學專業&#xff0c;10年以上C/C, C#, Java等多種編程語言開發經驗&#xff0c;擁有高級工程師證書&#xff1b;擅長C/C、C#等開發語言&#xff0c;熟悉Java常用開…

Python----目標檢測(labelimg和labelme的安裝與使用,Pycharm配置教程)

一、labelimg labelimg是一款開源的圖像標注工具&#xff0c;標簽可用于分類和目標檢測&#xff0c;它是用python寫的&#xff0c;并使用Qt作為其圖形界面&#xff0c;簡單好用&#xff08;雖然是英文版的&#xff09;。其注釋以 PASCAL VOC格式保存為XML文件&#xff0c;這是I…

Vue項目部署服務器

Vue項目部署服務器 目錄 Vue項目部署服務器環境配置nginx開放端口打包vue項目配置nginx 環境 vue 2.6.14 nginx 1.26.0配置nginx 準備一個服務器實例 安裝nginx所需依賴 yum -y install pcre* yum -y install openssl*下載wget yum install wget下載nginx到/usr/local cd…

spring框架中的本地緩存:spring cache基本使用

基本概念及原理 處理邏輯 Spring Cache 是 Spring 提供的一整套的緩存解決方案。 雖然它本身并沒有提供緩存的實現&#xff0c;但是它提供了一整套的接口和代碼規范、配置、注解等&#xff0c;這樣它就可以整合各種緩存方案了 處理邏輯&#xff1a;每次調用某方法&#xff…

AI大模型學習二十四、實踐QEMU-KVM 虛擬化:ubuntu server 25.04 下云鏡像創建Ubuntu 虛擬機

一、說明 雖然說大部分的場合&#xff0c;docker都能解決問題&#xff0c;但是有些大型的軟件安裝時如果修改配置會很麻煩&#xff0c;比方說前面遇到的code-server和dify 默認都是80和443端口要使用&#xff0c;安裝在一起就會端口沖突&#xff0c;通過該端口來解決問題&#…

安卓中0dp和match_parent區別

安卓中的 0dp 和 match_parent 的區別&#xff1f; 第一章 前言 有段時間&#xff0c;看到同事在編寫代碼的時候&#xff0c;寫到的是 0dp 有時候自己寫代碼的時候&#xff0c;編寫的是 match_parent 發現有時候效果很類似。 后來通過一個需求案例&#xff0c;才發現兩者有著…

二十、案例特訓專題3【系統設計篇】web架構設計

一、前言 二、內容提要 三、單機到應用與數據分離 四、集群與負載均衡 五、集群與有狀態無狀態服務 六、ORM 七、數據庫讀寫分離 八、數據庫緩存Memcache與Redis 九、Redis數據分片 哈希分片如果新增分片會很麻煩&#xff0c;需要把之前數據取出來再哈希除模 一致性哈希分片是…

基于Rust語言的Rocket框架和Sqlx庫開發WebAPI項目記錄(一)

前置說明 開發語言&#xff1a;Rust Web框架&#xff1a;Rocket 數據庫&#xff1a;PostgreSQL 開發步驟 新建項目&#xff1a; cargo new projectname 在Cargo.toml文件里配置如下依賴&#xff1a; [dependencies] rocket {version"0.5.0",features["json&qu…

中國城市間交通駕車距離矩陣(2024)

中國城市間交通駕車距離矩陣(2024) 1852 數據簡介 中國城市中心的交通駕車距離&#xff0c;該數據為通過審圖號GS(2024)0650的中國城市地圖得其城市中心距離&#xff0c;再通過高德地圖api計算得出其交通駕車最短距離矩陣&#xff0c;單位為KM&#xff0c;方便大家研究使用。…

MySQL替換瀚高數據庫報錯: TO_DAYS()不存在(APP)

文章目錄 環境癥狀問題原因解決方案報錯編碼 環境 系統平臺&#xff1a;中標麒麟&#xff08;海光&#xff09;7,中標麒麟&#xff08;飛騰&#xff09;7 版本&#xff1a;4.5 癥狀 MySQL替換為瀚高數據庫進行應用系統適配報錯&#xff1a;TO_DAYS&#xff08;&#xff09;不…

驅動-Linux定時-timer_list

了解內核定時相關基礎知識 文章目錄 簡要介紹timer_list 特點API 函數實驗測試程序 - timer_mod.c編譯文件-Makefile實驗驗證 注意事項總結 簡要介紹 硬件為內核提供了一個系統定時器來計算流逝的時間&#xff08;即基于未來時間點的計時方式&#xff0c; 以當前時刻為計時開始…

計算機網絡概要

?絡相關基礎知識 協議 兩設備之間使?光電信號傳輸信息數據 要想傳遞不同信息 那么?者?就需要約定好的數據格式 層 封裝 繼承 多態是計算機的性質 它們?持了軟硬件分層的實現 同層協議可以?接通信 同層協議?不直接通信 是各?調?下層提供的結構能?完成通信 分層…