State Machine Engine (SME)

In manufacturing, it is common that you use a test fixture to hold the device under test in place and make the connections needed for the test. A test fixture can range from being just a simple cradle all the way up to a complicated machine that uses valves, position sensors and actuators to place antennas, cameras or bed-of-nails before the test starts. There are two main challenges in handling test fixtures in manufacturing;

  • Closing the fixture and preparing the device connections happens prior to the actual test that your test system runs. Similarly, disconnecting the device and opening the fixture happens after the test is completed. It is not really a part of the actual test which makes it more complicated to handle. Especially if the same hardware is used for both fixture control and other things.
  • What happens when a operator presses a STOP button mid-test? Usually, nothing happens because the test fixture is only controlled before and after the actual test. Adding autonomous control to a fixture that works during the actual test would make the test sequence much more complicated and prone to errors.

Wouldn’t it be great if you could completely disconnect the fixture handling from the actual test development and get a real autonomous fixture control with event handling of fixture events? Meet Accordion™ State Machine Engine!

An implementation of a Traffic Light in the State Machine Engine With the custom Agent UI visualizing the active states in real time.

The State Machine Engine (SME) option in Accordion™ is a powerful autonomous state machine engine that runs unsupervised on any Accordion™ product. This feature is useful when controlling a machine or a fixture as it provides autonomous behavior without a host computer controlling it and it offloads the host computer many or all the tasks associated with controlling a machine.

The Accordion™ subsystem is running on the Accordion hardware, which contains a Web server which provides REST/Swagger API and a SignalR hub that serves streaming messages from the running state machines.

The SME runs in an isolated thread and communicates through the subsystem towards either a host computer or the hardware modules on the Accordion.

The hardware subsystem is also isolated and runs the hardware engine through an abstraction layer.

The SME could run one or several state machines in parallel. The SME treats all defined state machines as independent of each other and they are executed asynchronous in separate threads.

Get in touch with us!

We are always looking for new challenges. If you think we’d be a good fit for your next job, let’s have a chat and see where it goes!