Skip to content

Design Considerations

.Net Version

Currently the HCC2 has been optimized to run with a .Net 6.0 base layer. This allows this layer to be utilised for each container requiring it, and thus negates the need to deploy the entire framework for each container. Therefore, it is strongly recommended that .Net 6.0 be the target framework for your applications, unless you require a specific feature only available in more recent .Net releases. A recommended .Net 8.0 base layer will be released when finalized.

Docker Image selection

Sensia has produced images for Python and C# applications and it is recommended that these be deployed by the docker-compose.yml

NOTE:- At the time of writing, these images include the .Net 6.0 framework.

Language Container Image
Python qratehcc2sdk.azurecr.io/python:3.12-slim-2024-04-19-debugprodbuild
C# qratehcc2sdk.azurecr.io/dotnet-sdk:6.0-2023-03-02-build

Applications can be written in many languages. Choose one that you have experience with, ensuring it is compatible with interfacing with the HCC2 to interact with data (via Modbus). To reduce storage overheads, ensure you use one of the preferred base images.

Programming Techniques

The HCC2, although powerful, has finite resources. Good programming practices should be adhered to, including:

  • Careful management of Memory and CPU usage
  • Avoidance of "Busy loops"
  • Cautious use of Flash Storage from both a size perspective and rate of update

Refer to the Best Practices section for further advice and recommendations.