HWSW

Hardware Software

DAQ

Data Acquisition

www.hwsw.io

06 August 2022

Table of Contents

1Getting started
1.1Executable
1.2Installer

2Chart recorder
2.1General
2.2Menu
2.3Charts
2.3.1Scale
2.3.2Scale legend
2.4Queue size
2.5Advanced features
2.6DAQ card
2.7Simulate
2.8Controls and indicators functions

3Analyzer
3.1Menu
3.2Graphs
3.3Export data
3.3.1Excel file of all channels
3.3.2Clipboard/DIAdem/Excel/Image of one visible channel
3.3.3Cursors
3.3.3.1Functions
3.3.3.2Format
3.4Controls and indicators functions

4Converter
4.1Menu
4.2File types
4.2.1Comma separated values

5General
5.1Menu navigation
5.2Tabbing through elements
5.3LabVIEW controls
5.3.1Arrays
5.3.2Clusters
5.3.3Axis adjustments
5.4Format into string functions
5.5Math functions
5.6Marco functions
5.7Controls and indicators functions
5.8Symbols
5.9Unit conversion

6Contact information

1Getting started

The application “DAQ” consists of the three applications “HWSW DAQ Converter”, “HWSW DAQ Chart recorder” and “HWSW DAQ Analyzer”.

Ensure the correct National Instruments LabVIEW Runtime Engine(s) and National Instruments DAQmx Drivers are installed.

1.1Executable

Follow the next steps to use HWSW DAQ by copying the executables.

Download the file “HWSW DAQ xx-xx-xx-xx Executable.zip” and extract it.
Run the batch file “Setup\Setup.bat” in order to copy the application to the recommended folder “C:\Users\Public\Programs\HWSW\DAQ”.
Run the batch file “Setup\Start menu - All users - Run as Administrator.bat” as an Administrator in order add shortcuts to the Windows Start Menu at “HWSW\DAQ” for all the computer users.
Run the batch file “Setup\Start menu - Current user.bat” in order to add shortcuts to the Windows Start Menu at “HWSW\DAQ” for the current computer user.

1.2Installer

Follow the next steps to use HWSW DAQ by installing the installer.

Download the file “HWSW DAQ xx-xx-xx-xx Installer.zip” and extract it.
Run the setup “Setup.exe”.
The shortcuts are located in the Windows Start menu at “HWSW\DAQ” for all the computer users.

2Chart recorder

This data acquisition software can measure and store electronic signals.

The application “Chart recorder” is located at “Start Menu - HWSW DAQ”.

2.1General

A channel name isn’t allowed to contain any of the characters ¬ " % * . / : < > ? [ \ ] | .
Also the next special characters aren’t allowed:
\nMatches a newline character
\tMatches a tab character
\rMatches a carriage return character
A channel name isn’t allow the start with _ or a number.
Channel names starting with a number, duplicate channel names are automatically renamed to “Untitled <channel group> <channel number>”.

2.2Menu

File - Record (File:Record/File:Record:False/File:Record:True)
Saves a DAQ file and use the last saved file name. See “File - Record...” for more information.
File - Record...
Only the characters a–z A–Z 0–9 ^ & ‘ @ { } [ ] , $ = ! - # ( ) % . + ~_ are allowed.
If the default file name is adjusted ensure the application doesn’t try to record the file to an existing file because this causes an error.
In order to generate a file name automatically the following texts are replaced:

Don’t fill in the file extension in the “File name” with the file dialog.
The string “%counter” is replaced with lowest number available starting from 001 to 999. This number is determined before recording the *.tdms file.
File - Folder
Open the folder which contains the last recorded data file and select the data file.
File - Properties
Adjust the “Title” and “Description” of the *.tdms file to be recorded.
File - <File name>
Open recently recorded file.
File - Exit (File:Exit)
Close the application. All the settings are saved and reloaded at start-up.
Tools - Acquisition - AI Run (Tools:T Acquisition:AI Run/Tools:T Acquisition:AI Run:False/Tools: T Acquisition:AI Run:True)
Start or stop the data acquisition of the channel group analog in. When an error occurred the acquisition is stopped. Solve the error and restart the acquisition.
Tools - Acquisition - AI Pause (Tools:T Acquisition:AI Pause)
Pause the data acquisition of the channel group analog in.
Tools - Acquisition - AO Run (Tools:T Acquisition:AO Run/Tools:T Acquisition:AO Run:False/Tools:T Acquisition:AO Run:True)
Start or stop the data acquisition of the channel group analog out. When an error occurred the acquisition is stopped. Solve the error and restart the acquisition.
The data analog out is generated with “Math script AO”. If the analog out is stopped the data is not written to the buffer anymore. The analog output remains active until the queue, DMA and Onboard buffer are empty. The time is takes to empty the Onboard buffer is dependent on the sample rate of the output. The last output voltage will remain when the data acquisition is stopped.
Tools - Acquisition - AO Pause (Tools:T Acquisition:AO Pause)
Pause the data acquisition of the channel group analog out. The last analog output voltage is remained.
Tools - Annotations - Insert - Custom...
Insert an annotation at current sample of the data acquisition when the menu item “Custom...” is pressed. The annotation text can be altered afterwards.
Tools - Annotations - Insert - Annotation 1/12
Insert an annotation at the current sample of the data acquisition. The annotation text is predefined. See menu item “Settings - Annotations - Edit...” for more information.
Tools - Macro - Run (Tools:Macro:M Run)
Run the macro script. This menu items is checked if the macro is running. The shortcut for this menu item is “CTRL+SHIFT+R”.
Tools - Macro - Pause (Tools:Macro:M Pause)
Pause the macro script. The shortcut for this menu item is “CTRL+SHIFT+P”. This shortcut must be pressed for a longer time to abort the macro.
Tools - Macro - Stop (Tools:Macro:M Stop)
Stop the macro script. The shortcut for this menu item is “CTRL+SHIFT+S”. This shortcut must be pressed for a longer time to abort the macro.
Tools - Macro - Edit
Edit the macro script. See chapter “5.6 Marco functions” for more information.
Tools - Chart clear
Chart the chart of Analog Input channels.
Tools - Calibrate
Press the “Calibrate” button to calibrate the data acquisition devices. Ensure the data acquisition is disabled. For the M series the warm up time is 15 minutes and the calibration interval is 2 year.
Press the “Self test” to test the data acquisition devices and check the calibration.
View - Windows - Numeric
View the numeric values of the channels.
The settings are changed with the menu “Settings - Windows - Numeric”.
View - Windows - XY plot 1/XY plot 4
View the XY plot. Adjust the settings in “Settings XY plot 1” to “Settings XY plot 4”.
View - Folders - Application
Folder location of the application. The application is by default installed in the folder “C:\Program Files\HWSW\DAQ\Chart recorder”. If the application is used without an installer, thus an executable, the advised folder is “C:\Users\Public\Programs\HWSW\DAQ\Chart recorder”.
View - Folders - Application data
Folder location of the program settings.
The settings are located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Chart recorder”.
View - Folders - Profile
Folder location of the active profile.
The profile is located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Chart recorder\Profile”.
To execute LabVIEW functions when a profile is loaded place a function with the name “Start.vi” or “Start.lvlibp\Start.vi” (Packed Library) in the profile folder. These files must be created with the same LabVIEW version as the application. The connection pane of “Start.vi” is showed in Figure 2‑1.

View - Folders - Profiles
Folder location of the selectable profiles.
The profiles are located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Chart recorder\Profiles”. See menu item “Profile - Profiles ►” for more information.
Settings - Acquisition - Sample rate
Change the sample rate for the channel groups “Analog in”, “Analog out”, “Digital in” and “Digital out”.
Settings - Acquisition - Buffer size
Change the buffer size in seconds for the channel groups “Analog out” and “Digital out”. The larger the buffer size the lower the risk of an empty buffer, especially with high sample rates. The larger the buffer size the longer it takes before the output is stopped.
Queue element is the size of one queue element in seconds.
Queue is the size of the total queue in seconds.
DMA (Direct Memory Access) is the size of the memory in seconds.
A signal is generated with the output math script. The result is placed in the software queue. The data is moved from the queue to the DMA buffer. Finally the data is moved from the DMA buffer to the Onboard buffer of the DAQ card. From there it is written to the output. The size of the Onboard buffer is hardware dependent and is and not adjustable.
Settings - Acquisition - AO Data request condition
The data transfer request condition of the analog output from the DMA to the Onboard buffer can be “Onboard Memory Empty/Onboard Memory Half Full or Less/Onboard Memory Less than Full”.

Settings - Channels - AI time
View/Save “Time” channel.
Settings - Channels - AI hardware
This contains a list of all the available hardware channels and contains the same channels as the menu item “Settings - Channels - AI measure”. “Physical” is the channel name from the National Instruments DAQ device. “Label” is a custom label. “Name” is the channel name. “Range [V]” is the input voltage range of the hardware channel. “Scale type” is an array of scales applied to the measured channel and can be empty in order to measure the voltage. Select the index of the scale type and the scale type to add a new scale type. The active channel is surrounded with a blue line and the active scale is presented on the right. To add or adjust a scale type select it with the index and adjust the scale type Linear 1, Linear 2, Polynomial, RTD, Strain, Table, Thermistor, Thermocouple or Reciprocal. On the right sight of the window the scales values can be adjusted. During the adjustment of these values the channels can become disabled and thus greyed out. Press the left mouse button outside the controls to confirm the calibration value and enable channels.
Scale types are:

The scales are also explained at TDMS Create Scaling Information VI (NI).
Channels are displayed in an array where a channel, this is an element of the array, can be added, deleted or copied. See chapter “5.3.1 Arrays” for a description how the adjust arrays.
The “Reset” button clears the channel list and reads all the available analog input channels of the National Instruments devices.
Settings - Channels - AI measure
This contains a list of all the available measure channels and contains the same channels as the menu item “Settings - Channels - AI hardware”. To enable the data acquisition of the channel use the button “Enable”. The “Label” is indicated on the “Input panel”. The “Name” is the channel name. “Unit” is the unit of the channel. “Description” is a description of the channel. “Save” enables saving data to the *.tdms file. “Visible” enables viewing the data in a chart.
Settings - Channels - AI math
Destination channels of the math script “Math script AI”. The order of these channels determine the plot order of the charts.
Settings - Channels - AO hardware
Channels analog out settings. The data of these channels are created with the math script “Math script AO”.
Settings - Scripts - AI math
The math script for the channel group analog in. The available math functions are described in the chapter “5.5 Math functions”. The destination channels cannot be an acquired analog in channel (Channels AI). All the destination math channels are added to the group “Channel analog in math (Channels AIM)” and the unused are removed.
Settings - Scripts - AO math
The math script for the channel group analog out. The available math functions are described in the chapter “5.5 Math functions”. To apply an analog out math channel (Channels AOM) to an output the destination must be an analog out channel (Channels AO).
Settings - Annotations - Edit...
Change the predefined annotations. The annotations can be placed with the function keys F1 to F12. The text “%counter” can be placed anywhere in the annotation and is replaced with an automatically incrementing number. Each annotation number contains its own counter. The counter is resets when a new file is stored.
In order to generate an annotation automatically the texts from Table 2‑3 are replaced with the corresponding values.

