Related Topics: | ||
A logic gate is similar to a conditional block in that it checks incoming values against a conditional expression, with possible outcomes of true and false, and can have one or two outgoing paths. It differs, however, in that it accepts multiple incoming paths and determines the overall block outcome based on the gate type, which specifies how many of the incoming values must meet the condition in order for the outcome to be true.
For example, in the configuration shown next, the logic gate evaluates the outputs of Blocks 1, 2 and 3 against a conditional expression, and then evaluates the overall outcome based on the gate type. If the outcome is true, then an output is passed down the "true" (T) path to Block 4, but if the outcome is false, an output is passed down the "false" (F) path to Block 5.
Tip: RENO designates the first connector drawn from a conditional block, binary node or logic gate as the "true" path and the second connector as the "false" path. You can switch these designations by right-clicking the connector and choosing Set to Failure or Set to Success on the shortcut menu.
The following picture shows the Block Properties window of the logic gate in the example. In this case, the logic gate is an AND gate, meaning that all incoming paths must meet the condition in order for the block outcome to be true. If the outputs of Blocks 1, 2 and 3 are all greater than or equal to 0, then the block outcome is true and the value "1" is passed down the "true" path. However, if one of the outputs is less than 0, then the block outcome is false and the value 0 is passed down the "false" path.
The logic gate can be configured for any of the following gate types:
AND: If all incoming paths meet the condition, then the block outcome is true; otherwise, it is false.
OR: If at least one incoming path meets the condition, then the block outcome is true; otherwise, it is false.
XOR: If one, and only one, of the incoming paths meets the condition, then the block outcome is true. If more than one incoming path meets the condition, then the block outcome is false. This gate is also known as an exclusive OR.
K-out-of-N: If k out of n incoming paths (e.g., 2 out of 3 incoming paths) meet the condition, then the block outcome is true; otherwise, it is false. When you select this gate type, the Required Number of Paths field will appear, allowing you to specify the value of k.
The Condition and Condition Value fields allow you to configure the conditional expression of the block. The drop-down list in the Condition field includes the following relational signs:
= |
equal to |
<= |
less than or equal to |
< |
less than |
>= |
greater than or equal to |
> |
greater than |
FP<=% |
a special case where the conditional block itself draws a random number uniformly distributed from 0 to 100, and then evaluates whether the number is less than or equal to the condition value. |
<> |
not equal to |
For the condition value, as well as the outgoing "true" and "false" values, the expression can include:
Numerical values
Predefined mathematical functions (exp, log, sin, etc.)
References to any analysis workbooks
You can enter the equation manually, or you can use the function selector or the equation editor to assist you.
RENO resources, analysis workbooks and internal functions are automatically color-coded to assist in reading the equation. When the cursor is positioned on one of these items, a preview area appears and displays a summary of the item. If the item is a resource, you can click the View icon in the Preview area to open that resource's properties window.
IMPORTANT: All values and results are assumed to be in terms of the default unit specified for the database. See Using Time Units in RENO for details on how this may affect your analysis.
By default, if the condition evaluates to true, then the specified value will be passed down the "true" path and nothing will be passed down the "false" path. Similarly, if the condition evaluates to false, a value will be passed down the "false" path only. If you wish to pass a value down both paths regardless of the outcome of the evaluation, select the Continue Execution on Both Paths check box. This allows you to specify the values to pass to the opposite paths in each case.
In the example shown next, if the outcome is true, then the value "1" will be passed down the "true" path and the value 10 will be passed down the "false" path. Similarly, if the outcome is false, then the value 0 is will be passed down the "false" path and the value 5 will be passed down the "true" path.
If your block has multiple incoming paths, you can configure the block to not pass an output or compute a result until a certain number of those incoming paths have been executed. This allows you to control the number of inputs that the block processes at any given time. To do this, enter the required number of inputs in the Required Number of Executed Incoming Paths field in the Block Properties window. Starting in version 9.0.10, an asterisk (*) in this field means that all incoming paths are required. See Flowchart Configurations and Execution for an example.
© 1992-2015. ReliaSoft Corporation. ALL RIGHTS RESERVED.