What You’ll Learn 🤖
Define and structure Sequences: ordered blocks of commands executed step-by-step in DewesoftX
Navigate the Sequencer interface: use the Sequence, Test Cases, and Settings tabs
Insert and connect key Block types: Action, IF‑Decision, Wait, Delay, Repetition, Audio/Video, Macro, Calculation, Custom, File‑manager
Design simple workflows: Load setup → Wait for user → Start/Storing → Delay → Stop → Analyze
Refine sequences: add conditional logic (IF blocks), loops (Repetition), and delays for automation
Use Test Cases to define pass/fail criteria and repeatable workflows
Use Debug and Play mode to step through sequences, run automated tests, and voice-prompt operators
Handle advanced actions: custom blocks, external formulas, macros, audio/video notifications, and file management
Course overview
The course empowers users to automate entire test workflows in DewesoftX without programming. You’ll learn to drag-and-drop intuitive blocks—like Load Setup, Wait for User, Start Storing, and Analyze—into a visual sequence editor, then connect them using arrows to define execution flow.
Beginning with a basic sequence, you’ll quickly implement steps such as setup loading, automated acquisition, timed delays, and user-driven repeats. The course then guides you through adding decision-making via IF blocks, loops with Repetition and Delay, and user prompts or auto-feedback via voice or audio/video blocks. Using Test Cases, you can incorporate pass/fail conditions to streamline QA processes.
You’ll also learn advanced features: integrating macros and custom blocks for specialized logic, performing calculations within the sequence, managing files, and using the Debug panel to step, test, and perfect your sequence before deployment.
By the end of this course, you’ll be able to build automated, robust measurement workflows in DewesoftX—ideal for repetitive tests, standardized routines, operator-guided or unattended measurement sequences—maximizing efficiency and consistency across your test environment.
What is a sequence?
A sequence is an ordered list of procedural commands that DewesoftX executes one after another. It consists of building blocks (also called elements).
The order of elements is important because the execution flow begins at the first block marked with a grey dot and then follows the path defined by the arrow lines. The same elements can also appear multiple times at different positions in the sequence.
More precisely, a sequence can be defined as a function whose domain is a countable, totally ordered set, such as the natural numbers. Clear? No? That definition comes from the doctoral thesis on the sequencer written by one of our main programmers. Even if it sounds complicated, the sequencer is actually very easy to use. Let me show you how.
How the Sequencer works in general?
In DewesoftX, the Sequencer is located in Measure mode under the Setup files tab, as shown in the image.
If we look at the main screen of the DewesoftX Sequencer, we can see three main tabs: Sequence, Test Cases, and Settings (see image 3).
Sequence
On the Sequence tab screen, we can see several buttons (see image).
Under the Sequence section, we can create a new sequence or save an existing one.
Under the Diagram section, the Main button takes us to the main screen, while the Event button opens a new Event block section. The Custom button allows us to import a block or create a new one by pressing the + button.
In the Debug section, we can find two buttons: the Play button, which runs the created sequence, and the Debug button.
On the left side of the screen, we can see different Blocks, which are divided into four main categories: Action Blocks, Decision Blocks, Wait Blocks, and Others. Each of these block types performs specific functions that can be used when creating a sequence.
All blocks can simply be dragged and dropped into the main sequence screen (see image 5).
Example I: How to make a simple sequence?
Let’s create our first simple sequence to demonstrate how easy it is, before moving on to the details.
A common workflow consists of the following steps:
Load the setup
Perform the measurement
Review the data
Prompt the user to control the sequence
A new sequence can be created in Measure mode by going to the Setup files toolbar and clicking on the New sequence button.
The main screen of the Sequencer editor is divided into four areas:
Main toolbar – located at the top
List of available blocks – on the left
Sequence sheet – in the center
Property tab – on the right
Blocks can be added either by double-clicking their name or by using drag-and-drop into the main sequence area.
Adding blocks
As mentioned earlier, blocks can be added either by double-clicking their name or by using the drag-and-drop method to place them into the Main sequence area.
For this example, we want to perform the following steps:
Load the setup
Prompt the user to confirm that the measurement can be started by adding a Wait block
Perform an action in DewesoftX by selecting an Action block (there are many possible actions available under the DCOM structure)
Connecting blocks
Now let’s connect the selected blocks together.
As shown in Image 8, the blocks are already connected. This happens because they were added by double-clicking, which automatically links them one after another in the sequence.
If the blocks are not yet connected, we can link them manually by dragging the first block onto the next one in the sequence or by dragging the second block onto the first one.
The black arrow created between the blocks indicates a connection in a specific direction. Keep in mind that the arrow is usually directed downwards, so when moving blocks one over another, a downward-pointing arrow will be generated.
If we make a mistake, either by adding a module or creating a connection line, any element can be deleted by right-clicking on it and selecting Delete.
Setting block properties
Now that we have connected the modules, let’s set the properties of the building blocks.
First, select the block you want to configure, and then define its properties on the right side of the sequencer screen. The selected block will turn yellow.
In the upper Text Info section, define the name of the block that will appear while running the sequence in DewesoftX. The block name serves as a command, which the user needs to follow while performing the measurement.
Next, we can select the Output Voice option. This option will read aloud the Text Info using the Windows Text-to-Speech feature. In Windows, you can configure different human voices, which also enables accessibility for users with disabilities.
In our case, there are several applications where the user cannot easily look at the screen while performing a test, and for this purpose, the voice output option can be very helpful.
The Setup File section depends on the block. For the Load Setup block, we can define which setup file will be loaded. In our example, we prepared a simple setup in advance, called FirstTry. By clicking on the three-dot button, we can choose which setup to load. The selected setup name will also be displayed on the Load Setup block.
At this point, we can explain the meaning of Dynamic and Static links. If we choose a Dynamic link, the sequence will be saved separately from the setup in DewesoftX. If we choose a Static link, the setup will be saved together with the sequence. This way, when transferring measurements to another computer, we only need to move a single file, making the process easier and less error-prone.
Next, we select the Wait for User block. This block allows us to wait for user interaction, a trigger, or a specific value on the selected channel. At this stage, the only requirement is to inform the user what action to take, which can be defined in the Text Info field.
The Action block requires the selection of a DewesoftX event. There are many possible actions that can be performed with this block, but let's start with a simple one: the Start action. This action initiates the measurement.
Let's add a few more blocks to our example
First, add another Action block by dragging it below the Start block. A black line will appear at the bottom of the Start block, and when you release the mouse button, a new action module will be added and automatically connected to it.
Next, choose the Start storing action, and also add a Delay block from the left panel. This block pauses the sequence execution for a specified time period. Then, add two more Action blocks: Stop and Analyze, by dragging in Action blocks and selecting the appropriate actions from the list.
To view the structure of the sequence, refer to Image 15.
We can also add Decision blocks to the sequence. A decision can be made either by the user or by a formula. In this example, we will ask the user whether another measurement should be performed. Enter this text in the Text info field.
If the answer is No, then the sequence can be stopped, and no connection line is needed. If the answer is Yes, a new line must be drawn to a point above in order to repeat the execution.
At this point, we are already in Analyze mode (Analyze block). Therefore, add another Action block called Measure to return to Measure mode. Connect the positive branch of the If block (green tick) to the Measure action.
If another measurement is desired, the next step should be the Start of the measurement. Therefore, connect the Measure block to the Start block that we created earlier. See Image 16.
If you connected the blocks incorrectly, you can fix this by right-clicking on the connection line and selecting Delete, or by left-clicking on the connection line and pressing the Delete key on the keyboard.
Run the sequence
Once the sequence is built, save it by pressing the Save button. After saving, the sequence can be run by pressing the Play button. In real use, a sequence can be started directly from the start-up screen, but for testing purposes, the Play and Debug buttons are very useful for checking and fine-tuning the sequencer.
The sequence should now load the setup and display the top bar. There are several actions the user can perform:
Pause the sequence,
Stop the sequence, or
Skip one block of the sequence.
These buttons are always available. Depending on the selected block, additional buttons may appear. This allows the user to enter parameters, prepare measurements, and perform other necessary actions. At the Wait block, for example, the text information we entered will be displayed along with the Continue button (see image 18).
In this case, pressing the Continue button will start the measurement. The Delay block will store data for five seconds, during which the user must wait. After the five-second delay, the stored file will be reloaded, and the user will be asked whether another measurement should be taken.
If the answer is Yes, another data file will be stored.
If the answer is No, the execution will stop, and the software will return to the startup screen or the sequence editor.
Example II: Refining the simple sequence
Let’s refine the first example from the previous section.
This time, we will remove the user’s ability to interfere with the execution flow while still allowing them to enter important information about the measurement conditions. If you have exited the sequence editor, you can reopen it from the startup screen by selecting the desired sequence and pressing the Edit sequence button.
In the first example sequence, we will add a few more actions. It is possible to drag and drop blocks in the sequence window by holding the left mouse button. Move the cursor over the block carefully, making sure it does not switch to dragging the connection lines instead.
Now, add another Action between the Load Setup block and the Wait for User block. There are two ways to edit and add new blocks to the sequence:
First method (longer):
Click on the connection line between the Load Setup and Wait for User blocks, then press the Delete key on the keyboard. The connection line will be removed.
Add another Action block. Place it over the Load Setup block to connect them, and then manually connect the new Action block to the Wait for User block.
Second method (easier):
When only a single module needs to be added, simply place the new block below the block where it should be inserted. All other blocks will automatically be pushed downward, and the new block will connect to both the upper and lower blocks.
Next, define the added Action block as a Set Main Toolbar action in the DCOM window of the action block settings. This allows you to navigate through Dewesoft X menus just as if you were pressing the buttons manually. The sequence should now look like the one shown in Image 21.
In the property panel of the SetMainToolBar action, you need to enter the Tab and the Button name. In Image 22, you can see which elements are considered tabs and which are buttons in DewesoftX.
For this example, we want the software to prompt for the storage location before proceeding with the measurement. First, select Ch. setup as the TabName and Storing as the ButtonName.
If you want to prevent the user from changing screens or interrupting, blocking, or accelerating the execution of the sequence, go to Settings and disable the following options:
Show main toolbar
Show sequence action buttons
Show display property panels and channel selector
The option Show sequence control toolbar should remain enabled, as this toolbar contains the buttons required to operate sequencers that include blocks where the next action depends on the user’s choice.
Run the sequence now. This time, the sequence will stop at the Storing screen, allowing the user to enter the file name, storage conditions, and acquisition rate.
Please note that you no longer have the ability to control the execution of the sequence. The only available option is the Continue button. On the measurement screen, all properties are hidden.
In Analysis mode, the only available options are to either start another measurement or exit the sequence. With just a few simple settings, we have created a streamlined user interface for the end user, hiding all advanced features and thereby preventing mistakes during the measurement process.
Which blocks can be used in the sequence?
In the following sections, we will explore all the available blocks that can be used in the sequencer. Since the sequencer offers many possibilities, there are also many options to choose from.
Each block has a Text Info field that is displayed at the top. We have already seen its use in the short example, but it also includes an interesting feature: it can parse variables or channels and display them in the upper bar. Just as we can enter a variable in a formula, we can also enter it in the Text Info field.
During measurement, it will appear as a real value and will update according to the display refresh rate.
There are several types of blocks that can help you build your sequence:
Action block
IF block
Repetition block
Wait block
Delay block
Audio/video block
Macro block
Calculation block
Custom block
File manager
'Action' block
All the functions available through Dewesoft X’s programming DCOM interface are also accessible in the sequencer. This means the sequence is essentially a simple visual way to program the execution workflow, similar to what could be done in any external programming language. The commands are the same as those in the Dewesoft X DCOM interface. In this sense, the sequencer can also be viewed as an easy replacement for traditional programming languages.
An Action can be selected from the list shown on the right side under the DCOM structure section. Some actions include parameters that can be edited in the Parameters list. The Help window provides a short description of what each action does.
There are many possible actions, and the following section will go through them all in alphabetical order.
AO set manual
If the function generator is set to Manual output, the user can choose when the output will start.
The action works the same as if the user pressed the Manual button to start the function generator, as shown in image 29.
Analyze
This action switches DewesoftX to Analysis mode, just like pressing the Analysis button on the screen. See also the Measure action for comparison.
Export data
This action exports the data. It has been replaced by ExportDataEx, which includes more parameters. However, this function can still be used if the additional parameters are not required.
ExportDataEx
ExportDataEx exports the currently opened file with an extended set of parameters. Please note that the file must be open in Analysis mode for this action to be executed.
Several parameters must be defined:
Export Type
The export type specifies the format of the exported file. The available types are enumerated in the same way as the options in the Export drop-down list.
You can find all available export file types by navigating to:
Analysis mode → Select Data file → Export → File export
Value | Value description |
---|---|
0 | Flexpro (*.fdp) |
1 | Excel (*.xls) |
2 | DIAdem (*.dat) |
3 | Matlab (*.mat) |
4 | Universal File Format 58 (*.unv) |
5 | FAMOS (*.dat) |
6 | NSoft time series (*.dac) |
7 | Text (*.txt) |
8 | Sony (*.log) |
9 | RPCIII (*. rsp) |
10 | Comtrade (*.cfg) |
Custom exports must be enumerated with negative values, starting from -2. The available custom exports depend on the installed export (.exp) files. In the screenshot above, the list would look as follows:
Value | Value description |
---|---|
-2 | Replay |
-3 | Google earth KLM |
Time Axis:
The Time Axis setting defines how the time data will be exported:
Value | Value description |
---|---|
0 | Relative time |
1 | Absolute time |
2 | Trigger time |
3 | Pre Trigger time |
Export Data Type:
The Export Data Type setting specifies which data will be exported:
Value | Value description |
---|---|
0 | Full speed data |
1 | Reduced data |
Export Options:
This option defines which data will be exported at a reduced rate.
For example, if we want to export Min and Max, we need to enter:
1 + 2 = 3
.If we want to export Min and RMS, we need to enter:
1 + 8 = 9
.
This property is only relevant if reduced data is exported.
The values are taken from the following set:
Value | Value description |
---|---|
1 | min |
2 | max |
4 | average |
8 | RMS |
File Name:
This option defines the file name to be exported:
If the file extension is not defined, the default file extension will be applied.
If only the file name is entered (without a file path), the default export folder will be used.
If no file name is defined (field left blank), the currently loaded DewesoftX file name will be used.
Hardware setup
This action opens the Settings window of DewesoftX.
Load DBC
This action loads the DBC file for CAN ports. You must define the port number and the file name of the DBC library to be loaded. This is the same action as the DBC/XML Import found in the CAN setup.
Load File
This action loads a Dewesoft X data file.
If the file name is incorrect or not defined, a dialog will appear to allow manual file selection.
If the file path is not specified, the system will attempt to load the data from the main data folder of the currently selected project.
Load Project
This action opens a project file. It loads the sequence along with the project files and setups. This allows you to load different projects and different setups within a single sequence.
Load Setup
This action loads a setup file. A valid file name must be defined. This action is equivalent to the Load Setup main block.
Measure
This action switches Dewesoft X into Measure mode. It is the opposite of the Analysis action and has the same effect as clicking the Measure button.
Measure Sample Rate Ex
This action changes the measurement sample rate (Dynamic acquisition rate). The property MeasureSampleRate must be set to the desired new rate.
New Setup
This action opens a new setup. It is equivalent to selecting the New Setup option from the DewesoftX menu.
Pause Storing
This action pauses data storing. It is equivalent to pressing the Pause button and works in conjunction with the Resume action.
Note: DewesoftX must be in Measure mode and actively storing data for this command to be valid.
Print Screen
This action creates a screen dump and sends it to the printer. It is the same as using the Print command in Analysis mode.
Reduced Rate
This action sets the reduced data rate.
Note: You must be in Measure → Setup screen for this command to be valid. It is equivalent to the Static acquisition rate entry field.
Resume storing
This action resumes storing if it has been paused. It is equivalent to pressing the Resume button and works in conjunction with the Pause action.
Note: DewesoftX must be in Measure mode, actively storing data, and in a paused state for this command to be valid.
Save Setup
This action saves the setup under the defined file name. If no file name is provided, it saves the currently loaded setup.
Send Key
This action sends a keystroke to Dewesoft X. The Key parameter corresponds to the key code defined by the character map.
Set Instrument
This action changes the displayed screen. The ID parameter defines the main screen index. This command is valid only in Measure mode.
For example (as shown in image 37):
0
sets the Recorder1
sets the Overview2
sets the Scope3
sets the Custom
Note: The ID parameter works regardless of the display’s name.
Set main data dir
This action sets the main folder of the data.
Set main toolbar
This action is very important as it sets DewesoftX to a specific mode.
The TabName property defines the name of the main toolbar. You must enter the name of the toolbar (e.g., Ch. Setup, Measure, Print, etc.).
Note: Some tabs are not always available and depend on whether DewesoftX is in Measure or Analysis mode (see image 38).
The ButtonName property defines which main menu button will be selected.
Note: It is important to ensure that the chosen button is available in the selected toolbar.
Set screen index
This action changes the sub-display. If the main display has multiple sub-screens, this action allows switching between them.
Set store mode
This action sets the store mode. Possible values are:
Value | Value description |
---|---|
0 | always fast |
1 | always slow |
2 | fast on trigger |
3 | fast on trigger, slow otherwise |
Setup sample rate
This action changes the setup sample rate. It works similarly to the Channel Setup Sample Rate option available in the Settings window.
Note: DewesoftX must not be in acquisition setup mode when this parameter is set.
Setup screen
This action switches DewesoftX to Setup Screen mode.
Shown property frame
This action shows or hides the property frame and channel list while in measurement mode.
Show SR options
This action shows or hides the sample rate panel in Ch. Setup → Storing and Ch. Setup → Analog tabs.
Show Store Options
This action shows or hides the storing options in Ch. Setup → Storing and Ch. Setup → File details.
It is useful if you want the user to be able to change the header entries but not the file name.
The property is defined as True or False.
Start
This action starts the measurement.
Start Storing
This action starts storing the data.
Note: DewesoftX must be in Measure mode for this command to work. It is the same as pressing the Store button.
Stay on Top
If the property StayOnTop is set to True, DewesoftX will always remain on top, even if another application is in focus.
Stop
This action stops the measurement.
'IF' block
This block can be used to make a user decision. The decision is based on the user’s choice, where a question is displayed in the Text info field, and the user responds with Yes or No.
Another option is to make a decision based on a value. Any number of conditions can be added using the plus and minus buttons.
In the first field, you can select any channel and then choose one of the operators:
>
,<
,=
, or!=
(not equal).In the second field, you can either add a variable or enter a fixed value.
In addition, two other condition types are available:
File exists
Error state
'Repetition' and 'delay' block
Repetition block
This block is used to repeat a specific workflow a fixed number of times. The only property available is the number of repetitions.
Connect the Yes output to the blocks that need to be repeated.
Connect the No output to the blocks that should follow after the Repeat block.
Delay block
The Delay block is used to pause the workflow for a specified amount of time. The duration is defined in the delay field and is measured in seconds.
'Wait' block
This block is used to pause execution until a specific event occurs.
1. Wait for User Interaction
The block displays the Text info message and shows a Continue button.
Execution of the workflow resumes when the user presses the button.
The User wait can also be linked to a question in the Text info area, allowing the user to respond with Yes or No.
2. Wait for a Value
You can define conditions by adding them with the plus or minus buttons.
In the first field, select any channel and choose one of the following operators:
>
,<
,=
, or!=
(not equal).In the second field, you can enter either a variable or a fixed value.
3.Wait for a Trigger
The block can wait for either a start or stop trigger.
Note: DewesoftX must be in Store mode with triggering enabled for this option to work.
4. Other Wait Conditions
Additional options include waiting for:
Load setup
Stop storing
Stop playing
'Audio video' block
This block is used to play audio or video files, run slideshows, or output text-to-speech. A short video or audio instruction can be especially helpful for inexperienced users. Supported file formats include: .avi, .mkv, .mov, .mp4, .mpg, .wmv, .mp3, and .wav.
Another option is to create a slideshow. You can add any number of pictures and define the delay time between them.
The third option is text-to-speech. This feature reads aloud the text written in the entry field and outputs it through the speakers. A channel value can also be included—for example, if AI 0 = 40, the computer will say “Temperature is 40.”
'Macro' block
This block is used to record and replay a macro. By pressing Play Sequence and Record Macro, DewesoftX will execute the sequence up to the point where the macro needs to be recorded. At that point, you can operate the mouse, keyboard, or even record voice input during your actions.
When played back, DewesoftX will repeat the exact same actions as recorded.
'Calculation' block
This block is used to set variables or control channels. It allows us to configure data header values, internal variables used in math, or control channels that operate analog or digital outputs.
The first entry defines the channel we want to set. In the example below, we define a data header variable. Since this variable is set to Text, the value must be entered within double quotation marks.
If the variable is an integer or float, we can either enter a value directly or reference any DewesoftX channel using the full functionality of math formulas. For example, we can define a counter. In Project Setup → Internal Variable, I defined the variable CNT, which can be used as shown in image 51. On each transition through this block, the value will increase by 1.
This block can also be used to set control channels. In the example below, the frequency of the function generator is set to 50.
'Custom' block
This block acts as a black box that can contain multiple modules, helping to reduce the complexity of the main sequence. On the upper bar, you can choose to view the Main sequence, Event actions, or Custom blocks. By navigating to the Custom block tab, you can add a new block by pressing the + button.
Once the blocks are defined, they can be inserted into the main sequence one or multiple times by adding a custom block.
The only required setting for a custom block is its name.
'File' manager
This block is used to perform actions on files. For example, you can run an external program with parameters, delete files, copy files, or rename them. These operations are defined under Operation type and are described below in this chapter.
Open file
Opens or executes the file defined in the file name. This works similarly to the Start & Run option in Windows. Parameters for executables can also be defined.
Copy
The second option is to copy files. You can either copy a series of files or choose to copy the last stored file to a defined destination folder. This is often used, for example, to create backups on network drives.
Delete
Another option is to delete defined files or the last stored file. For example, you can prompt the user to confirm if a measurement is valid, and if not, automatically delete the last stored file.
Rename files
Finally, you can rename the last stored file to a different name, which can either be fixed or defined by the user.
Which are the advanced actions?
Example III: testing baloons with the sequencer
Page 1 of 17