Protocol Developer

Aus Deutschmann Wiki
Zur Navigation springen Zur Suche springen

Protocol Developer ist eine Entwicklungsumgebung zur Erstellung und Bearbeitung von Geräte-Scripts für Deutschmann UNIGATE®-Geräte.

Debug-Funktion

Mit dem Protocol Developer besteht die Möglichkeit das programmierte bzw. erstellte Script zu debuggen. Dazu muss das UNIGATE® im Datenaustauschmodus gestartet und entsprechend über die Debug-Schnittstelle oder über die Applikationsschnittstelle (RS232) mit dem PC bzw. dem Protocol Developer verbunden werden. Genauere Informationen dazu sind dem Link UNIGATE® Schnittstellen zu entnehmen.

Sprachdefinition hinzufügen (XML-Datei)

Der Sprachumfang der Deutschmann Script-Sprache wird kontinuierlich erweitert. Für die Geräte-Firmware und den Protocol Developer gibt die Script-Revision [...] (Zahl in eckiger Klammer hinter der Versionsangabe) an, welchen Stand sie jeweils unterstützen. Die Sprachdefinition ist in XML-Dateien organisiert. Neue Sprachdefinitionen können wie folgt im Protocol Developer installiert werden.

bis V2.28

  1. XML-Datei (z. B. ScriptRev*.xml) im Programmordner ablegen.
  2. Über den Menüpunkt "Options" --> "Settings" öffnet sich das Fenster "Settings".
  3. Dort muss der Menüpunkt "ConfigFiles" angewählt werden.
  4. Im darauffolgenden Fenster kann über die Schaltfläche "add" die gewünschte Konfigurations-Datei ausgewählt bzw. geladen und über die Schaltfläche "OK" bestätigt werden.
  5. Das nachfolgende Fenster (Restart required) muss über die Schaltfläche "OK" bestätigt und der Protocol Developer neu gestartet werden.

bis V3.0.0

Settings -> Config files

Die Dateien werden ab dieser Version nicht mehr einzeln geladen. Sie werden in den jeweils angegebenen Ordner gesucht.

  1. XML-Datei (z. B. ScriptRev*.xml) in einem beliebigen Ordner ablegen
  2. Über den Menüpunkt "Options" --> "Settings" öffnet sich das Fenster "Settings".
  3. Dort muss der Menüpunkt "ConfigFiles" angewählt werden.
  4. Im dann angezeigten Fenster kann über die Schaltfläche "add" der Ordner mit der gewünschten Konfigurations-Datei ausgewählt und über die Schaltfläche "OK" hinzugefügt werden.
  5. Das nachfolgende Fenster (Restart required) muss über die Schaltfläche "OK" bestätigt und der Protocol Developer neu gestartet werden.

Bekannte Probleme

Sollten Sie Probleme mit den Protocol Developer haben. Prüfen Sie bitte zunächst, ob bereits eine aktuellere Version zum Download bereit steht.

V3.0.0

  • Der Befehl Calculate wird in Verbindung mit dem Operator shl nicht korrekt übersetzt. Die anderen Operatoren sind davon nicht betroffen. Das Problem kann, wenn nötig, kurzfristig behoben werden, durch das Einspielen (Vorgehen siehe oben) einer aktualisierten Datei 'values.xml'.
  • wenn automatic type handling aktiviert ist (Settings -> Compiler options) , lässt sich ein Script nicht kompilieren, wenn if .. then .. else .. zur besseren Lesbarkeit in drei Zeilen aufgeteilt ist. Beispiel:
if b_b_0 greater b_const0   
 then :Bit_toa     
 else :Bit_tob
  • werden einer Buffer-Variablen mit dem Befehl MoveConst mehr als ungefähr 40 Byte (abhängig von der Anzahl der Zeichen des Variablennamens) zugewiesen führt das zu einem Fehler.
var aModbusBuf     : buffer[1024];
moveconst(aodbusBuf45304[0],#0x02#0x78#0x00#0x01#0xc5#0x16#0xe2#0x18#0x8b#0x1f#0x00#0x08#0x76#0xff#0x55#0x01#0x03#0x00#0xd4#0xed#0x4f#0x5b#0x30#0xdb#0x06#0x18#0x5e#0xe0#0x2b#0xf3#0xae#0x50#0xc9#0xdb#0x7c#0x76#0x5d#0xec#0xe6#0x92#0x26#0xd0#0xce#0x69#0x64#0x84#0x45#0xda#0xa1#0x05#0xd1#0xa0#0x6a#0x75#0x26#0xca#0xf8#0x84#0x0b#0xef#0x68#0x34#0x1a#0x43#0x2c#0x42#0xda#0x62#0xef#0xa4#0x89#0xb9#0x2f#0xe5#0x63#0xaf#0x76#0xcb#0x57#0x2e);

Das Problem kann umgangen werden, indem man den Buffer in mit mehreren aufeinander folgenden moveConst Befehlen füllt. Beispiel:

 var aModbusBuf45304     : buffer[1024];// RandomRegister
 moveconst( aModbusBuf[0], #0x02#0x78#0x00#0x01#0xc5#0x16#0xe2#0x18#0x8b#0x1f#0x00#0x08#0x76#0xff#0x55#0x01#0x02#0x78#0x00#0x01#0xc5#0x16#0xe2#0x18#0x8b#0x1f#0x00#0x08#0x76#0xff);
 moveconst( aModbusBuf[30], #0x04#0x70#0x01#0x01#0xc5#0x16#0xe2#0x18#0x8b#0x1f#0x00#0x08#0x76#0xff#0x55#0x01#0x02#0x78#0x00#0x01#0xc5#0x16#0xa2#0x18#0x8b#0x11#0x10#0x18#0x71#0x00);
 moveconst( aModbusBuf[60], #0x04#0x70#0x01#0x01#0xc5#0x16#0xe2#0x18#0x8b#0x1f#0x00#0x08#0x76#0xff#0x55#0x01#0x02#0x78#0x00#0x01#0xc5#0x16#0xa2#0x18#0x8b#0x11#0x10#0x18#0x71#0x00);

dabei ist 45 die maximale Anzahl von Bytes, die in einem Befehl ohne Fehler zugewiesen werden können.

Vorhandenes Script an ein anderes Feldbus- oder Industrial-Ethernet-System anpassen

Mögliche Vorgehensweise:

  1. Das vorhandene Script muss mit der entsprechenden Script-Vorlage (Template) aus dem Protocol Developer hinsichtlich der busspezifischen Parameter verglichen werden. Diese sind in den Script-Vorlagen (Template) mit „!!!“ gekennzeichnet.
    • Über den Menüpunkt „File“ -> „New“ -> „Source“ -> „Template“ kann die entsprechende Script-Vorlage aufgerufen werden.
  2. Wenn die busspezifischen Parameter identisch sind, muss das Script nicht angepasst werden. Dies gilt allerdings nur dann, wenn bei der Initialisierung des Buses (:InitFieldbus;) nicht noch weitere busspezifische, optionale Parameter eingefügt worden sind. Wenn dies der Fall ist, müssen diese optionale Parameter mit der entsprechenden Script-Vorlage (Example) aus dem Protocol Developer verglichen werden.
    • Über den Menüpunkt „File“ -> „New“ -> „Source“ -> „Example“ -> „Include“ kann die entsprechende Script-Vorlage aufgerufen werden.

Weblinks