Sixclear

Sixclear Fabriq

Actor-oriented systems platform for LabVIEW.


Overview

Flexible, modular, scalable systems lower cost and risk.

Sixclear Fabriq is a scalable system development platform built on LabVIEW. At its core, Fabriq is an extensible, actor-oriented abstraction over the Featherweight application framework which provides both out-of-the-box reusable actors for many hardware devices and system software needs, as well as overrideable templates for custom actors such as data publishers, data subscribers, request-responders, and more.

Important Note: Fabriq is NOT based on NI's Actor Framework. Fabriq intends to bring best-of-breed messaging and other technologies together to enable building scalable systems on the LabVIEW platform without compromising edit-time performance, run-time performance, or the ability to scale beyond a single computer. Fabriq systems are easy to comprehend, build, and deploy, while seamlessly integrating modern capabilities such as web interfaces.

Platform SDK

  • beautiful abstraction
  • best-of-breed technologies
  • flexible, scalable, and performant

Request a Demo

Modules

  • build from existing actors
  • easily integrate new hardware
  • customize production test & control

Browse Actors

In practice, Fabriq is an elegant solution to test, automation, and control systems of all sizes. While we cannot fully capture its capabilities in a few sentences here, important features and distinctions include:


Concepts

The concepts are easy, so are building the systems.

Fabric actors are independently running parallel processses which send and receive messages. They can be composed to build up systems by launching as many instances of each as necessary.

Simple Exmaple

Let's consider an actor that acquires data from a National Instruments (NI) analog input device, which we'll call our NI AI actor. Perhaps a configuration file will define the initial configuration parameters such as physical channels and sampling rate. We should then be able to launch our actor and subsequently send messages such as "start acquisition" and "stop acquisition" and receive replies. Finally, suppose we want to send the acquired data to some CSV File I/O actor. We would configure our NI AI actor to publish data, and similarly configure a File I/O actor to subscribe to that publication. With Fabriq, this functionality and much more just magically works. A depiction of such a system is shown below.

Typical Exmaple

In systems consisting of multiple devices we often need to "orchestrate" communication with a "system control" actor, such as sequencing commands across several devices in a test system, or aggregating measurements to compute and reflect control channels in a control system. The following diagram shows a depiction of such a system with 3 hardware devices as well as a WebSocket Host Actor which publishes data for monitoring in a browser interface.

Even systems of substantial complexity can be designed and built quickly and reliably. Desigining systems is as easy as drawing simple diagrams like shown above, where even hardware and other software integration can be represented as needed. Implementations are significantly simplified as actors are inherently decoupled allowing for unit testing and seamless collaborative development.

Actors

Down with reinventing wheels, up with deploying systems!

Fabriq actors are highly configurable, supporting custom channel names, complete hardware configurations where appropriate (ex. acquisition rates), data publishing, configurable request-response handling, configurable procedure definitions, and much more.

System & Data Storage

Instance Manager

A powerful "application" which allows for manually issuing commands to system actors for test and debug purposes, as well as creating/saving/running sequences of commands.

Heartbeat Engine

Provides request and timing synchronization, pluggable derived channel computation points, control data reflection, data publishing, and more.

WebSocket Host

Filter which channels are published to a websocket for use with an existing Fabriq web interface, or your custom web interfaces.

CSV Streamer

Quickly configure channels to stream to disk in comman separated value (CSV) format.

SQL Streamer

Quickly configure channels to stream to a relational database using a common or your custom database design.

FITS File Manipulation

Manipulate FITS image files using common stretch transforms or adding custom metadata.

National Instruments

NI cRIO

Measure and control channels in your NI CompactRIO system modules. Write data to output channels and read data from input channels. Swap modules and simply update your configured channel map.

NI Analog Input

Measure analog input data on NI's data acquisition platforms such as CompactDAQ (cDAQ), PXI, and USB.

NI Analog Output

Generate analog output data on NI's data acquisition platforms such as CompactDAQ (cDAQ), PXI, and USB.

NI Digital Input

Measure digital input data on NI's data acquisition platforms such as CompactDAQ (cDAQ), PXI, and USB.

NI Digital Output

Generate digital output data on NI's data acquisition platforms such as CompactDAQ (cDAQ), PXI, and USB.

NI Counter Input

Measure counter input data on NI's data acquisition platforms such as CompactDAQ (cDAQ), PXI, and USB.

NI Counter Output

Generate counter output data on NI's data acquisition platforms such as CompactDAQ (cDAQ), PXI, and USB.

Additional Hardware
(growing list)

Tektronix Oscilloscopes

Control Tektronix oscilloscopes using all standard commands and custom commands to support all model-specific features.

Finger Lakes Instrumentation (FLI)

Configure and control nearly any FLI camera, filter wheel, or focuser.

Uniblitz Optical Shutter

Control Uniblitz optical shutters driven by a corresponding shutter driver.

Keyence Laser Controller

Control and acquire laser profiles from Keyence laser setups.

Actor Templates
(just override a few VIs)

Actor Base

Core request-response actor from which all other Fabriq actors derive.

Periodic Publisher

Override just a few VIs to turn any device, or other actor concept, into a data publisher in your system.

Multi-Subscriber

Subscribe to data published by other actors and handle those subscriptions with your custom overrides.

Periodic Publishing Multi-Subscriber

Handle data from incoming subscriptions and transform, filter, or otherwise update data to publish.


Pricing & Services

Build your systems of the future on Fabriq.

Fabriq systems are quoted on a per-project or site-wide basis to accommodate projects of all sizes. For organziations wishing to maintain in-house expertise, comprehensive training is provided. In all cases, Sixclear professional services are available to help build your future systems on Fabriq.

Let's build your next system together with Fabriq. Reach out to us by requesting a quotation with information about your system, or simply give us a call to discuss details with a senior engineer.

Request Quotation Contact Us