A. What is DemoApp2 not?
DemoApp2 is not an extension of the power supply nor is it necessary for using the power supply.
The application just offers a way to control a range of features of the power supply without needing to learn the ASCII commands that tell the power supply what to do and sending them using a terminal program. The whole logic is still performed in the power supply. Depending on type and firmware version not all abilities of your power supply may be reflected in the GUI or accessable using the GUI.
B. What is DemoApp2?
DemoApp2 is an application based on LabVIEW (Version 2011SP1) to demonstrate the main abilities of Kniel power supplies and to offer an easy way to get to know theses abilities.
1. Download and installation of DemoApp2
1.1 Installer including the LabVIEW runtime engine
Download the ZIP archive with the installer including the runtime.
Unzip the archive and run the included application setup.exe to install the runtime and the application. If not yet present, the installer will create a separate directory named Kniel System-Electronic GmbH in the program directory of your computer (usually C:\Program Files (x86). All applications from Kniel will be installed in separate directories within. Elevated permissions might be needed for installation.
1.2 Application only (if the current LabVIEW runtime engine is already installed on the PC)
If a suitable LabVIEW runtime is already installed on the computer, download the ZIP archive without installer.
Unpack the ZIP-archive and put all included files and directories into one common directory. If you already have a previous version installed, you can overwrite the old files with the new ones.
2. A short introduction to DemoApp2
- Run the file DemoApp2.exe
- The user interface is based on an index card with one or more row of tabs at the top.
A column on the left displays the most important information and a range of operating controls permanently:
- An indicator LED to signal the state of the timeout loop (Fetching data)
- A switch to toggle the software enable
- Vout, Cout, Pout: the current values as reported by the power supply (see status request).
- A column of LEDs, for the meaning please refer to the user manual (description) of the power supply
- A column of switches, for the meaning please refer to the user manual (description) of the power supply
- Save setting: causes the power supply to save its settings into the non-volatile memory
- Recall settings: causes the power supply to load the settings stored in non-volatile memory
- Confirm error: confirms an error
- Reset unit: restart the power supply without saving changes made since the last save. Not saved changes will be lost.
- Node number: currently active node number and all other recognized node numbers
- Memory bank: depending on the power supply, usually 50 banks numbered from 0 to 49
- Operation Mode: CONFIGURATION, LAB, STANDARD or SEQUENCE
- Control Mode: LOCAL or REMOTE
- The status of the analog interface: not available, set to ON or OFF either via the EEPROM or DIP-switches (depending on type of power supply)
- Stop VI: stops the excution of DemoApp2
- Quit: stops the execution of DemoApp2 and the LabVIEW runtime
Please note: Changing values using the graphical user interface (GUI) of DemoApp2.exe may appear unresponsive. This is due to the programming structure of the application. When the application does not detect user input for 100ms, a timeout routine starts and fetches the current values from the power supply to display them in the GUI. This is indicated by the square green LED in the upper left corner marked with Fetching data. As long as the LED is lit bright green, data from the power supply are fetched. The timeout loop cannot be interrupted. Only after the whole routine has run, user interactions are processed.
Also before a new value can be sent to the power supply, a running timeout loop has to finish its current run. Now the new value has to be sent to the power supply and the power supply is given time to process the new setting or produce the answer to a query. Only then the new value is read from the power supply to be displayed in the GUI. This is also the explanation why it might look like the change of a setting in the GUI is reverted immediately only to be implemented fractions of a second later.
If you use the stepper buttons left of an numerical input, the routine mentioned above runs for every click on one of the arrows. For sliders like for the thresholds in the tab Configure LabVIEW sends the new value to the power supply for every increment value. So if you want to change values fast (especially if the current value and the new value are far apart), it is recommended to put in the numerical value directly from the keyboard.
This tab has several sections:
Set the parameters of the serial connection
Set the serial interface (COM-Port, real or virtual) to use as well as the wanted baud rate. The baud rate must match the setting of the power supply. The default baud rate is 56700.
The settings can be saved into a file which will be placed in the user home with the button Save settings:
If this file exists when the application starts, the settings will be read from it and displayed. The file is overwritten with the current settings by clicking on Save settings.
Some power supplies can be daisy-chained using serial connections. To be able to address each of the chained power supplies exclusively, each power supply has to be configured with a unique node number in the range from and including 1 to and including 127. The default setting of a power supply is node number 128, which means stand-alone mode.
To find the node number of connected power supplies, click on Connect. The default node number 128 is checked first. If a node with number 128 is found, scanning stops and a connection is made. If no node with node number 128 is found in the first step, a scan through the whole range (1 to 127) will follow. Found node numbers will be listed in the test box and in the drop down list Node number below. If only one node number is found (even in the range from 1 to 127), the VI immediately connects. If there is more tan one found node number, you have to choose manually.
About the connected power supply
After the connect the power supply answers with a multitude of information about itself:
- Type: the ordering name (eg VE1PUID…)
- Article#: the article number
- Serial#: the serial number
- MAC address: for units with the optional LAN interface
- Last calibration: the date of the last calibration of the unit
- Operating hours: operating hours since the last calibration
- Output voltage range: the lower and upper settings for the output voltage
- Output current range: the lower and upper settings for the output current
- Output power range: the lower and upper settings for the output power
- Memory banks: information about the physical and configured number of memory banks
- Interfaces: information about available interfaces and the way to configure them. Also information about the current interface of the power supply and the active interface after a reset
Information about the software of the power supply
- Active firmware: the power supply is running using this firmware version
- Original firmware: the power supply was delivered with this firmware version
- Firmware update: last successfully flashed firmware version
- CL: compatibility level if the installed version of the firmware
After succesfully connecting the headline in the frame of the application window will display the type, article number, serial number and compatibility level of the connected power supply.
The set values Vout, Cout and Pout as well as the limits (minimum and maximum of the set value) for all three parameters can be influenced here. All values correspondent to the currently chosen memory bank. The values of the limits are interlocked: both variables can have the same value, but the minimum value cannot be larger than the maximum value. The change of the values will be represented in the chart.
For voltage and current there are four controls with numeric inputs for slope values. The upper row configures the increasing and decreasing common values, below are the settings for the respective values for the currently chosen memory bank. Slopes for output power are not yet implemented in the current firmware but are planned to be available in a future release.
For all numeric controls: value change can be made by using the input fields either by typing in a value or by using the stepping switches.
On the right a diagramm shows the current output values and allows the user to scroll back. It is preset to show the last 60 seconds, the x-scale shows the relative time since the start (or last reset) of the VI. The y-scales of the chart will adjust to the nominal values of the connected power supply and show the range between +120% and -20%.
The colours of the plots correspond to the colour of the manipulated variable. The lower limit is represented with a dashed line while the upper limit is shown with a dotted line. The display of the limits can be toggled with the according switch Show limits. With the switch Fill limit range the colour of the area between the limits of one variable can be altered.
Above the diagram are the controls for Voltage Fail.
5. Tab Configure Statuses & Errors
The interface to configure some more advanced features. In the upper part the status logic for the three main criteria of the power supply (output voltage, output current and output power), in the lower part for the error logic for all three quantities.
6. Tab Monitor Statuses & Errors
A simple interface that offers an overview of all available status and error values
The output will be disabled while the memory banks are being read from or written to the unit.
The interface offers four general functions:
Read memory bank data from unit
The dropdown offers the choice to choose either all memory banks or only one.
The content of the memory bank(s) is read from the power supply and displayed in the table. The number of the currently read memory bank is displayed. If the table is still empty and no memory banks have been read from the power supply, all memory banks will be read.
Send memory bank data to unit
The dropdown offers the choice to choose either all memory banks or only one. The content of the table as is will be written into the power supply and made active immediately. The number of the currently sent memory bank is displayed.
To save these contents of the memory banks into the non-volatile memory of the unit, use the button Save settings on the left.
Save all memory bank data to file
The current content of the table as is will be written to a file in the user home:
The application includes some metadata into the file:
- Date: the date, when the table was transferred into the file in the format YYYY/MM/DD-hh:mm:ss
- Type: the type of unit from which the readout was created
- Article #: the article number of the power supply
- Firmware: the active firmware version of the power supply at the time of creation of the file
- Serial #: the serial number of the power supply from which the information were stored
Load all memory banks from file
The user gets to choose a file from which the information should be transferred into the table. If the chosen file is properly formatted, the included metadata are shown.
Note: The import transfers the data only into the table, not to the power supply!
When loading a CSV-file into the application, two checks are being performed:
- At first the type of the currently connected power supply will be checked against the respective value stored in the CSV-file. This test uses the article number. If these two values don't match, the user has to decide whether to use the data file or not.
The second test compares the complete firmware version string from the currently connected power supply with the one stored in the CSV-file. Again the user has to decide whether to use the data file or not if these two values don't match.
Background: Different versions of the firmware may support different feature sets whose values are stored in the memory banks. Thus a memory bank can have differences in length depending on the firmware version of the power supply. E.g. memory banks of a unit with firmware version 05.xx.xx are 4 fields longer (due to the newly implemented slopes) than memory banks from a unit with firmware version 03.xx.xx and are mutually incompatible.
8. Tab Sequences
- This tab will only be active if the connected power supply is in operation mode Sequence.
- All calculations for sequences (timings, ramps etc.) are performed in the power supply. It is possible that very short sequences or steps may not or cannot be represented in the GUI. If properly configured, they are performed nonetheless.
- Transferring the sequence data to the application ist not necessary to run a sequence. The table is just a tool for editing.
An interface to configure and control the two sequences. Each sequence consists of a given amount of steps, the whole sequence can loop for a given number of times or run ad infinitum. Each step will use a memory bank as setting for the output values. The user can set a time for each step and a stretch factor for the whole sequence as well as the form of transition between steps. Sequences can run automatically or manually in a step-by-step mode.
A configured sequence will run immediately when the power supply is in operation mode SEQ and the output is active.
The firmware of a sequence-capable power supply includes an example sequence. Read the sequence data from the power supply and choose Sequence 0 to see its settings.
No data has been transferred from the power supply to the application yet:
In modus Standard sequences consist only of STEPs. The image show the status after all data of all STEPs have been transferred from the power supply to the application. The parameters for Q:STEP:TYPE and Q:STEP:MODE are always managed as numbers (which have to be transferred as strings) in the power supply, for easier traceability the switch Display… allows to toggle between numerical and textual representation in the application.
In mode Advanced a sequence consist of SUBROWs, SUBS and STEPs. The image show the status after all data of all SUBROWs, SUBS and STEPs have been transferred from the power supply to the application:
To enhance the traceability of the relations between SUBROWs, SUBS and STEPs, the switch Highlight relations… activates the highlighting of connected elements. This image (taken after a sequence has ended) shows the connection of SUBROW 1, SUB 1 und STEPS 2…4. Highlighting needs to be enabled and (in this case) Hightlight SUBROW# 1 is chosen.
Editing the configuration of SUBROWs, SUBs and STEPs:
First read all SUBROWs, SUBs and STEPs from the power supply to fill the tables. Alternativly previously stored CSV files can be used to fill the tables. To change the settings for one (or more) SUBROWs, SUBs or STEPs, click the button CONF right to the corrsponding table. The new window allows the configuration of all parameters. Choose a SET value and alter its parameters. Transfer the new settings into the main window and simultaneously into the power supply to activate them. Close the window with a click on Close Editor.
During the run of a sequence the currently active SUBROWs, SUBS and STEPs are highlighted and kept in the visible part of the respective table. In the example SUBROW 2, in it SUB 2 and in it STEP 6 is executed. The Während des Ablaufs einer Sequenz werden die momentan aktiven SUBROWs, SUBS und STEPs hervorgehoben und im sichtbaren Teil der jeweiligen Tabelle angezeigt. Im Beispiel wird SUBROW 2, darin SUB 2 und darin STEP 6 ausgeführt. Manual highlighting is disabled while sequences are running.
9. Tab Terminal
A simple interface to interact with the connected power supply. The user enters a command or query (for both please refer to the user documentation) in the field User input and clicks on Send command (the ENTER key should work, too). The power supply answers in Power supply output.
Inputs and corresponding answers are listed for reference (newest on top), the history can be deleted. Occuring errors are explained verbally in the Error console at the bottom.
Status request: toggles the state of a timeout routine (active/inactive) that does the polling of status information from the power supply after 250ms without user interaction.
CAUTION: Disabling the status request can be useful for debugging purposes, but many functions of DemoApp2 rely on the influx of these data from the power supply and will not work properly without them. If the timeout routine is disabled, value changes in the power supply will not be represented in the user interface although value changes will be performed. The operation of the power supply itself is not influenced by this switch and will carry on regardless of its setting.
11. Tab Internal resistance, Load share
11.1 Internal resistance
12. Tab Configuration backup, Factory reset
Configuration backup and restore: backup a range of settings, that are not stored in the memory banks, to a file. A check for compatibility is done when a file is imported into a power supply.
Save mode: Setting to control whether the power supply should store changes of set values immediately to the non-volatile memory or not.
Recall factory settings: Choose how the memory banks should be filled after a reset to factory setting. Several options (modes) are available via a dropdown, the button perfoms the reset.
13. Tab Analog Interface
These settings are appropriate for power supplies with the option analog interface (option /AN) only. If a unit without this option is connected, the tab will be deactivated.
Activate the analoge interface:
The programming voltage of the power supply is displayed. A switch allows to toggle the control between the current memory bank and the analog interface.
Edit the scaling of the analog interface:
Use this feature to calibrate the analog inputs of your power supply to comply with your programming voltage.
CAUTION: Common values for slopes set in the tab Control still apply if the analog interface is active.
Inquire for information
Sending your email. Please wait...
Thanks for sending your email! We'll get back to you shortly.
There was a problem sending your email. Please try again or send us a message to email@example.com.
Please complete the mandatory fields (marked by red stars) in the form before sending.