The Delayed-Gate-3 device provides a 3-input logical gate which can be used to merge status variables in a user programmed way. Delayed-Gate-3 works much like the Logical-Gate-3 device but additionally has a delay unit processing the signal downstream. The delay makes the the output become true only if the gate condition becomes true for at least the configured delay time
The gate may be configured to work as a AND, NAND, OR, NOR, NE (XOR) or EQ gate. It listens to two input variables and compares these to user supplied reference values. the logical result of the comparisons gets fed into the gate. The gate's output state is passed though the delay unit and then distributed as a boolean state variable named "state".
The temporal resolution of the delay unit is determined by the cycle time of the device thread ("PORT") the Delayed-Gate-3 is configured in. Thus, if you plan to use short delay times (0.1 to 1.5 seconds), it is recommended to configure the Delayed-Gate-3 as the only device in a device thread using a 100 msecs idle time. This ensures, that the delay is executed reliably with the configured time.

Device window pages
The following table shows which device window pages are available with this individual device type. Tool-bar functions not mentioned here are described at the general description of device windows .
--- The device info page.
--- The maintenance page. The configuration parameters from this page are described below.Configuration parameters
At the maintenance page of the device window there are a couple of configuration parameters which must be set to interconnect the Logical-Gate device with the devices that deliver the gate's input signals.
| parameter | description |
|---|---|
| input-A.Id | Enter the message identifier here of the parameter the gate shall listen as input-A, e.g. "SWITCH-1. position". |
| input-A.compare | Select EQ if this gate input shall become "true" if the monitored value matches the reference value defined below. NE reverses this, the input becomes "true" if the monitored value does not match the reference value. |
| input-A.reference | The reference value the monitored parameter shall be compared to. The comparison made is textual, so be careful when comparing numeric parameters. Inaccuracies of the floating point arithmetic or number formatting issues may let the monitored parameter look different than you expect. |
| gateType | Select the type of logical gate. |
| input-B.Id | Enter the message identifier here of the parameter the gate shall listen as input-B, e.g. "SWITCH-2. position". |
| input-B.compare | Select EQ if this gate input shall become "true" if the monitored value matches the reference value defined below. NE reverses this, the input becomes "true" if the monitored value does not match the reference value. |
| input-B.reference | The reference value the monitored parameter shall be compared to. The comparison made is textual, so be careful when comparing numeric parameters. Inaccuracies of the floating point arithmetic or number formatting issues may let the monitored parameter look different than you expect. |
| input-C.Id | Enter the message identifier here of the parameter the gate shall listen as input-C, e.g. "SWITCH-3. position". |
| input-C.compare | Select EQ if this gate input shall become "true" if the monitored value matches the reference value defined below. NE reverses this, the input becomes "true" if the monitored value does not match the reference value. |
| input-C.reference | The reference value the monitored parameter shall be compared to. The comparison made is textual, so be careful when comparing numeric parameters. Inaccuracies of the floating point arithmetic or number formatting issues may let the monitored parameter look different than you expect. |
| setFaultOnTrue | If set to YES, the device sets the device summary fault and a fault flag faults.01 if the gate output is true. |
| delayTime | The delay time to apply (seconds) |
Variables defined by this device driver
| name | type | flags | range |
|---|---|---|---|
| info.driver | TEXT | R/O | StringRange R/O |
| info.type | TEXT | R/O | StringRange R/O |
| info.frame | TEXT | R/O | StringRange R/O |
| info.state | TEXT | R/O | StringRange R/O |
| config.gateType | CHOICE | SAVE SETUP | EnumRange (AND NAND OR NOR EQ NE) |
| config.input-A.Id | TEXT | SAVE SETUP | StringRange |
| config.input-A.compare | CHOICE | SAVE SETUP | EnumRange (EQ NE) |
| config.input-A.reference | TEXT | SAVE SETUP | StringRange |
| config.input-B.Id | TEXT | SAVE SETUP | StringRange |
| config.input-B.compare | CHOICE | SAVE SETUP | EnumRange (EQ NE) |
| config.input-B.reference | TEXT | SAVE SETUP | StringRange |
| config.input-C.Id | TEXT | SAVE SETUP | StringRange |
| config.input-C.compare | CHOICE | SAVE SETUP | EnumRange (EQ NE) |
| config.input-C.reference | TEXT | SAVE SETUP | StringRange |
| config.setFaultOnTrue | CHOICE | SAVE SETUP | EnumRange (NO YES) |
| config.delayTime | FLOAT | SAVE SETUP | DoubleRange (0.1 .. 3600.0) |
| state | BOOLEAN | R/O | BooleanRange R/O (true false) |
| faults.01 | ALARM | R/O | AlarmFlagRange R/O (Gate output) |