1.167 Delayed-Gate-3

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.

Delayed-Gate-3.gif

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 .

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)