Settings - Annotations - Open...
Import annotation settings from a file.
Settings - Annotations - Save as...
Save the current annotation settings in a new file.
Settings - Windows - Numeric
Display the analog in channel with a numeric indicator. The channels are selected with the control “Channels”. The update interval and front size can be change with “Interval” and “Font size”. The displayed numeric values are averages during each interval.
The format of these numeric values can only be edited in the settings files “Data channels AI time.xml” (AI time), “Data channels AI hardware.xml” (AI hardware / AI measure) and “Data channels AI math.xml” (AI math) with Notepad. In these files the element “Format” of the corresponding channel can be changed. By default the “Format” is an empty string where the format is determined by the LabVIEW function “Format Into String (NI)”. To overrule the default format use the LabVIEW “Format Specifier Syntax (NI)” for the element “Format”, this page also contains “Format Specifier Examples (NI)”.
Settings - Windows - XY plot 1/XY plot 4
The “X channel”, “Y channel” and “Period channel” can be selected. Each loop can be displayed with a different color if the periods are present in the “Period channel”. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”. This channel is created in the math script. “Number of loops” is the maximum number of loops to display simultaneously. If the number of “Plot colors” is more than the “Number of loops” the last “Plot colors” are not used. If the number of “Plot colors” is less than the “Number of loops” the colors will be repeated until the “Number of loops” is reached. The “Maximum loop duration” is the maximum time in seconds of one loop. Use a positive number to keep the beginning of the loop and use a negative number to keep the end of the loop. If the number is “Inf” no data will be removed. To ensure a proper operation the number of samples displayed in the “XY plot” is limited. If the “Period channel” remains the value “1” the data is always displayed in the “XY plot” and the loop colors are not changing. The data points where either the x or y value is “NaN” aren’t displayed in this window.
With “Chart recorder” the last acquired “Number of loops” are displayed. The last loop can be a partial loop.
Settings - Record - File location
The “Folder” and/or “File name” of a recorded file which is saved via menu item “File - Record...” can be forced with this option.
The default value for “Folder” is “<Not A Path>” which allows the user to choose the folder. If a folder is supplied the recorded file will be forced to be saved in this folder. For “Folder” the text “%UserDocuments” is replaced with “C:\Users\<User name>\Documents” and the text “%PublicDocuments” is replaced with the folder “C:\Users\Public\Documents”. Due to a LabVIEW bug the file dialog doesn’t accept the forced folder “C:\Users\Public\Documents”, but the files can be stored manually in this folder.
The default value of “File name” is empty which allows the user to choose the file name. A forced file name can be used by supplying a file name in this control.
A warning will appear if the user tries to adjust a forced “Folder” or “File name” within the file dialog. After the warning message the file dialog will re-appear with the corrected forced “Folder”/”File name”.
The file dialog isn’t used if “Folder” and “File name” are forced.
Settings - Record - File profile
This function is used to automatically use a profile from “Analyzer” if a *.tdms file is opened with “Analyzer”.
The profile can be adjusted with the control “File profile” and is a relative path to a profile (*.zip file) of the “Profiles” folder of the “Analyzer” application. The “File profile” is stored in a *.xml file with the same file name as each saved *.tdms file. The *.xml can be altered afterwards with, for example, Notepad. The *.xml file contains the profile used by the application “Chart recorder” and the profile to be used when the file is opened with the application “Analyzer”.
The “File profile” is set to “<Not A Path>“ if it isn’t located in the “Profiles” folder or a sub folder.
In order not to use change the profile when a *.tdms file is opened set the value of “File profile” to “<Not A Path>” by pressing the “Reset” button. Is this case no *.profile file is created when the *.tdms file is recorded.
Settings - Record - Trigger
Settings for automatic triggering starting or stopping the recording of the data file. The button “Enable” enabled or disables the triggering. The menu item “File - Record” must be selected in order to automatically record the data files.
A new data file is stored when the “Trigger channel” value is changing to “1”. The recording is stopped closed when the “Trigger channel” value is equal to “−1”.
Settings - Chart colors
The plot colors of the charts.
The controls “Plot area”, “Grid” and “Cursor” are applied to all the charts.
Plot area - Foreground: Border of the plot area
Plot area - Background: Plot area
Plot: Array of colors for the charts. The array size can be different than the number of visible channels. This array is repeated if the number of visible channels is larger than the array of the plot colors. Use an array of one element if all the visible channels must have the same color.
Settings - Chart y-axis
Window in order to adjust the y-axis scale settings of the displayed analog input channels easily. With this window the view can be adjusted with “Auto scale” (On/Off), “Zoom” (In/Out) and “Pan” (Up/Down). “Pan - Up” moves the displayed signal up by decreasing the values of the y-axis. “Pan - Down” moves the displayed signal down by increasing the values of the y-axis. These y-scale settings changes how the data is displayed. The displayed and recorded data values aren’t adjusted by changing these settings.
These settings can also be changed with LabVIEW menu options by pressing the right mouse button on the y-axis of the label.
Settings - TCP/IP messaging
Enable this function to share the measured analog input data with TCP/IP messaging. This function uses a buffer and is lossless. This function uses the LabVIEW STM library (NI).
The “AI” (analog in) consists of the next items:

Settings - Controls and indicators
This application contains controls and indicators which in most cases are linked to menu items, but in some cases linked to other functions of the application. By default these button are hidden and can be made visible and customized with two types or scripts.
Appearance: Script to adjust the appearance of the controls and indicators. This script is applied when a profile is loaded.
Position: Script to adjust the position of the controls and indicators. This script is applied when a profile is loaded and when a resize of the main window occurs.
See chapter “3.4 Controls and indicators functions” for more information.
Settings - Menu items
The “Tag” is unique for each menu item.
The “Name”, “Shortcut” and “Visible” properties of each menu item can be adjusted with the displayed array. The menu items in this window correspond to the displayed array.
The visibility of each menu item can be adjusted. If a (grand)parent is made invisible the child(s) of this (grand)parent will be invisible.
Also the visibility of the menu item “Profile - Profiles ►” with the tag “P profiles” can be adjusted. The “Profiles” (*.zip files) in this menu item can’t adjusted individually because these profiles are updated each time the menu is activated.
The “Name” of the menu items with the “Tag” “File 1” to “File 10” won’t be replaced because those menu items are file names, but the visibility can be changed.
The “Name” of the menu items with the “Tag” “Annotation 1” to “Annotation 12” won’t be replaced because those menu items are annotations, but the visibility can be changed.
Quick navigation through the menu can be done by pressing the ALT key and then the key of the underlined letter of the corresponding menu item.
To achieve this adjust the menu item name and place an underscore before the letter to underline.
A menu item with two underscores adds an underlined underscore if the two underscore aren’t located at the beginning of the menu item name.
A menu item starting with two underscores disables key navigation and displays the text after the two underscores, the following underscore(s) are displayed without an underline.
The underscores are removed if the menu is customized. This is because the LabVIEW function “Get Menu Items Info” doesn’t read the underscores.
The workaround is to disable the “Custom” button restart the application and look in the name menu items where the underscores are placed and add them manually to the custom menu items.
The settings controls “Custom” and “Menu items” are stored in the file “Menu items.xml” in “Profile” folder.
The button “Default” is loads the settings from “Menu items default.xml” file in the “Profile” folder to the controls “Custom” and “Menu items”. The files “Menu items.xml” and “Menu items default.xml” have the same layout. If the file “Menu items default.xml” doesn’t exist the menu items without any customization are copied the control “Menu”, the underscores in the menu item names underscores aren’t copied. The file “Menu items default.xml” must be created manually in the “Profile” folder. This file can be used for different languages.
If menu items are added/deleted due to an update of the application the elements in the files “Menu item.xml” and “Menu items default.xml” are changed accordingly these changes. The default “Name” and “Short cut” of added menu items are used.
It could be the case that an old “Name” and “Short cut” are used for a menu item because these are stored in the files “Menu item.xml” and “Menu items default.xml” and overrule the new “Name” and “Short cut”. In order to determine the new “Name” and “Short cut” disable the custom menu by turning the button “Custom” off, restart the application and check the “Name” and “Short cut” of each menu item in the main window of the application. Apply these changes to the files “Menu item.xml” and “Menu items default.xml” by editing these file with a text editor.
Only the menu items of the main window can be changed.
Profile - Open...
Open a profile from a *.zip file.
Profile - Save
Save the profile in the profile folder. This folder can be opened with menu item “View - Folders - Profile”.
Profile - Save as...
Save the profile to a *.zip file.
If the default file name is adjusted ensure the application doesn’t try to save the file to an existing file because this causes an error.
Profile - Profiles ►
During an update of the application the profiles in the folder “<Application folder>\Profiles” are deleted and replaced, thus don’t place custom profiles in this folder without having the profiles stored in another secure location.
When the application is started the profiles from the folder “<Application folder>\Profiles” are copied to the profiles folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Chart recorder\Profiles”, existing profiles are overwritten without a warning. Profiles that only exist in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Chart recorder\Profiles” remain.
This menu item contains selectable profiles which are located in the profiles folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Chart recorder\Profiles”. Only (sub)folders that contains *.zip files and *.zip files are added to the menu.
See menu item “View - Folders - Profiles” for more information.
Help - HWSW DAQ help
View this help document.
Help - HWSW DAQ videos
View videos about the application.
Help - License request
Read the website for more information:
www.hwsw.io/support/licenses/
Help - Serial number
Serial number supplied by HWSW.
Help - Update
Update the application. All the files and folders in the folder of the application folder are deleted before the application is updated.
This menu item is enabled if an update is available. The application is updated with an installer if the application is located in the folder “C:\Program Files” or else the executable is updated without an installer.
Help - Events view
Open the events log file “Events.txt” to view all events. Each computer user has their own events log file.
The events log file is located in the folder <Application data>. See menu item “View - Folders - Application data” for more information.
Help - Events clear
Clear the events log file “Events.txt”.
Help - Events report
Report the events to HWSW. This item is checked by default. This helps to improve the application. Each computer user has their own setting.
Help - About HWSW DAQ Chart recorder
View the “HWSW DAQ Chart recorder” version.

2.3Charts

2.3.1Scale

The time base of chart(s) and graph(s) can be adjusted. The auto scale of the time base of the chart(s) in the main window should always be disabled. This can be verified by clicking with the right mouse button on a numeric value of the x-axis from the lowest chart in the main window and ensure the option “AutoScale X” isn’t checked.

See chapter “5.3.3 Axis adjustments” for more information.

2.3.2Scale legend

The visibility of the scale legend can be adjusted by pressing the right mouse button on every position of the chart, except the scales and select “Scale Legend”.

The first row of the scale legend is the x-axis of the chart. The rest of the rows are the y-axis of the visible channels.

The first columns is the axis name.
The second column is the (un)locked symbol and indicate the auto scale of the axis. The auto scale of the first two channels (Channel AI 1 and Channel AI 2) are is enabled. Disable the auto scale by pressing the lock symbol.
The third column is the auto scale once button.
The fourth column allows to change the next settings of each scale: Format, Precision, Mapping Mode, Visible Scale, Visible Scale Label and Grid Color.

2.4Queue size

AI Queue size (Analog Input Queue size) is the number of queue elements of the analog input channels and is zero if the computer can process and store the acquired data fast enough.
AO Queue size [s] (Analog Output Queue size) is the queue size in seconds of the analog output channels and is equal to the applied settings is the computer can process and output the acquisition data fast enough.
AO Onboard buffer size [s] (Analog Output Onboard buffer size) is the buffer size of the memory on the data acquisition card.
AO Calculation [s] (Analog Output Calculation) is the average duration in seconds of the calculation of the math data of one queue element.
AO Onboard buffer usage [%] (Analog Output Onboard buffer usage) indicates how many percent of the data acquisition buffer card is used.
AO DMA usage [%] (Analog Output Direct Memory Access) indicates how many percent of the DMA is used.

2.5Advanced features

Analog Output Math Delay
To test the optimal settings for the analog output buffers and queue and extra wait function can be added. This simulates a high processor usage. The wait function is executed after each creation of a queue element for the math script.
The wait function can be enabled by opening the menu item “View - Folders - Profile” and open the file “DAQ AO Math wait.xml” and change the value “AO Math wait [ms]” to a larger number than zero. Then start “HWSW DAQ Chart recorder”. This add the control “AO Math wait [ms]” to the front panel. Change the value of the control to zero to disable the wait function and thus back to the default.

2.6DAQ card

2.7Simulate

A National Instruments data acquisition card can be simulated with NI MAX (National Instruments - Measurement & Automation Explorer).
In order to simulate a NI PCIe-6321 apply the next steps:
NI MAX - My System - Devices and Interfaces - Right mouse button - Create New... - Devices and Interfaces - Simulated NI-DAQmx Device or Modular Instrument - Finish - X Series DAQ - NI PCIe-6321 - OK
Test the simulated devices in NI MAX or use in “Chart recorder”. In “Chart recorder” the configuration of the channels is the same as when a real device is used. The National Instruments software automatically generates dummy data for the acquired channels.

There is also a method to replace the measured or simulated data with the data from a previous measurement. Only the measured channels from this previous measurement can be used. First save a measurement with “Chart recorder” in a *.tdms file. Convert the file with “Converter” by selecting the “Output type” “Simulate”. Only measured analog input channels are stored in the new file. The scale data is removed from the measured channels so “Chart recorder” can apply the scale settings to the data like it would do during a measurement. Also the channel “Time” is deleted from the new *.tdms file. See “Converter” menu item “Settings - Output type” for more information. Use the file from the “Output” folder and place it in the “Profile folder” of “Chart recorder” and name it “Simulate Data AI.tdms”. Once the acquisition of the analog input channels is started the data is loaded from this *.tdms file. The plotting of the data in “Chart recorder” stops at the end of the *.tdms file. Restart the acquisition of the analog inputs to do another simulation. Save the profile including the *.tdms file to start the simulation when this profile loaded and the analog input acquisition is started.

2.8Controls and indicators functions

There are additional controls and indicators available in “Chart recorder” and “Analyzer” that can be used beside or instead of the menu item. These controls and indicators can be adjusted with menu item “Settings - Controls and indicators”.
The appearance and the position of these controls can be adjusted with the script “Appearance” and “Position”. The appearance and position are adjusted when a profile is loaded. The position is also adjusted when the window of the application is resized.

3Analyzer

This is software to view and edit the data acquired. The data is stored in a *.tdms file.

The application “Analyzer” is located at “Start Menu - HWSW DAQ”.

3.1Menu

