通讯网关软件034——利用CommGate X2ODBC实现Modbus RTU数据转储ODBC

news2024/11/29 1:41:52

本文介绍利用CommGate X2ODBC实现从Modbus RTU设备读取数据并转储至ODBC数据源。CommGate X2ODBC是宁波科安网信开发的网关软件,软件可以登录到网信智汇(http://wangxinzhihui.com)下载。

【案例】如下图所示,实现从Modbus RTU设备读取数据并转储至ODBC数据源。

【解决方案】设置网关机,与ODBC采用以太网通讯,与SCADA/PLC/设备 Modbus RTU Slave采用串口通讯,安装CommGate X2ODBC软件。

1)ODBC数据表结构要求,如下:

a) 至少要求具备Id、name、value三个字段。

b) name:标签名称,字符类型

c) value:数值,可以是字符类型或浮点类型

d) state:1表示好值 0表示坏值

e) time:不是必须,可以是datetime或bigint

f) 以上字段名称如不是Id、name、value、state、time,需要在以下配置文件进行字段名称的配置

2)ODBC通讯调试:在网关机上运行ODBC调试工具,与ODBC服务器通讯调试。通讯正常后,记下通讯参数。

3)Modbus RTU通讯调试:在网关机上运行modscan,与SCADA/PLC/设备进行modbus RTU通讯调试。通讯正常后,记下通讯参数。

4)配置X2ODBC 出口端参数:在X2ODBC安装目录下编辑Ini\X2ODBC.ini,修改出口端参数。

[OUT]

;通讯类型:ODBC,不做修改
Type = ODBC

;ODBC驱动名称
DriverName=

;数据库服务器 IP
ServerIP = 127.0.0.1

; 用户名称
UserName=sa

;用户密码
Pwd=123456

;数据库名称
DB=test

;Port 0表示采用默认端口
port = 0

;连接串,定义连接串,以连接串信息为准,以上用户密码等信息配置忽略
ConnectStr=Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=test;pwd=12345;

;读取数据的SQL语句,如果不设置的话,将由以下字段名自动构造
;表中至少包含name,value字段
;state字段不是必须的,没有state字段时,必须构造1个虚拟state字段,如select name, value, 1 as state from snapshot
;State值 = 1 好值  =0 坏值

ReadSQL=select name, value, state, time from snapshot

;定义Name字段名,默认为name
NameField = name

;定义Value字段名,默认为value
ValueField = value

;定义State字段名,默认为state
StateField = state

;定义Time字段名,可以不定义,默认为空,表示没有Time字段
TimeField = time

[IN]
;输入端配置文件名,不含后缀
INI = ModbusRtu

5)配置X2ODBC 入口端参数:在X2ODBC安装Ini目录下编辑ModbusRtu.ini,按照刚才记下的通讯参数修改入口端参数。

[IN]

;通讯类型Modbus RTU,不做修改
Type=MODBUS_RTU

;串口
Port=1

;设备地址
DeviceID=1

;波特率
Baud=9600

;校验位 NONE:无校验 ODD:奇校验 EVEN:偶校验
Parity=NONE

;停止位  1、1.5、2
Stopbits=1

;数据位 7、8
Databits=8

;通讯超时,单位ms,一般不做修改
Timeout=300

;响应周期,单位ms,一般不做修改
ResponeTime=10

;响应错误计数器超过ResErrCount,重启进程
ResErrCount=10

;浮点/双精度字节顺序类型  0:ABCD/ABCDEFGH 1:CDAB/GHEFCDAB 2:DCBA/HGFEDCBA 3:BADC/BADCFEHG
SwapFloat=2

;整型/长整型字节顺序类型  0:ABCD/ABCDEFGH 1:CDAB/GHEFCDAB 2:DCBA/HGFEDCBA 3:BADC/BADCFEHG
SwapInt=1

6)标签配置:在X2ODBC安装目录下编辑X2ODBC.xls,配置标签。

7)运行X2ODBC.exe,启动网关。

8)ODBC数据查看:用ODBC调试工具查看写入的数据是否正确。

9)详细配置说明见《X2ODBC V4使用手册》。

