The Gx5960 series DIO boards are able to perform real time conditonal branching/halting and recording when a compare error has been detected from a particular data pattern. Each data pattern contains two flags to help qualify any errors generated. The qualification (by way of Pattern Test Flags) allows the sequencer to determine if a particular pattern's error can cause a branch/halt and if it will be recorded in the EAM (Error Address Memory) or not.
Pattern Test Flags
Conditional Error Enable Flag: Each data pattern contains a Conditional Enable (CONDEN) flag that is used by the Conditional Logic to determine if a real time compare result generated by a particular data pattern will be used within a conditional error statement.
A list of conditional error statements are:- Halting on error (or NOT error)
- Jumping on error (or NOT error)
- Go subroutine on error (or NOT error)
- Looping on error (or NOT error)
Burst Error Enable Flag: Each data pattern also contains a Burst Error Enable (BERREN) flag that is used by the Error Address Memory to determine if an error generated by a particular data pattern will be recorded or not.
Note that the Error Address Memory stores up to 1024 real time compare error addresses. The Burst Error Enable flag does not have any effect on the Record Memory.
Either flag (CONDEN, or BERREN) can be set, or no flags set at all on a per data pattern basis.
The API function used to configure the pattern test is as follows:
VOID WINAPI GtDio6xSetPatternTestEnable (SHORT nHandle, LONG lPatternOffset, SHORT nEnable, PSHORT pnStatus)
After selecting the sequence step using the GtDio6xSelectSequenceStep function, this function can be called to apply a pattern test flag to a particular data pattern.
The possible values of nEnable are as follows:- GTDIO6X_STE_NONE - No Flags are enabled for the data pattern
- GTDIO6X_STE_COND - Only the CONDEN flag is enabled for the data pattern
- GTDIO6X_STE_BURST - Only the BERREN flag is enabled for the data pattern
- GTDIO6X_STE_BOTH - Both, CONDEN and BERREN flags are enabled for the data pattern
Sequencer Basis Settings
The sequencer uses the following three settings to determine if the Pattern Test Flags (CONDEN and BERREN) will be used or not:
Error Count Basis - Selection of the signal used for counting real time compare errors by the EAM- Local - Unqualified (all), locally generated real time compare errors will be used in the EAM Error Count
- Local BERREN - Only qualified (with the BERREN flag enabled) locally generated real time compare errors will be used in the EAM Error Count
- Domain - Unqualified (all), domain wide real time compare errors will be used in the EAM Error Count
- Domain BERREN - Only qualified (with the BERREN flag enabled) domain wide real time compare errors will be used in the EAM Error Count
Error Address Basis - Selection of the signal used to generate a real time compare error pattern/sequence address for use by the EAM- Local - Unqualified (all), locally generated real time compare errors will be recorded in the EAM
- Local BERREN - Only qualified (with the BERREN flag enabled) locally generated real time compare errors will be recorded in the EAM
- Domain - Unqualified (all), domain wide real time compare errors will be recorded in the EAM
- Domain BERREN - Only qualified (with the BERREN flag enabled) domain wide real time compare errors will be recorded in the EAM
Pass/Fail Basis - Selection of the signal used by the Conditional Logic to perform an action on a rela time compare error.- Local - Unqualified (all), locally generated real time compare errors will be used by the Conditional Logic
- Local CONDEN - Only qualified (with the CONDEN flag enabled) locally generated real time compare errors will be used by the Conditional Logic
- Domain - Unqualified (all), domain wide real time compare errors will be used by the Conditional Logic
- Domain CONDEN - Only qualified (with the CONDEN flag enabled) domain wide real time compare errors will be used by the Conditional Logic
The API Function used to configure the Error Count Basis and Error Address Basis is as follows:
VOID WINAPI GtDio6xSetErrorParameters (SHORT nHandle, SHORT nErrorCountBasis, SHORT nErrorAddressBasis, PSHORT pnStatus)
The API Function used to configure the Pass/Fail Basis is as follows:
VOID WINAPI GtDio6xSetPassFailParameters (SHORT nHandle, SHORT nPassFailBasis, SHORT nPassValidMode, PSHORT pnStatus)
Consult the Function Reference for more information on these functions.
The following diagram explains the concepts described above: