Test Automation in your hands

2020-03-30  |  5 min read 

In my previous post “Controlling Test Automation-The Easy Way”, I shared how the FlexiCore Handler system allows control over the test operation yet maintains the safety interlocks and operation integrity. Now let’s dive into the Handler Control Panel this time and take a closer look at how to achieve this.

Socket connection over TCP/IP network

Not familiar with socket connections? It is not as complicated as it sounds, and there are tons of information available on the web to bring you up to speed. Socket connection is a peer-to-peer connection method to link between different software applications within a local area network environment. Software needs just the IP address and the port number in order to link up and talk to each other.

Handler Control Panel application maintains a server in the background of the PC and listens in on a specific port number 5045. It waits for any software clients to connect into this port. Connected clients can then send commands to the Handler Control Panel to control handler operations and manage the handling of units under test (UUT).

Fig1 : Four stages of Handler Operation Sequence

There are four stages in the handler’s operation. Each stage consists of a set of pre-defined sequences which does not allow you to make any alterations. This upholds the safety integrity of the system.

Initialization happens at the beginning of the test operation, while the rest of the three stages will work in a continuous loop thereafter. Each stage of these operation can be associated with a command listed in Table1 below.

Table1 : Handler Operation Commands

Now let’s look at the commands for each of the stages.


The Initialize command SfpH:Init sent at any time during an operation cycle will put the handler back into Initialization stage. This is useful when the handler gets into an error state and stop or when the testplan needs to reset its operation. After completion of the Initialization process, the handler will remain in idle state until the next command is issued.


The command SfpH:ToFirstRun sets the handler into the Input stage sequence. This begins the test operation cycle. The sequence starts with an Initialization sequence followed with the handler bringing in the UUT and moving it into position before engaging it down onto the test fixture. This completes the input stage, and the handler waits for the next instruction.


The handler sets it’s AutoStart flag to indicate that the UUT is ready for testing when the press is fully engaged. The user’s testplan queries this flag with the command SpfH:ChkAutoStart? to determine if it should start the testing or programming sequences. The sequence of test and programming will be application specific.


After testplan completes the tests on the UUT, it sets the UUT with a Pass or Fail result. Sending the Set Result command SfpH:SetRslt “n” sets the result and triggers the Output stage sequence to release the UUT and transfer it to the downstream machine. Along with the transfer, handler sets the Pass/Fail signal to the downstream machine so that appropriate handling can take place thereafter.

This completes one entire test cycle and the handler automatically returns to the Input Stage waiting for the next UUT to be available. That’s it! Four commands are all it takes to get the handler moving!

Of course, this is only the basic operation and, on the assumption, that there are no error conditions. To put this into actual production use, the testplan needs to include the checks for handler error so that the operation will not be stuck in an infinite loop when the handler stops on an error. We will talk about Error handling in the next post. 

Stay tuned and stay healthy!

Ping me up with your questions or comments !