更多通信资源请登录网信智汇(http://wangxinzhihui.com)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性价比最高的护眼台灯是哪一款?盘点五款最具性价比的护眼台灯

现在的孩子,不是以往的孩子那么的无忧无虑,他们要考虑的是学习的成绩,所以很多孩子为了能在父母面前能得到夸奖,就努力的学习,那么台灯就不可缺少,但是如今市场上的台灯太多了,如果你购买的台灯…

HTTParty库

HTTParty是一个流行的Ruby库,用于简化HTTP请求和处理响应。它提供了一个简单的接口,可以轻松地发送HTTP请求,并处理返回的数据。 使用HTTParty,你可以: 发送GET、POST、PUT、DELETE等不同类型的HTTP请求。 设置请求头…

二、GRE VPN

GRE VPN 1、GRE介绍2、GRE基本原理3、GRE报文格式4、报文在GRE中传输过程5、价值6、Keepalive检测7、GRE应用8、配置GRE隧道8.1、配置绑定GRE协议的接口8.2、配置Tunnel接口8.3、配置Tunnel路由 9、GRE配置举例9.1、GRE静态路由示例9.1.1、路由器运行动态路由协议实现互通9.1.2…

STM32-HAL库08-TIM的输出比较模式(输出PWM的另一种方式)

STM32-HAL库08-TIM的输出比较模式(输出PWM的另一种方式) 一、所用材料: STM32F103C6T6最小系统板 STM32CUBEMX(HAL库软件) MDK5 示波器或者逻辑分析仪 二、所学内容: 通过定时器TIM的输出比较模式得到预…

分析外贸SEO推广流程?网站谷歌SEO优化方法?

外贸SEO推广详细教程?外贸企业站如何做谷歌SEO推广? 外贸SEO推广是国际贸易领域中的一项重要战略,通过优化网站内容和结构,提高搜索引擎排名,从而增加在线可见性,吸引更多国际客户。顺风船将深入分析外贸S…

可回馈式直流电子负载在光伏储能行业的应用

可回馈式直流电子负载在光伏储能行业的应用非常广泛,光伏储能系统主要由光伏阵列、逆变器和储能电池组成直流电子负载作为一个重要的测试设备,可以对光伏储能系统进行性能评估和负载模拟。可回馈式直流电子负载可以用于光伏阵列的性能评估,通…

【Proteus仿真】【Arduino单片机】RGB彩灯

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用WS2812 RGB彩灯等。 主要功能: 系统运行后,RGB彩灯花样显示。 二、软件设计 /* 作者:嗨小易(…

【WIFI】关于MTK的射频参数文件CFG_WIFI_Default.h介绍

代码路径: vendor/mediatek/proprietary/custom/<project-name>/cgen/cfgdefault/CFG_WIFI_Default.h 先看下面这张图片,这是修改了国家码 2.4Ghz 5Ghz的配置参数 简单举例: 修改了国家码US改了那2个参数,可以看到一个改了0x55代表U,一个改了0x53代表S 加起…

Elasticsearch 8.X 如何生成 TB 级的测试数据 ?

1、实战问题 我只想插入大量的测试数据&#xff0c;不是想测试性能&#xff0c;有没有自动办法生成TB级别的测试数据&#xff1f;有工具&#xff1f;还是说有测试数据集之类的东西&#xff1f;——问题来源于 Elasticsearch 中文社区https://elasticsearch.cn/question/13129 2…

2023年11月实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先&#xff0c;来看下效果图 在线体验地址&#xff1a;https://geojson.hxkj.vip&#xff0c;并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

JVS低代码表单引擎助你打造高效表单设计流程

在日常的设计表单过程中&#xff0c;常常会有需要录入一大段文字的场景&#xff0c;例如评论、留言、产品介绍、内容说明等场景&#xff0c;那么简单的文本框组件就不满足了&#xff0c;这里JVS提供了 两种描述类型的组件&#xff0c;多行文本框和富文本组件&#xff0c;如下图…

ChatGPT 实际上是如何工作的?

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; ChatGPT 操作的两个主要阶段 我们再用谷歌来打个比方。当你要求谷歌查找某些内容时&#xff0c;你可能知道它不会——在你提出要求的那一刻——出去搜索整个网络来寻找答案。相反&#xff0c;谷歌会在其数…

Django实战项目-学习任务系统-发送邮件通知

接着上期代码内容&#xff0c;继续完善优化系统功能。 本次增加发送邮件通知功能&#xff0c;学习任务系统发布的任务&#xff0c;需要及时通知到学生用户知晓。 由于目前智能手机普及&#xff0c;人人都离不开手机&#xff0c;所以手机端接收通知信息更加及时有效。 其中微信…

[开源]企业级在线办公系统,基于实时音视频完成在线视频会议功能

一、开源项目简介 企业级在线办公系统 本项目使用了SpringBootMybatisSpringMVC框架&#xff0c;技术功能点应用了WebSocket、Redis、Activiti7工作流引擎&#xff0c; 基于TRTC腾讯实时音视频完成在线视频会议功能。 二、开源协议 使用GPL-3.0开源协议 三、界面展示 部分…

git根据commitid创建tag标签

1.首先&#xff0c;创建一个新的标签。你可以使用以下命令创建一个轻量级标签&#xff08;lightweight tag&#xff09;&#xff1a; 针对当前标签而言,也就是你所在的当前分支而言 git tag <tag_name>2.如果你想创建一个带注释的标签 针对当前标签而言,也就是你所在的…

写出优美的代码:考虑使用静态工厂方法替代构造方法

文章目录 一、静态工厂方法区别于工厂方法模式二、静态工厂方法的优点1、有名字&#xff08;1&#xff09;优势&#xff08;2&#xff09;源码分析&#xff1a;BigInteger&#xff08;3&#xff09;源码分析&#xff1a;Executors&#xff08;4&#xff09;常用命名 名称 2、不…

Vue 自动登录示例

router.beforeEach((to, from, next) > {if (to.meta.title) {document.title "xxxxx" to.meta.title;}let token window.sessionStorage.getItem(userInfo);// 如果没有token 并且没有任何响应 就要去action中自动登录if (!token) {const loginForm {usernam…

在紫光同创盘古50K开发板上进行DDR读写测试

本原创文章由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处 适用于板卡型号&#xff1a; 紫光同创PGL50H开发平台&#xff08;盘古50K开发板&#xff09; 一&#xff1a;软硬件平台 软件平台&#xff1a;PDS_…

DI93a HESG440355R3 通过其Achilles级认证提供网络安全

DI93a HESG440355R3 通过其Achilles级认证提供网络安全 施耐德电气宣布推出Modicon M580以太网PAC (ePAC)自动化控制器&#xff0c;该控制器采用开放式以太网标准&#xff0c;通过其Achilles级认证提供网络安全。M580 ePAC使工厂操作员能够设计、实施和运行一个积极利用开放网…

vue:js中合并对象的方法

目前比较常用的一共有三种 1、使用object.assign() 它可以将一个或多个对象的属性复制到目标对象中&#xff0c;第一个参数就是目标对象&#xff0c;这里举个例子&#xff1a; <template><div>{{data}}</div> </template> <script> export de…