A North American mining company was working to develop a hard-rock drill for taking mineral samples from the moon and Mars. The expected conditions were harsh—wide ranges in temperature, unknown rock types, and possible loss of radio contact with earth. The drill had to continue functioning, anticipating and reacting to any irregularities and potential hazards during the mission.
The engineering team responsible for the drill needed to develop an autonomous controller for it. On earth a drill like this would typically be controlled by a PLC, but this project called for a special embedded controller with a full Linux OS, which introduced an additional challenge. Although the drill would be running autonomously once on the moon or Mars, the development and testing phases required they monitor the drill with an HMI program. Normally, they would connect the HMI to the OPC server that came with the PLC that controlled the drill. But the new Linux controller board did not support OPC, so they needed a way to get the data out of Linux and into the Windows HMI program.
The solution was to write a small interface program that would run on the embedded board, and connect to the DataHub running in Windows via the DataHub API. This allowed the embedded Linux program to send data to the DataHub in Windows, which in turn exposed this data as OPC points that the HMI could read. In addition to the HMI connection for monitoring, the team also found the DataHub’s Data Browser helpful for sending manual commands to the embedded controller, simply by changing point values in Windows and having the DataHub send them back to the Linux system.