在工程实际施工过程中,很多智能仪表是支持Modbus-RTU协议的,但传输距离不够远,且和上位机组态软件的通讯很少有使用此协议的,需要将它转为TCP/IP协议。

那么如何实现呢?最常使用的是串口服务器,可以将Modbus-RTU协议转为Modbus-TCP协议,并且还支持虚拟串口,可以在不改动原有通讯的基础上实现协议转化,适应现在高速通讯,长距离通讯的要求。

今天主要介绍的主角是MOXA Nport 5130 和三维力控的通讯。

使用它可以实现如下网络结构:

Nport 5130 使用RS485总线和智能仪表等进行Modbus-rtu通讯,然后使用TCP协议和上位机进行通讯,可以实现对现场设备的监控。

如何配置Nport 5130 ?

1) 打开MOXA配置软件,点击Searcch,搜索设备如图:

2) 双击搜索到的设备,进入configuration,在"Network"中设置IP地址,与主机在同一个网段中,如主机为:192.168.2.11,则此处可设置为:192.168.2.254,如下图:

3) 在"Serial"中设置与Nport 5130连接的仪表的通讯参数:如图

4) 在"Operatating Mode"中操作模式为"TCP Server Mode",(也可以选择REAL COM MODE)如图:

将最大连接数设置到4.

5) 点击EXIT退出此软件。

6) 进入力控进行I/O设置,选择MODBUS-RTU, "设备地址"为需要采集数据的仪表的MODBUS地址,"通讯方式"选择"TCP/IP网络",如图

去除独占通道对勾

7) 点击下一步设置"设备IP地址"为Nport 5130的IP地址:192.168.2.254,端口为在第4步中"LCOAL TCP PORT "的地址:4001,如图:

8) 点击下一步到组态完成。

9) 进入数据库组态,设置需要读取数据的参数,如某台仪表的MODBUS地址为2,需要采集其液位参数(浮点数,只读,仪表要求为MODBUS协议的4#命令---),如图:但在实际应用中为3#命令---

10) 测试结果如图

串口 浮点数 结构体_组态软件与串口服务器的配置相关推荐

  1. 串口初始化结构体和固件库讲解

    串口初始化结构体和固件库讲解 常用的6个函数,结构体: USART 初始化结构体(USART_InitTypeDef) USART 时钟初始化结构体(USART_ClockInitTypeDef) 串 ...

  2. 串口termios结构体的详细设置

    termios结构体内容: <span style="font-size:18px;">成员 描述 ---------------------------------- ...

  3. stm32串口发送数据的配置,以及通过串口发送结构体数组总是多一个00字节的问题

    最近用stm32编写串口发送程序,在硬件方面需要做如下准备: 1.stm32开发板,这里我的是stm32f030f4p4开发板,单片机的串口发送的引脚为PA9-TX,PA10-RX. 2.为了调试串口 ...

  4. c++如何定义二维数组结构体_原来数组还可以这么玩(宏把数组玩坏了)

    点击上方公众号名称关注,获得更多内容 ✎ 编 者 悟 语 想起青春追寻的昨天,你也是曾经追风的少年. 文 章 导 读 今天给小伙伴们介绍下用宏对数组值进行分类使用的方式,比较大的程序中的寄存器经常会这 ...

  5. 获取另一个驱动的设备结构体_《rt-thread驱动框架分析》-i2c驱动

    驱动分析 I2C设备驱动框架图: 我们先RT-Thread的I2C框架图(这是我自己理解的框架图,如果不对的地方,请指出): 上图是我分析的RTT的I2C框架图.主要分为三层,驱动层-核心层-设备层. ...

  6. 【C#】枚举_结构体_数组

    最近看C#视频,关于这部分,先看了一遍,又照着敲了一遍,自己敲的过程发现了一些有意思的东西. 枚举:定义一个枚举类型的变量,这个变量有很多相同类型的值.比如性别Gender这个变量可以有男和女这两个值 ...

  7. mysql存储过程结构体_八、mysql视图、存储过程、函数以及时间调度器

    1.create or replace view emp_view as select * fromt4 ;给t4表创建一个名为emp_view的视图2.drop viewemp_view 删除视图= ...

  8. 如何初始化结构体中的指针结构体_跟我一起学习go语言(五)golang中结构体的初始化方法...

    1.自定义一个结构体 type Vertex struct { X, Y float64} 2.初始化方法-指针: rect1 := new(Vertex )rect2 := &Vertex ...

  9. malloc 结构体_算法与数据结构——结构体变量

    首先,要学习数据结构,一般要先了解结构体变量的使用,那么该如何定义结构体变量呢?随我一起回忆一下吧.(不一样的音乐,不一样的体验)(1)直接定义结构体变量.struct {int a;        ...

最新文章

  1. Google VR全景图片与视频功能开发详解
  2. Hibernate中Entity实体类的写法
  3. 五矿期货携手神策数据,深耕数字化 5 大应用,加速金融科技创新增长
  4. MultiSlider组件
  5. 《见字如面》赏析-待续
  6. QT右键点击添加库不响应的解决办法
  7. 从一个字符串中删除另一个字符串中出现过的字符
  8. 入门级----测试的执行、环境的搭建、每日构建、测试记录和跟踪、回归测试、测试总结和报告...
  9. 数据用压缩 bcd 码 java_IT职场新人选python,go还是java?用数据来说话
  10. Linux学习笔记001---Windows下安装CentOS7_并且安装桌面UI
  11. javaScript深克隆(deepClone(origin,target))
  12. 汇川plc c语言,汇川plc编程软件-汇川plc编程软件autoshop下载 v2.92官方版--pc6下载站...
  13. Abaqus的inp文件详解
  14. C语言中的除法运算符( /)
  15. window MFC桌面下雪程序
  16. redis---sds(简单动态字符串)详解
  17. Gos —— 开启中断与中断机制详解
  18. C语言简易程序设计————7、输出特殊图案
  19. 什么是隐性知识?显性知识?
  20. 如何学习C4D?非常详细的C4D学习攻略!按照这个步骤你一定成为影视后期大神

热门文章

  1. HTC Vive 叠影器无法创建设备
  2. 【图像处理】ISP 图像传感器camera原理
  3. [Effective JavaScript 笔记]第23条:永远不要修改arguments对象
  4. ExecutorService中submit和execute的区别(转)
  5. STL不是线程安全的啊
  6. Python之网络编程(粘包、粘包解决方案)
  7. java中输出打印 num_System.out.print。 如何将打印输出编号?(JAVA)
  8. Python日志模块logging高级用法
  9. Python实现本机网络流量监视器
  10. java画圈_java动态画圈圈。运用多线程,绘图