SuperCom - Die Daten Kommunikations Bibliothek

-- Eine Einführung in die SuperCom Konzepte für Programmierer --

SuperCom bietet eine fülle an APIs, die für den Aufbau von Datenverbindungen genutzt werden können.

Es gibt immer das 'Direkte API' (direkter Aufruf der nativen SuperCom Funktionen) aber auch viele 'wrappers' wie das ActiveX Steuerelement, C++ Klasse CSuperCom, Delphi / Pascal Klasse TSuperCom oder die NET Klasse TSCom (imitiert das ActiveX) und andere. Sie wählen das am besten passende für Ihre Entwicklungsumgebung und Compiler aus.

In dieser Sektion werden wir die meist benutzten Funktionen für den Aufbau einer Datenverbindung demonstrieren.

Daten Kommunikations Bibliothek. Ein API für serielle und TCP/IP Verbindungen.

Verbindungs-Index

Um mit SuperCom eine Verbindung (Datenkanal) zu kontrollieren wird ein Kommunikations-Index verwendet. Jede Verbindung, über SuperCom, nutzt einen eindeutigen Kommunikation-Index. Nahezu jede Funktion im SuperCom API erwartet diesen Index als den ersten Parameter. Dieser Index kann auch als eine Art 'handle' betrachtet werden und wird meist als die Variable Com im Programm deklariert.

Sobald Klassen genutzt werden scheint dieser Index zu verschwinden aber es ist immer da. Auch wenn ein Verbindungsaufbau keinen Index fordert wird SuperCom einen zuordnen.

Bei seriellen Verbindungen ist der Kommunikations-Index fest an bestimmte serielle Schnittstellen gebunden d.h. der Index 'COM_1' ist fest mit der ersten serielle Schnittstelle verbunden. Bei Windows wäre es die "COM1". Der Index 'COM_2' ist unter Windows mit "COM2" verbunden usw. Bei Verbindungen über TCP, TAPI, ISDN u.a. besteht diese feste Zuordnung nicht und es kann jeder verfügbare Index im Bereich von COM_1 bis COM_255 benutzt werden.

Der Software-Entwickler kann den Kommunikations-Index selbst bestimmen obwohl SuperCom auch Funktionen bietet um nach verfügbaren Kommunikation-Index (Datenkanal) zu suchen (z.B. ComValid) wie auch Funktionen (z.B. ComPortPresent) um nach verfügbaren seriellen Schnittstellen, TAPI Geräte usw. zu suchen.

Aufbau von Datenverbindungen

Die folgende kurze Beispiele demonstrieren die meist genutzte APIs beim Verbindungsaufbau mit SuperCom.

Direkter Aufruf des nativen SuperCom API

C/C++

  TCOMMID Com = COM_2;  // Kommunikations-Index, z.B. serielle Schnittstelle COM2
  char *Msg = "Hello World";

  ComInit(Com);

  ComSetState(Com, 57600, 8, 1, 'N', SIGNAL_CTS);

  RS_TXPacket(Com, Msg, strlen(Msg), &Result);

  ComReset(Com);

  C/C++    C#    Delphi    Java    Visual Basic

 

Die Anweisung ComInit belegt im SuperCom den, über den Parameter Com angegebenen, Datenkanal. ComSetState initialisiert den Datenkanal (z.B. die serielle Schnittstelle "COM2" unter Windows oder "ttyS1" unter Linux) mit den Übertragungsparametern und die Flußsteuerung. Die Anweisung RS_TXPacket sendet das Datenpaket Msg über den Datenkanal und ComReset beendet sämtliche Aktionen auf den Datenkanal und gibt den Datenkanal sowie alle benutzten Hardware- und Software-Ressourcen frei.

 

Nutzung alternativer Funktionen und Klassen Bibliotheken (wrapper) die über das native SuperCom API erzeugt wurden.

C/C++

      // Seriell, TCP, ... - direktes API
   TCOMMID Com = COM_2; // Kommunikations-Index, z.B. serielle Schnittstelle COM2

ComGetSetConfig(...); // Set ComType z.B. Seriell (RS232, RS485), TCP/IP etc. ComInit (Com); ComSetState (Com, 9600, ...); // bei Modem, TAPI, TCP, ISDN Verbindung per RS_ConnectEx herstellen RS_ConnectEx(Com,... );
: ComWriteEx(Com, STR_HELLO, strlen(STR_HELLO)); ch = ComRead(Com); : ComReset();
  C/C++    C#    Delphi    Java    Visual Basic

 

RS_OpenLink ist eine neuere Funktion, die den Aufbau der Verbindung erleichtert, da die benötigten Daten für die Konfiguration als String Parameter, als "Name=Value" Paare, übergeben werden. Es existieren auch spezielle Formen davon, in ausgewählte SuperCom Protokoll-Modulen, wie die RS_S7OpenLink, die für den Verbindungsaufbau zu einer S7 SPS genutzt wird.

Ein kurzer Auszug der nativen SuperCom Funktionen Serielle und TCP Daten Kommunikation Bibliothek, Funktionsliste

Eine weitere Quelle von anwendungsspezifischen Funktionen und Klassen sind in vielen Beispielen enthalten. Diese stehen zur freien Verfügung des Lizenznehmers um schneller an Ziel zu kommen.

 


Home   Back

Daten Kommunikation Software, NET Klassen, ActiveX Kommunikations Bibliotheken und Komponenten
It Simply Works!

Updated on: 2023-04-28 13:54:54