A Frame is a grouping of fields. Not all protocols or other parsers will generate frames. In some cases, there is no inherent framing of the data; it is just a stream of data. For example, the output from an A/D converter is a series of measurements. There is no 'first' measurement or other grouping. In this case, you might choose to frame them into chunks of 16 readings each for better readability when displayed in tables. But in general, there is no real framing. For this example, a plug-in could generate all fields with StartField() calls. In another example, assume this mythical A/D converter converted 4 channels of data, each in turn. In this case, there is a natural framing of 4 readings in each group. Your plug-in would send the first reading with a StartFrame() call and the next 3 readings with StartField() calls. Then it could optionally generate an EndFrame() call to terminate the frame if you wanted to see IDLE time before the next frame. Each field could use a different field format to name the fields CH1,CH2,CH3 and CH4. This would enable you to use searches to find things like: 'Find a frame in which CH3 < 0x59 and CH4 > 0x55'. Framing affects waveform display formatting, table list formatting and search capabilities.