Skip to content

SDK Overview

The objective of the SDK is to provide all tools required by a software developer to build and test applications to be deployed on the HCC2 hardware. Such applications will interface with HCC2 core software components, reading and writing data from/to HCC2 core, performing calculations, writebacks and controls to HCC2 peripherals in near real time.

Details of how to create a build pipeline are outside the scope of this document, but guidance on how to use the tools within a build pipeline will be provided where appropriate.

The HCC2 Development Tools and Samples can be downloaded from the Github repository located at: https://github.com/sensiaglobal/qratehcc2sdk

The above are Sensia SDK tools for the development of applications for the QRATE HCC2 device. To use these tools to their maximum, the utilization of additional components is recommended.

Additional Components

  • Integrated Development Environment (IDE). The IDE may be selected by preference of the developer, which better suits their experience. The choice of IDE may depend on the programming language that the developer selects to build the application. For the purpose of this document, we selected Visual Studio Code (vscode) (https://code.visualstudio.com) as the IDE.

  • Data Simulator For testing purposes, the use of a data simulator is advised. Simulation will allow the application to be verified prior to deployment onto the HCC2 hardware. The SDK protocol deployed in version 1.0 of the SDK is Modbus. Any free or commercially available custom Modbus solution may be used as a simulation source during the testing phase of the development lifecycle.

The developer may install these components on a standard, development grade laptop or computer (refer to the Development Environment section for the recommended specification). Although these components may be installed under Windows, we recommend creating a virtual machine (using the selected virtualization application) running Linux-based OS. Our preferred Linux distro is Ubuntu 22.04, but any other major standard Linux distro may also be used.

Hardware

HCC2 Hardware. It is highly advisable to have an HCC2 device, properly configured to be the final target for application development.

Libraries

The SDK will require a set of libraries and packages, depending on the programming language selected to develop the new application. For C# and Python, we recommend installing these libraries:

Python

C#

  • Microsoft.Extensions.Configuration, 6.0.0
  • Microsoft.Extensions.DependencyInjection, 6.0.0
  • Microsoft.Extensions.Hosting, 6.0.0
  • Newtonsoft.Json, 13.0.3
  • NModbus, 3.0.81
  • Serilog, 3.1.1

These libraries must be installed into the IDE of choice. Specific installation procedures depend on the selected IDE. In the case of vscode, they may be easily installed using the nuget command or through Extensions.