### MetaFacture版本​

MetaFacture Redundancy要求MetaFactureV1.0 SP2或者更早。两个PLC设备上必须安装相同版本的运行系统。

---

### 实时任务和交流​

MetaFacture Redundancy同步任务1。也可以执行其他任务和应用程序，但是它们在两个PLC上均不同步运行。

MetaFacture Redundancy需要实时任务执行和实时通信。实时任务执行意味着由冗余控制的应用程序任务（冗余任务）具有有限的抖动。实时通信是指第二个PLC在特定时间内接收到通过冗余互连发送的消息。可以在MetaFacture Development System***冗余配置***编辑器（***冗余设置***）中定义冗余超时。在运行时系统配置文件MetaFactureControl.cfg中，它由条目StandbyWaitTime指定。

冗余超时值必须大于任务抖动时间和最大通信抖动时间之和。这些时间取决于系统。

需要实时任务执行和实时通信来指示一个特殊的最长超时。如果在等待来自另一个PLC的消息时发生这种超时，则系统认为另一个PLC不再运行。结果，等待的PLC和另一个PLC切换到独立模式。

如果任务抖动过高，或消息传输被延迟，则两个PLC都可能切换到独立模式。这意味着现场总线上存在同步丢失和通信问题。

---

### IEC计时器​

切换PLC时，两个PLC设备上不同的执行时间可能会导致碰撞（输出值变小）。为避免这种情况，在执行IEC任务期间会暂停IEC计时器值。从IEC定时器调用（例：因此，即使物理时间继续运行，执行IEC任务时也总是导致相同的计时器值。这意味着不可能在循环中主动等待，例如，因为IEC计时器值在当前任务扫描中不会改变。

---

### POINTER​

不得在由冗余控制的数据区域中声明POINTER变量。原因：同步期间，冗余控制的值将传输到另一个PLC。但是，指针值在另一个PLC上无效，因为那里可能有另一个存储器布局。

编译时，冗余功能会检查指针变量是否位于冗余控制的区域中。对于在该区域中检测到的每个指针变量都会发出警告。可以通过以下条目在设备描述文件中禁用该检查：

---

### EtherCAT DC​

与工厂自动化相比，此冗余扩展的设计更多地用于过程工业。因此，不支持带有分布式时钟的EtherCAT驱动器。然而， 支持EtherCAT I/Os。

---

### 映射到现有：映射到现有变量​

不建议MetaFacture Redundancy将I / O映射方法“映射到现有”（将I / O映射到现有变量）。这些变量不存储在输入或输出数据区域中，而是在声明它们的位置存储。因此，它们在运行期间不会同步。

---

### 网络变量​

禁止使用具有写访问权的网络变量，因为可以同时发送多个编码报文。允许具有读取访问权限的网络变量。

---

### 文件读取​

禁止使用文件访问，因为切换文件时，不同的文件数据可能会导致不同的PLC冲突。

如果使用文件，则必须在不受冗余控制的数据区域中声明文件句柄。必须在两个PLC上分别打开文件，并且不得将另一个PLC的文件句柄用于访问本地PC上的文件。

编译时，MetaFacture Redundancy检查处理变量（RTS\_IEC\_HANDLE，CAA.HANDLE）是否位于冗余控制区域中。对于在该区域中检测到的每个指针变量都会发出警告。

---

### 在线安全用户管理​

如果使用在线安全用户管理，则必须使用相同的用户名和密码配置两个PLC设备。否则，在线服务，例如write variable或online change不会传输到未激活的PLC。