Tab: Tabular Editor
The tab contains a table with test cases, each of which are composed of test steps.
Test steps
A test step contains the actual testing of a state. In the test step, the inputs and variables of the function block to be tested are set and the behavior of its outputs is tested. For a successful test, the defined condition has to be fulfilled for the full duration of the test step.
Name | Test step name Created automatically when added Example: („Step1„, „Step2„, …) |
Duration | . Duration of the test step
|
Call |
A use case for deactivation results when there is a custom condition for the duration. For example, if you want to check a function block developed according to the CAA Behaviour Model. A possible test would be whether or not the output Step 1: Check for This duration is the condition Step 2: Check for Note: If called again, then |
<variable 1> | You can create any number of columns for variables to be written and read in a test step in one row. These variables are typically the inputs and outputs of the testee, but can also be other variables (for example, system states). An input can be recognized in the column by the IEC assignment operator The table columns for the individual function block variables can already have been created when the Test Table object was inserted. The columns can be supplemented, reduced, and edited at any time using the Edit columns dialog.
Depending on the column type (input or output variable), a corresponding list of choices is provided in the column of the tabular editor for setting the condition for the variable. For output variables, you can also define a separate failure mode (error handling) for each test case. Note: The check condition consists of the sum of all tests of the output variables. The configured test condition has to be fulfilled for the entire duration of the test step. |
Assignments and comparison operators
Tip
The possible comparison operators differ depending on the data type of the value to be compared.
Compare operator | Description | Shortcut |
---|---|---|
— | Skip: No evaluation | Space or - |
= | Equal to: A constant value (in IEC syntax) is specified here, and the value has to be equal to the default value. | e, q |
≠ | Not equal to | n, e |
> | Greater than | g |
≥ | Greater than or equal to | g, e |
< | Less than | l |
≤ | Less than or equal to | l, e |
↠ | Constant1: The variable retains its value in each cycle. The reference value is the value from the cycle before this test. Note: When defining a tolerance, a defined deviation is permitted. It is calculated as follows: Maximum value (all previous values including current value) - minimum value (all previous values incl. current value) <= 2 * tolerance value | c |
↘ | Monotonic falling1: The value in each cycle is less than or equal to that in the previous cycle. Note: When defining a tolerance, a positive increase within defined limits is also permitted. The test is then as follows: Current value <= minimum value (of all previous values) + 2 * tolerance value | f |
↘↘ | Strict monotonic falling1: The value in each cycle is less than that in the previous cycle. Note: When defining a tolerance, a positive increase within defined limits is also permitted. The test is then as follows:
| f, f |
↗ | Monotonic rising1: The value in each cycle is greater than or equal to that in the previous cycle. Note: When defining a tolerance, a negative increase within defined limits is also permitted. The test is then as follows: Current value >= maximum value (of all previous values) - 2 * tolerance value | i |
↗↗ | Strict monotonic rising1: The value in each cycle is greater than that in the previous cycle. Note: When defining a tolerance, a negative increase within defined limits is also permitted. The test is then as follows: Current value > maximum value (of all previous values) - 2 * tolerance value | i, i |
⊢ | Edge1: The value has to be identical in this cycle, but has to have had a different value in the previous cycle. | e, d |
[;] | Range: Specified by a lower and an upper limit If the lower limit is less than or equal to the upper limit, then the value to be tested has to be within this range (limits included). If the lower and upper limits are identical, then the value has to be equal to the two limits. If the lower limit is greater than the upper limit, then the value has to be outside the specified range (less than the upper limit or greater than the lower limit). | r |
± tolerance | Value comparisons can be specified with a tolerance so that the tested value can be within a defined range. | |
1: This comparison procedure requires a comparison value from the previous cycle to perform the comparison. Because this comparison value is not available for the first step of the test case, the comparison procedure must not be used for the first test step. |
Comparison Operator ( | Description | Shortcut |
---|---|---|
— | No evaluation | Space or - |
TRUE | t | |
FALSE | f, | |
↑ | Rising edge1 | r, e |
↓ | Falling edge1 | f, e |
↠↑ | Constant or rising edge1 | c, r |
↠↓ | Constant or falling edge1 | c, f |
↑↓ | Toggled1: Rising or falling edge | g |
1: This comparison procedure requires a comparison value from the previous cycle to perform the comparison. Because this comparison value is not available for the first step of the test case, the comparison procedure must not be used for the first test step. |
Assignments ( | Description | Shortcut |
---|---|---|
— | No evaluation | Space or - |
TRUE | t | |
FALSE | f | |
↑↓ | Toggled: Rising or falling edge | t, o |
Failure mode
Failure mode | Shortcut | |
---|---|---|
- | The inherited mode is used. If no mode is defined, then the test case execution is aborted (default behavior). | Space |
! |
| c |
!G |
| g |
!! |
| t |
!!! |
| r |