如何查看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号。
方法1:短接RXD和TXD |
选择某个物理串口,使用导线短接其2脚和3脚(2是RXD,3是TXD),然后使用串口调试软件依次打开每个COM号,发送数据。如果能在软件的收消息栏看到收到消息,则该COM号就是此物理串口。
方法2:使用电压表测量TXD的电压变化 |
使用万用表,拨到直流电压档,一端接TXD(3脚),一端接地(5脚),然后使用串口调试软件依次打开每个COM号,发送数据。如果万用表的数值发生明显跳变,则该COM号就是此物理串口。
原理就是发送数据时,发送引脚的电压会不断变化。
-
万用表接的是发送引脚TXD,不是接收引脚RXD.
-
RS232 逻辑0电平范围 [-15V,-3V],逻辑1电平范围[+3V, +15V]。 RS485逻辑0电平范围[-6V , -2V],逻辑1电平范围[+2V , +6V]。 在测量时,根据DB9的类型选择最小的量程,量程越小,数值变化越明显,容易观察到变化。
-
UART协议规定,当总线处于空闲状态时信号线的状态为‘1’即高电平,表示当前线路上没有数据传输。为了让低电平持续时间长点,建议以最小的波特率(2400bps)发送数据,无停止位(大部分串口调试软件的停止位选项无None选项,所以会被迫选择1,其实这样做并不好,因为停止位是高电平逻辑1),无校验或恒0校验(SPACE),且以16进制形式发送多个数字0。
假设波特率是2400,恒0校验,停止位是1,发送200个0,则电平图如下:
电平0维持时长:1000 / 2400 * 200 * 10 = 832ms
电平1维持时长:1000 / 2400 * 200 * 1 = 83.2ms
未发送数据时,电压表显示15V,发送数据中显示-15V,时长约0.8秒,数据发送完毕后又变回15V。
如何诊断工控机的物理串口是否已经损坏
如果工控机上的串口已经损坏,我们上位机程序写的再怎么6,也不可能正常控制串口外设的。
诊断方法:使用导线短接串口的RXD和TXD,通过串口调试助手打开此串口,若能自发自收,则串口正常,否则已损坏。
禁止带电插拔串口,这样很容易损坏串口。请至少关闭通信的其中一方电源后再插拔。
如何判断串口连接线是直连还是交叉的以及是否损坏
判断交叉还是直连 |
万用表拨到通断挡位,红表笔接串口线一端DB9的2号针脚,黑表笔接触另外一端的2号针脚,如果蜂鸣器响,红灯亮,则表示2与2通,是直连线,否则是交叉线。
当然,也可以使用3号引脚进行判断。
串口线分为公-公,母-母,公-母;使用万用表测试时,注意辨别公母头的2号针脚,别把表笔怼错位置了。公头自左至右第2个,母头自右至左第2个。
在判断串口线是直连还是交叉时,无需考虑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,不要测错针脚。