西门子信号机与DTU的连接

最近工作中需要通过DTU将西门子信号机ST800中的配置信息读取出来,并且实时下发新的配配置。根据ST800的手册,它提供了一系列的串口命令来访问信号机,程序开发已经完成,并且有线测试已经通过,但是把信号机接到DTU上,期望后台服务器可以通过DTU来远程下发串口指令时却发现DTU与信号机之间通信不上。以下是调试过程与分析,

  • 通过测试发现用电脑直连信号机,和用电脑直连DTU都是可以连通的,唯独用DTU直连信号机不行,所以怀疑信号机或者DTU某一方的串口功能有问题。
  • 用万用表测试各个设备的串口引脚电压得到以下数据,
  引脚1 引脚2 引脚3 引脚4 引脚5 引脚6 引脚7 引脚8 引脚9
DTU 5.57 0 -5.5 0 - 0 0 -5.57 -1
信号机 0 -9.56 0 0 - 9.35 0 9.35 0
电脑 0 0 -6.34 7.08 - 0 7.08 0 0

通过图可以发现,电脑作为上位机,引脚3,4,7是Out输出方向,所以有电平。信号机作为下位机,3,4,7是In输入方向,所以没有电平,由此说明电脑和信号机的串口设置是正确的。所以问题应该是出在DTU的串口上。继续看DTU的引脚电压,发现其4,7引脚上没有电平,正常情况下引脚4和7都是硬流控的输出位,如果下位机需要支持硬流控的话,那么作为上位机的DTU也必须支持,所以问题应该是出在这两个引脚没有给高电平导致的。

  • 考虑到引脚上的电平需要和其他引脚保持一致,所以考虑是否可以通过DTU的引脚来代替这两个引脚来提供高电平,但是目前DTU只有引脚1上有一个高电平,理论上可以通过额外的一根跳线来同时给4,7供电,但是操作起来比较复杂。于是用DTU的配置工具尝试关掉串口流控制,

结果发现DTU的引脚8由低电平变成高电平了!于是把DTU的引脚1当成是引脚4,引脚8当成引脚7,wala! DTU和信号机正常通信!

原文地址:https://www.cnblogs.com/rucnevermore/p/8257730.html

时间: 2024-10-09 21:40:59

西门子信号机与DTU的连接的相关文章

Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案

首先,我们要弄清楚三种常见的连接方式中的桥接方式的网络结构: .bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网. 使用桥接模式的虚拟系统和宿主机器的关

多机使用SSH key连接至Github Page

在本地机器中安装好Git和Hexo之后,在终端或是Git Bash中执行如下代码: 12 git config --global user.name "YOUR NAME" # Github注册账户名git config --global user.email "YOUR EMAIL ADDRESS" # Github注册邮箱 验证Github 输入以下命令,生成SSH key: 1 ssh-keygen -t rsa -b 4096 -C "YOUR E

关于宿主机与虚拟机网络连接的怪现象

假期结束回到学校,本来计划好了一些要做的事情,可是计划赶不上变化,刚打开电脑就被一个上网问题所困住了... 我们学校用的是电信的天翼校园宽带,而且也只有电信这一家,可以说是垄断...至于为什么没有其他的ISP,官方说法是我们这边太偏僻了,没有基站,不好布线等等..其实真实原因吗,咳咳,大家心里都清楚.... 说到这个上网问题,我忍不住又要吐嘈一下...凡是用过电信的天翼校园宽带的都会有同一个感受--太坑...限制使用路由器,也就是说一个帐号只能一个人用,动态密码6小时一换,投诉电话不知打了多少,

华科机考:字符串连接

输入描述: 每一行包括两个字符串,长度不超过100. 输出描述: 可能有多组测试数据,对于每组数据, 不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来. 输出连接后的字符串. 输入例子: abc def 输出例子: abcdef 要求:1.无冗余地接受两个字符串 2.无冗余的连接 显然像以前那样随便定义一个固定大小的数组是不行的(这是大一养成的恶习)o(╯□╰)o 当然用c++的string类,实现这两点非常简单. 代码: #include <iostream> u

使用android真机测试http网络连接异常解决办法

最近在学校android网络编程之json解析时遇到不少问题,其中之一是在使用http协议连接网络时总是出错,捣鼓了将近两天,终于略有所悟,现记录如下. 一 .问题描述 首先我是在本地tomcat服务器上部署一个web项目,通过web项目的servlet完成对客户端连接请求的操作.其他都很顺利,在电脑浏览器上输入URL访问正常,在eclipse上创建Java项目也能正常访问.但是一旦放在android项目中,就出现错误了,抛出异常信息为:failed to connect to localhos

DTU/RTU连接双中心配置说明

TCP模式双中心数据传输 实例说明 此实例是使用TCP模式将串口收到的数据转发到服务器上,将服务器发送的数据转发到串口中.在传输过程中不对数据进行加密. 配置服务器网络 1, 确认本机服务器的外网IP地址或域名 A,此实例以外网为固定IP专线   IP地址为220.160.156.233. B,如果外网为拨号上号的方式,就需要使用域名. 条件一: 通过花生壳或是其他域名解析终端绑定外网IP 条件二: 如果只是短时间的测试通信,可以直接使用当前外网IP 查询当前外网IP方法:用百度搜索“IP” 如

本机无oracle,远程连接

描述 本机无oracle,通过PLSQL Developer程序,连接虚拟机中的oracle11gR2 1 下载instant-client 需要和服务端版本对应 下载相应的instant-client版本 https://www.oracle.com/cn/database/technology/instant-client.html 解压后放到任意位置 D:\instantclient_11_2 2 创建目录文件 D:\instantclient_11_2\NETWORK\ADMIN 在该路

客户机与服务器TCP连接状态

客户机: 服务器:

物理机连接虚拟机中的sqlserver

物理机:window10企业版 虚拟机(vmware12):windows server 2016 DataCenter 一.虚拟机选择桥接模式(复选框不要勾上),此时虚拟机和物理机都能Ping通网关,但物理机ping不通虚拟机,虚拟机也ping不通物理机: 二.物理机和虚拟机:打开防火墙安全高级设置,新建入站规则,将数据库默认端口1433开放: 三.此时物理机已可正常连接虚拟机中的数据库: