Streaming Data to Initial State
Evaluating initial state with API and Keithley 6510 Streaming
Initial State Walkthrough
The Keithley-specific walkthrough starts here: www.initialstate.com/keithley
Thereafter a sign up for the 14-day trial of Initial State gets one started right away.
Initial State Getting Started
Instrument and Network Preparations
First order of business is setting up the instrument to stream to Initial State (IS). This is also described on the initial state Get Started article online. To this end, the instrument must have access to the internet. Im my case access was provided by way of a TP-Link router which settings were configured so as allow the instrument to register the DNS servers upon setting up the instrument network access:
The instrument reports error 1115 when attempting to stream where the instrument is unable to find the IS web server.
The error message is: Parameter error: no address associated with hostname.
Local Network with DHCP
Setting the instrument on the local network with DHCP the instrument is able to upload.
Local Network with Manual IP
For the local network to work properly with manual IP, the DNS servers must be set in the router DHCP settings. The settings for a TP-Link server are:
Router Settings for the local network
DHCP Server Enable
Start IP Address 192.168.1.100
End IP Address 192.168.1.199
Address lease time 120
Default Gateway 192.168.1.1
Primary DNS 126.96.36.199
Secondary DNS 188.8.131.52
Figure 1. TP-Link DHCP setup. Important are the settings for the primary and secondary DNS server addresses, which the instrument registers when its LAN settings are initialized.
Error 1115 when DNS Servers are missing
Setting the instrument on the local network manual IP the instrument has another error 1115: Parameter error: no route to host.
Manual Settings for the DNS Servers
The IP addresses of the DNS servers can be set from the instrument web interface VIA a browser.
Instrument panel Local context
Figure 2: Pressing Local at the top left corner of the screen displays the current network settings.
While not included in the IS walkthrough, the setting up of the instrument scan including sampling and streaming of data, can be set from the IS application screen on the instrument or from the Scan menu.
Sample Data collected by way of the 6510 7702 relay board
Sample current, voltage, resistance and temperature data can be viewed on the IS link: https://go.init.st/jp7gs9c. These data are shared by way of a public link. Data can also be shared securely between account holding users. The later case also share any custom views created for the data.
Figure 3: Sample data uploaded from the 6510 via a couple of 7700 relay boards and displaying temperature, voltage, current and resistance. The display can be edited on line using ‘tiles’, which was used to convert the sine way to an event counting histogram.
Uploading 6510 data to Initial State
|101||K Type Thermocouple||Temperature||27 Deg C|
|108/18||5 Ohm||4-Wire Resistance|
|109/19||0.5 Ohm||4-Wire Resistance|
|112||5V; divider 462 / 43K||Voltage||52.6 mV|
|122||5V; ? Ohm||Current||4.8 uA|
Using the Initial State API
Figure 4. Production summary data uploaded to IS. Here too the display capabilities of the IS user interface come into fore where the production engineer could display the data series indexed by item number from 1 to 99 into a distribution histogram capturing another aspect of the data.
While streaming data directly from the multimeter certainly has its application, test and measurement applications often comprise from multiple instruments and undergo some data reduction. Figure 4 displays such data.
Thoughts about the IS API
The IS API works well. Some areas of the API could use further strengthening. Of particular importance are validations of existence given the stateless nature of the communication.
Use Cases for Ordinal Series
Of particular importance to production facility are data series indexed by item, which is the unit of interest in production. To this end the following use cases could be used for the API for streaming ordinal buckets.
Ordinal buckets included collection of value sets called Ordinal Events.
- Buckets indexed by ordinal numbers can be created;
Creating ordinal buckets or requesting an existing ordinal bucket:
- the bucket existence at the buckets end point is confirmed;
- the bucket rate limit is reported;
- the bucket rate limit sample rate is reported;
- the bucket creation time stamp is reported.
- the event count of the buffer is provided;
- optional: an ordinal bucket can be created by name with the assigned bucket unique key is returned by the server;
- optional: the bucket key name pair is returned;
Ordinal bucket properties
- the bucket name is unique;
- the bucket key can be found by looking for a bucket name.
- a minimum ordinal number can be set for the bucket;
- a maximum ordinal number can be set for the bucket;
- bucket conformity level can be set as strict or normal where strict conformity means that HTTP exceptions are reported for specific departures from bucket settings;
- with strict conformity adding events with out of range ordinal numbers returns HTTP errors;
Renaming a bucket
- the name associated with the bucket key can be changed.
Copying a bucket
- A bucket can be copied to a new bucket
- when copying a bucket, the new bucket is treated as a created bucket;
Deleting a bucket
- A bucket can be deleted;
- When deleting a bucket, the bucket is retains for a specified time;
- The date of complete removal of the bucket is reported when a bucket is deleted.
- A deleted bucket can be restored within a certain time period.
HTTP Errors reported upon creating a bucket
- Attempt to create a bucket under an existing by incorrect endpoint (e.g., /versions) causes and HTTP error;
- an error is reported if the bucket name does not much an existing bucket key;
- an HTTP error occurs if the bucket name exists.
Ordinal buckets hold one or more Ordinal Events.
Adding an ordinal event
- the number of events added is reported;
- the number of events in the bucket is reported;
- a indication that the ordinal number was overruled by the server is provided;
- a indication that the requested ordinal number is out of range is provided;the event ordinal number is reported;
- the event key and ordinal number are unique;
- events can have a null value;
- events can be read from a bucket by the bucket key and event ordinal number;
- the read events are serialized in the same way as they are posted;
- all events associated with an ordinal number can be assigned a new unique ordinal number.
- All events associated with an event ordinal number can be deleted by specifying the event number and bucket key;
Initial State provides important value in collecting and presenting time series data on the cloud. IS forte is in t=its ability to present the stream data in alternative formats and calculations thus providing alternative perspectives of the same data. For production and test and measurements, this capability could allow the production engineer a choice of overviews whereas the quality assurance engineers might choose others. This is very powerful.
The direct streaming cost of $10 per month likely represents a fraction of the actual cost of adopting IS for streaming test data. Most likely the cost of planning, design, implementation and maintenance overshadows what IS charges monthly.
One major concern raised with IS is their override of event timestamps for any timestamp that is earlier than 10 years prior to the actual streaming event: “If the client provided timestamp epoch or iso8601 is 10 years or more behind canonical universal time, the client provided timestamp will be ignored and a server timestamp will be automatically provided.“
Obviously, this precludes streaming the solar cycle or solar magnetic activity cycle. But, also important, from a quality assurance and perhaps also legally is the assumption that the server knows the correct time better than the customer. Obviously, even if the timestamp provided by the client is in error, so is the server’s.
I am now working with one customer to bring Initial State monitoring to the factory floor. Our objectives are:
- integrate streaming with every test and measurement production process ;
- Stream process data to the cloud;
- Preset process data on each engineering and quality assurance workstation;
- Add alerts for process exceptions
This this end, Initial State streaming has been demonstrated on one production station engaged in grading of wafer substrates. The station has been streaming data for some two weeks now. Being an evolutionary if not revolutionary change, bringing management around to embrace these ideas is expected to take some time. However, given the need and a fully supportive engineering project and production management, the chances of success seem good.