modbus数据采集通过http/websocket对外提供访问

news/2024/12/5 8:31:39/

本软件是用go语言编写,可以运行在windows、linux等系统上,实现了通过modbus tcp采集modbus从站数据,对外提供http接口给用户查询实时数据和控制modbus地址写值,且还对外提供了websocket服务,用户可以直接通过websocket订阅实时变动更新的数据。程序退出会把最近一次数据进行本地存储,程序重启后会有最近一次数据。后期还会在此版本基础上扩展opcua、mqtt等其它PLC协议。

  1. config.ini

SerId=5301039008990002

Host=127.0.0.1

HttpPort=20080

WsPort=15554

[LogInfo]

LogMode=0

LogLevel=7

Addr=log

Host:modbus2http_webwocket.exe运行所在机器的IP;

HttpPort:通过http访问的端口

WsPort:通过websocket订阅数据的端口

  1. deviceConfig.json

{

    "DeviceList":[

           {

              "DeviceId":"a001",

              "Protocol":0,

               "ProtocolConnParamStr":"{\"MbScanInterval\":1000,\"MbSlaveIP\":\"192.168.12.120\",\"MbSlavePort\":5502}",

              "TagList":[

              {

                  "Tag":"Addr1",

                  "Addr":"00000",

                  "DataType":0

              },

              {

                  "Tag":"Addr2",

                  "Addr":"00001",

                  "DataType":0

              },

              {

                  "Tag":"Addr3",

                  "Addr":"00002",

                  "DataType":0

              },

              {

                  "Tag":"Addr4",

                  "Addr":"00003",

                  "DataType":0

              }

              ]

           }

    ],

    "HMIPageParam":""

}

MbScanInterval:扫描数据间隔,单位是毫秒

MbSlaveIP:modbus从站(modbus服务器)的IP地址

MbSlavePort: modbus从站(modbus服务器)的端口

Tag:给一个modbus地址取的别名

Addr:modbus地址,格式可以是0XXXX or 1XXXX or 3XXXX or 3XXXX.X or 4XXXX or 4XXXX.X,支持coils,discrete,inputRegisters,holdingRegisters,.X表示使用第几位

DataType:数据类型, 0:bool,1:byte,2:word,3:dword,4:string,

5:real,6:lreal

  1. testscript使用说明

用于测试通过http接口查看值、控制写值,通过websocket订阅实时数据,index.html里面有使用参考代码

下载链接: modbus数据采集转换为http/websocket协议-C++文档类资源-CSDN文库


http://www.ppmy.cn/news/344565.html

相关文章

CCS编译错误与解决办法 :fatal error: #error NO CHIP DEFINED

错误内型: "C:/CCStudio_v3.3/C5500/csl/include/csl_chiphal.h", line 201: fatal error: #error NO CHIP DEFINED 解决办法: Project --> Build Options --> Preprocessor --> Pre-define Symbols 中加入CHIP_5502 错误原因分析: 查看文件 C:/CCStud…

前端简易服务器之vscode篇(可供项目预览手机访问电脑网页等)

几种方案本质其实都是启动一个简易服务器然后手机访问来实现的,一般来说使用webpackia脚手架搭建的项目都会自动启动一个服务所以并不需要使用这些方案再重复启动了,直接在config配置下host即可 前端简易服务器之远程服务篇 前端简易服务器之杂项篇(ngin…

Oracle安装-Oracle12cR2+Centos7.5+ASM

目录 一、系统准备 二、系统设置 三、安装软件包 四、创建目录、组、用户 五、配置内核参数 六、配置ASM属性 七、创建分区 八、安装 九、启动关闭 一、系统准备 VMware Workstation12 Centos 7.5 Oracle 12.2.0.1 Grid 12.2.0.1(可选)也可…

cisco asa 5505 配置说明

ASA5505工作模式介绍: 注意:asa5505 在配置上分为 pre-8.3 和 post-8.3 两种版本类型,原因是从 8.3 版 开始,cisco 对 asa设备进行了大改,导致配置方式发生很大改变,分析学习官网和其他配置文章时&#xf…

【Oracle 19c】解决 Oracle EM(Enterprise Manager) Express 切换回旧版后无法访问的问题

文章目录 问题描述解决方案解决过程1、按 Oracle EM Express 提示下载 Adobe Flash Player PPAPI 版1、按 F12 查看 HTTP 请求头2、找到问题后使用其他浏览器尝试 问题描述 由于从 Oracle Database 19c 开始,Oracle EM(Enterprise Manager) Express(Ora…

如何在 FoxyProxy 中设置 YiLu Proxy

目录 YiLu Proxy配置 1.YiLu Proxy设置 2.本地端口转发 3.多端口转发 4. 动态IP端口转发 5.端口转发列表 FoxyProxy 设置 1. 打开 FoxyProxy 的选项 2.点击“添加新代理” 3.填写代理信息 4.单击 FoxyProxy 扩展图标并选择配置的代理。 5.检查代理IP FoxyProxy 是一…

Uncaught TypeError: Object(...) is not a function at resetStoreState (vuex.esm-browser.js?5502:1

目录 原因:Vue 2.x和Vuex 4.x版本不对应 同样的问题也会出现在vue-router等依赖包上 问题 控制台报错 vuex源码报错 google浏览器源代码 VSCode 解决 补充:运行Vue项目 原因:Vue 2.x和Vuex 4.x版本不对应 Vue 3 匹配 Vuex 4 &#xff…

Docker安装Oracle19c史上最全步骤(图文并茂)

Docker安装Oracle19c史上最全步骤 介绍前期准备Docker安装 Oracle 19c安装第一步:下载镜像第二步:创建挂载文件第三步:安装Oracle第四步:连接Oracle 介绍 Oracle Database 19c ,也就是12.2.0.3,最初在live…