Automation in SignalCalc 900

SignalCalc 900 has the Most Comprehensive Set of Automation Tools for Lab or Production Integration

With a REST based software interface, digital IO, and a built-in automation scripting language – SignalCalc 900 can be easily integrated into an automated lab environment. Take advantage of SignalCalc 900’s powerful data acquisition/control features without losing your workflow or level of automation.

SignalCalc 900 has the Most Comprehensive Set of Automation Tools for Lab or Production Integration

Programmatic REST Interface

Control SignalCalc 900 from any Programming Language – REST is the most commonly used interface for applications to talk. If you are creating software on a computer from this decade, your programming language of choice likely supports REST interface commands. These include Matlab, LabVIEW, Python, C/C++/C#, VB, VBA, and many more.

REST Interface Supports Functionality Such As:

Test Controls
Functionality pertaining to running a single test (e.g. Open, Start/Stop/End, Close, Review a test) as well as getting a list of available tests (e.g. get a list of tests associated with a specific Project from the test database) are all supported through the REST interface.

Read Test Status
Loading test-specific statuses from the currently running test such as whether the test is stopped/running, test time, test level, shaker drive level, or test frequency (sine tests) can all be done through a REST call.

Test Stop/Abort Reason 
If a test is stopped, the reason for the stop (e.g. Control Channel abort, or Normal End) can be read through the REST interface.

Creating/Editing a test setup
Create a new test or open an existing test and manipulate test setup parameters; including input channel settings.

Reading Live or Saved Data
The programmatic transfer of time/frequency data (live or already-taken) from SignalCalc 900 is possible through the REST interface.  Multiple signals can be requested at a single time, continually, and data can be transferred as text or binary (base64).

Changing a Controller Test Level Live
The test level in a Sine, Random, Shock, Resonance Dwell, or Mixed Mode test can be updated live as the test executes, through REST interface commands.  In addition, test schedules can be traversed manually, or the frequency/direction of a sine dwell/sweep can be changed through the REST interface.

Changing an Output Waveform Live
In Analyzer measurements, an output waveform (e.g. Sine or Random) can be changed live through the REST interface. Change the frequency of the sine sweep or dwell; or change the amplitude/phase of the waveform while the test is running.

Read or Write Channel Settings
All input channel settings can be changed programmatically through the REST interface. This can greatly simplify the process of configuring a test with tens or hundreds of channels. An included Excel sample file (with REST functionality included as a Macro) demonstrates this – it grabs all input channel settings from SignalCalc 900 with one click; allows you to modify them in Excel, and then reloads the modified settings back to SignalCalc 900 with a second click.

Test Sequencing and Automation Scripting

Sequencing tests can be done quickly with the Application Sequencer. The Sequencer can quickly sequence tests to run without user interactions needed.

Test Sequences are saved as text scripting files that can be edited in any text editor. This dramatically reduces the time it takes to create even complex sequences, with programmable (if/else, etc.) logic.

SignalCalc 900 Test Sequencing Scripting

Advanced Sequencer and Scripting Features Include:

Test Controls
Sequence a list of tests to run sequentially without user interaction.

Read Test’s Status
Read test’s status and perform actions based on the current state.

Read Digital IO 
Read Digital Inputs/Outputs and act on them.

Send Email Notifications
Send email notifications based on test statuses or periodically, for remote test monitoring.

Launch External Applications
Launch external applications based on the vibration test status, digital IO, or time.

Control your Entire Lab
With programmatic functionality, scripting, reading test status, and reading/writing Digital IO – you can integrate controls of many different systems from SignalCalc 900.

Automate your entire vibration test, including the vibration controller/analyzer, thermal chambers, device under test, and other test equipment – with the SignalCalc 900 Automation Scripting Language

The text-based scripting language lets you control the SIgnalCalc 900 Controller/Analyzer, execute conditional statements, interact with external devices through a relay interface, and much more!

The SignalCalc 900 Automation Scripting Language enables you to sequence logic based on your vibration test status or based on signals from an external system detected via digital input. The script can then send commands to SignalCalc 900 or to those external devices. This allows you to build nested logic into a simple (or complex) script that can perform specific actions based on the current state of the vibration test and external systems.

For example, a thermal chamber and the vibration test can be stopped in response to a specific failure signal coming from the device under test; and a different signal from the device under test can tell the vibration controller and thermal chamber to start and run a different profile.

With the SignalCalc 900 Automation Scripting Language, highly customized automation is simple and straightforward – and the degree of customization is limited only by your imagination.

Digital Inputs/Outputs

Plug and Play Functionality

Simple IO such as signaling test status or receiving a stop signal.

Control Thermal Chambers

Digital Inputs/Outputs can easily be used to command a thermal chamber; and to wait for a response signal from the chamber indicating it is at temp.

Display Within SignalCalc GUI

LED Displays within the software show the state of the Digital IO.

Simple Programmable Logic

Turn outputs On/Off; wait for a response, or perform actions when a specific input is turned on from within the Application Sequencer.

Complex Programmable Logic

Create a custom interface with more complicated logic using the Automation Scripting language; including the use of loops, conditional statements based on digital Inputs’ state and/or the currently running vibe test’s state (see screenshot to the left).