Test - Integrate - Control

CnC Protocol Plugin

A plugin is now available supporting the widely used Astrium CAIT “Command & Control” SCOE protocol.

The C&C protocol is widely used by EADS/Astrium in various missions for communicating with SCOE.

This protocol was in fact already supported for the BepiColombo mission in the BcCcs plugin.

The plugin name has been updated to the generic name “CncProto”, and BepiColombo specific terminology adapted to more generic naming.

The plugin supports communication with multiple SCOE, using the MIB database files SCO.dat and TCD.dat to define which SCOE are available, and how to route TC. You can individually connect to specific SCOE using the command: “CncProto::connect

The plugin supports routine TM and TC packet handling, distribution and routing of TC to the correct SCOE.

The plugin also provides plugin functions to directly initiate C&C messages from TCL scripts. So for example you can send a C&C string to a SCOE (or to all SCOE) using “CncProto::sendCnc ” without defining a telecommand in the MIB. The special SCOE name “*” (asterisk) means “all connected SCOE”

The plugin also provides server functionality, which allows an arbitrary number of other EGSE to connect in to the TSC as a client. In this scenario the plugin is itself behaving as a SCOE (other EGSE initiates connections) Since we do not know in advance which external EGSE is connecting, these SCOE are given the automatic name “EGSE_CLIENT” where “n” is an increasing number. The connecting SCOE can be addressed from TCL scripts using the allocated name.

The plugin allows the user to define SCOE server like functionality in a flexible way. This means we can program in TCL scripts the reaction when TSC receives a CnC command. The user must provide a CncHandler script (an example is provided in the CncProto test pack). This handler defines how the TSC will react to C&C commands in a flexible way. For example it is easy to map incoming C&C commands directly to a TCL procedure. In case of errors in the incoming command, the plugin automatically handles returning error packets back to the sender.

The plugin also updates the ::utope::status array to show information about each connected SCOE, including all available packet counters, connected status, etc. The status array also includes statistics for the EGSE_CLIENT connections.