支持串口的协议大概主要有以下几种,一种是常规的自由口协议,MODBUS ASCII,MODBUS RTU,另一种是专用的,例如西门子的PROfiBus,还有一些例如HMI的接口,也是使用串口的。
1、先聊一下工控机(IPC)使用串口协议的方法。
IPC与个人电脑的区别就是个人电脑一般每种通讯接口只有一个,而工控机可以根据需求有多个相同的,例如多网口,多DB9串口,或是多VGA口等等。
大多数人可能知道显示器的接口转换,或是使用USB 带随身WIFI功能这样的实现方法。
其实IPC实现串口功能也是类似的,无非是可用的口而已,主要有以下三种;
1.1、USB转485或USB转232
此种方法是将IPC的USB口,外接一个USB转485或USB转232的转换器就可以了。此时uSB口会虚拟为串口,在设备管理器中可查看到。国内主要的品牌大概有宇泰,帝特,力特等。大概长的下图部的样子。

1.2、DB9口支持的协议;
关于DB9口支持协议的方法详见以下文章的项7:
DB9口支持的协议,只需要买一个接线端子引出就可以了,如果IPC是公头,就买一个母头的,如果IPC是母头的,就买一个公头的。引出的线直接接到设备。这种实现是最简单的。接头的价格都是个位数的。
对于DB9不支持的协议,就需要买转接头了。例如DB9口是232协议的,而我们需要的是485的,那么就需要买一个DB9的232转485的转换器(俗称牛头)。大概如下图所示,带了独立引出端子的,实现的方式上会更多些。

1.3网口转串口
一般很多IPC上会带多个网口RJ45口,这为我们串口不足时实现串口功能提供了一个途径。
第一种是网口转串口的转换器,这种方式能否直接实现协议转换还有待考证,通常是做为串口延长线使用。
而第二种是串口服务器,该设备上有两个接口,一侧是RJ45,实现的是网络协议,例如MODBUS_TCP,HTTPS.TCP/IP协议等。另一端是串口协议,例如MODBUS,自由口等。下面会详细论述;
2、再来谈一下PLC实现串口的方法。
2.1PLC可以通过附加模块的方式来实现串口的功能,例如西门子1200可以通过添加CM1241实现串口功能。下图中展示了西门子1200PLC使用的串口模块和扩展卡的外形。

2.2PLC可以通过在本体自带或添加扩展卡片的形式实现串口功能,例如汇川EASY系列的GE20扩展卡,其PLC本体还自带了一路端子排式的485口;下图中展示了汇川EASY系列的本身自带的串口(下侧红框),和扩展卡(上侧红框)。

2.3现在PLC通讯都在做串口向网口方向的演化,有些PLC本身未带串口,而实现起来又有经济方向的考虑,那怎么实现呢。此时就可以通过串口服务器的方式来实现。对于PLC本身只有一个网口的,此时需要一台交换机来实现其与多台设备的通讯,通常普通的交换机即可。
3 串口服务器
所谓的串口服务器,就是一端接串口协议类型的设备(例如温度传感器,远程IO站等),另一端接收集信息的网络类型的上位机(例如IPC、PLC或是网络云等)。
现在市面有做串口服务器的厂家大概有智庸,塔石,有人等几个厂家,当然还有几个不为大众熟悉,深耕工控领域多年的厂家;在网络侧大概支持以下几种协议MODBUS_tcp(主站和从站),TCP/IP(主站和从站),UDP(主站和从站,实际上在UDP中是没有区别的,发的只管发,收的只管收,收和发都不管对侧在干嘛,容易出错),HTTP,MQTT等;串口侧一般为自由口,MODBUS等。串口服务器的外形大概是下图中的样子,当然也有当前的网红款口红款没有列出。

关于串口服务器做主站还是从站的选择,通常其做主站时,可只能连接一个从站,而其做从站时,却可以连接多个主站。