645 97规约是电表使用的国标通讯协议,使用非常广泛。一般通过RS485总线读当前功率、当前电压、本月电量等数据。但是由于RS485总线原理的限制,不能有两台主机同时去读电表。但是在能源监控领域,经常需要有多个计算机、显示屏获取电表的数据。
普通的“透传”的RS485转TCP/IP的产品在这里无法使用,这里就介绍一下卓岚的ZLAN5143的多主机功能如何解决这个问题。

图1. ZLAN5143的多主机功能
如图:ZLAN5143的多主机功能会调度RS485的总线,当主机1和主机2同时需要使用总线的时候ZLAN5143则会担任“裁判”的角色,禁止同时抢占,并合理调度总线的使用时间,从而起到“多主机”顺利同时访问的效果。多主机还可以让主机1查询的返回数据不会发送到主机2,引起数据干扰。
需要指出的是Modbus网关一般具有自动查询和存储寄存器内容的功能,从而解决多主机访问的冲突问题,但是此类Modbus网关对于非Modbus RTU的RS485协议(例如645协议)则无能为力。但是5143则可以同样可以适用于非Modbus RTU类型的多主机实现。
首先我们测试一下不启用多主机,而是普通“透传”方式下的情况:

我们使用两个SocketDlgTest工具连接上5143,不断同时发送645的协议指令68 50 00 00 00 00 00 68 01 02 46 C7 30 16,如图所示本来为:68 50 00 00 00 00 00 68 81 06 46 c7 53 35 34 33 a3 16的指令冲突后变为68 50 00 00 00 00 00 68 81 06 c6。也就是出现丢失和误码。另外只有一个SocketDlgTest发送时,在数据返回的时候两个SocketDlgTest窗口都收到数据,这样也不符合要求。应该是不发送数据的窗口不收到任何返回。
现在开启“多主机功能”,配置5143时保持“转化协议”为“无”,点击“更多高级选项…”,设置如下。由于这里串口为1200bps设置超时为1000。返回“设备设置”后点击“修改设置”。此后再进行以上的实验,发现无论如何同时发送,都会得到正确的数据。并且不发送的SocketDlgTest窗口不会收到数据。真正实现了防冲突和独立收发通讯。另外结合ZLvricom的虚拟串口,可以在两个主机上使用原来的串口软件进行通讯。
总之,“多主机功能”为各类非Modbus RTU的RS485仪表的多主机访问提供了一种有效的方案。

645仪表的多主机访问相关推荐

  1. 黄聪:穿过主机访问虚拟机中的SQL服务 FOR VMware NAT

    一般来说,大家都会在主机或者虚拟机中安装SQL+IIS,但假如主机的IIS想利用虚拟机中的SQL服务怎么办呢? 以我的电脑为例子,主机系统:Windows 7 7600 RTM X64,安装IIS 7 ...

  2. 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站

    外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站 之前在CentOS虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见: http://www.lin ...

  3. Docker网络——实现容器间通信、容器与外网通信以及容器的跨主机访问

    前言 自定义网络 建议使用自定义的网桥来控制哪些容器可以相互通信,还可以自动DNS解析容器名称到IP地址.Docker提供了创建这些网络的默认网络驱动程序,你可以创建一个新的Bridge网络,Over ...

  4. 从VirtualBox虚拟主机访问NAT客户机的方法

    转自:http://www.jb51.net/os/other/352995.html VirtualBox对虚拟机支持几种不同的网络方式,其中一种是NAT网络.当虚拟机启用NAT后,VirtualB ...

  5. mysql 允许其他主机访问权限_允许其他主机访问本机MySQL

    来历:Linux公社 1.mysql远程毗连慢或许根本连不上 2.当地登录到mysql控制台,show processlist;看到很多过程,雷同 | 145 | unauthenticated us ...

  6. docker绑定端口主机访问curl: (56) Recv failure: Connection reset by peer

    这个问题超简单- 我用的nuxt,项目丢到了node容器里面.然后主机访问不了挂载的端口. 容器内是能curl通的. 然后,经过排查,nuxt只指定了127.0.0.1, host必须是0.0.0.0 ...

  7. docker容器的跨主机访问

    在同一宿主机下的Docker的容器之间是默认互相联通的.通过docker inspect id或name可以查看到ip地址.在不同的容器中来执行ping是可以ping通的,然而跨容器则行不通,于是总结 ...

  8. 解决虚拟机上的tomcat无法被主机访问的问题

    解决虚拟机上的tomcat无法被主机访问的问题 参考文章: (1)解决虚拟机上的tomcat无法被主机访问的问题 (2)https://www.cnblogs.com/ranrongzhen/p/67 ...

  9. 如何让局域网中的其他主机访问虚拟机

    如何让局域网中的其他主机访问虚拟机 - 坚守梦想 - 博客园 1. 查看主机的ip地址和虚拟机的ip地址 首先查看自己的ip地址,192.168.41.39,其中虚拟机的VMnet8(也就是NAT模式 ...

最新文章

  1. Python ljust()方法
  2. 间谍新高度:航空航天探测器被当作间谍武器
  3. iOS的相对路径和绝对路径
  4. cocos2dx多线程以及线程同步 与 cocos2dx内存管理与多线程问题
  5. 《VMware Virtual SAN权威指南(原书第2版)》一1.5 什么是Virtual SAN
  6. 爬虫小案例:基于Bing关键词批量下载图片
  7. row number函数 oracle,oracle函数 ROW_NUMBER()
  8. 诗与远方:无题(七十四)
  9. 记录——《C Primer Plus (第五版)》第十章编程练习第三题
  10. 一、TensorFlow的简介和安装和一些基本概念
  11. 整合Spring Data JPA与Spring MVC: 分页和排序pageable
  12. win10的计算机是哪个版本,Win10七大版本哪个好 Windows10系统各版本功能区别详解...
  13. Linux命令之top命令
  14. 创建动态的XML数据
  15. 基于 FPGA 的数字表示
  16. python儿童编程培训班-重庆少儿Python编程培训班
  17. VOIP+PSTN集成方案
  18. 如何解决图片在移动端清晰显示的问题
  19. Cannot cast ch.qos.logback.classic.servlet.LogbackServletContainerInitializer to javax.servlet.Servl
  20. nomad 服务编排_Nomad微服务的容器模式

热门文章

  1. 全方位掌握Apache Spark 2.0七步走(二)
  2. Typora编辑区域左边出现很大空白区域解决方法
  3. 海外服务器租用十大地区排名
  4. wordpress外贸商城规划
  5. ArcEngine 一些实现代码(转载)
  6. pycharm 远程调试腾讯云gpu报错 Couldn‘t refresh skeletons for remote interpreter 解决方法
  7. python删除数组元素_python删除元素
  8. 几何算法——5.关于ACIS和Parasolid求交的调研以及返回参数设计
  9. hdu 4597 2013吉林通化邀请赛 Play Game 记忆化搜索
  10. nuttx app添加自己的小应用程序