随着科技的快速发展,物联网的技术也不断更新换代,导致许多串口设备的全部潜力还没有得到充分利用。然而,在工业物联网(IIoT)时代,网络管理者从串口设备中获取更多价值的时机变得越来越不合时宜。实现此目的的一种方法是将设备连接到Internet,以从现有进程中提取未开发且可能有价值的信息。许多应用程序已经获得了将其串口设备集成到基于IP的网络的好处,因为以前未开发的信息已被解锁以帮助简化和优化操作。
  将串口设备连接到Internet有很多优点,但您应该提前计划。在本文中,我们强调了在实现复杂的串口到以太网应用程序时非常重要的三个功能。
  连接
  串口服务器(也称为串口到以太网转换器)可用于将传统串口设备连接到基于以太网的网络。串口服务器有两个接口:一侧是串口接口,另一侧是以太网接口。串口设备服务器使用虚拟COM端口概念,允许来自传统串口设备的数据通过网络传输到现有的SCADA系统。此外,串口设备服务器还支持原始套接字模式,它将串口数据透明地打包到TCP或UDP数据包中。
大多数SCADA系统和OPC服务器都支持以太网封装驱动程序,它们与串口服务器一起使用以接收专有协议。您仍然需要像以前一样手动处理协议,但串口服务器可以帮助您轻松地将数据传输到以太网。
  使用串口服务器支持物联网云应用时需要考虑三个关键点:(1)多轮询,(2)专有协议,(3)带宽。
  1.专有协议
  由于许多串口设备使用专有协议,因此设备服务器必须能够将串口数据正确转换为以太网数据包。许多串口设备服务器支持原始套接字和TCP服务器模式,可以处理这些类型的转换。然而,问题是串口设备服务器可能不知道将串口数据分成单独的TCP数据包的最佳方法。串口服务器不了解专有的串口数据格式,因此它们可能会将串口设备的单个响应分解为两个或更多TCP数据包。当SCADA系统或云应用程序解包数据包时,它们将被拒绝,因为单个数据包提供的串口数据不符合预期的格式。SCADA系统或云应用程序通常希望将单个串口设备服务器响应打包到单个TCP数据包中。
  串口服务器需要支持灵活的数据打包选项,因为不同的专有协议具有不同的数据格 例如,固定数据长度或特殊分隔符可用于识别单个串口设备响应。在这种情况下,串口设备服务器将继续从串口设备接收数据,直到它收到预期数量的数据或预先配置的分隔符,然后才通过以太网传输数据。如果您的串口设备服务器不支持数据打包选项,则必须开发复杂的SCADA软件应用程序以正确处理TCP数据包。开发这种专用软件浪费了宝贵的时间和金钱,也可能在您的系统中产生错误。
  为了确保正确处理,串口设备服务器需要支持灵活的数据打包选项,因为不同的专有协议具有不同的数据格式。例如,固定数据长度或特殊分隔符可用于识别单个串口设备响应。在这种情况下,串口设备服务器将继续从串口设备接收数据,直到它收到预期数量的数据或预先配置的分隔符,然后才通过以太网传输数据。如果您的串口设备服务器不支持数据打包选项,则必须开发复杂的SCADA软件应用程序以正确处理TCP数据包。开发这种专用软件浪费了宝贵的时间和金钱,也可能在您的系统中产生错误。
  串口服务器需要支持灵活的数据打包选项,因为不同的专有协议具有不同的数据格 例如,固定数据长度或特殊分隔符可用于识别单个串口设备响应。在这种情况下,串口设备服务器将继续从串口设备接收数据,直到它收到预期数量的数据或预先配置的分隔符,然后才通过以太网传输数据。如果您的串口设备服务器不支持数据打包选项,则必须开发复杂的SCADA软件应用程序以正确处理TCP数据包。开发这种专用软件浪费了宝贵的时间和金钱,也可能在您的系统中产生错误。
  2.带宽
  用于将串口设备数据发送回控制室或云应用程序的串口设备服务器需要先打开远程连接,然后才能传输串口数据。如果大量串口设备连接到同一网络,则连接将需要控制室或云应用程序中的许多资源。要正确处理这些大量远程连接,串口设备服务器应支持灵活的连接控制。执行此操作的最佳方法是仅在从设备接收串口数据时打开连接。传输完成后,串口设备服务器应立即关闭连接。如果不支持灵活的连接控制,则需要花费额外的时间处理中央站点或云应用程序的连接。
  3.多次轮询
  SCADA系统和远程云应用程序可能会同时向同一个串口设备服务器发送多个命令。因此,串口设备服务器需要支持FIFO(先进先出)队列来处理所有查询。队列中的第一个查询将首先发送到串口设备,而其余查询则在设备服务器内的FIFO队列中等待。一旦串口设备服务器从串口设备接收到响应,它就会将响应发送到相关的SCADA系统或云应用程序,并处理FIFO队列中的下一个查询。由于支持专有协议的大量串口设备,这种逐条命令处理在IoT多轮询应用中非常重要。如果没有这种设计,将需要一个支持多轮询的额外IoT网关。
文章来源于:https://www.cdyxiot.com/xxzx_view-19-1308.html