在工业物联网(IIoT)的时代,网络管理者从串口设备所提供的信息中获取价值,了解设备状态和工作数据,这使得串口这种相对古老的连接方式得以延续。一种方法是将设备通过串口服务器连接到以太网。
串口服务器可用于将传统串口设备连接到以太网。串口设备服务器有两个接口:一侧是串口接口,另一侧是以太网接口。串口服务器使用虚拟COM端口概念,允许来自串口设备的数据通过网络传输到现有的SCADA系统。此外,串口服务器还支持原始套接字模式,它将串口数据透明地打包到TCP或UDP数据包中。大多数SCADA系统和OPC服务器都支持以太网封装驱动程序,它们与串口设备服务器一起使用以接收专有协议。您仍然需要像以前一样手动处理协议,但串口服务器可以帮助您轻松地将数据传输到以太网。
使用串口服务器支持物联网云应用时需要考虑三个关键点:(1)多轮询,(2)专有协议,(3)带宽。
1.多个轮询
SCADA系统和远程云应用程序可能同时向同一串口设备服务器发送多个命令。因此,串口设备服务器需要支持FIFO(先入先出)队列来处理所有查询。队列中的第一个查询将首先发送到串口设备,而其余查询将在设备服务器内的FIFO队列中等待。一旦串口设备服务器接收到来自串口设备的响应,它将把响应发送到相关的SCADA系统或云应用程序,并处理FIFO队列中的下一个查询。这种逐命令处理在物联网多轮询应用程序中非常重要,因为大量的串口设备支持专有协议。如果没有这种设计,就需要一个额外的支持多个轮询的物联网网关。
2.专有协议(数据打包)
由于许多串口设备使用专有协议,因此串口服务器必须能够正确地将串口数据转换为以太网数据包。许多串口服务器支持原始套接字和TCP服务器模式,它们可以处理这些类型的转换。然而,问题是串口服务器可能不知道将串口数据划分为单独的TCP数据包的最佳方法。串口设备服务器不理解专有的串口数据格式,因此它们可能将串口设备的单个响应分解为两个或多个TCP数据包。当SCADA系统或云应用程序解包时,它们将被拒绝,因为单个包提供的串口数据不遵循预期的格式。SCADA系统或云应用程序通常希望将单个串口设备服务器响应打包到单个TCP包中。
为了确保正确处理,串口服务器需要支持灵活的数据打包选项,因为不同的专有协议具有不同的数据格式。例如,可以使用固定的数据长度或特殊的分隔符字符来标识单个串口设备响应。在这种情况下,串口服务器将继续从串口设备接收数据,直到它接收到预期的数据量或预先配置的分隔符,然后才通过以太网传输数据。如果串口设备服务器不支持数据打包选项,则必须开发复杂的SCADA软件应用程序来正确处理TCP数据包。开发这种特殊用途的软件会浪费宝贵的时间和金钱,还可能在系统中产生错误。
3.带宽
串口服务器需要先打开远程连接,然后才能传输串口数据。如果大量串口设备连接到同一网络,则连接将需要控制室或云应用程序中的许多宽带资源。要正确处理这些大量的远程连接,串口服务器应支持灵活的连接控制。执行此操作的最佳方法是仅在从设备接收串口数据时打开连接。传输完成后,串口服务器应立即关闭连接。如果不支持灵活的连接控制,则需要花费额外的时间来处理中央站点或云应用程序的连接。