通讯网关软件007——利用CommGate X2Mbt实现Modbus TCP访问MSSQL服务器

2023-09-20 09:09:43

本文介绍利用CommGate X2Mbt实现Modbus TCP访问MS SQL数据库。CommGate X2MBT是宁波科安网信开发的网关软件,软件可以登录到网信智汇(wangxinzhihui.com)下载。

【案例】如下图所示,实现上位机通过Modbus TCP来获取MS SQL数据库的数据。

【解决方案】设置网关机,与MS SQL采用以太网通讯,与Modbus TCP Master上位机采用以太网通讯,安装CommGate X2MBT软件。

1. MS SQL数据表结构要求:

  • 至少要求具备name、value二个字段。
  • name:标签名称,字符类型
  • value:数值,可以是字符类型或浮点类型
  • state:不是必须的,整型类型,1表示好值 0表示坏值
  • time:不是必须,可以是datetime或bigint
  • 以上字段名称如不是name、value、state、time,需要在以下配置文件进行字段名称的配

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

3. 配置X2MBT 出口端参数:在X2MBT安装目录Ini下编辑X2MBT.ini,修改出口端参数。

[OUT]
;通讯类型Modbus TCP,不做修改
Type=MODBUS_TCP

;modbus tcp server ip
Host=127.0.0.1

;modbus tcp server 端口
Port=502

;从设备地址
DeviceID=1

;通讯超时,单位ms
Timeout=300

;读寄存器间隔时间,单位ms,一般不做修改
ReadDevTime=50

;浮点/双精度字节顺序类型  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

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

Type =

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

[IN]

;输入源类型:MS SQL Server,不做修改
Type=MS_SQL

;SQL Server IP
ServerIP=127.0.0.1

;SQL Server用户
UserName=sa

;用户密码
Pwd=123456

;数据库名称
DB=test

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

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

;读取数据的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

5. 标签配置:在X2MBT安装目录下编辑X2MBT.xls,配置标签。

6. 运行X2MBT.exe,启动网关。

7. modbus通讯调试:在上位机上运行modscan,与网关机进行modbus TCP通讯调试。

8. 详细配置说明见《X2MBT  V4使用手册》。

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

更多推荐

ReactNative 网络库

WhatJS判断网络状态不准确react-native-netinfo在Android中的结构type-CellularGeneration:G网模式枚举type-ConnectionType:网络连接类型AmazonFireDeviceConnectivityPoller:Amazon设备网络适配,可忽略Broadc

字符串函数和内存函数详解(2)

🐵本文会将会对剩余的字符串库函数和内存函数进行讲解1.strstr📚1.1函数用法✏️strstr函数原型:strstr用于在字符串中找子串,strstr会返回str1中出现str2的起始地址,如果在str1中没有找到str2,则返回空指针1.2具体实现🖊️#include<stdio.h>#include<st

秋招如何做好IT面试准备

一年一季又是到了秋招的日子,回首去年这时候的自己也在准备面试中苦苦挣扎,在这里给各位学弟学妹分享一些面试准备的小技巧吧。方向一:分享你面试IT公司的小技巧IT公司区别与其他公司肯定对技术要求更高,所以首先你要准备的是你简历上写的东西你是否都能回答的上,因为大部分公司面试第一出发点都是你的简历,不要在简历上胡吹海侃给自己

视觉Transformer在低级视觉领域的研究综述

视觉Transfomer的基本原理在图像处理过程中,ViT首先将输入的图片分成块,对其进行线性的编码映射后排列成一堆的向量作为编码器的输入,在分类任务中会在这个一维向量加入了一个可学习的嵌入向量用作分类的类别预测结果表示,最后通过一个全连接层输出结果注意力机制注意力机制让网络更聚焦于输入中相关信息的方法,从而减少对无关

实时云渲染与直播应用场景结合技术探索

//随着互联网以及终端设备的全面发展,直播在日常的生活中已经越来越常见。越来越多的人开始在直播中与主播互动,作为一种娱乐消遣的方式。但是有些直播平台频发的卡顿以及打赏特效的单一会让用户的直播体验大打折扣。LiveVideoStack邀请到腾讯云的江敏为我们介绍腾讯云如何将云渲染应用在直播场景中,为直播带来更好的体验。文

前端中blob文件流和base64的区别

在前端中,base64和fileBlob是用于处理文件数据的两种不同方式。1.Base64编码Base64是一种将二进制数据转换为文本字符串的编码方式。它将文件数据转换为一串由ASCII字符组成的字符串。在前端中,可以使用JavaScript的btoa()和atob()函数来进行Base64编码和解码。优点:-Base

基於RISC-V QEMU 仿真運行Linux 系統環境搭建

前言文章詳細說明如何從堶零開始基於RISC-VQEMU仿真運行Linux系統環境搭建,是Linux小白入門教程不二之選,歡迎留言討論,轉發請注明原文出處~1.準備QEMU仿真環境--RISC-V64bits安裝包下載地址:https://www.qemu.org/安裝命令及安裝成功效果如下所示,target-list設

RabbitMQ常见的应用问题

文章目录1.消息可靠性保障2.消息的幂等性保障1.消息可靠性保障在实际生产环境中,可能会由于网络问题导致消息接收异常产生某种影响,基于这种情况我们需要保障消息的可靠性。RabbitMQ中的消息可靠性也称为消息补偿,如下图所示,可以保证消息的可靠性。分为9种种步骤实现消息补偿1、生产者处理业务逻辑,将数据写入到数据库。2

【云原生】kubernetes应用程序包管理工具Helm

Helm什么是Helm安装Helm重要概念使用Helm1简介官网地址:HelmHelm是一个Kubernetes应用程序包管理工具,它允许你轻松管理和部署Kubernetes应用程序。Helm通过使用称为Charts的预定义模板来简化Kubernetes应用程序的部署和管理。Chart包含了一组Kubernetes对象

【云原生 | 58】Docker三剑客之Docker Swarm中的调度器

🍁博主简介:🏅云计算领域优质创作者🏅2022年CSDN新星计划python赛道第一名🏅2022年CSDN原力计划优质作者🏅阿里云ACE认证高级工程师🏅阿里云开发者社区专家博主💊交流社区:CSDN云计算交流社区欢迎您的加入!目录1、spread调度策略2、binpack调度策略👑👑👑结束语👑👑👑

[Django-1] 快速建立项目

初始化Django初始化项目创建app项目和app的关系下面的代码一般放在view.py中项目启动项目中中的urls.py和app中的urls.py的关系ModelDjango生成表查询理解初始化项目python-mpipinstallDjangocd到想要创建项目的目录django-adminstartproject

热文推荐