File - Open...
Open data acquisition file. After opening the file name of the file is displayed in the title bar. The data acquisition file uses the file extension *.tdms.
The folder “C:\Program Files\HWSW\DAQ\Analyzer\Data files” contains example files.
If the data acquisition file can’t be opened because it is an old version this file can be converted with the menu “File - Convert...”. See the chapter “4 Converter” for more information.
The profile settings are loaded before opening the data acquisition file if a *.profile file with the same name as the *.tdms file exists. The profile settings remain the same if the *.profile file doesn’t exist.
See menu item “Settings - Record - File profile” of the program “Chart recorder” for more information.
File - Folder
Open the folder which contains the last opened data file and select the data file.
File - Convert...
Convert an old version of the data acquisition file to the latest version. “HWSW DAQ Analyzer” can only open latest version data acquisition files.
If “Converter” is started from “Analyzer” with a when a file is opened the path from this file is used to start the conversions automatically. If “Converter” is started from “Analyzer” when no file is opened “Converter” is started without conversions.
File - Previous (File:Previous)
Open previous file.
File - Next (File:Next)
Open next file.
File - Save (File:Save)
Save current data with in the current *.tdms file.
File - Print
This function requires Excel and ActiveX.
Prints the visible part of the data from the charts to the default printer. Opens the Excel template “Charts.xltx” from the profile folder. This file is copied from the location “<Application>\Reports\Charts.xltx” if it isn’t located in the profile folder. The data, annotations and cursors are copied from the “DAQ - Analyzer” graphs to the Excel chart. The visible Excel sheets are printed before the document is closed.
The makeup of the charts in the sheet “Charts” from Excel template can be adjusted. Also the number of charts on this sheet can be adjusted. During the printing the sheet “Charts” are copied until there are enough Excel charts to print the graphs from “DAQ - Analyzer”. The unused charts are deleted. The data series from the Excel charts may not be altered.
The sheet “Settings” contains the setting “SettingsAnnotationsPositionVertical”. This is the vertical position of the annotations. The range is from 0 to 1. The value 0 puts the annotation at the lowest major grid line. The value 1 puts the annotation at the highest major grid line.
If the header or footer contains the string “%computername” it’s replaced with the computer name. The computer name can be altered by creating a tab delimited document “Computer name to name.txt” in the profile folder where the first column is the computer name and second column is the name to print.
Don’t change the things that are not mentioned because this results in an error.
File - Print...
Same as menu item “File - Print” except the Excel document remains open in order to select the print options. The document can be saved manually.
File - Properties
View the file properties in the “TDMS File Viewer” window. The properties of the file, the group “Data AI” (Data Analog In), channels in the group “Data AI”, the group “Data AI events (Data Analog In events) and channels in the group “Data AI events” are displayed. Also the data values and the graphs of the channels can be viewed. In order to view the scaling information select the channel from the “File contents” and the “Properties” tab. If the channel is scaled the properties “NI_Number_Of_Scales”, NI_Scale...” and “NI_Scaling_Status” are added to the channel. Press “Quit” to close this window.
File - <File name>
Open recently used file.
File - Exit (File:Exit)
Close the application. All the settings are saved and reloaded at start-up.
Tools - Cursors - Begin/end (Tools:T Cursors:Begin/end)
Move the cursors to the beginning and end of the visible part of the graphs.
Tools - Cursors - Center (Tools:T Cursors:Center)
Move the cursors from the invisible to the visible part of the graphs.
Tools - Cursors - Step previous (Tools:T Cursors:Step previous)
Search for the values “1” in “Left channels” and “−1” in “Right channels” respectively”. These channels are from the menu item “Settings - Cursors - Step”.
Move cursors to previous values. The cursors are moved to the beginning if the value is not found.
Tools - Cursors - Step next (Tools:T Cursors:Step next)
Search for the values “1” in “Left channels” and “−1” in “Right channels” respectively”. These channels are from the menu item “Settings - Cursors - Step”.
Move cursors to next values. The cursors are moved to the end if the value is not found.
Tools - Export - Cursors (Tools:Export:E Cursors)
To-do
Tools - Export - Header (Tools:Export:E Header)
To-do
Tools - Macro - Run (Tools:Macro:M Run)
Run the macro script. This menu items is checked if the macro is running. The shortcut for this menu item is “CTRL+SHIFT+R”.
Tools - Macro - Pause (Tools:Macro:M Pause)
Pause the macro script. The shortcut for this menu item is “CTRL+SHIFT+P”. This shortcut must be pressed for a longer time to abort the macro.
Tools - Macro - Stop (Tools:Macro:M Stop)
Stop the macro script. The shortcut for this menu item is “CTRL+SHIFT+S”. This shortcut must be pressed for a longer time to abort the macro.
Tools - Macro - Edit
Edit the macro script. See chapter “5.6 Marco functions” for more information.
Tools - Filter
This function filters data. This is done with the channels “Source channel”, “Filter channel” and “Destination channel” and are selected in the menu item “Settings - Filter”. The cursors displayed in “Source channel” determines the data to be filtered.
Example 1: “Source channel” is a measured channel. Before using this function the default value of “Filter channel” is made “1” with the math script. Save the file with “Filter channel”.
This menu item changes the data of “Filter channel” between the cursors to “NaN” (Not a Number) and multiplies “Source channel” with “Filter channel” and stores the result in “Destination channel”. Save and re-open the file to see the changes.
See “Example 1” in menu item “Settings - Filter” for additional required settings.
Example 2: “Source channel” is an automatically generated period channel. Before using this function the default value of “Filter channel” is made “1” with the math script. Save the file with “Filter channel”.
This menu item changes the data of “Filter channel” between the cursors to “0” and multiplies “Source channel” with “Filter channel” and stores the result in “Destination channel”. Save and re-open the file to see the changes.
This example ensures there is a quick overview of the filtered period(s) because “Filter channel” is always “1” and “0” and the filtered data.
See “Example 2” in menu item “Settings - Filter” for additional required settings.
Example 3: “Source channel” is “1”. Before using this function the default value of “Filter channel” is made “0” with the math script. Save the file with “Filter channel”.
This menu item adds a period to “Filter channel” starting at the left cursor (value “1”) and ending at the right cursor (value “−1”) and multiplies “Source channel” with “Filter channel” and stores the result in “Destination channel”. Save and re-open the file to see the changes.
This example ensures there is a quick overview of the created periods.
See “Example 3” in menu item “Settings - Filter” for additional required settings.
If the cursors of “Source channel” needs to step to the previous or next period align the cursors of these channels with the menu item “Settings - Cursors - Align”. Use the menu item “Tools - Cursors - Step previous” or “Tools - Cursors - Step next” to step to another period.
View - Cursors
Display the time and amplitude of the current cursor position. Math calculations can be done with the data between the cursors. See chapter “3.3.3.1 Functions” for more information.
View - Windows - Curve fit

This is an example of a curve fit. The sign of “a” and “b” is the opposite. When the steepness of a curve is changing by a factor 3 to 10 a new exponent is added to the equation of the curve fit.

Do a curve fit in the one of the visible graphs. The cursors of the graphs must be visible to change the data range of the “Curve fit”. “Y channel” is always selectable. “X channel” is selectable if “X channel enable” is true. If “X channel enable” is false the time base is created from the “Sample rate”. There next or previous channel can be selected with the menu item “Tools - Channel previous” or “Tools - Channel next”. The channels are decremented or incremented with the values “Channel x increment” and “Channel y increment”.

