Skip to content

Introduction

This document describes the software development kit for the Sensia QRATE HCC2, Hyperconverged Edge Controller. It is written for software engineers to help them design, build, and deploy applications to the QRATE HCC2 controller.

The SDK comprises a set of tools and instructions for building powerful customized applications using the Python or C# programming languages, and leveraging the power of the .Net framework.

The document is not intended to educate the reader in the various third-party tools, languages, and services described. Further reading is strongly advised on topics the reader is not familiar with, as detailed in the Engineering Skill base for the SDK section.

The SDK Overview provides an overview of the tools and languages used to create the demo applications.

The HCC2

The HCC2 is a precision-data acquisition and edge controller unit designed for high-speed operation in harsh environments. This unit is suited for applications with wide temperature range and low-power consumption requirements.

The HCC2 can operate as an RTU/PLC, edge device controller and gateway, or as part of a larger integrated network of automation technologies. The data it acquires can be used locally for control or remotely for alarm and event reporting and remote data analytics. Communication options include serial, Ethernet, and wireless.

End user details of the HCC2 can be found in the external documents:

  • HCC2 Software User Manual
  • HCC2 Hardware User Manual

See External References for more information.

A deeper description of the HCC2 architecture can be found in the Architecture page.

Engineering Skill base for the SDK

The SDK tools have been tested using the Ubuntu operating system (ver 22.04)

The following table lists the skill sets required to deploy a custom application using this SDK.

Skill Set Skill Level Requirement
Linux Medium Preferably Ubuntu1. Debian has also been used.
Modbus Protocol Low Understanding of the data types and addressing structure. 2
Docker Medium Docker Desktop for either Linux or Windows, including
+ The Docker file structure
+ Docker yml files for container deployment
IDE Familiarity Medium The SDK has been tested using VS Code on an Debian machine3
Coding Language4
+ Python
+ C#
Medium The application developer should have an understanding of their chosen coding language, and be aware of best practice for:
+ Error handling / management
+ Thread creation / usage
+ .NET 6 architecture and features

  1. The Linux machine can be one (or more) of:
    + Physical Linux box
    + Linux Virtual Machine
    + WSL (Windows Subsystem For Linux) 

  2. Applies to version 1 of the SDK 

  3. SDK users are not limited to VS Code.
    Any IDE that be users to develop / compile your application can be used, however, the SDK has only been tested using
    + VS Code for Ubuntu & Windows 11
    + VS2022 

  4. Technically any language that can be compiled to run within a container within the HCC2 x86 environment can be used, however, support for interacting with the data available in the HCC2 via Modbus (see point 3) would be the responsibility of the developer.