排查串口硬件故障参考手册

发布时间 2023-09-10 14:05:37作者: euv

如何查看PC上有无串口

方法一: 查看PC外观,是否有DB9接口




说明:

  • 工控机上的串口一般都是RS232,很少有RS485。如果我们需要RS485接口,可以在订购工控机的时候,向供应商说明,供应商可以定制提供有RS485的工控机。当然我们也可以购买USB转RS485模块或者RS232转RS485模块扩展出RS485接口。
  • 串口接口一般是DB9,很古老的设备上才会有DB25,DB25几乎已被淘汰。
  • 针状称为公头,孔状称为母头。
方法二: 设备管理器 → 端口(COM和LPT)

说明:不显示虚拟串口;如果PC无物理串口,则找不到端口(COM和LPT)这个节点。

方法三:使用串口调试软件,查看软件列出的串口

说明:会列出虚拟串口和物理串口

方法四:利用虚拟串口软件Virtual Serial Port Driver

说明:既能列出所有的虚拟串口和物理串口,又可以识别出串口是虚拟的,还是物理的。

方法五:C# API
public static string[] GetPortNames();

如何识别主机上物理串口的COM号

问题

含有多个物理串口的PC,打开其设备管理器,能看到很多串口号,但是我们并不能知晓哪个物理串口对应哪个COM号。

image


方法1:短接RXD和TXD

选择某个物理串口,使用导线短接其2脚和3脚(2是RXD,3是TXD),然后使用串口调试软件依次打开每个COM号,发送数据。如果能在软件的收消息栏看到收到消息,则该COM号就是此物理串口。


方法2:使用电压表测量TXD的电压变化

使用万用表,拨到直流电压档,一端接TXD(3脚),一端接地(5脚),然后使用串口调试软件依次打开每个COM号,发送数据。如果万用表的数值发生明显跳变,则该COM号就是此物理串口。
原理就是发送数据时,发送引脚的电压会不断变化。

  1. 万用表接的是发送引脚TXD,不是接收引脚RXD.

  2. RS232 逻辑0电平范围 [-15V,-3V],逻辑1电平范围[+3V, +15V]。 RS485逻辑0电平范围[-6V , -2V],逻辑1电平范围[+2V , +6V]。 在测量时,根据DB9的类型选择最小的量程,量程越小,数值变化越明显,容易观察到变化。

  3. UART协议规定,当总线处于空闲状态时信号线的状态为‘1’即高电平,表示当前线路上没有数据传输。为了让低电平持续时间长点,建议以最小的波特率(2400bps)发送数据,无停止位(大部分串口调试软件的停止位选项无None选项,所以会被迫选择1,其实这样做并不好,因为停止位是高电平逻辑1),无校验或恒0校验(SPACE),且以16进制形式发送多个数字0。
    假设波特率是2400,恒0校验,停止位是1,发送200个0,则电平图如下:

image

电平0维持时长:1000 / 2400 * 200 * 10 = 832ms
电平1维持时长:1000 / 2400 * 200 * 1 = 83.2ms

未发送数据时,电压表显示15V,发送数据中显示-15V,时长约0.8秒,数据发送完毕后又变回15V。

如何诊断工控机的物理串口是否已经损坏

如果工控机上的串口已经损坏,我们上位机程序写的再怎么6,也不可能正常控制串口外设的。

诊断方法:使用导线短接串口的RXD和TXD,通过串口调试助手打开此串口,若能自发自收,则串口正常,否则已损坏。

image

禁止带电插拔串口,这样很容易损坏串口。请至少关闭通信的其中一方电源后再插拔。

如何判断串口连接线是直连还是交叉的以及是否损坏

判断交叉还是直连

万用表拨到通断挡位,红表笔接串口线一端DB9的2号针脚,黑表笔接触另外一端的2号针脚,如果蜂鸣器响,红灯亮,则表示2与2通,是直连线,否则是交叉线。
当然,也可以使用3号引脚进行判断。

串口线分为公-公,母-母,公-母;使用万用表测试时,注意辨别公母头的2号针脚,别把表笔怼错位置了。公头自左至右第2个,母头自右至左第2个。

image

在判断串口线是直连还是交叉时,无需考虑DB9的第2针脚是RX还是TX,直接找第2个针脚就行了!

诊断串口线是否正常

万用表拨到通断挡位,测试连接线两端的DB9:

2和2通,3和3通,2和3不通,5和5通,正常的直连线。

2和3通,3和2通,2和2不通,3和3不通,5和5通,正常的交叉线。

其他情况串口线已损坏。

注意:公头和母头的2和3针脚顺序不同,公头左2是2,母头右2是2,不要测错针脚。