“Model description” specifies the formula string description of the model to which you want to apply a nonlinear curve fit. Model is a string describing the model equation. The formula can contain any number of valid variables. For example “a*(1−exp(−k*x))+b*(1−exp(−l*x))+c”.
“Parameters” is an array of strings of unknown parameters. For example “a, k, b, l, c”.
“X” specifies the independent variable.
“Termination” specifies the stopping conditions for the fitting process.
“Termination - max iteration” specifies the largest number of iterations of the fitting routine. If the number of iterations exceeds max iterations, the fitting process terminates.
“Termination - tolerance” specifies the relative change in the weighted distance between Y and the current fit. If the relative change falls below tolerance, the fitting process terminates
“Initial parameters” specifies the initial guess for best fit parameters. The length of initial parameters must equal the length of a in f(x,a). The success of the nonlinear curve fit depends on how close the initial parameters are to the best fit parameters. Therefore, use any available resources to obtain good initial guess parameters to the solution before you use this function.
“Best fit parameters” returns the array of parameters that minimizes the weighted mean square error between the best nonlinear fit and the observations in “Channel y”.
“Covariance” returns the matrix of covariances. Cjk is the covariance between a[j] and a[k]. c[j] is the variance of a[j]. This VI generates the covariance, C, according to the following equation:
C = (1/2)D^−1
where D is the Hessian of the function with respect to its parameters
“Residue” returns the weighted mean square error between the best nonlinear fit and Y.
“Error” is (.
“Fit busy” indicates if a fit is busy.
View - Curve fit - File - Export
Export the following data to the file “!Export curve fit.txt” which is located in the same folder as the data file:
Data file, X channel, Y channel, Cursor 0 Index, Cursor 1 Index, Cursor 0 time, Cursor 1 time, Curve fit parameters.
When a new fit is export the result is added to the end of the file. When an existing fit is exported the result is updated.
Curve fit - File - Exit
Close the “Curve fit” window.
View - Curve fit - Tools - Left cursor decrease
Move the left cursor on position to the left.
View - Curve fit - Tools - Left cursor increase
Move the left cursor on position to the right.
View - Curve fit - Tools - Right cursor decrease
Move the right cursor on position to the left.
View - Curve fit - Tools - Right cursor increase
Move the right cursor on position to the right.
View - Curve fit - Tools - Channel previous
Select the previous channel to fit. If a fit is already done on this channel the fit will be loaded from “!Export curve fit.txt”. The cursors replace at the correct position. The curve of the fit is redrawn and the “Best fit parameters” are loaded.
View - Curve fit - Tools - Channel next
Select the next channel to fit. If a fit is already done on this channel the fit will be loaded from “!Export curve fit.txt”. The cursors replace at the correct position. The curve of the fit is redrawn and the “Best fit parameters” are loaded.
View - Curve fit - Tools - Fit
Do a curve fit.
View - Windows - XY plot 1/XY plot 4
View “XY plot 1/XY plot 4”. Follow the next steps.

  1. Adjust the settings in “Settings - Windows - XY plot 1/XY plot 4”.
  2. Display the cursor (View - Cursors).
  3. Move the cursors the adjust the data displayed in the XY plot.

View - Folders - Application
Folder location of the application. The application is by default installed in the folder “C:\Program Files\HWSW\DAQ\Analyzer”. If the application is used without an installer, thus an executable, the advised folder is “C:\Users\Public\Programs\HWSW\DAQ\Analyzer”.
View - Folders - Application data
Folder location of the program settings.
The settings are located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Analyzer”.
View - Folders - Profile
Folder location of the active profile.
The profile is located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Analyzer”.
To execute LabVIEW functions when a profile is loaded place a function with the name “Start.vi” or “Start.lvlibp\Start.vi” (Packed Library) in the profile folder. These files must be created with the same LabVIEW version as the application. The connection pane of “Start.vi” is showed in Figure 3‑2.

View - Folders - Profiles
Folder location of the selectable profiles.
The profiles are located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Analyzer\Profiles”. See menu item “Profile - Profiles ►” for more information.
Settings - Channels - AI measure
Channels analog in settings. List of the measured analog in channels. The “Save” button enables saving data to the *.tdms file. The “Visible” button enables viewing the data in a graph.
Settings - Channels - AI math
Destination channels of the math script “Math script AI”. The order of these channels and the plot order of the charts are determined by the order of appearance in the *.tdms file and the math script.
The “Reset” button deletes all the math channels that aren’t stored in the *.tdms file and the ones that are not present in the math script.
Math channels are automatically added if unknown math channels are located in a new opened *.tdms file or if new channels are added with the math script.
Settings - Scripts - AI math
The math script for the channel group analog in. The available math functions are described in the chapter “5.5 Math functions”. The destination channels cannot be a acquired analog in channel (Channels AI). All the destination math channels are added to the group “Channel analog in math (Channels AIM)” and the unused are removed.
Settings - Cursors - Align
Settings to align the cursor. All the left and right cursors will be placed at the same time if a cursor is moved and “Align” is “All”.
Groups of “Left cursors” and “Right cursors” will be placed at the same time if is cursor in this group is moved and “Align” is “Custom”. Multiple groups are possible.
A cursor is moved individually if “Align” is “None”.
Settings - Cursors - Step
The cursor of the channels “Left cursors” step to the previous or next “1”.
The cursor of the channels “Right cursors” step to the previous or next “−1”.
Settings - Cursors - Scripts
Move: Values to display at the cursors when the cursor is moved.
Release: Values to display at the cursors when the cursor is released.
Export: Values to export with the menu item “Tools - Export - Cursors”.
See chapter “3.3.3.1 Functions” for more information.
Settings - Windows - XY plot 1/XY plot 4
The “X channel”, “Y channel” and “Period channel” can be selected. Each loop can be displayed with a different color if the periods are present in the “Period channel”. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”. This channel is created in the math script. “Number of loops” is the maximum number of loops to display simultaneously. If the number of “Plot colors“ is more than the “Number of loops” the last “Plot colors” are not used. If the number of “Plot colors” is less than the “Number of loops” the colors will be repeated until the “Number of loops” is reached. The “Maximum loop duration” is the maximum time in seconds of one loop. Use a positive number to keep the beginning of the loop and use a negative number to keep the end of the loop. If the number is “Inf” no data will be removed. To ensure a proper operation the number of samples displayed in the “XY plot” is limited. If the “Period channel” remains the value “1” the data is always displayed in the “XY plot” and the loop colors are not changing. The data points where either the x or y value is “NaN” aren’t displayed in this window.
For “Analyzer” the loops between the left and right cursor are displayed. The first loop is starting from the beginning of a period. The last loop is determined by the right cursor or the “Number of loops” to display whichever comes first. The last loop can be a partial loop and is dependent of the position of the right cursor.
Settings - Graph colors
The plot colors of the graphs.
The controls “Plot area”, “Grid” and “Cursor” are applied to all the graphs.
Plot area - Foreground: Border of the plot area
Plot area - Background: Plot area
Cursor: Array of colors for the cursors. The array size can be different than the number of cursors. This array is repeated if the number of cursors is larger than the array of the cursor colors.
Plot: Array of colors for the graphs. The array size can be different than the number of visible channels. This array is repeated if the number of visible channels is larger than the array of the plot colors. Use an array of one element if all the visible channels must have the same color.
Settings - Graph y-axis
Window in order to adjust the y-axis scale settings of the displayed analog input channels easily. With this window the view can be adjusted with “Auto scale” (On/Off), “Zoom” (In/Out) and “Pan” (Up/Down). “Pan - Up” moves the displayed signal up by decreasing the values of the y-axis. “Pan - Down” moves the displayed signal down by increasing the values of the y-axis. These y-scale settings changes how the data is displayed. The displayed and recorded data values aren’t adjusted by changing these settings.
These settings can also be changed with LabVIEW menu options by pressing the right mouse button on the y-axis of the label.
Settings - Filter
See menu item “Tools - Filter” for more information. “Source channel” is a visible channel. “Filter channel” and “Destination channel” can by any channel.
“Type” is a filter type. “Period create” creates a new period with a “1” and “−1”. “Period delete” deletes a period, the data will be “0”. “Period invert” inverts an existing period. With the types “Custom left between right”, “Custom left”, “Custom left between right” and “Custom right” the data can be changed to a custom value. The custom values can be entered in “Data at left cursor”, “Data between cursors” and “Data at right cursor”.
Settings - Graph palette
Window to adjust replace the graph palette of the graphs with buttons. The default LabVIEW graph palette is displayed when all buttons are hidden. The default LabVIEW graph palette is hidden and replaced with the visible buttons if at least one button is visible. “Cursor” allows selection of the cursor in the graph. “Pan” allows panning in the graph. “Zoom rectangle” zooms in on the x-axis and y-axis of the graph if the auto scale of the corresponding axis is disabled. “Zoom x” zooms in on the x-axis. “Zoom y” zooms in one the y-axis. “Zoom fit” fits all the data in graph. “Zoom in” zooms in on the graph. “Zoom out” zooms the graph out.
Settings - Controls and indicators
This application contains controls and indicators which in most cases are linked to menu items, but in some cases linked to other functions of the application. By default these button are hidden and can be made visible and customized with two types or scripts.
Appearance: Script to adjust the appearance of the controls and indicators. This script is applied when a profile is loaded.
Position: Script to adjust the position of the controls and indicators. This script is applied when a profile is loaded and when a resize of the main window occurs.
See chapter “3.4 Controls and indicators functions” for more information.
Settings - Menu items
The “Tag” is unique for each menu item.
The “Name”, “Shortcut” and “Visible” properties of each menu item can be adjusted with the displayed array. The menu items in this window correspond to the displayed array.
The visibility of each menu item can be adjusted. If a (grand)parent is made invisible the child(s) of this (grand)parent will be invisible.
Also the visibility of the menu item “Profile - Profiles ►” with the tag “P profiles” can be adjusted. The “Profiles” (*.zip files) in this menu item can’t adjusted individually because these profiles are updated each time the menu is activated.
The “Name” of the menu items with the “Tag” “File 1” to “File 10” won’t be replaced because those menu items are file names, but the visibility can be changed.
The “Name” of the menu items with the “Tag” “Annotation 1” to “Annotation 12” won’t be replaced because those menu items are annotations, but the visibility can be changed.
Quick navigation through the menu can be done by pressing the ALT key and then the key of the underlined letter of the corresponding menu item.
To achieve this adjust the menu item name and place an underscore before the letter to underline.
A menu item with two underscores adds an underlined underscore if the two underscore aren’t located at the beginning of the menu item name.
A menu item starting with two underscores disables key navigation and displays the text after the two underscores, the following underscore(s) are displayed without an underline.
The underscores are removed if the menu is customized. This is because the LabVIEW function “Get Menu Items Info” doesn’t read the underscores.
The workaround is to disable the “Custom” button restart the application and look in the name menu items where the underscores are placed and add them manually to the custom menu items.
The settings controls “Custom” and “Menu items” are stored in the file “Menu items.xml” in “Profile” folder.
The button “Default” is loads the settings from “Menu items default.xml” file in the “Profile” folder to the controls “Custom” and “Menu items”. The files “Menu items.xml” and “Menu items default.xml” have the same layout. If the file “Menu items default.xml” doesn’t exist the menu items without any customization are copied the control “Menu”, the underscores in the menu item names underscores aren’t copied. The file “Menu items default.xml” must be created manually in the “Profile” folder. This file can be used for different languages.
If menu items are added/deleted due to an update of the application the elements in the files “Menu item.xml” and “Menu items default.xml” are changed accordingly these changes. The default “Name” and “Short cut” of added menu items are used.
It could be the case that an old “Name” and “Short cut” are used for a menu item because these are stored in the files “Menu item.xml” and “Menu items default.xml” and overrule the new “Name” and “Short cut”. In order to determine the new “Name and “Short cut” disable the custom menu by turning the button “Custom” off, restart the application and check the “Name” and “Short cut” of each menu item in the main window of the application. Apply these changes to the files “Menu item.xml” and “Menu items default.xml” by editing these file with a text editor.
Only the menu items of the main window can be changed.
Profile - Open...
Open a profile from a *.zip file.
Profile - Save
Save the profile in the profile folder. This folder can be opened with menu item “View - Folders - Profile”.
Profile - Save as...
Save the profile to a *.zip file.
If the default file name is adjusted ensure the application doesn’t try to save the file to an existing file because this causes an error.
Profile - Profiles ►
During an update of the application the profiles in the folder “<Application folder>\Profiles” are deleted and replaced, thus don’t place custom profiles in this folder without having the profiles stored in another secure location.
When the application is started the profiles from the folder “<Application folder>\Profiles” are copied to the profiles folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Analyzer\Profiles”, existing profiles are overwritten without a warning. Profiles that only exist in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Analyzer\Profiles” remain.
This menu item contains selectable profiles which are located in the profiles folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Analyzer\Profiles”. Only (sub)folders that contains *.zip files and *.zip files are added to the menu.
See menu item “View - Folders - Profiles” for more information.
Help - HWSW DAQ help
View this help document.
Help - HWSW DAQ videos
View videos about the application.
Help - License request
Read the website for more information:
www.hwsw.io/support/licenses/
Help - Serial number
Serial number supplied by HWSW.
Help - Update
Update the application. All the files and folders in the folder of the application folder are deleted before the application is updated.
This menu item is enabled if an update is available. The application is updated with an installer if the application is located in the folder “C:\Program Files” or else the executable is updated without an installer.
Help - Events view
Open the events log file “Events.txt” to view all events. Each computer user has their own events log file.
The events log file is located in the folder <Application data>. See menu item “View - Folders - Application data” for more information.
Help - Events clear
Clear the events log file “Events.txt”.
Help - Events report
Report the events to HWSW. This item is checked by default. This helps to improve the application. Each computer user has their own setting.
Help - About HWSW DAQ Analyzer
View the “HWSW DAQ Analyzer” version.

3.2Graphs

To move the cursor select the cursor icon (see Figure 3‑3) and move the cursor to the preferred position. To hide cursors press the menu item “View” “Cursor”.
To zoom into the graph use the magnifying glass (see Figure 3‑3). There are six different zoom options: zoom to rectangle, x-zoom, y-zoom, zoom in about point, zoom out about point and zoom to fit. Press and hold the “Shift” key to switch between “zoom in about point” and “zoom out about point”.
Use the hand icon to use the panning tools, this picks up the plot and moves it around on the display.

The time base of chart(s) and graph(s) can be adjusted. The auto scale of the time base of the graphs in the main window should always be disabled. This can be verified by clicking with the right mouse button on a numeric value of the x-axis and ensure the option “AutoScale X” isn’t checked.

The y-axis auto scale of the graph(s) in the main window enabled when a new file is opened.

See chapter “5.3.3 Axis adjustments” for more information.

3.3Export data

3.3.1Excel file of all channels

Make sure the application “TDM Excel Add-In” is installed.
In Windows explorer click with the right mouse button on the *.tdms file. Select “Open With” and “Excel Importer” to open the file with Excel.

3.3.2Clipboard/DIAdem/Excel/Image of one visible channel

Start application “HWSW DAQ edit” - View tab - Right mouse button on visible graph - Export.
These are the options you can choose:

If a part of the time base is visible the partially data is exported.

3.3.3Cursors

3.3.3.1Functions

There are thee cursor scripts available in “Analyzer” with menu item “Settings - Cursors - Scripts” and are applied after a move, release after a movement or export of the cursors. The cursor calculations can be time consuming and therefore the calculations after a move and release after a movement of the cursors are separated.

A comment may appear anywhere in the cursor scripts. Characters after a “//” till the end of the line and characters between the “/*” and “*/” are ignored.

Amplitude/Default/Index/Name/Time/Unit
Measurements at a single cursor.
Amplitude: Amplitude of the cursor.
Channel: Channel name of the cursor. Use the text “%all” to apply the cursor function to all channels.
Default: Time and amplitude of the cursor.
Name: Channel name of the cursor.
Index: Data point number of the cursor. Counting starts at zero.
Time: Time of the cursor.
Unit: Unit of the channel.
Format: This is an optional argument. See chapter “3.3.3.2 Format” for more information.

Channel;Cursor;Function;Format

Element:
0: Channel
1: Cursor (1/2)
2: Function (Amplitude/Default/Index/Name/Time/Unit)
3: Format (Optional)

Average/Difference/Integral/Maximum/Minimum/Peak to peak/RMS/Sum
Measurements between two cursors.
Average: This function determines the average of the amplitudes between the cursors. The NaN values are ignored.
Channel: Channel name of the cursor. Use the text “%all” to apply the cursor function to all channels.
Difference: This function determines the time and amplitude difference between the cursors (2 - 1).
Integral: This function determines the integral between the cursors. The surface area between the cursors is calculated with the “Trapezoidal Rule”. The first sample of the channel will be ignored because of the “Trapezoidal Rule”.
Maximum: This function determines the maximum amplitude between the cursors. The time of the maximum value is also presented.
Minimum: This function determines the minimum amplitude between the cursors. The time of the minimum value is also presented.
Peak to peak: Maximum amplitude minus Minimum amplitude between the cursors.
RMS: This function determines the RMS (Root Mean Square) value between the cursors. The NaN values are ignored.

Sum: This function determines the sum of the amplitudes between the cursors.
Format: This is an optional argument. See chapter “3.3.3.2 Format” for more information.

Channel;Cursor;Function;Format

Element:
0: Channel
1: Cursor (1/2)
2: Function (Average/Difference/Integral/Maximum/Minimum/Peak to peak/RMS/Sum)
3: Format (Optional)

Rate
Measurements to add to the cursor. This function determines the time/period/rate between the cursors. The rate is determined from the position of the cursors and not the signal between the cursors. For example place both cursors at the peak of the two following periods in order to get the correct rate.

Channel;Cursor;Function;Unit;Format

Element:
0: Channel
1: Cursor (1/2)
2: Function (Rate)
3: Unit (Hz/s/BPM)
4: Format (Optional)

Channel: Channel name of the cursor. Use the text “%all” to apply the cursor function to all channels.
s: The time difference in seconds between the cursors.
BPM: The rate (BPM) between the cursors. The cursors present the beginning and the end of the period.
Hz: The rate (Hz) between the cursors. The cursors present the beginning and the end of the period.
Format: This is an optional argument. See chapter “3.3.3.2 Format” for more information.

Rate periods
Measurements to add to the cursor. This function determines the time/period/rate of all the complete periods between and including the cursors. Partly periods are ignored. This function only works channels with periods. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”.

Channel;Cursor;Function;Unit;Format

Element:
0: Channel
1: Cursor (1/2)
2: Function (Rate periods)
3: Unit (Hz/s/BPM)
4: Format (Optional)

Channel: Channel name of the cursor. Use the text “%all” to apply the cursor function to all channels.
s: The time difference in seconds between the cursors.
BPM: The rate (BPM) between the cursors. The cursors present the beginning and the end of the period.
Hz: The rate (Hz) between the cursors. The cursors present the beginning and the end of the period.
Format: This is an optional argument. See chapter “3.3.3.2 Format” for more information.

Level
Measurements to add to the cursor. This function determines the time and amplitude of the minimum (0 %), maximum (100 %) and custom level between the cursors. The custom level is a percentage between the minimum and maximum amplitude. The position of the custom level lies between the minimum and maximum position.

Channel;Cursor;Function;Level;Format

Element:
0: Channel
1: Cursor (1/2)
2: Function (Level)
3: Level [%] (Optional)
4: Format (Optional)

Channel: Channel name of the cursor. Use the text “%all” to apply the cursor function to all channels.
Level: The optional and extra level to determine. Leave this value empty if no extra level is required. If an extra level is required the value must be between 0 and 100 percent.
Format: This is an optional argument. See chapter “3.3.3.2 Format” for more information.

3.3.3.2Format

The argument “Format” of the cursor functions uses the “Format Into String (NI)” LabVIEW function. Table 3‑1Table 3‑1 gives the cursor functions, arguments, format move/release and format export. To place a semicolon in the format replace the text “;” with “\semicolon”.
The listed formats are defaults or suggestion and can be altered by the user.

3.4Controls and indicators functions

There are additional controls and indicators available in “Chart recorder” and “Analyzer” that can be used beside or instead of the menu item. These controls and indicators can be adjusted with menu item “Settings - Controls and indicators”.
The appearance and the position of these controls can be adjusted with the script “Appearance” and “Position”. The appearance and position are adjusted when a profile is loaded. The position is also adjusted when the window of the application is resized.

4Converter

This application converts files to the newest DAQ files.

The application “Converter” is located at “Start Menu - HWSW DAQ”.

This application converts all old files in one folder to the newest DAQ files. The DAQ files have an extension *.tdms and are located in the same folder.

The old files are renamed from <filename>.<extension> to <filename> <extension>.tmp. If the old file already exists it won’t be replaced so the oldest file is preserved. This prevents data loss with a wrong conversion.

Follow the next steps in the application “Converter”:

  1. Change the path by pressing the yellow folder.
  2. In the “Open” window press “Current Folder” button to start the conversion.

The cursor is in the busy style if the conversion is busy and cursor is pointed in the “HWSW DAQ Converter” window.

If a warning can occur during the conversion appears the conversion is done. These are messages without an error number.
If the warning contains an error number the conversion is not done.

4.1Menu

File - Exit (File:Exit)
Close the application. All the settings are saved and reloaded at start-up.
View - Folders - Application
Folder location of the application. The application is by default installed in the folder “C:\Program Files\HWSW\DAQ\Converter”. If the application is used without an installer, thus an executable, the advised folder is “C:\Users\Public\Programs\HWSW\DAQ\Converter”.
View - Folders - Application data
Folder location of the program settings.
The settings are located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Converter”.
View - Folders - Profile
Folder location of the active profile.
The profile is located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Converter\Profile”.
View - Folders - Profiles
Folder location of the selectable profiles.
The profiles are located in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Converter\Profiles”. See menu item “Profile - Profiles ►” for more information.
Settings - Decimal separator
Uses a decimal or comma to separate the whole number from the decimal part of the number.
System: Uses the Windows setting.
Period: Uses the symbol “.”.
Comma: Uses the symbol “,”.
Settings - Delimiter
The value or values used to separate fields in the spread sheet file.
Settings - Search and replace
Search and replace complete text values from the spread sheet file.
Settings - Properties
Overwrite the properties. The elements “Properties” are capital sensitive. The next properties are allowed: title, description, Company, Website, author, Computer, datetime. The “Value” can be any text. For the property “datetime” the value “Current” or %Y-%m-%d %H:%M:%S. See chapter “5.4 Format into string functions” for more information.
Settings - Output type
This menu contains the options “Disable” and “Simulate”. Only one item can be checked.
When “Disable” is selected no additional output files are generated during a conversion.
When “Simulate” is selected additional output files are generated during a conversion. The files are place in a sub folder “Output” which is placed in the folder shown by “Folder” from the main window. The “Simulate” files can be used for a simulation in “Chart recorder”. See chapter “2.7 Simulate” for more information. The measurement file of the type “Simulate” only contains measurement channels. The scale settings of the measurement channels, the “Time” channel and math channels are deleted. Files in the “Output” folder aren’t overwritten. Delete the files from the “Output” folder in order to re-create them.
Settings - Database software
To-do
Settings - Menu items
The “Tag” is unique for each menu item.
The “Name”, “Shortcut” and “Visible” properties of each menu item can be adjusted with the displayed array. The menu items in this window correspond to the displayed array.
The visibility of each menu item can be adjusted. If a (grand)parent is made invisible the child(s) of this (grand)parent will be invisible.
Also the visibility of the menu item “Profile - Profiles ►” with the tag “P profiles” can be adjusted. The “Profiles” (*.zip files) in this menu item can’t adjusted individually because these profiles are updated each time the menu is activated.
The “Name” of the menu items with the “Tag” “File 1” to “File 10” won’t be replaced because those menu items are file names, but the visibility can be changed.
The “Name” of the menu items with the “Tag” “Annotation 1” to “Annotation 12” won’t be replaced because those menu items are annotations, but the visibility can be changed.
Quick navigation through the menu can be done by pressing the ALT key and then the key of the underlined letter of the corresponding menu item.
To achieve this adjust the menu item name and place an underscore before the letter to underline.
A menu item with two underscores adds an underlined underscore if the two underscore aren’t located at the beginning of the menu item name.
A menu item starting with two underscores disables key navigation and displays the text after the two underscores, the following underscore(s) are displayed without an underline.
The underscores are removed if the menu is customized. This is because the LabVIEW function “Get Menu Items Info” doesn’t read the underscores.
The workaround is to disable the “Custom” button restart the application and look in the name menu items where the underscores are placed and add them manually to the custom menu items.
The settings controls “Custom” and “Menu items” are stored in the file “Menu items.xml” in “Profile” folder.
The button “Default” is loads the settings from “Menu items default.xml” file in the “Profile” folder to the controls “Custom” and “Menu items”. The files “Menu items.xml” and “Menu items default.xml” have the same layout. If the file “Menu items default.xml” doesn’t exist the menu items without any customization are copied the control “Menu”, the underscores in the menu item names underscores aren’t copied. The file “Menu items default.xml” must be created manually in the “Profile” folder. This file can be used for different languages.
If menu items are added/deleted due to an update of the application the elements in the files “Menu item.xml” and “Menu items default.xml” are changed accordingly these changes. The default “Name” and “Short cut” of added menu items are used.
It could be the case that an old “Name” and “Short cut” are used for a menu item because these are stored in the files “Menu item.xml” and “Menu items default.xml” and overrule the new “Name” and “Short cut”. In order to determine the new “Name and “Short cut” disable the custom menu by turning the button “Custom” off, restart the application and check the “Name” and “Short cut” of each menu item in the main window of the application. Apply these changes to the files “Menu item.xml” and “Menu items default.xml” by editing these file with a text editor.
Only the menu items of the main window can be changed.
Profile - Open...
Open a profile from a *.zip file.
Profile - Save
Save the profile in the profile folder. This folder can be opened with menu item “View - Folders - Profile”.
Profile - Save as...
Save the profile to a *.zip file.
If the default file name is adjusted ensure the application doesn’t try to save the file to an existing file because this causes an error.
Profile - Profiles ►
During an update of the application the profiles in the folder “<Application folder>\Profiles” are deleted and replaced, thus don’t place custom profiles in this folder without having the profiles stored in another secure location.
When the application is started the profiles from the folder “<Application folder>\Profiles” are copied to the profiles folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Converter\Profiles”, existing profiles are overwritten without a warning. Profiles that only exist in the folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Converter\Profiles” remain.
This menu item contains selectable profiles which are located in the profiles folder “C:\Users\<User Name>\AppData\Local\HWSW\DAQ\Converter\Profiles”. Only (sub)folders that contains *.zip files and *.zip files are added to the menu.
See menu item “View - Folders - Profiles” for more information.
Help - HWSW DAQ help
View this help document.
Help - HWSW DAQ videos
View videos about the application.
Help - License request
Read the website for more information:
www.hwsw.io/support/licenses/
Help - Serial number
Serial number supplied by HWSW.
Help - Update
Update the application. All the files and folders in the folder of the application folder are deleted before the application is updated.
This menu item is enabled if an update is available. The application is updated with an installer if the application is located in the folder “C:\Program Files” or else the executable is updated without an installer.
Help - Events view
Open the events log file “Events.txt” to view all events. Each computer user has their own events log file.
The events log file is located in the folder <Application data>. See menu item “View - Folders - Application data” for more information.
Help - Events clear
Clear the events log file “Events.txt”.
Help - Events report
Report the events to HWSW. This item is checked by default. This helps to improve the application. Each computer user has their own setting.
Help - About HWSW DAQ Converter
View the “HWSW DAQ Converter” version.

4.2File types

4.2.1Comma separated values

This application will convert data from a comma separated value data file to HWSW DAQ data format.

Save the data file as a csv file (*.csv). The file names may not contain a “.”.

This function allows the “Search and replace” option when converting file. The “Search and replace” option searches and replaces complete text values from the spread sheet file. For example, replace an empty string with the value “NaN”.

The first row contains the channel names. The sample rate is determined from time difference between the second and third row of the first column.

5General

5.1Menu navigation

Press and release the ALT key on the keyboard to activate the menu. Use the four arrow keys to navigate through the menu and sub menu items. Use the RIGHT ARROW or ENTER key or to open a menu item that contains sub menus. Use the ENTER key to select the last menu item. When the ALT key is pressed for the first time the main menu items show an underlined character. Press the character to activate the corresponding menu item. Only the main menu items can be activated by pressing ALT+<underlined character>. For example, a common combination is ALT+F for the File menu, but this can vary per application.
Some menu items display a short cut on the right side. These short cuts can be used without activating the main menu items. For example, a common short cut for menu item “File - Save” is CTRL+F, but this can vary application.

5.2Tabbing through elements

Press the <Tab> highlight the next control. To adjust an array or cluster press the <Tab> key until the array or cluster is highlighted. Press the <Ctrl> key and the down arrow key to move the key focus inside the array or cluster. Press the <Tab> key to sequence through the array or cluster elements and the array indexes. To return to tabbing among front panel controls, press the <Ctrl> key and the up arrow key.

Tabbing through elements (NI)

5.3LabVIEW controls

This chapter describes LabVIEW controls can be adjusted.

In most cases the LabVIEW controls have a menu available when the right mouse button is pressed on a control.
The “Reinitialize to Default Value” option This menu item is handy when adjusting settings of the application. A menu available when the right mouse button is pressed on a control, frame of a cluster, frame of element of an array or an array. The corresponding item is reinitialized to their default value.

5.3.1Arrays

An array is a list of controls or indicators. These controls/indicators for example can be a number, text or a cluster. Sometimes the “Index” of the array is displayed. This is a numeric control that can be adjusted to navigate through an array. An array is starting with “Index” 0. Each element of an array is surrounded with a frame. Also all the visible elements of an array are surrounded with a frame. To reset the complete array press the right mouse button on the index or the frame that surrounds all the visible elements and press the right mouse button and click on “Reinitialize to Default Value”. To reset an element of an array press the right mouse button on it and click on “Reinitialize to Default Value”. To add or delete an element of an array press the right mouse button on the element of the array and click on “Insert Element Before” and “Delete Element”.

5.3.2Clusters

A cluster are combined controls, where the control can be a number, string, button, array and so on. A cluster can also be placed in a cluster. A cluster is surrounded with a frame.

5.3.3Axis adjustments

The auto scale of an axis can be altered by pressing the right mouse button on a number or label of the axis and toggle the “AutoScale X” or “AutoScale Y” option. The “AutoScale Y” is enabled by default. The axis scale can be adjusted if the auto scale is disabled. Press the right mouse button on the y scale label and disable “AutoScale Y”. The axis scale is changed by adjusting the lowest and highest number of the axis. After that the major grid can be adjusted by changing the second lowest number of the axis. Double click on an axis number to alter it.

Follow the next procedure to adjust the x-axis in “Chart recorder”.
Pause the acquisition of the analog input channels. The “AutoScale X” is disabled by default and should always be disabled. Clear the chart by pressing the right mouse button on the plot area and select “Clear Chart”. The axis scale is changed by adjusting the lowest and highest number of the axis. After that the major grid can be adjusted by changing the second lowest number of the axis. Double click on an axis number to alter it. Stop the acquisition of the analog input channels. Start the acquisition of the analog input channels.

5.4Format into string functions

5.5Math functions

All the strings of the math functions are case sensitive.

The strings “Sample rate” and “Sample period” are replaced with the appropriate values.

A zero can only be presented with the string “0” and nothing else (for example “0,0”).
“Infinite” is presented with the string “Inf” and “−Infinite” is presented with the string “−Inf”.

A comment may appear anywhere in “Script” “Math”. Characters after a “//” till the end of the line and characters between the “/*” and “*/” are ignored.

When the “Run” button is pressed the math calculation is applied to the current data. If a math channel is multiplied by two and the “Run” button is pressed three times the math channel will be totally multiplied by six.
To prevent this behavior add the reset math function. Or only press the update button once.

If a math channel is added it won’t be automatically visible when a math script is applied.

Delete/‌Keep
Functions to apply to the DAQ.

Destination channel=Function()

Element:
0: Destination channel
1: Function (Delete/Keep)

Delete: This function deletes the corresponding data points of all channels when the destination channel is equal to “1”.
Keep: This function keeps the corresponding data point of all the channels when the destination channel is equal to “1”.

Delete channel/‌Keep channel
Functions to apply to the DAQ.
This function is applied to each buffer. This function only operates correct if a complete data set from the beginning till the end is supplied in one buffer. This is possible with “HWSW DAQ Analyzer” and not with “HWSW DAQ Chart recorder”.

Destination channel=Function(Source channel;Condition channel;Default value)

Element:
0: Destination channel
1: Function (Delete channel/Keep channel)
2: Source channel (Channel)
3: Condition channel (Channel)
4: Default value (Number)

Delete channel: This function deletes the data point from the “Source channel” if the “Condition channel” equal to “1”.
Keep channel: This function keeps the data point from the “Source channel” if the “Condition channel” equal to “1”.
Default value: New values that added add the end if data points are removed.

Search
Functions to apply to the DAQ.
This function is applied to each buffer. This function only operates correct if a complete data set from the beginning till the end is supplied in one buffer. This is possible with “HWSW DAQ Analyzer” and not with “HWSW DAQ Chart recorder”.

Destination channel=Function(Source channel;Search value channel)

Element:
0: Destination channel
1: Function (Search)
2: Source channel
3: Search value channel

Search: This function searches for the value in “Search value channel” in “Source channel”. If the value is found the corresponding sample in “Destination channel” is replaced with the value “1” at the position of the “Source channel”. The “NaN” values are removed from the “Search value channel” before this function is applied.

Replace
Functions to apply to the DAQ.

Destination channel=Function(Source channel;Replace;Condition channel)

Element:
0: Destination channel
1: Function (Replace)
2: Source channel
3: Replace (Channel/Number)
4: Condition channel

Source channel: The data is copied from this channel to the “Destination channel” if “Condition channel” is not equal to “1”, this is not time consuming.
Replace: The data is copied from this channel/number to the “Destination channel” if “Condition channel” is equal to “1”.

Search and replace
Functions to apply to the DAQ.

Destination channel=Function(Source channel;Replace;Compare 1;Compare 2)

Element:
0: Destination channel
1: Function (Search and replace)
2: Source channel
3: Replace (Channel/Number)
4: Compare 1 (Channel/Number)
4: Compare 2 (Channel/Number)

Source channel: The data is copied from this channel to the “Destination channel” if “Condition channel” is not equal to “1”, this is not time consuming.
Replace: The data is copied from this channel/number to the “Destination channel” if “Compare 1” is equal to “Compare 2”. If “Compare 1” and “Compare 2” are equal to NaN the “Replace” is copied to “Destination channel”.

Add/‌Divide/‌Multiply/‌Remainder/‌Subtract/‌Quotient/‌Power of x/‌y-th root of x/‌Logarithm base x
Functions to apply to the DAQ.
This function appends the operators Add/Divide/Multiply/Subtract to the data.

Destination channel=Function(Source 1;Source 2)

Element:
0: Destination channel
1: Function (Add/Divide/Multiply/Subtract)
2: Source 1 (Channel/Number)
3: Source 2 (Channel/Number)

Source 1: The source can be a buffer, channel or a number.
Source 2: The source can be a buffer, channel or a number.

Remainder: x-y*floor(x/y)=x-y*(floor(Source 1/Source 2)
Quotient: floor(x/y)=floor(Source 1/Source 2)
Power of x: xy=Source 1Source 2
y-th root of x:
Logarithm base x: logx(y)=logSource 1(Source 2)

Value
Functions to apply to the DAQ.

Destination channel=Function(Source)

Element:
0: Destination channel
1: Function (Value)
2: Source (Number)

Source: The source can only be a number, also the value “NaN” (Not a Number) can be used. The value “NaN” is not displayed in the plots.

Control
Functions to apply to the DAQ.
The value of the destination channel can be adjusted with the control of this function.

Destination channel=Function(Window title;Type;Name;Default)

Element:
0: Destination channel
1: Function (Control)
2: Window title
3: Type (Boolean)
4: Name
5: Default (Value) (False/True)

Destination channel=Function(Window title;Type;Name 1;Default 1;Name 2;Default 2;Name 3;Default 3; Name 4;Default 4;Name 5;Default 5;Name 6;Default 6; Name 7;Default 7;Name 8;Default 8)

Element:
0: Destination channel
1: Function (Control)
2: Window title
3: Type (Boolean byte)
4: Name 1
5: Default 1(Value)
6: Name 2
7: Default 2 (Value)
8: Name 3
9: Default 3 (Value)
10: Name 4
11: Default 4 (Value)
12: Name 5
13: Default 5 (Value)
14: Name 6
15: Default 6 (Value)
16: Name 7
17: Default 7 (Value)
18: Name 8
19: Default 8 (Value)

Destination channel=Function(Window title;Type;Name;Default;Minimum;Maximum;Increment)

Element:
0: Destination channel
1: Function (Control)
2: Window title
3: Type (Numeric)
4: Name
5: Default (Value) (Used in Boolean/Numeric)
6: Minimum (Value) (Used in Numeric)
7: Maximum (Value) (Used in Numeric)
8: Increment (Value) (Used in Numeric)

Window title: Title of the numeric window.
Name, Name 1 to Name 8: Name of the control.
Boolean: Boolean control (False/True)
Boolean byte: 8 Boolean controls. The boolean values to converted to an integer (False/True)
Numeric: Control as a number.
Default, Default 1 to Default 8: The default value of the control.
Minimum: The minimum value of the control. (Used in Numeric)
Maximum: The maximum value of the control. (Used in Numeric)
Increment: The increment value (step value) of the control. (Used in Numeric)

Absolute/‌Copy/‌Negative/‌Not/‌Not a Number/‌Positive/
Square/‌Square root/
‌Cosine/‌Sine/‌Tangent/‌Inverse cosine/‌Inverse sine/‌Inverse tangent/
‌Hyperbolic sine/‌Inverse hyperbolic sine/‌Inverse hyperbolic cosine/‌Inverse hyperbolic tangent/
Exponential/‌Logarithm base 2/‌Logarithm base 10/‌Natural logarithm/‌Power of 2/‌‌Power of 10/
‌Edge falling/‌Edge rising/‌Flank/‌Flank negative/‌Flank positive

Functions to apply to the DAQ.

Destination channel=Function(Source channel)

Element:
0: Destination channel
1: Function (Absolute/Copy/Negative/Not/Positive)
2: Source channel

Absolute: This function determines the absolute value of the data.
Copy: This function copies the data from a buffer or channel to another buffer or channel.
Negative: This function replaces all the positive elements with zero.
Not: This function replaces the values: NaN -> NaN, 0 -> 1, 1 -> 0, 2... -> 0.
Not a Number: This function test if the source channel is equal to NaN (Not a Number). NaN -> 1, !NaN -> 0.
Positive: This function replaces all the negative elements with zero.
Inverse cosine: arccos(x)
Inverse sine: arcsin(x)
Inverse tangent: arctan(x)
Exponential: exp(x)
Logarithm base 2: log2(x)
Logarithm base 10: log(x)
Natural logarithm: ln(x)
Power of 2: 2x
Power of 10: 10x
Edge falling: The source channel is converted to a Boolean array. Values less than or equal to 0 are converted to 0. Values greater than 0 are converted to 1. A period is created, the start is on the falling edge and the end is one sample before the next falling edge of the Boolean array.
Edge rising: The source channel is converted to a Boolean array. Values less than or equal to 0 are converted to 0. Values greater than 0 are converted to 1. A period is created, the start is on the rising edge and the end is one sample before the next rising edge of the Boolean array.
Flank: The source channel is converted to a Boolean array. Values less than or equal to 0 are converted to 0. Values greater than 0 are converted to 1. A period is created on the positive and negative flank of the Boolean array.
Flank negative: The source channel is converted to a Boolean array. Values less than or equal to 0 are converted to 0. Values greater than 0 are converted to 1. A period is created on the positive flank of the Boolean array.
Flank positive: The source channel is converted to a Boolean array. Values less than or equal to 0 are converted to 0. Values greater than 0 are converted to 1. A period is created on the positive flank of the Boolean array.

Equal/‌Not equal/‌Greater/‌Greater or equal/‌Less/‌Less or equal
Functions to apply to the DAQ.
This function appends the comparison Equal/Not equal/Greater/Greater or equal/Less/Less or equal to the data.

Destination channel=Function(Source 1;Source 2)

Element:
0: Destination channel
1: Function (Equal/Not equal/Greater/Greater or equal/Less/Less or equal)
2: Source 1 (Channel/Number)
3: Source 2 (Channel/Number)

Coerce
Functions to apply to the DAQ.
This function coerces the “Source channel” to the values “Lower limit” and “Upper limit”.

Destination channel=Function(Source;Lower limit;Upper limit)

Element:
0: Destination channel
1: Function (Coerce)
2: Source (Channel/Number)
3: Lower limit (Channel/Number)
4: Upper limit (Channel/Number)

Zero phase filter basic
Functions to apply to the DAQ. This function applies a basic zero phase filter where all “Reverse coefficients” are all equal to “1/Width” where the width is in samples.
All the channels are displayed delayed by a number of samples equal to “Number of reverse coefficients - 1”.
The output is “NaN” during the first and the last samples, the number of “NaN” samples are “Number of reverse coefficients - 1”.
For example a sine wave can be totally filtered out if the width of the zero phase filter in samples is equal to the number of sample of the sine for one period.
For example a pulse is “1” on sample 5000. The width of the zero phase filter is 1000 samples. Then sample 4000 and 6000 are zero. Sample 4001 and 5999 are 1*10^−6. The closer to sample 5000 the higher the value. Sample 5000 has the value 1*10^−3.

Destination channel=Function(Source channel;Width;Unit)

Element:
0: Destination channel
1: Function (Zero phase filter basic)
2: Source channel
3: Width
4: Unit (BPM/Hz/s/Sample)

Width: Specifies the width of the filter.
BPM: The “Width” is presented in one period with the frequency with the unit BPM.
Hz: The “Width” is presented in one period with the frequency with the unit Hz.
s: The “Width” is presented in time with the unit seconds.
Sample: The “Width” is presented in time with the unit sample.

Mean point by point
Functions to apply to the DAQ. This function applies the mean point by point.
This function does not display the channels delayed.

Destination channel=Function(Source channel;Width;Unit)

Element:
0: Destination channel
1: Function (Zero Phase)
2: Source channel
3: Width
4: Unit (BPM/Hz/s/Sample)

Width: Specifies the width of the data points to average. When the “Width” is zero, this function calculates a cumulative solution for the input data from beginning of the data set.
Sample: The “Width” is presented in time with the unit sample.
BPM: The “Width” is presented in one period with the frequency with the unit BPM.
Hz: The “Width” is presented in one period with the frequency with the unit Hz.
s: The “Width” is presented in time with the unit seconds.
Sample: The “Width” is presented in time with the unit sample.

Bessel filter/Butterworth filter/Chebyshev filter
Functions to apply to the DAQ. This function applies a Butterworth filter.

Destination channel=Function(Source channel;Type;Low cutoff frequency;High cutoff frequency;Order;Ripple)

Element:
0: Destination channel
1: Function (Bessel filter/Butterworth filter/Chebyshev filter)
2: Source channel
3: Type (Lowpass/Highpass/Bandpass/Bandstop)
4: Low cutoff frequency filter (Bandpass/Bandstop); Cutoff frequency filter (Lowpass/Highpass)
5: High cutoff frequency filter (Bandpass/Bandstop)
6: Order
7: Ripple (Chebyshev)

Ripple: Ripple filter [dB]. Only necessary for the Chebyshev filter. The value needs to be positive. The default value is 0,1 dB.

IIR Filters (NI)

Delay
Functions to apply to the DAQ.
This function delays the data. This means that the data is shifted in time.

Destination channel=Function(Source;Delay;Unit;Default value)

Element:
0: Destination channel
1: Function (Delay)
2: Source (Channel)
3: Delay (Channel/Number)
4: Unit (BPM/Hz/s/Sample)
5: Default value (Number)
Delay: This is the delay of the channel. A negative number shifts the data back in time. A positive number delays the data. The delay can be a channel with positive numbers. Negative channel numbers are ignored. The last known value is used if the value of the delay channel in increasing.
BPM: The “Delay” is presented in one period with the frequency with the unit BPM.
Hz: The “Delay” is presented in one period with the frequency with the unit Hz.
s: The “Delay” is presented in time with the unit seconds.
Sample: The “Delay” is presented in time with the unit sample.
Default value: New values that are shifted in.

Period determine
Function to apply to the DAQ. This function determines a period between pulses or a period of a flank.

Destination channel=Function(Source channel;Period channel;Type)

Element:
0: Destination channel
1: Function (Period determine)
2: Source channel
3: Period channel
4: Type (Flank/Pulse)

Period channel: Data to determine the period from.
Flank: The period is determined from the width of a flank. The start of the flank is the first value of “1” and is presented with the start of a period and has a value of “1”. The end of the flank the last value of “1” and is presented with the end of a period and has a value of “−1”. A flank must be at least two samples. A flank of one pulse is ignored.
Pulse: The period is determined from the time between two pulses. The first pulse is the first value of “1” and is presented with the start of a period and has a value of “1”. The second pulse is the second value of “1” and is presented with the end of a period and has a value of “−1”. There must be at least one sample between the pulses. One pulse is allowed to be multiple samples wide.

Period create
Functions to apply to the DAQ.
This function creates a period. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”. To the determine the period between two pulses use the function “Period determine”.

Destination channel=Function(Source channel;Start;End;Duration;Unit;Start position delay;End position delay;Unit)

Element:
0: Destination channel
1: Function (Period create)
2: Source channel
3: Start
4: End
5: Duration
6: Unit (BPM/Hz/s/Sample)
7: Start point delay
8: End point delay
9: Unit (BPM/Hz/s/Sample)

Start: Start position period.
End: End position period. Leave this number zero if you use the “Duration”.
Duration: Duration period. Leave this number zero if you use the “End”. The “Duration” can’t be used in combination with the “Marker”.
BPM: The delay is presented in one period with the frequency with the unit BPM.
Hz: The delay is presented in one period with the frequency with the unit Hz.
s: The duration is presented in time with the unit seconds.
Sample: The duration is presented in time with the unit sample.
Start position delay: Delay the start position. A negative number shifts the data back in time. A positive number delays the start position. The default value is 0.
End position delay: Delay the end position. A negative number shifts the data back in time. A positive number delays the end position. The default value is 0.
BPM: The delay is presented in one period with the frequency with the unit BPM.
Hz: The delay is presented in one period with the frequency with the unit Hz.
s: The delay is presented in time with the unit seconds.
Sample: The delay is presented in time with the unit sample.

Period range
Functions to apply to the DAQ.
This function determines the period. The period minimum and maximum period range can be chosen. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”. This function appends the found periods to the destination channel. Therefore it is not possible the use the same source and destination channel.
The delay of the data is equal to the found period if the period is in range and equal to the maximum period range if no period is found.

Destination channel=Function(Source channel;Minimum range;Maximum range;Unit)

Element:
0: Destination channel
1: Function (Period range)
2: Source channel
3: Minimum range
4: Maximum range
5: Unit (BPM/Hz/s/Sample)

Minimum range: Minimum range frequency rate/frequency period. The destination channel is 0 if the period is out of range.
Maximum range: Maximum range frequency rate/frequency period. The destination channel is 0 if the period is out of range.
BPM: The range is presented in one period with the frequency with the unit BPM.
Hz: The range is presented in one period with the frequency with the unit Hz.
s: The range is presented in time with the unit seconds.
Sample: The range is presented in time with the unit sample.

Periods in periods
Functions to apply to the DAQ.
This function copies “Source channel” to “Destination channel” and appends complete periods from “Short periods” to “Destination channel” during each period in “Long periods”. Thus “short periods” contain the shorter periods and “Long periods” the longer periods. The maximum delay is equal to the maximum period duration of “Short periods”. This ensures there is no period busy in the “Destination channel” when a new period in “Long periods” is started or when there is no period in “Long periods” at all.

Destination channel=Function(Source channel;Short periods;Long periods)

Element:
0: Destination channel
1: Function (Periods in period)
2: Source channel (Channel/Number)
3: Short periods (Channel)
4: Long periods (Channel)

Source channel: This can be a channel with periods or the number 0 to create an empty period channel.
Short periods: Channel containing the shorter periods.
Long periods: Channel containing the longer periods.

Periods in period counter
Functions to apply to the DAQ.
This function counts the periods of “Source channel” during a period in “Period channel” and writes the counter value to “Destination channel” during each period of “Source channel”. The counter increments every period in “Source channel” and resets at the beginning of each period in “Period channel”. The “Default value” of “Destination channel” and the “Start value” of the counter can be adjusted. The function “Periods in period” can be used to ensure only complete periods are counted during the periods in “Period channel”.

Destination channel=Function(Source channel;Period channel;Default value;Start value)

Element:
0: Destination channel
1: Function (Periods in period)
2: Source channel
3: Period channel
4: Default value (Number)
5: Start value (Number)

Source channel: Channel containing the shorter periods.
Period channel: Channel containing the longer periods.
Default value: Default value of “Destination channel” when no periods are counted.
Start value: Start value of the counter when a new period in “Period channel” is started.

Average periods/‌Counter/‌First/‌Last/‌Maximum index/‌Maximum one/‌Minimum index/‌Minimum one/‌One/‌Sum periods
Before this function the function “Period range” must be executed.

The next functions do not display the data during the period: Last/Maximum index/Minimum index
The next functions always display the data: Counter/First/Flank

Functions to apply to the DAQ. These functions apply calculations to a period. This includes the start and end point of a period.

Destination channel=Function(Source channel;Period channel)

Element:
0: Destination channel
1: Function (Average periods/Counter/First/Flank/Last/Maximum index/Maximum one/Minimum index/Minimum one/Sum periods)
2: Source channel
3: Period channel

Average periods: This function determines the average of every sample in multiple periods. The size of the replaced destination channel samples is the same as the current period. The NaN values are ignored.
Counter: Replaces all the values in the period with a number that is starting with 0 and increments every period.
First: First value of the period.
Last: Last value of the period.
Maximum index: This function determines the position of the maximum value during a period and the first position if multiple maximum values are found. The destination channel value is equal to the index of the period and placed at the found position. If the source channel only contains NaNs the value NaN is returned.
Maximum one: This function determines the position of the maximum value during a period and the first position if multiple maximum values are found. The destination channel value is equal to one and placed at the found position. If the source channel only contains NaNs the value NaN is returned.
Minimum index: This function determines the position of the minimum value during a period and the first position if multiple minimum values are found. The destination channel value is equal to the index of the period and placed at the found position. If the source channel only contains NaNs the value NaN is returned.
Minimum one: This function determines the position of the minimum value during a period and the first position if multiple minimum values are found. The destination channel value is equal to one and placed at the found position. If the source channel only contains NaNs the value NaN is returned.
One: The destination channel is 1 during the period.
Sum periods: This function adds every sample in multiple periods. The size of the replaced destination channel samples is the same as the current period. The NaN values are ignored.
Period channel: The functions are determined from a period. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”.

Average/‌Maximum/‌Minimum/‌Peak to peak/‌RMS/‌Sum
Before this function the function “Period range” must be executed.

Functions to apply to the DAQ. These functions apply calculations to a period. This includes the start and end point of a period.

Destination channel=Function(Source channel;Period channel;Type)

Element:
0: Destination channel
1: Function (Average/Maximum/Minimum/Peak to peak/RMS/Sum)
2: Source channel
3: Period channel
4: Type (Buffer/Period)

Average: This function determines the average of all the samples in one period. The NaN values are ignored.
periods have different lengths the samples will be weighted. The last part of the period can vary because of more or less averaged samples. The size of the replaced destination channel samples is the same as the current period.
Maximum: This function determines the maximum of the period. If the source channel only contains NaNs the value NaN is returned.
Minimum: This function determines the minimum of the period. If the source channel only contains NaNs the value NaN is returned.
Peak to peak: This function determines the peak to peak value of the period.
RMS: This function determines the RMS (Root Mean Square) value of the period. The NaN values are ignored.

Sum: This function adds all the elements of the period. The NaN values are ignored.
Period channel: The functions are determined from a period. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”.
Buffer: The data is calculated and displayed every acquisition buffer.
Period: The data is calculated and displayed after each complete period.

Rate
Before this function the function “Period range” must be executed.

Functions to apply to the DAQ. This function determines the duration of the period.

Destination channel=Function(Source channel;Period channel;Unit)

Element:
0: Destination channel
1: Function (Rate)
2: Source channel
3: Period channel
4: Unit (BPM/Hz/s/Sample)

BPM: The period is presented with the frequency with the unit BPM.
Hz: The period is presented with the frequency with the unit Hz.
s: The period is presented in time with the unit seconds.
Sample: The period is presented in time with the unit sample.

Area
Before this function the function “Period range” must be executed.

Functions to apply to the DAQ. These functions apply calculations to a period. This includes the start and end point of a period.

Destination channel=Function(Source channel 1;Source channel 2;Period channel)

Element:
0: Destination channel
1: Function (Area)
2: Source channel 1
3: Source channel 2
4: Period channel

Area: This function determines the area of the samples in one period according the formula:

When then the sample “i” is equal to “N−1” the sample “i+1” is replaced with the sample “i=0” to close the loop.
If the loop has the shape of an “8” the area will be “0”.
The area is positive if the loop direction is counter clockwise and negative when the loop direction is clockwise.

Interpolate channel
Functions to apply to the DAQ.
This function is applied to each buffer. This function only operates correct if a complete data set from the beginning till the end is supplied in one buffer. This is possible with “HWSW DAQ Analyzer” and not with “HWSW DAQ Chart recorder”.
The NaN values are removed from the “Scaled” and “Pre-Scaled” channel.

Destination channel=Function(Source channel;Pre-Scaled channel;Scaled channel;Type)

Element:
0: Destination channel
1: Function (Interpolate channel)
2: Source channel
3: Pre-Scaled channel
4: Scaled channel
5: Type (nearest/linear/spline/cubic Hermite/Lagrange)

Destination channel: The output array of interpolated values that correspond to the source channel.
Source channel: Specifies the array of values of the independent variable at which this function computes the interpolated values “Destination channel” of the dependent variable.
Pre-Scaled channel: Specifies the channel of tabulated values of the independent variable. These are the pre-scaled values. The length of the Pre-Scaled channel must equal the length of the Scaled channel.
Scaled channel: Specifies the channel of tabulated values of the dependent variable. These are the scaled values.
Type: The interpolation method.
nearest: Chooses the scaled value corresponding to the pre-scaled value that is nearest to the current source channel value. This function sets the interpolated value to the nearest data point.
linear: Sets the interpolated values to points along the line segments connecting the pre-scaled and scaled data points.
spline: Guarantees that the first and second derivatives of the cubic interpolating polynomials are continuous, even at the data points.
cubic Hermite: Guarantees that the first derivative of the cubic interpolating polynomials is continuous and sets the derivative at the endpoints to certain values in order to preserve the original shape and monotonicity of the scaled data.
Lagrange: Uses the barycentric Lagrange interpolation algorithm.

Interpolate file
Function to scale the data.

Destination channel=Function(Source channel;File name;Type)

Element:
0: Destination channel
1: Function (Interpolate file)
2: Source channel
3: File name
4: Type (nearest/linear/spline/cubic Hermite/Lagrange)

File name: The name of the file located in the profile folder. The file contains the scale factors or correction tables. The values are tab or line separated. The decimal separator is the same as the system setting. The file layout is:
<pre-scaled value 1><scaled value 1>
<pre-scaled value 2><scaled value 2>
...
<pre-scaled value 3><scaled value 3>
Type: The interpolation method.
nearest: Chooses the scaled value corresponding to the pre-scaled value that is nearest to the current source value. This function sets the interpolated value to the nearest data point.
linear: Sets the interpolated values to points along the line segments connecting the pre-scaled and scaled data points.
spline: Guarantees that the first and second derivatives of the cubic interpolating polynomials are continuous, even at the data points.
cubic Hermite: Guarantees that the first derivative of the cubic interpolating polynomials is continuous and sets the derivative at the endpoints to certain values in order to preserve the original shape and monotonicity of the scaled data.
Lagrange: Uses the barycentric Lagrange interpolation algorithm.

Trigger
Functions to apply to the DAQ. This function applies a trigger function.

Destination channel=Function(Trigger channel;Level;Hysteresis;Slope;Output)

Element:
0: Destination channel
1: Function (Trigger)
2: Trigger channel
3: Level (Channel/Number)
4: Hysteresis (Channel/Number)
5: Slope (Falling Edge/Rising Edge)
6: Output (Flank/Pulse)

Level: This specifies the threshold level, which is the value “Trigger channel” must cross before a trigger is detected.
Hysteresis: The default value is 0. Trigger hysteresis is used to prevent noise from causing a false trigger. When “Slope” is “Rising Edge” the “Trigger channel” must be less or equal to “Level - Hysteresis” before a trigger is detected and when “Slope” is “Falling Edge” “Trigger channel” must be greater or equal to “Level + Hysteresis” before a trigger is detected.
Falling Edge: The function detects a trigger on the falling edge, thus negative slope.
Rising Edge: The function detects a trigger on the rising edge, thus positive slope.
Flank: In case of a “Rising Edge” the output is “1” when “Trigger channel” is greater or equal to “Level” and the output is “0” when the trigger channel is less or equal to “Level – Hysteresis”.
Pulse: When the trigger channel is higher than the trigger level (in case of a “Rising Edge”) the output is “1” and the next sample is ”0”.

Trigger auto
Function to trigger automatically. The signal must be within the range (“Range minimum” and “Range maximum”) to ensure the signal isn’t clipping. The destination channel is “1” if the “Trigger channel” is greater or equal to “Hysteresis level high”. The destination is changed to “0” if the “Trigger channel” is less or equal to “Hysteresis level low”. The hysteresis levels are percentages of the maximum signal during the previous signal. Therefore it is possible to add a delay in the trigger detection “Start delay” to ignore the trigger or to ignore trigger first detected trigger “Start ignore triggers”. The triggers are ignored during “Start delay” and “Start ignore triggers” witch one takes longer.

Destination channel=Function(Trigger channel; Hysteresis level low;Hysteresis level high;Range minimum;Range maximum;Amplitude minimum;Minimum frequency number;Minimum frequency unit;Clip delay number;Clip delay unit;Start delay number;Start delay unit;Start level;Start ignore triggers)

Element:
0: Destination channel
1: Function (Trigger auto)
2: Trigger channel
3: Hysteresis level low [%]
4: Hysteresis level high [%]
5: Range minimum
6: Range maximum
7: Amplitude minimum
8: Minimum frequency number (Value)
9: Minimum frequency unit (BPM/Hz/s/Sample)
10: Clip delay number (Value)
11: Clip delay unit (BPM/Hz/s/Sample)
12: Start delay number (Value)
13: Start delay unit (BPM/Hz/s/Sample)
14: Start level
15: Start ignore triggers

Trigger channel: The channel which contains the analog signal.
Hysteresis level low: Low hysteresis level in percentage of the maximum detect signal amplitude.
Hysteresis level high: High hysteresis level in percentage of the maximum detect signal amplitude.
Range minimum: The amplitude of the trigger channel must be higher than “Range minimum” in order to detect a period. The trigger function is reset if the trigger channel signal isn’t within the range.
Range maximum: The amplitude of the trigger channel must be lower than “Range maximum” in order to detect a period.
Amplitude minimum: Minimum amplitude of the trigger channel before a trigger can occur. The amplitude is continuously determined except during clipping and during the “Clip delay”.
Minimum frequency number: This is the lowest frequency of the signal on the trigger channel to be detected. The trigger function and thus the trigger levels are reset if there is no trigger is detected during this time. This ensures new triggers can be detected is the trigger levels were out of range.
Clip delay number: Time to ignore the samples from the trigger channel to ensure the signal is stable after clipping.
Start delay number: Time to ignore new triggers after a reset of the trigger function. The trigger levels are determined during this time.
Start level: Level of trigger channel must have had this value before a trigger of ignored trigger occurs. The level is monitored continuously after “Clip delay” expired. “Start level” if the value is “NaN”.
Start ignore triggers: Number of trigger pulses to ignore after a reset of the trigger function.
BPM: The time/delay/frequency is presented in one period with the frequency with the unit BPM.
Hz: The time/delay/frequency is presented in one period with the frequency with the unit Hz.
s: The time/delay frequency is presented in time with the unit seconds.
Sample: The time/delay/frequency is presented in time with the unit sample.

Trigger period
Functions to apply to the DAQ. This function applies a Schmitt trigger function to a period. To calculate the trigger level the maximum and minimum are used and stored. The maximum and minimum are determined over the time of the “Minimum” frequency (longest period). For example when the trigger signal clips it will be reset after the maximum period time. The maximum value is replaced with the current value if a new positive trigger occurs. The minimum value is replaced with the current value if a new negative trigger occurs.

Destination channel=Function(Source channel;Trigger channel;Output;
Slope;Amplitude type;Level;Hysteresis;Range type;Range value)

Element:
0: Destination channel
1: Function (Trigger period)
2: Source channel
3: Trigger channel
4: Output (Flank/Pulse)
5: Slope (Falling Edge/Rising Edge)
6: Amplitude type (Percentage/Value)
7: Level
8: Hysteresis
9: Range value
10: Range unit (BPM/Hz/s/Sample)

Trigger channel: Data to determine the trigger from.
Flank: When the trigger channel is higher than the trigger point the output is “1” and be made “0” when the trigger channel is below the trigger point (in case of a “Rising Edge”).
Pulse: When the trigger channel is higher than the trigger point the output is “1” and the next pulse is ”0” (in case of a “Rising Edge”).
Falling Edge: Detect a trigger at a falling edge.
Rising Edge: Detect a trigger at a rising edge.
Percentage: Trigger “Level” and “Hysteresis” in percentage.
Value: Trigger “Level” and “Hysteresis” in values. The “Range type” and “Range value” can’t be used in this situation.
Level: Trigger level between the minimum and maximum value of the period. The “Range” and “Minimum” must be used in this situation.
Hysteresis: Deficiency between the minimum and maximum value of the period.
Range type: Only used with “Amplitude type” ”Percentage”.
Range value: Minimum frequency or maximum period where the minimum and maximum amplitude is determined to calculate the trigger level from. So only used with “Amplitude type” ”Percentage”.
BPM: The range is presented in one period with the frequency with the unit BPM.
Hz: The range is presented in one period with the frequency with the unit Hz.
s: The range is presented in time with the unit seconds.
Sample: The range is presented in time with the unit sample.

Derivative
Functions to apply to the DAQ.
This function uses the “Sample time” to differentiate. This is different than the angle and radials.
When a sine (no harmonics allowed) with an amplitude “A” the amplitude of the cosine will be A*2*π*Frequency sine.

The differentiation f(t) of a function F(t) is defined as:

Let y represent the sampled output sequence dx/dt.

Destination channel=Function(Source channel;Type)

Element:
0: Destination channel
1: Function (Derivative)
2: Source channel
3: Type (2nd Order Central/4th Order Central/Backward/Forward)

Type: Type of derivative.
2nd Order Central:


Where n is the number of samples in x(t), x−1 is the first element in “Initial condition” and xn is the first element in “Final condition”.
4th Order Central:


Where n is the number of samples in x(t), x−2 and x−1 are the first and second elements in “Initial condition”, xn and xn+1 are the first and second elements in “Final condition”.
Backward:


Where n is the number of samples in x(t) and x−1 is the first element in “Initial condition”.
Forward:


Where n is the number of samples in x(t) and xn is the first element in “Final condition”.

Integral
Functions to apply to the DAQ.

Integral x(t) calculates a definite integral. The value of the output array at any value x is the area under the curve of the input array between 0 and x.
The integral F(t) of a function f(t) is defined as:

Let y represent the sampled output sequence Integral x.

Destination channel=Function(Source channel;Period channel;Type)

Element:
0: Destination channel
1: Function (Integral)
2: Source channel
3: Period channel
4: Type (Bode Rule/Simpson’s 3/8 Rule/Simpson’s Rule/Trapezoidal Rule)

Source channel: Channel to calculate the integral from.
Period channel: The value “1” starts the integration. The value “−1” stops the integration. The last integration value is hold after stopping the integration until the next integration is started.

Bode Rule:


Where n is the number of samples in x, x−2 and x−1 are the first and second elements in “Initial condition” and xn and xn+1 are the first and second elements in “Final condition”.
Simpson’s 3/8 Rule:

Where n is the number of samples in x, x−2 and x−1 are the first and second elements in “Initial condition” and xn is the first element in “Final condition”.
Simpson’s Rule:


Where n is the number of samples in x, x−1 is the first element in “Initial condition” and xn is the first element in “Final condition”.
Type: Type of integral.
Trapezoidal Rule:


Where n is the number of samples in x and x−1 is the first element in “Initial condition”.

Signal create
Function to replace the destination data with a new signal. A new signal can’t be created when the previous one is not finished. A constant value can be created with “Sine Wave” with an amplitude of zero and an offset of the desired value. The frequency can be chosen 1 Hz.

Destination channel=Function(Source channel;Trigger channel;Type;Frequency number;Frequency type;Amplitude;Offset;Phase;Duration value;Duration type)

Element:
0: Destination channel
1: Function (Signal create)
2: Source channel
3: Trigger channel (Channel/Number)
4: Type (sine/cosine/triangle/sawtooth/increasing ramp/decreasing ramp/period)
5: Frequency number (Value)
6: Frequency unit (BPM/Hz/s/Sample)
7: Amplitude
8: Offset
9: Phase
10: Duration value (Inf is also possible, but is limited by a 32-bit variable)
11: Duration type (Channel/Infinite/Periods/Time)

Destination channel=Function(Source channel;Trigger channel;Type;Frequency number;Frequency type;Amplitude;Offset;Phase;Duration value;Duration type;Interpolation)

Element:
0: Destination channel
1: Function (Signal create)
2: Source channel
3: Trigger channel (Channel/Number)
4: Type (arbitrary wave)
5: Frequency number (Value)
6: Frequency unit (BPM/Hz/s/Sample)
7: Amplitude
8: Offset
9: Phase
10: Duration value (Inf is also possible, but is limited by a 32-bit variable)
11: Duration type (Channel/Infinite/Periods/Time)
12: File name
13: Interpolation (none/linear)

It is possible the “arbitrary wave” function generates a elements that can be shifted one position in time. This is of a bug is the National Instruments software.

Destination channel=Function(Source channel;Trigger channel;Type;Frequency number;Frequency type;Amplitude;Offset;Phase;Duration value;Duration type;Duty cycle)

Element:
0: Destination channel
1: Function (Signal create)
2: Source channel
3: Trigger channel (Channel/Number)
4: Type (square)
5: Frequency number (Value)
6: Frequency unit (BPM/Hz/s/Sample)
7: Amplitude
8: Offset
9: Phase
10: Duration value (Inf is also possible, but is limited by a 32-bit variable)
11: Duration type (Channel/Infinite/Periods/Time)
12: Duty cycle

Trigger channel: The channel which indicates a new signal. The value 1 starts the signal.
period: A period consists of all zero’s, but the first sample is “1” and the last is “−1”. The “Amplitude”, “Offset”, “Phase” and “Duty cycle” are ignored.
BPM: The delay is presented in one period with the frequency with the unit BPM.
Hz: The delay is presented in one period with the frequency with the unit Hz.
s: The delay is presented in time with the unit seconds.
Sample: The delay is presented in time with the unit sample.
Amplitude: Amplitude signal = Peak to peak value of the signal / 2.
Phase: Phage shift [degrees].
Duration value: Number of periods/Duration in seconds. Leave this number zero if the “Duration type” “Channel” is used. If the Duration is longer than the signal the signal is repeated multiple times. If the Duration is shorter than the signal only the beginning of the signal with the length duration s used.
Channel: The signal is repeated during the period of the “Trigger channel”. The start of a period is indicated with the value “1” and the end of the period is indicated with the value “−1”.
Infinite: The signal is continuous. “Duration value” is ignored.
Periods: Number of periods after each other. Start when the “Trigger channel” is 1 and ends after the number of periods indicated by “Duration number”. This can be any number larger than zero. So the values 0,5 and 3,5 are allowed. A new period can’t be created if the previous one is not finished.
Time: The period is repeated during this time. Starts when the “Trigger channel” is 1 and ends after the duration in seconds indicated by the “Duration number”. A new period can’t be created if the previous one is not finished.
File name: File in “Settings folder” that contains all the arbitrary data point as text values in one column. The “File name” must have the extension *.txt.
Interpolation: Interpolation method used by the arbitrary wave. The value “none” used the closest value.
Duty cycle: Duty cycle of the pulse. This is 100 % * “Time high” / “Time period”. Only used with the “Type” “square”.

Scale
Function to scale the data.

Destination channel=Function(Source channel;File name;Type)

Element:
0: Destination channel
1: Function (Scale)
2: Source channel
3: File name
4: Type (Linear 2)

File name: The name of the file located in the profile folder. The file contains the scale factors or correction tables. The values are tab and/or line separated. The decimal separator is the same as the system setting.
Linear 2: The file layout is:
<Slope><Intercept>

Bernoulli noise
Function to generate noise.
Generates a pseudorandom pattern of ones and zeros. Computes each element of Bernoulli noise as if flipping a coin weighted by ones probability.

0: Destination channel
1: Function (Bernoulli noise)
2: Ones probability (Number)

Ones probability: Specifies the probability of a given element of Bernoulli noise being true (1). Ones probability must be in the range [0, 1]. The default is 0.5.
Destination channel: Contains the Bernoulli-distributed, pseudorandom pattern.

Gamma noise
Functions to generate noise.
Generates a pseudorandom pattern of values that are the waiting times to the order number event of a unit mean Poisson process.

Destination channel=Function(Amplitude)

Element:
0: Destination channel
1: Function (Gamma noise)
2: Order (Number)

Order: Order specifies the event number of the unit mean Poisson process. Order must be greater than 0. The default is 1.
Destination channel: Contains the gamma-distributed, pseudorandom pattern.

Periodic random noise
Function to generate noise.
Generates an array containing periodic random noise (PRN).

Destination channel=Function(Amplitude)

Element:
0: Destination channel
1: Function (Periodic random noise)
2: Spectral amplitude (Number)

Spectral amplitude: The magnitude of the frequency domain components of the periodic random noise.
Destination channel: The output array containing periodic random noise.

Poisson noise
Function to generate noise.
Generates a pseudorandom sequence of values that are the number of discrete events that occur in a given interval, specified by mean, of a unit rate Poisson process.

Destination channel=Function(Mean)

Element:
0: Destination channel
1: Function (Poisson noise)
2: Mean (Number)

Mean: Specifies the interval of a unit rate Poisson process. Mean must be greater than or equal to 0. The default is 1.0.
Destination channel: Contains the Poisson-distributed, pseudorandom pattern.

Uniform white noise
Function to generate noise.
Generates a uniformly distributed, pseudorandom pattern whose values are in the range [-a:a], where a is the absolute value of amplitude.

Destination channel=Function(Amplitude)

Element:
0: Destination channel
1: Function (Uniform white noise)
2: Amplitude (Number)

Amplitude: The amplitude of uniform white noise. The default is 1.0.
Destination channel: Contains the uniformly distributed, pseudorandom pattern.

Halton sequence/Richtmeyer sequence
Functions to generate noise.
Generates quasi-random Halton or Richtmeyer sequences, which are low-discrepancy number sequences.

Destination channel=Function(Seed)

Element:
0: Destination channel
1: Function (Halton sequence/Richtmeyer sequence)
2: Seed (Number)

Seed for Halton sequence: Determines the seed to generate the sequence. Seed must be a prime number. If seed is negative, the absolute value is taken. The default is 3.
Seed for Richtmeyer sequence: Determines the seed to generate the sequence. Seed must be an irrational number. If seed is negative, the absolute value is taken. The default is the square root of 3.
Destination channel: Sequence in the interval [0,1].

5.6Marco functions

A comment may appear anywhere in “Script” “Macro”. Characters after a “//” till the end of the line and characters between the “/*” and “*/” are ignored.

In “HWSW DAQ Analyzer” a running macro script is automatically aborted when a previous or next data acquisition menu item is called from the macro script and this menu item was disabled.

Menu
Macro to active a menu item.

Function;String

Element:
0: Function (Menu)
1: String

String: Item name of the menu. The menu items are described in the chapter “2.2 Menu” in chapter “2 Chart recorder” and chapter “3.1 Menu” in Chapter “3 Analyzer”. The supported items are indicated between the parenthesis.

Examples of macro functions are:
Menu;Profile:P Open...
Menu;Settings:Menu items
Menu;Profile:P Save
Menu;Profile:P Save as...

Time/Time and date/Wait
This macro can have a small error of about 200 milliseconds.

Function;Format;String

Element:
0: Function (Time/Time and date/Wait)
1: Format
2: String

Time: Wait until a time is reached. The date is the current date.
Time and date: Wait until a time at a date is reached.
Wait: Wait an amount of time.

Format: Format of the string that represent the time/date.
String: Time/Date string to wait.
Mind the regional settings of the computer if the decimal separator is used.

See the chapter “5.4 Format into string functions” for more options.

Examples:

Description: Wait until it’s 2 minutes past 1 after midnight today.
Function: Time
Format: %<%H:%M:%S>T -> UTC (Universal time).
Format: %^<%H:%M:%S>T -> Local time.
String: 01:02:00

Description: Wait until it’s 2 minutes past 1 after midnight at 31 December 2021.
Function: Time and date
Format: %<%Y/%m/%d %H:%M:%S>T -> UTC (Universal time).
Format: %^<%Y/%m/%d %H:%M:%S>T -> Local time.
String: 2021/12/31 01:02:00

Description: Wait 1 hour, 2 minutes and 3 seconds.
Function: Wait
Format: %<%H:%M:%S>t
String: 01:02:03

Description: Wait 10.5 seconds. The decimal number must be given to prevent an error.
Function: Wait
Format: %<%S%5u>t
String: 10.5

Description: Wait 10 seconds.
Function: Wait
Format: %<%S>t
String: 10

5.7Controls and indicators functions

The functions without a colon are default LabVIEW property nodes. The text behind the colon indicate the custom part of the function.

Example profiles are located in “Chart recorder” and “Analyzer” with the menu item “Profile - Profiles - Examples - Controls and indictors.zip”.

5.8Symbols

5.9Unit conversion

Surface gravity earth standard
g = 9.80665 m/s²
1 kg ≙ 9.80665 N
Surface gravity (Wikipedia)

Surface gravity Amsterdam
g = 9.8128 m/s²
1 kg ≙ 9.8128 N
Valversnelling (Wikipedia)

6Contact information

HWSW
Hardware Software
www.hwsw.io
www.hwsw.io/contact/