/TF2000_Server_Samples

Sample extensions for the TF2000 TC3 HMI Server

Primary LanguageC#OtherNOASSERTION

Server Extension Samples

This repository contains server extensions that showcase many features of the server extension API, as well as various aspects of the extension-server interaction.

Here is a list of all sample extensions:

Documentation for the .NET extension API

The documentation for the API can be found in the Beckhoff Information System.

If the TE2000-HMI-Engineering is installed on your system, the documentation is also available at this path:

C:\TwinCAT\Functions\TE2000-HMI-Engineering\Infrastructure\TcHmiServer\docs\TcHmiSrvExtNet.Core.Documentation.chm

Getting started

Our suggestion is to start with the NetworkTime or the RandomValue sample. Both are relatively short but contain many of the most commonly used features: Registering listeners, handling symbol requests, storing settings in the extension configuration.

Every extension can define its own set of error codes. The ErrorHandling showcases how this should be implemented.

The HMI server generates a configuration page for every server extension. If you want to display additional status information on your extension's configuration page, have a look at the Diagnostics sample.

Advanced samples

Authentication

  • MinimalAuthentication: If you want to extend the authentication system of the HMI server, this sample extension is the best starting point.
  • CustomUserManagement: A more realistic implementation of a user management extension that supports adding, removing, renaming, as well as enabling and disabling users.

Event system

  • EventSystem: Use this sample as a starting point if you want to write an extension that sends messages or raises alarms.
  • EventListening: If your server extension is going to listen for messages and alarms from other extensions or the HMI server, take a look at this sample.

Miscellaneous

  • InterExtensionCommunication: This sample will give you an understanding of how multiple extensions can interact with each other, and with the HMI server.
  • ConfigListening: If your server extension wants to listen for changes to its configuration, take a look at this sample.
  • DynamicSymbols: All other samples provide a fixed list of symbols that clients can use to interact with the extension. This sample demonstrates how an extension can provide a dynamic list of symbols that changes at runtime.
  • LetsEncrypt: This server extension generates an ssl certificate with Let's Encrypt.

Code Snippets

Descriptions of small blocks of reusable code that showcase concepts or facilitate the development of a server extensions.

Requirements

The following components must be installed to build the samples: