1. 背景
项目需要部署一台工控机,拿到的时候只是测视了下收发正常,并未注意串口类别,
致使现场测试的时候一直无法收到数据,枉费了不少时间,特此提出来注意下。
2. 关键细节
232和485是硬件通信上的差别,对于软件层面来说, 如串口助手等并不关心,只有能够收到数据即可。
而测试时忽略了接线问题。232接的是2、3和5(地线,一般不接), 而485接的是1、2和5(地线,一般不接)。
如果一段232,另一端485,则它们只能单向通信,即只有针口2可以传输数据。
那么如何正确的识别出来呢。
其实平时是用一根usb转串口232或者485的转接线进行测试的。
usb接电脑端的串口助手,串口头接到工控机上,这样进行通信测试。
如图:
当时没注意,致使工控机拿到项目时无法正常收发,一直排查其他问题,而忽略了工控机的串口是232的。
另外一个注意,232不支持一主多从通信,即多个232串口并联到一个总端口上。
因为232协议规定信号线空闲状态为1,电压为负(-3~-15),此时所有从机的TXD信号都是负的。而若其中一个从机要通信时,
它的TXD信号必须是正的,这是矛盾的。
485/422是可以并联的。
做项目一定要细心啊( ̄y▽, ̄)╭