PlugIn für BinTerm:

Mit dem PlugIn können sie eine eigene Konvertierungsroutine in das BinTerm implementieren.
Das PlugIn wird als DLL BinTerm zu Verfügung gestellt.

Funktionsweise:
BinTerm benötigt lediglich den DLL- Namen als Parameter. Anhand der in der DLL enthaltenden Funktionen erkennt BinTerm, ob die DLL gültig ist.
Mit dem Einsprung in 'PARAMSET' kann die DLL einen Eingabedialog starten, indem eigene Parameter und Optionen festgelegt werden können.

Die eigentliche Konvertierungsroutine - in Delphi:

// Funktionsaufruf der Konvertierungsroutine
Function Convert(Const iByte, // Ankommendes Byte (0..255)
                 iRichtung: Byte; // Datenrichtung (Bit 0: von SPS; Bit 1: von PC)
                 Const cIn: PChar; // Ankommendes Byte nach Wandlung in String [30]
                 Var cOut: PChar; // Ausgabe String [255] mit anzuzeigenden Zeichen
                 Var cColor: DWord // Farbe für Text (erlaubt: clBlack, clGrey, clRed,
                                   // (clMaroon, clBlue, clNavy, clLime, clGreen)
                 ): Integer; Stdcall; // Anzahl der Zeichen im cOut- Buffer
Begin
  If (iRichtung And 3) > 0 Then // Daten kommen an
  Begin
    Case
cColor Of // Farbe abändern
      clwBlack: cColor := clwGreen;
      clwGray: cColor := clwLime;
      clwRed: cColor := clwBlue;
      clwMaroon: cColor := clwNavy;
    End;
    cOut := cIn; // Angekommene Wandlung wieder ausgeben
    Result := Length(cOut); // Länge der Ausgabe
  End Else Result := 0; // Kein Zeichen ausgeben
End;

- in C++:

// Funktionsaufruf der Konvertierungsroutine
int __stdcall Convert(BYTE iByte, // Ankommendes Byte (0..255)
                BYTE iRichtung, // Datenrichtung (Bit 0: von SPS; Bit 1: von PC)
                LPSTR cIn, // Ankommendes Byte nach Wandlung in String [30]
                LPSTR *cOut, // Ausgabe String [255] mit anzuzeigenden Zeichen
                DWORD *cColor // Farbe für Text (erlaubt: clBlack, clGrey, clRed,
                              // (clMaroon, clBlue, clNavy, clLime, clGreen)
                ) // Anzahl der Zeichen im cOut- Buffer
{
  if ((iRichtung & 3) > 0) // nur wenn Daten ankommen
  
{
    switch ((DWORD) *cColor) // Farbe ändern
    {
    case clwBlack:
      *cColor = clwGreen;
      break;
    case clwGray:
      *cColor = clwLime;
      break;
    case clwRed:
      *cColor = clwBlue;
      break;
    case clwMaroon:
      *cColor = clwNavy;
    }
    *cOut = (LPSTR) GlobalAlloc(GPTR, strlen(cIn) + 1); // Speicher zuweisen, wird in BinTerm
                                                      // mit GlobalFree wieder freigegeben
    strcpy(*cOut, cIn); // Kopieren von Eingang zu Ausgang
    return strlen(*cOut); // Länge der Ausgabe
  } else {
    return 0;
  }
}


Die Eigenschaften für Zeilenwechsel, Zeilenwechseltext, zyklische Protokollierung, Protokollbegrenzung usw. sind auch während dem eingeschalteten PlugIn aktiv. Möchten sie diese Features von BinTerm nicht benutzen, so schalten sie alle aus.
Bei jedem ankommenden Zeichen wird von BinTerm die Routine Convert aus der PlugIn- DLL aufgerufen. Alle Text- Zeichen, die sie in die Variable cOut schreiben, werden im Protokoll angezeigt. Die Zeichenfolge #13#10 erzeugt einen Zeilenwechsel. In cOut können auch mehrere Zeilenwechselzeichen eingefügt werden.

Beispiel eines PlugIn's:
Laden sie diese Programmbibliothek (42Kb) und sichern sie die Datei im Ordner mit BinTerm.exe. Im Reiter Zeit/PlugIn können sie die Datei PlugIn.dll auswählen.
Wenn der PlugIn aktiv ist, wird neben dem Dateinamen eine PlugIn- Bezeichnung mit Versionsangabe angezeigt.
Das Beispielplugin ändert lediglich die Farbe der Protokollierung. Von PC > grün, von SPS > blau. Bei der CAN- Protokollierung wird das Format geändert.

Wie kann man ein PlugIn erzeugen?
Sie benötigen einen Compiler, mit der sie DLL's generieren können. Codevorlagen in Delphi und C++ können sie gegen ein kleines Entgeld vom mir beziehen.
Sie benötigen ein PlugIn, können jedoch nicht programmieren?
Ich erstelle für sie gerne eine Konvertierung, dass auf ihr Protokoll zugeschnitten ist. Schreiben sie mir ein E-Mail.


Impressum / Datenschutz Nach oben  


Letzte Änderung 06.Jul.2003