4

所以我已经搜索过之前是否有类似的问题,但我无法找到我喜欢的答案。

我最近一直在使用一些 PLC 和变频驱动器,并认为是时候终于了解什么是循环和非循环通信了。

如果我错了,请纠正我,但是当我想到循环数据时,我想到的是不断更新并且能够发送/采样到其他设备的数据。关于我正在做的事情,我认为变频驱动器能够更新可以从 PLC 采样/读取的速度和频率等信息。这就是我认为的循环通信,它总是更新可以作为数据发送的某种类型的信息。

所以我可能对这个假设完全错误,这让我想到了究竟什么是非循环或非循环通信。

有什么帮助吗?

4

1 回答 1

8

前注:这主要是一个基于编程的站点,虽然您的问题在编程的上下文中确实有答案,但我碰巧知道在您的工业应用中,循环与非循环的重要性往往是非常特定于硬件/协议的,并且这实际上更像是一个网络问题而不是编程问题。

循环数据不仅仅是“连续”数据。在工业中,它指的是按有保证(或至少高度可预测)的时间表交付的数据。如果数据流违反计划,可能会造成灾难性后果(VFD 在几分之一秒内错过关机命令,您会失去手臂!)。

非循环数据对于机器控制仍然是可靠的,只是以不太确定的方式传递(大约毫秒,有时长达几秒)。使用单个 PLC 访问单个 VFD 时,您可能永远不会注意到这种突发行为,事实上,您可能会感觉到数据传输更流畅、更快。从硬件接口的角度来看,非循环数据传输不能保证一台机器是否或何时会响应另一台机器的请求。

这两种形式的数据传输都以比人类处理速度快得多的速度传输数据,但在某些应用程序中,它们各有各的后果。

循环网络通常必须采用主/从的形式,一次只允许一个设备说话,并且总是返回答案,即使只是为了确认消息已被接收。循环网络通常不允许在同一条线路上使用尽可能多的设备,而且它们通常会以较慢的速率传递大量数据。

非循环网络可能被认为有点混乱,但由于它们跳过了握手形式,它们通常可以欺骗更多设备进入网络并同时获得更高的速度。这是以偶尔的数据冲突/瓶颈为代价的,有时甚至会简单地忽略/丢失对关键数据的请求,而没有迹象表明目标失败或成功(在这种情况下,发送者可能会坐下来拼命等待消息它不会得到,然后经常触发将关闭系统的进程看门狗)。

从程序员的角度来看,这两种传输类型之间没有太大区别。

通常会决定一种情况,

  1. 有多少设备在线路上运行(有时这会立即强制回答)
  2. 他们想要共享的数据有多敏感/易变(如果消息晚了一点,消息会有多大用处)
  3. 在任何给定时间他们可能需要发送多少数据(如果您没有提前看到它,就很难预测/避免已经产生竞争条件的网络的需求变化)。

希望有帮助:)

于 2013-08-03T22:05:08.523 回答