TCP/UDP

通过 TCP/UDP 接口,可以在 SPS 和远程服务器之间交换原始数据。同时也可以启动一个服务器来监听数据。

信息:该接口会自动与分配的 SPS 中最慢的周期同步。系统会缓冲电报,因此不会丢失任何电报。

监视器

在监视器中使用以下颜色。

颜色 描述
白色 没有发生错误。
橙色 已达到超时时间。
绿色 连接成功。
红色 无法建立连接或发送时达到关键超时时间。可能不会检测到 UDP 通信中的错误。

广播和组播

可以通过 TCP/UDP 接口发送和接收广播和组播。为此,在网关配置中选择相应的操作模式。然后,各种选项(例如 TCP)将不再可用。此外,选择出站接口是强制性的。

要发送电报,还必须根据要求在字段旁边输入 IP 地址。如果没有这样做,则会通过单播发送。

模式 描述
单播 允许直接通信。
有限广播 仅允许在本地网络中进行通信。(与 IP 无关)
定向广播 允许与广播子网进行通信。例如,如果子网包含 24 位或设置为 255.255.255.0,则为 10.0.0.255。
组播 允许通过组播进行通信。使用 IGMP Snooping。

识别数据包的结束

在换行符配置中,可以设置传输结束的条件。检测到的结束将一起发送。

如果未检测到结束,接口会等待超时时间或连接结束,然后将结果发送到 SPS。因此,建议检查所有收到的数据包。接收 UDP 电报没有超时时间。

HTTP 传输

可以使用以下换行符定义该方法:

HTTP

此方法特殊,因为它允许相应地对标头中的 Content-Length 作出反应。

在一定长度后

要在达到一定长度时结束接收,可以在换行符配置中使用以下字符串:

LEN === ###

其中 ### 对应于字符数。写法必须完全符合此要求,包括空格。

注意:使用 LEN === 1 会逐个接收每个字符,可能导致服务器负载增加。

自定义行结束

可以定义各种行结束。通常使用 \n 或 \r。每一行都定义了不同的行结束检测方式。

在配置中,以下字符会转义:

\\ \r \n \0

通信

通过 TCP 进行的出站通信会在每次请求后结束连接。

如果 sendrecv 的请求没有收到任何响应,则发送接口会被阻塞,直到达到超时时间。在监视器中会显示一个错误。

变量 描述
send 将数据发送到服务器。
!send 将所有数据发送到服务器,并跳过任何电报。
sendrecv 与 send 类似,但会等待响应。
!sendrecv 与 !send 类似,但会等待响应。
response 来自 sendrecv 的响应。达到超时时间后,会返回一个空字符串。
recv 从本地服务器收到的数据。
error 如果传输时发生错误,则值为真。此错误可能仅在达到超时时间后才会出现在 sendrecv 中。

提示:请注意接口的安全性。数据绝不能直接通过互联网传输。这里缺少 SSL 或 TLS 的身份验证和加密功能。