Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

Benutzerhandbuch
myDatalogEASY IoTmini
Deckblatt
Gültig ab:
Firmware Version: 01v015
l
Server Version: 47.10
l
Hardware Version: 1.1
l
301086 | Rev.02

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Microtronics myDatalogEASY IoTmini

  • Seite 1 Benutzerhandbuch myDatalogEASY IoTmini Deckblatt Gültig ab: Firmware Version: 01v015 Server Version: 47.10 Hardware Version: 1.1 301086 | Rev.02...
  • Seite 3 Kapitel 1 Inhaltsverzeichnis Kapitel 1 Inhaltsverzeichnis Deckblatt Kapitel 1 Inhaltsverzeichnis Kapitel 2 Konformitätserklärung Kapitel 3 Technische Daten Kapitel 4 Allgemeine Angaben 4.1 Übersetzung 4.2 Copyright 4.3 Gebrauchsnamen 4.4 Sicherheitshinweise 4.4.1 Verwendung der Gefahrenhinweise 4.4.2 Allgemeine Sicherheitshinweise 4.4.3 Sicherheits-/Vorsichtsmaßnahmen im Umgang mit Funk-Modulen 4.4.3.1 Sicherheits-/Vorsichtsmaßnahmen für den Funk-Moduleinbau 4.4.3.2 Sicherheitsmaßnahmen für den Antenneneinbau 4.5 Übersicht...
  • Seite 4 5.5 Registrierungsspeicherblöcke 5.5.1 REG_APP_OTP Kapitel 6 Lagerung, Lieferung und Transport 6.1 Eingangskontrolle 6.2 Lieferumfang 6.3 Lagerung 6.4 Transport 6.4.1 Transport von Power Supply Units 6.5 Rücksendung Kapitel 7 Installation 7.1 Abmessungen 7.2 Zusammenbau des myDatalogEASY IoTmini 7.3 Montage des myDatalogEASY IoTmini 7.3.1 Wandmontage 7.3.2 Hutschienenmontage 7.3.3 Rohrmontage 7.4 Sicherheitshinweise zur Verkabelung...
  • Seite 5 Kapitel 1 Inhaltsverzeichnis 7.5.8.2 Schaltbare Sensorversorgung VEXT 7.5.8.3 Schaltbare Sensorversorgung VEXTRS232 7.5.8.4 Potentialfreier Schaltkontakt (NO, CC) 7.5.9 Technische Details zum Energiemanagement 7.5.10 Technische Details zur Energieversorgung 7.5.10.1 PSU413D+ AP (300524) 7.5.10.2 PSU413D AP (300525) 7.5.10.3 PSU713 BP (300526) 7.5.10.4 PSU DC (300529) 7.5.10.5 PSU AC (300558) 7.5.10.6 PSU DC+ (300798) 7.5.11 Technische Details zur Systemzeit...
  • Seite 6 9.2.2.1 Kommentar 9.2.2.2 Messgerät Kapitel 10 DeviceConfig 10.1 Allgemein 10.2 Voraussetzungen 10.3 Funktionsprinzip 10.4 Installation 10.5 Menü des DeviceConfig 10.5.1 Settings 10.5.1.1 Options 10.6 Verbindung zu einem Gerät mit USB Schnittstelle herstellen 10.7 Karteireiter "Log" 10.8 Karteireiter "Firmware" 10.9 Karteireiter "Features" Kapitel 11 myDatanet-Server 11.1 Empfohlene Vorgehensweise 11.1.1 Anlegen der Messstelle...
  • Seite 7 Kapitel 1 Inhaltsverzeichnis 13.3.2.2 Konstanten 13.3.2.3 Funktionen 13.3.3 Uplink 13.3.3.1 Konstanten 13.3.3.2 Callback Funktionen 13.3.3.3 Funktionen 13.3.4 System 13.3.4.1 Arrays mit symbolischen Indizes 13.3.4.2 Konstanten 13.3.4.3 Funktionen 13.3.5 Encoding 13.3.5.1 Konstanten 13.3.5.2 Funktionen 13.3.6 RS232, RS485 13.3.6.1 Konstanten 13.3.6.2 Callback Funktionen 13.3.6.3 Funktionen 13.3.7 LoRa 13.3.7.1 Konstanten...
  • Seite 8 13.3.12.2 Funktionen 13.3.13 Verschiedene Funktionen 13.3.13.1 Arrays mit symbolischen Indizes 13.3.13.2 Konstanten 13.3.13.3 Funktionen 13.3.14 Console 13.3.15 Universaleingänge 13.3.15.1 Konstanten 13.3.15.2 Funktionen 13.3.16 Ausgänge 13.3.16.1 Konstanten 13.3.16.2 Funktionen 13.3.17 LED 13.3.17.1 Konstanten 13.3.17.2 Funktionen 13.3.18 Magnetschalter 13.3.18.1 Konstanten 13.3.18.2 Callback Funktionen 13.3.18.3 Funktionen 13.3.19 Power Management 13.3.19.1 Arrays mit symbolischen Indizes...
  • Seite 9 Kapitel 1 Inhaltsverzeichnis 13.5.1.6.1 Numerische Integer-Konstanten 13.5.1.6.2 Numerische Gleitkomma-Konstanten 13.5.2 Variablen 13.5.2.1 Deklaration 13.5.2.2 Lokale Deklaration 13.5.2.3 Globale Deklaration 13.5.2.4 Statische lokale Deklaration 13.5.2.5 Statische globale Deklaration 13.5.2.6 Gleitkommawerte 13.5.3 Konstante Variablen 13.5.4 Array Variablen 13.5.4.1 Eindimensionales Array 13.5.4.2 Initialisierung 13.5.4.3 Progressive Initialisierung für Arrays 13.5.4.4 Mehrdimensionale Arrays 13.5.4.5 Arrays und der "sizeof"-Operator...
  • Seite 10 13.5.6.7 continue 13.5.6.8 do Statement while ( Ausdruck ) 13.5.6.9 exit Ausdruck 13.5.6.10 for ( Ausdruck 1 ; Ausdruck 2 ; Ausdruck 3 ) Statement 13.5.6.11 goto Etikett 13.5.6.12 if ( Ausdruck ) Statement 1 else Statement 2 13.5.6.13 return Ausdruck 13.5.6.14 switch ( Ausdruck ) { case Liste } 13.5.6.15 while ( Ausdruck ) Statement 13.5.7 Funktionen...
  • Seite 11 Kapitel 1 Inhaltsverzeichnis 18.1 Allgemeine Probleme 18.2 Log-Einträge und Fehlercodes 18.3 Auswerten des Gerätelogs 18.3.1 Auswerten des Gerätelogs am myDatanet-Server 18.3.2 Auswerten des Gerätelogs mittels DeviceConfig Kapitel 19 Ersatzteile und Zubehör 19.1 Kostenpflichtige Features 19.2 Montagesets 19.3 Antennen 19.4 Power Supply Units 19.5 Lade- und Netzgeräte 19.6 Sonstiges Zubehör Kapitel 20 Dokumentenhistorie...
  • Seite 13: Kapitel 2 Konformitätserklärung

    Kapitel 2 Konformitätserklärung Kapitel 2 Konformitätserklärung Rev. 02...
  • Seite 15: Kapitel 3 Technische Daten

    Kapitel 3 Technische Daten Kapitel 3 Technische Daten Spannungsversorgung Akku: PSU413D+ AP : 13,6Ah, Li-Ion , integrierter Überspannungsschutz PSU413D AP : 13,2Ah, Li-Ion , integrierter Überspannungsschutz Batterie: PSU713 BP : 13Ah direkte Versorgung: PSU DC : DC-Schutzschaltung PSU DC+ : 900mAh, Li-Po , DC-Schutzschaltung PSU AC : 900mAh, Li-Po , 230VAC Netzteil Zusätzliche Informationen finden Sie unter "Technische Details zur Energieversorgung"...
  • Seite 16 Systemzeit Hardware Real-Time Clock mit eigenständiger Pufferbatterie (Lebensdauer >10 Jahre) und automatische Zeitsynchronisation mit dem Server Zusätzliche Informationen finden Sie unter "Technische Details zur Systemzeit" auf Seite 67. Interne Sensoren Gehäuseinnentemperatur Messbereich: -20...+60°C Auflösung: 0,1°C Luftfeuchtigkeit im Gehäuse Messbereich: 0...100% rH Auflösung: 0,1% rH Externer 1 x PT100/1000 (mit Autoerkennung)
  • Seite 17 Kapitel 3 Technische Daten Ausgänge 2 x schaltbare 3,3V Versorgung (max. 180mA ) 1 x schaltbare und einstellbare Sensorversorgung Per Device Logic kann die Ausgangsspannungen im Bereich von 5...24V variiert werden.  5V : 4,75V bei I = 50mA nominal : 11,7V bei I = 50mA nominal : 14,7V bei I...
  • Seite 18 Registrierungsspeicher Flash: 4 Blöcke mit je 1kB und vordefinierten Verwendungszwecken zur Ablage gerätespezifischer Daten RAM: 1 optionaler Block mit max. 1kB zur Ablage applikationsspezifischer Daten Zusätzliche Informationen finden Sie unter "Registrierungsspeicherblöcke" auf Seite 35. Speicher für das 256kB (unkomprimierte Größe) PAWN-Binary Zusätzliche Informationen finden Sie unter "Speicherorganisation"...
  • Seite 19: Kapitel 4 Allgemeine Angaben

    Kapitel 4 Allgemeine Angaben Kapitel 4 Allgemeine Angaben Die Informationen dieses Handbuchs wurden sorgfältig geprüft und nach bestem Wissen zusammengestellt. Der Hersteller übernimmt dennoch keine Verantwortung für möglicherweise in diesem Handbuch enthaltene falsche Angaben. Der Hersteller ist nicht verantwortlich für direkte, indirekte, versehentliche oder Folgeschäden, die aus Fehlern oder Unterlassungen in diesem Handbuch entstanden, selbst wenn auf die Möglichkeit solcher Schäden hingewiesen wurde.
  • Seite 20: Verwendung Der Gefahrenhinweise

    Wichtiger Hinweis: Die Produkte des Herstellers zur Nutzung im Freien haben einen umfangreichen Schutz gegen das Eindringen von Feuchtigkeit und Staub. Werden diese Produkte durch Kabel mit Stecker anstatt fest installierter Verkabelung an die Stromversorgung bzw. die Sensoren angeschlossen, wird die Anfälligkeit von Stecker und Dose gegen das Eindringen von Feuchtigkeit und Staub deutlich höher.
  • Seite 21: Sicherheits-/Vorsichtsmaßnahmen Im Umgang Mit Funk-Modulen

    Kapitel 4 Allgemeine Angaben 4.4.3 Sicherheits-/Vorsichtsmaßnahmen im Umgang mit Funk-Modulen Die folgenden Sicherheits-/Vorsichtsmaßnahmen sind bei allen Phasen des Einbaus, des Betriebs, der Wartung oder der Reparatur eines Funk-Moduls zu beachten. Der Hersteller haftet nicht, wenn der Kunde diese Vorsichtsmaßnahmen außer Acht lässt. VORSICHT: Die Funkverbindung darf nicht in gefährlichen Umgebungen verwendet werden.
  • Seite 22 4.5 Übersicht Hinweis: Da der myDatalogEASY IoTmini in mehrere Baugruppen zerlegt geliefert wird, ist vor der Verwendung noch ein Zusammenbau erforderlich (siehe "Zusammenbau des myDatalogEASY IoTmini " auf Seite 41). Vorderseite des myDatalogEASY IoTmini Rückseite des myDatalogEASY IoTmini (Ansicht eines Geräts nach dem Zusammenbau) (Ansicht eines Geräts nach dem Zusammenbau) 1 Antennenanschluss 3 Kabelverschraubung (5 -10mm...
  • Seite 23: Blockschaltbild

    Kapitel 4 Allgemeine Angaben 4.5.1 Blockschaltbild Blockschaltbild des myDatalogEASY IoTmini Es handelt sich um einen DC/DC-Wandler mit regelbarem Ausgangsstrom. Eine mit einem Akku bestückte Power Supply Unit (z.B. PSU413D+ AP ) kann dadurch über den V Ein-/Ausgang geladen werden. Batt Rev. 02...
  • Seite 24: Bestimmungsgemäße Verwendung

    Hinweis: Detaillierte Blockschaltbilder der gebräuchlichsten Power Supply Units finden Sie im Kapitel "Technische Details zur Energieversorgung" auf Seite 64. 4.6 Bestimmungsgemäße Verwendung Das portable, frei programmierbare Messgerät dient der Ermittlung, Verarbeitung und Übertragung von Messdaten, die über diverse Industrieschnittstellen erfasst werden. Das Gerät kann netzunabhängig arbeiten.
  • Seite 25: Gerätekennzeichnung

    Kapitel 4 Allgemeine Angaben myDatalogEASY IoTmini neben 4 Registrierungsspeicherblöcken mit je 1kB , die im Flash gespeichert werden, noch über einen weiteren der mittels der Funktion "rM2M_RegInit()" optional initialisiert werden kann und im RAM abgelegt wird. Dessen Größe kann bei der Initialisierung angegeben werden, ist allerdings auf maximal 1kB begrenzt.
  • Seite 26: Einbau Von Ersatz- Und Verschleißteilen

    Hinweis: Diese Betriebsanleitung ist Bestandteil des Gerätes und muss für den Benutzer jederzeit zur Verfügung stehen. Die darin enthaltenen Sicherheitshinweise sind zu beachten. WARNUNG: Es ist strengstens untersagt, die Sicherheitseinrichtungen außer Kraft zu setzen oder in ihrer Wirkungsweise zu verändern. 4.9 Einbau von Ersatz- und Verschleißteilen Es wird an dieser Stelle ausdrücklich darauf aufmerksam gemacht, dass Ersatz- und Zubehörteile, die nicht vom Hersteller geliefert wurden, auch nicht vom Hersteller geprüft und freigegeben wurden.
  • Seite 27: Haftungsausschluss

    Personen- oder Sachschäden, die auf unsachgemäße Handhabung zurückzuführen sind. Sämtliche Handhabungen am Gerät, welche über die montage- und anschlussbedingten Maßnahmen hinausgehen, dürfen aus Sicherheits- und Gewährleistungsgründen prinzipiell nur von Microtronics - Personal bzw. durch Microtronics  autorisierte Personen oder Firmen vorgenommen werden.
  • Seite 28: Anforderungen An Das Personal

    4.14 Anforderungen an das Personal Die Installation, Inbetriebnahme und Wartung dürfen nur durch Personal durchgeführt werden, das die folgenden Bedingungen erfüllt: Qualifiziertes Fachpersonal mit entsprechender Ausbildung Autorisierung durch den Anlagenbetreiber Hinweis: Qualifiziertes Fachpersonal Im Sinne dieser Anleitung bzw. Warnhinweise auf dem Produkt selbst sind dies Personen, die mit Aufstellung, Montage, Inbetriebnahme und Betrieb des Produktes vertraut sind und über die ihrer Tätigkeit entsprechenden Qualifikationen verfügen, wie z.B.
  • Seite 29 Kapitel 5 Funktionsprinzip Kapitel 5 Funktionsprinzip In der unten abgebildeten Grafik sind alle Komponenten, die Teil des myDatanet sind, grau hinterlegt. Alle anderen Komponenten müssen vom Kunden bereitgestellt/erstellt werden. Funktionsprinzip 1 Client, der mittels Web-Browser auf die Oberfläche des kundenspezifischen Servers zugreift, der seine Daten per LoRaWAN Verbindung erhält.
  • Seite 30 9 Kundenspezifischer Server, der den Clients eine eigene Oberfläche zur Verfügung stellt. Die Daten bezieht der kundenspezifische Server über die API-Schnittstelle des myDatanet-Servers (siehe "API" auf Seite 217). 10 Client, auf dem ein PC-Programm läuft, das seine Daten über die API-Schnittstelle des myDatanet- Servers (siehe "API"...
  • Seite 31: Empfohlene Vorgehensweise

    Kapitel 5 Funktionsprinzip Applikation (Device Logic) Die Firmeware des myDatalogEASY IoTmini kümmert sich lediglich um die Synchronisation der Messdaten und Konfigurationen zwischen myDatalogEASY IoTmini und myDatanet-Server. Die vom Kunden erstellte Applikation muss sich um die Messwerterfassung und den Aufbau der zu speichernden Datenblöcke kümmern. Die Ablage der Datenblöcke erfolgt wiederum von der Firmware des myDatalogEASY IoTmini (siehe "rM2M_RecData()").
  • Seite 32: Funktionsweise Des Internen Datenspeichers

    5.2 Funktionsweise des internen Datenspeichers Struktur Ringspeicher Gesamtgröße Anzahl der Sektoren Sektorgröße 393.216 Byte Der interne Datenspeicher des myDatalogEASY IoTmini ist als Ringspeicher mit 8 Sektoren aufgebaut. Wurde der gesamte Speicher (3MB ) zur Gänze beschrieben, wird der Sektor mit den ältesten Daten vollständig gelöscht, bevor wieder neue Daten in diesen Sektor gespeichert werden können.
  • Seite 33: Speicherorganisation

    Kapitel 5 Funktionsprinzip Hinweis: Ergänzende Erklärung zur Berechnung der zu speichernden Datenmenge: In dem folgenden Beispiel wurde zur Vereinfachung und Verdeutlichung der Darstellung angenommen, dass die Sektoren nur 2 vollständige Datensätze aufnehmen können. Freier Speicher im Sektor 1, der nicht mehr ausreicht, um einen vollständigen Datensatz (Overhead + Daten) aufzunehmen 5.3 Speicherorganisation Organisation des Speichers des myDatalogEASY IoTmini...
  • Seite 34: Errorhandling

    Für die Übertragung ins myDatalogEASY IoTmini darf die Größe des PAWN-Binarys 256kB nicht überschreiten. Falls nötig, kann der Data-Bereich des PAWN-Binary mittels Compiler-Anweisung (#pragma amxcompress <0-3>) komprimiert werden. Im Flash Speicher des myDatalogEASY IoTmini sind das PAWN-Binary (256kB ), die 10 Konfigurationsblöcke (je 4000 Byte ), die 4 Registrierungsspeicherblöcke (je 1kB ) und die Messdaten (3MB ) abgelegt.
  • Seite 35 Kapitel 5 Funktionsprinzip 5.5 Registrierungsspeicherblöcke Neben 4 Blöcken mit je 1kB , die im Flash gespeichert sind, kann noch ein weiterer mittels der Funktion "rM2M_RegInit()" optional initialisiert werden, der im RAM abgelegt wird. Dessen Größe kann bei der Initialisierung angegeben werden, ist allerdings auf maximal 1kB begrenzt. Die Registrierungsspeicherblöcke bieten die Möglichkeit gerätespezifische Daten abzulegen und mit dem myDatanet-Server zu synchronisieren.
  • Seite 36 5.5.1 REG_APP_OTP Durch Speichern des "Product Identity Profile" (PIP) in diesem Registrierungsspeicherblock können am myDatanet-Server die im Folgenden beschriebenen Funktionen ausgelöst werden. Das PIP besteht aus folgenden Feldern: pipCustomer Name des Kunde, dem die Messstelle zugeordnet werden soll [2-50 Zeichen]. pipCtx Name der Messstelle, die angelegt/verwendet werden soll [2-50 Zeichen].
  • Seite 37: Kapitel 6 Lagerung, Lieferung Und Transport

    Kontrollieren Sie den Lieferumfang sofort nach Eingang auf Vollständigkeit und augenscheinliche Unversehrtheit. Melden Sie eventuell festgestellte Transportschäden unverzüglich an den anliefernden Frachtführer. Senden Sie ebenfalls unverzüglich eine schriftliche Meldung an Microtronics Engineering GmbH. Unvollständigkeiten der Lieferung müssen innerhalb von 2 Wochen schriftlich an Ihre zuständige Vertretung oder direkt an die Firmenzentrale des Herstellers (siehe "Kontaktinformationen"...
  • Seite 38: Transport

    6.3 Lagerung Folgende Lagerbedingungen sind unbedingt einzuhalten: myDatalogEASY IoTmini Lagertemperatur -30...+85°C Feuchte 15...90%rH PSU713 BP Betriebstemperatur -20...+50°C Lagertemperatur +20...+25°C (300526) PSU413D+ AP Betriebstemperatur -20...+60°C Ladetemperatur -20...+60°C (300524) Lagertemperatur 0... +30°C PSU413D AP Betriebstemperatur -20...+60°C Ladetemperatur 0...+40°C (300525) Lagertemperatur 0...+35°C Hinweis: Die oben angeführte Tabelle enthält nur die Lagerbedingungen für die am häufigsten verwendeten Energiequellen für den myDatalogEASY IoTmini .
  • Seite 39 Kapitel 6 Lagerung, Lieferung und Transport Die beim Transport von Gefahrgut einzuhaltenden Richtlinien sind abhängig vom gewähltem Transportweg und gestallten sich wie folgt: Beförderung auf der Straße: ADR-Richtlinie Beförderung via Lufttransport: IATA-Richtlinie Beförderung auf der Schiene: RID-Richtlinie Beförderung via Schiff: IMDG-Richtline Folgende Parteien sind diesen Richtlinien verpflichtet: Versender und Verpacker Spediteure...
  • Seite 40: Rücksendung

    Die unbedingt erforderliche "RMA Nr" erhalten Sie vom Support & Service-Center (siehe "Kontaktinformationen" auf Seite 239). Die Rücksendung des myDatalogEASY IoTmini muss in der Originalverpackung frachtfrei zu Microtronics Engineering GmbH (siehe "Kontaktinformationen" auf Seite 239) erfolgen. Nicht ausreichend frei gemachte Sendungen werden nicht angenommen! Rev.
  • Seite 41: Abmessungen

    Kapitel 7 Installation Kapitel 7 Installation Wichtiger Hinweis: Um Schäden am Gerät zu vermeiden, dürfen die in diesem Abschnitt der Anleitung beschriebenen Arbeiten nur von qualifiziertem Personal ausgeführt werden. 7.1 Abmessungen Abmessungen: Breite und Höhe Abmessungen: Tiefe (Ansicht eines Geräts nach dem Zusammenbau) (Ansicht eines Geräts nach dem Zusammenbau) 7.2 Zusammenbau des myDatalogEASY IoTmini Wichtiger Hinweis:...
  • Seite 42 Der myDatalogEASY IoTmini wird in mehrere Baugruppen zerlegt geliefert und muss somit vor der Verwendung noch zusammengesetzt werden. Baugruppen des myDatalogEASY IoTmini 1 Anschlussstecker (2x 2pol., 2x 3pol., 1x 6pol.) 4 myDatalogEASY IoTmini Basisteil 2 Power Supply Unit (nicht im Lieferumfang 5 4x Delta PT M3,5x25 Torx 15 enthalten) 3 2x Kabelverschraubung (5-10mm 6 Gehäusedeckel...
  • Seite 43 Kapitel 7 Installation 1. Überprüfen Sie den Packungsinhalt auf Vollständigkeit 2. Drehen Sie die Arretierungsmutter der Kabelverschraubung bis zum Anschlag im Uhrzeigersinn (Linksgewinde), um den Abstand zw. Arretierungsmutter und dem Rasthaken zu vergrößern, um das Einfädeln der Kabelverschraubung in das Loch im myDatalogEASY IoTmini Basisteil zu erleichtern. Der Rasthaken ist nicht symmetrisch.
  • Seite 44 3. Fädeln Sie die Anschlusskabel Ihrer Sensoren, Aktoren und gegebenenfalls der Versorgungs- bzw. Ladespannung zuerst entsprechend der folgenden Abbildung durch eine der Kabelverschraubungen und anschließend durch eines der Löcher im myDatalogEASY IoTmini Basisteil. Verbinden Sie anschließend die Kabel wie im Kapitel "Anschluss der Sensoren, der Aktoren und der Versorgung" auf Seite 52 mit den Anschlusssteckern.
  • Seite 45 Kapitel 7 Installation 5. Ziehen Sie die Arretierungsmutter fest, indem Sie sie gegen den Uhrzeigersinn (Linksgewinde) drehen. Wichtiger Hinweis: Überzeugen Sie sich vor dem Festziehen von der Unversehrtheit und Sauberkeit der Dichtung. Fremdkörper und/oder Verschmutzungen sind zu entfernen. Durch undichte oder defekte Dichtungen hervorgerufene Geräteschäden entfallen aus der Haftung des Herstellers.
  • Seite 46 Der folgende Schritt ist nicht zwingend erforderlich. 9. Überprüfen Sie, ob die Verbindung zum myDatanet-Server korrekt funktioniert (siehe "Kommunikation mit dem Gerät testen" auf Seite 71). 10. Schließen Sie den Gehäusedeckel. Ziehen Sie am besten die 4 Schrauben über Kreuz (Drehmoment: 0,5Nm;...
  • Seite 47 Kapitel 7 Installation Der folgende Schritt ist nur erforderlich, wenn Sie eine externe Versorgungs- bzw. Ladespannung verwenden. 12. Schalten Sie nun die externe Versorgungs- bzw. Ladespannung ein. Hinweis: Wenn Sie eine Power Supply Unit ohne integrierten Energiespeicher verwenden, muss die externe Versorgungs- bzw.
  • Seite 48: Wandmontage

    7.3.1 Wandmontage Für die Wandmontage ist das optionale Zubehör "Universalhalterung für myDatanet Gehäuse 86x126 (206.640)" erforderlich. Wandmontage Schritt 1 Wandmontage Schritt 2 1 myDatalogEASY IoTmini 3 Montagelasche (im Lieferumfang von 206.640 enthalten) 2 Delta PT M3,5x8 Torx 15 (im Lieferumfang von 4 Blechschraube Linsenkopf 3,5x32 (im 206.640 enthalten) Lieferumfang von 206.640 enthalten) 1.
  • Seite 49 Kapitel 7 Installation 7.3.2 Hutschienenmontage Für die Hutschienenmontage ist das Zubehör "Hutschienenmontageset für myDatanet Gehäuse 86x126 (206.634)" erforderlich. Hutschienenmontage Schritt 1 Hutschienenmontage Schritt 2 1 myDatalogEASY IoTmini 3 Montagelasche (im Lieferumfang von 206.634 enthalten) 2 Delta PT M3,5x8 Torx 15 (im Lieferumfang von 206.634 enthalten) 1.
  • Seite 50 7.3.3 Rohrmontage Für die Rohrmontage ist das optionale Zubehör "Rohrmontageset für myDatanet Gehäuse 86x126 (206.660)" erforderlich. Rohrmontage Schritt 1 Rohrmontage Schritt 2 1 myDatalogEASY IoTmini 3 Montagelasche (im Lieferumfang von 206.660 enthalten) 2 Delta PT M3,5x8 Torx 15 (im Lieferumfang von 4 Kabelbinder (im Lieferumfang von 206.660 enthalten) 206.660 enthalten) 1.
  • Seite 51: Sicherheitshinweise Zur Verkabelung

    Kapitel 7 Installation 7.4 Sicherheitshinweise zur Verkabelung Wichtiger Hinweis: Um Schäden zu vermeiden, stellen Sie stets die Spannungsversorgung am Gerät ab, wenn elektrische Anschlüsse durchgeführt werden. Wenn Anschlüsse an den myDatalogEASY IoTmini gelegt werden, müssen die folgenden Warnungen und Hinweise ebenso beachtet werden, wie Warnungen und Hinweise, die in den einzelnen Kapiteln zum Einbau zu finden sind.
  • Seite 52: Elektrische Installation

    7.4.1 Hinweise zur Vermeidung elektrostatischer Entladungen (ESD) Wichtiger Hinweis: Um Gefahren und ESD-Risiken zu minimieren, sollten Wartungsprozeduren, für die keine Stromversorgung des Geräts erforderlich ist, nur nach Trennung vom Stromnetz ausgeführt werden. Die empfindlichen elektronischen Komponenten im Geräteinneren können durch statische Elektrizität beschädigt werden, was zur Beeinträchtigung der Geräteleistung bis hin zum Ausfall des Geräts führen kann.
  • Seite 53 Kapitel 7 Installation Anschluss der Sensoren und der Versorgung (Ansicht ohne Power Supply Unit) 1 Mini-B USB (nur für Debug und Device Logic 3 Hauptklemmleiste (Unterteilt in 2x 2pol., 2x 3pol., Update) 1x 6pol.) 2 RS232-Schnittstelle (7pol. JST-Stecker) 4 Kabelverschraubung (5-10mm Kabeldurchmesser) Belegung der RS232-Schnittstelle SHIELD...
  • Seite 54 Belegung der Hauptklemmleiste V IN externe Versorgungs- bzw. Ladespannung Masse (externe Versorgungs- bzw. Ladespannung) potentialfreier Schaltkontakt VEXT schaltbare Sensorversorgung (3,3V ) Masse Universaleingang 1 Universaleingang 2 UI3/A+ Universaleingang 3 / RS485 A UI4/B- Universaleingang 4 / RS485 B Masse VOUT schaltbare und einstellbare Sensorversorgung (5...24V ) Masse RTD+...
  • Seite 55 Kapitel 7 Installation 5. Versehen Sie alle nicht benötigten Kabelverschraubungen mit Blindstopfen. Wichtiger Hinweis: Alle nicht verwendeten Kabelverschraubungen des myDatalogEASY IoTmini müssen mit Hilfe der mitgelieferten Blindstopfen wasserdicht verschlossen werden. Andernfalls ist der Schutzgrad des gesamten Geräts nicht gewährleistet und die Gewährleistung des Herstellers erlischt. 6.
  • Seite 56: Anschlussbeispiele

    10. Kontrollieren Sie, ob der Gehäusedeckel an allen Seiten korrekt aufliegt und keine Fremdkörper zwischen Gehäuse und Gehäusedeckel eingeklemmt wurden. Wichtiger Hinweis: Schäden, die durch nicht korrekt geschlossene Gehäusedeckel hervorgerufen werden, entfallen aus der Haftung des Herstellers. Der folgende Schritt ist nur erforderlich, wenn Sie eine externe Versorgungs- bzw. Ladespannung verwenden.
  • Seite 57: Anschluss Der Lora-Antenne

    Kapitel 7 Installation 7.5.2 Anschluss der LoRa-Antenne Wichtiger Hinweis: Um eine korrekte Funktion zu gewährleisten, benutzen Sie nur Antennen, die vom Hersteller geliefert werden. Die Standardantenne (Antenne LPWAN FME -F, 301004) wird direkt am Antennenstecker (siehe "Übersicht" auf Seite 22) des myDatalogEASY IoTmini angebracht. Wenn die Entfernung zwischen der Lage der Antenne und dem myDatalogEASY IoTmini zu groß...
  • Seite 58: Standard Digitalmodi (Pwm, Frequenz, Digital, Zähler)

    7.5.3.3 0...10V Modus Auflösung 7,97mV Bürde 7.5.3.4 Standard Digitalmodi (PWM, Frequenz, Digital, Zähler) Allgemein <0,99V High >2,31V Bürde 10k086 Messbereich 1...99% 100Hz Impulslänge min. Frequenz Messbereich 1...1000Hz Zähler Impulslänge min. 7.5.4 Technische Details zur PT100/1000-Schnittstelle Die Schnittstelle für den externen Temperatursensor erkennt automatisch, ob ein PT100 oder PT1000 verwendet wird.
  • Seite 59: Technische Details Zur Rs232-Schnittstelle

    Kapitel 7 Installation Baudrate 600-115200 Stopbits 1, 2 Parität N, E, O Datenbits 7, 8 Abschluss- widerstand 120Ω Mittels der Funktion "RS485_Init()" kann der 120Ω Abschlusswiderstand zwischen RS485 A und B zugeschaltet werden. Prinzipschaltbild zum zuschaltbaren Abschlusswiderstand Hinweis: Ergänzende Erklärung zur Verbindung zweier RS485 Busteilnehmer Prinzipschaltbild: Verbindung zweier RS485 Busteilnehmer Ein Problem entsteht, wenn keine Verbindung zwischen den GND-Potentialen von Sender und Empfänger besteht.
  • Seite 60: Technische Details Zur Usb-Schnittstelle

    Studio finden Sie im Kapitel "rapidM2M Studio " auf Seite 97. Erläuterungen der Funktionsweise des Konfigurationsprogramms DeviceConfig finden Sie im Kapitel "DeviceConfig " auf Seite 83. Der Zugang zur webbasierten Entwicklungsumgebung rapidM2M Studio ist im Microtronics Partner Programm, für das Sie sich unter folgender Adresse kostenlos anmelden können, enthalten: https://partner.microtronics.com...
  • Seite 61: Technische Details Zu Den Ausgängen

    Kapitel 7 Installation 7.5.8 Technische Details zu den Ausgängen 7.5.8.1 Schaltbare Sensorversorgung VOUT Hinweis: Der schaltbare Sensorversorgungsausgang ist kurzschlussfest. Per Device Logic (siehe "Vsens_On()") kann die Ausgangsspannung im Bereich von 5...24V variiert werden. Verlauf der Ausgangsspannung in Abhängigkeit des Laststromes für VOUT = 5V Verlauf der Ausgangsspannung in Abhängigkeit des Laststromes für VOUT = 12V Rev.
  • Seite 62: Schaltbare Sensorversorgung Vext

    Verlauf der Ausgangsspannung in Abhängigkeit des Laststromes für VOUT = 15V Verlauf der Ausgangsspannung in Abhängigkeit des Laststromes für VOUT = 24V 7.5.8.2 Schaltbare Sensorversorgung VEXT Hinweis: Der schaltbare Sensorversorgungsausgang ist kurzschlussfest. Die schaltbare Sensorversorgung VEXT liegt auf der Hauptklemmleiste auf (siehe "Anschluss der Sensoren, der Aktoren und der Versorgung"...
  • Seite 63: Potentialfreier Schaltkontakt (No, Cc)

    Kapitel 7 Installation 7.5.8.3 Schaltbare Sensorversorgung VEXT RS232 Hinweis: Der schaltbare Sensorversorgungsausgang ist kurzschlussfest. Die schaltbare Sensorversorgung VEXT  liegt am Stecker der RS232-Schnittstelle auf (siehe RS232 "Anschluss der Sensoren, der Aktoren und der Versorgung" auf Seite 52). 3,3V 180mA 7.5.8.4 Potentialfreier Schaltkontakt (NO, CC) Wichtiger Hinweis: Der Benutzer muss dafür sorgen, dass der Strom über den potentialfreien Schaltkontakt 130mA nicht überschreitet.
  • Seite 64: Technische Details Zur Energieversorgung

    Bei Verwendung einer externen Versorgungs- bzw. Ladespannung (V IN) kümmert sich die Laderegelung darum, dass der Akku der Power Supply Unit geladen wird. Dabei sind die folgenden Betriebszustände möglich: Energiesparmodus aktiv (d.h. Device Logic inaktiv) oder kein Device Logic installiert: Die Laderegelung versucht den Akku auf 3,8V zu laden bzw.
  • Seite 65 Kapitel 7 Installation V IN 12...32VDC Leistungsaufnahme typ. <1mW (ohne Sensoren) max. 12W Verpolungsschutz Nein gilt für den laufenden Betrieb, wenn der eventuell vorhandene Akku der Power Supply Unit voll geladen ist Der Verpolungsschutz ist Teil der Schutzschaltung in den Power Supply Units. Eine Auswahl an kompatiblen Netzteilen finden Sie im Kapitel "Lade- und Netzgeräte"...
  • Seite 66 7.5.10.3 PSU713 BP (300526) V IN nicht erforderlich Schutzschaltung (V IN) Kapazität 13Ah 93,6Wh Li-SOCl2 Wiederaufladbar nein Nennspannung 7,2V Blockschaltbild des PSU713 BP Betriebstemperatur -20...+50°C Ladetemperatur Lagertemperatur +20...+25°C 7.5.10.4 PSU DC (300529) V IN erforderlich Schutzschaltung (V IN) DC-Schutzschaltung Kapazität Wiederaufladbar Nein Nennspannung...
  • Seite 67: Technische Details Zur Systemzeit

    Kapitel 7 Installation 7.5.10.6 PSU DC+ (300798) V IN erforderlich Schutzschaltung (V IN) DC-Schutzschaltung Kapazität 900mAh 3,33Wh Li-Po Wiederaufladbar Nennspannung 3,7V Blockschaltbild des PSU DC+ Betriebstemperatur -20...+60°C Ladetemperatur 0...+40°C Lagertemperatur 0... +35°C 7.5.11 Technische Details zur Systemzeit Der myDatalogEASY IoTmini verfügt über eine Hardware Real-Time Clock mit eigenständiger Pufferbatterie, deren zu erwartende Lebensdauer >10 Jahre ist.
  • Seite 69: Kapitel 8 Inbetriebnahme

    Für die Installation, Inbetriebnahme und den Betrieb des Gesamtsystems werden neben dieser Bedienungsanleitung möglicherweise zusätzliche Anleitungen oder technische Beschreibungen benötigt. Diese Anleitungen liegen den jeweiligen Zusatzgeräten oder Sensoren bei bzw. stehen auf der Microtronics - Webseite zum Download bereit. 8.3 Allgemeine Grundsätze Die Inbetriebnahme des gesamten Messsystems darf erst nach Fertigstellung und Prüfung der Installation...
  • Seite 70 Folgende Arbeiten sollten Sie im Büro erledigen bevor Sie sich zum Einsatzort des Geräts begeben: 1. Legen Sie, falls erforderlich, einen Kunden am myDatanet-Server an (siehe "Benutzerhandbuch für myDatanet-Server " 206.886). 2. Legen Sie innerhalb des gewünschten Kunden eine Site / Applikation für den Betrieb am myDatanet- Server an (siehe "Anlegen der Messstelle"...
  • Seite 71: Kommunikation Mit Dem Gerät Testen

    Kapitel 8 Inbetriebnahme 6. Entnehmen Sie die Power Supply Unit unter Verwendung der entsprechenden Lasche aus dem myDatalogEASY IoTmini und trennen Sie anschließend, falls verwendet, die Verkabelung der Versorgungs- bzw. Ladespannung möglichst im stromlosen Zustand vom Gerät. 7. Entfernen Sie die Antenne wieder. Folgende Arbeiten werden direkt am Einsatzort des Geräts durchgeführt: 8.
  • Seite 72 4. Lösen Sie einen Verbindungsaufbau aus. Falls noch keine Device Logic ins Gerät geladen wurde, erreichen Sie dies durch das Einsetzen der Power Supply Unit wie im Kapitel "Zusammenbau des myDatalogEASY IoTmini " auf Seite 41 beschriebenen. Wurde bereits eine Device Logic ins Gerät geladen, führen Sie die in der Device Logic vorgesehenen Operationen zum Auslösen des Verbindungsaufbaus aus.
  • Seite 73 Kapitel 8 Inbetriebnahme 7. Für die Überprüfung der Datenübertragung können Sie die "Auswertungen" des myDatanet-Server verwenden (siehe"Benutzerhandbuch für myDatanet-Server " 206.886). Dazu ist allerdings die Konfiguration des Data Descriptor (siehe "Data Descriptor " auf Seite 207) erforderlich. 8. Nachdem Sie die erforderlichen Vorbereitungen getroffen haben, lösen Sie, falls Sie dies in Ihrer Device Logic vorgesehen haben, direkt am Gerät eine Übertragung aus.
  • Seite 75: Benutzerschnittstelle Am Mydatalogeasy Iotmini

    Kapitel 9 Benutzerschnittstellen Kapitel 9 Benutzerschnittstellen Die Konfiguration des myDatalogEASY IoTmini erfolgt über das Web-Interface am myDatanet-Server (siehe "Benutzerschnittstelle am myDatanet-Server" auf Seite 76), dessen Web-Adresse Sie von Ihrem zuständigen Vertriebspartner erhalten. 9.1 Benutzerschnittstelle am myDatalogEASY IoTmini 9.1.1 Bedienelemente Die Bedienelemente des myDatalogEASY IoTmini sind auch bei geschlossenem Gehäuse bedienbar. Bedienelemente 1 Magnetschalter 2 2-farbige LED...
  • Seite 76: Benutzerschnittstelle Am Mydatanet-Server

    farbige LED durch die Device Logic Funktionen "Led_On()", "Led_Off()", "Led_Blink()" , "Led_Flash()" und "Led_Flicker()" gesteuert werden. Betriebszustände (2-farbige LED wird durch die Firmware gesteuert) 2-farbige LED Farbe Beschreibung flackert grün Verbindungsaufbau leuchtet grün GPRS-Verbindung oder USB-Verbindung hergestellt normaler Betrieb/Scriptabarbeitung bis zur nächsten Übertragung 9.2 Benutzerschnittstelle am myDatanet-Server 9.2.1 Messstellenkonfiguration Hinweis: Abhängig vom jeweiligen Benutzerlevel sind einige der in den folgenden Unterkapiteln erwähnten...
  • Seite 77: Steuerung

    Kapitel 9 Benutzerschnittstellen 9.2.1.3 Steuerung Hinweis: Wurde die Messstelle auf Basis einer IoT Applikation (siehe "Benutzerhandbuch für myDatanet- Server " 206.886) erstellt, ist dieser Konfigurationsabschnitt nicht sichtbar. Device Logic Device Logic deaktiviert Pawn Aktiviert die Abarbeitung der Device Logic und teilt dem myDatalogEASY IoTmini mit, dass es sich bei der Device Logic um ein „Pawn Script“...
  • Seite 78: Alarmierung

    9.2.1.5 Alarmierung Quittierung Standard Für die Entscheidung, ob die Alarme automatisch oder manuell quittiert werden müssen, wird die globale Servereinstellung herangezogen. automatisch Alarme werden automatisch quittiert, sobald alle Benachrichtigungen versendet wurden. Wurden auch SMS versendet, die einen Tarif mit Sendebestätigungsfunktion haben, so wird mit der Quittierung auf die Sendebestätigung gewartet.
  • Seite 79: Grundeinstellungen

    Kapitel 9 Benutzerschnittstellen 9.2.1.6 Grundeinstellungen Zeitzone Regionseinstellungen (nicht relevant für Rohmessdaten, da diese in UTC gespeichert werden) Sommerzeit Konfiguration für die automatische Zeitumstellung standard Die Konfiguration für die Zeitumstellung wird von der globalen Servereinstellung übernommen. automatische Zeitumstellung deaktiviert vordefinierte Einstellung für den amerikanischen Raum vordefinierte Einstellung für den europäischen Raum Standard Auswertung Auswahl der Auswertung, die durch einen Klick auf den Gerätelink in den Karten...
  • Seite 80: Gerätekonfiguration

    9.2.1.7 FTP-Export Einstellungen Hinweis: Dieser Konfigurationsabschnitt ist nur sichtbar, wenn die Lizenz "FTP Agent Extended" für den myDatanet-Server freigeschaltet wurde. FTP Export Profil aus FTP Export deaktiviert "Name eines Liste mit den FTP-Export-Profilen, die am Server angelegt wurden FTP Export (zum Anlegen eines FTP-Export-Profils siehe "Benutzerhandbuch für Profils"...
  • Seite 81 Kapitel 9 Benutzerschnittstellen Telefonnummer Telefonnummer der SIM-Karte. An diese Nummer werden die Steuer-SMS (z.B. Wakeup) gesendet. Format: +43555837465 Geräte Flags zusätzliche Information zur Geräteklasse (für interne Verwendung) Firmware Version aktuell installierte Softwareversion des Messcontrollers Modem Version aktuell installierte Softwareversion des Modemcontrollers OS Version OS Version des Modems Letzter...
  • Seite 82 Firmware Typ Released Nur Firmwareversionen bei denen sowohl interner Test als auch Feldtest erfolgreich waren, werden installiert (Fehlfunktionen nahezu ausgeschlossen). Release Candidate Nur Firmwareversionen bei denen der interne Test erfolgreich war, werden installiert (Fehlfunktionen nicht ausgeschlossen). Beta Release Auch Firmwareversionen bei denen noch nicht alle internen Tests erfolgreich abgeschlossen sind, werden installiert (Fehlfunktionen durchaus möglich).
  • Seite 83: Allgemein

    10.1 Allgemein Das Konfigurationsprogramm DeviceConfig steht unter folgender Adresse gratis zum Download bereit: www.microtronics.com/deviceconfig Es handelt sich um ein Tool zur Konfiguration, Wartung, Fehleranalyse und Synchronisation. Es ist mit allen myDatanet Geräten, die über eine USB-Schnittstelle, eine Wireless M-Bus-Schnittstelle oder eine Bluetooth Low Energy Schnittstelle verfügen, kompatibel.
  • Seite 84 10.3 Funktionsprinzip Die folgende Beschreibung bezieht sich speziell auf die Verwendung des Konfigurationsprogramms DeviceConfig in Verbindung mit dem myDatalogEASY IoTmini . Funktionsprinzip 1 myDatalogEASY IoTmini 3 myDatanet-Server 2 PC mit installiertem Konfigurationsprogramm 4 Client, der mittels Web-Browser auf die DeviceConfig Oberfläche des myDatanet-Servers zugreift Wichtiger Hinweis: Bei der USB-Schnittstelle handelt es sich um eine Serviceschnittstelle, die nur nach Öffnen des Gehäuses zugänglich ist.
  • Seite 85 10.4 Installation Das folgende Kapitel beschreibt den Installationsprozess unter Windows 7. 1. Führen Sie die Datei "InstDeviceConfig.exe" aus, um den Installationsprozess zu starten. Hinweis: Verbinden Sie das Gerät bzw. den USB BLE-Adapter (300685) erst nach Abschluss des Installationsprozesses mit Ihrem PC, da die benötigten Treiber erst während dieses Vorgangs installiert werden.
  • Seite 86 2. Folgen Sie den Anweisungen des Setup Wizzards bis Sie zu der folgenden Ansicht gelangen. Für den ordnungsgemäßen Betrieb müssen die folgenden Treiber zwingend installiert werden. Installation der USB-Treiber für die Geräte Installation des Treibers für den USB BLE-Adapter Installation der USB-Treiber für Geräte auf M1-Basis Installation der USB-Treiber für Geräte auf M2/M3-Basis Rev.
  • Seite 87 3. Wenn Sie schließlich zur folgenden Ansicht gelangen, schließen Sie den Installationsvorgang durch Klicken auf den Button "Finish" ab. Setup abschließen 10.5 Menü des DeviceConfig 10.5.1 Settings Menüpunkt "Settings" 10.5.1.1 Options Über den Menüpunkt "Settings -> Options" lassen sich Einstellungen zu den COM-Ports an denen der USB- Funksender (206.657) bzw.
  • Seite 88 Menüpunkt "Settings -> Options" 1 aktiviert/deaktiviert die automatische Suche nach 4 COM-Port, der mit dem USB-Funksender dem USB-Funksender (206.657) an allen (206.657) verbunden ist (nur bei deaktivierter verfügbaren COM-Ports automatischer Suche sichtbar) 2 aktiviert/deaktiviert die automatische Suche nach 5 COM-Port, der mit dem USB BLE-Adapter dem USB BLE-Adapter (300685) an allen (300685) verbunden ist (nur bei deaktivierter verfügbaren COM-Ports...
  • Seite 89: Verbindung Zu Einem Gerät Mit Usb Schnittstelle Herstellen

    10.6 Verbindung zu einem Gerät mit USB Schnittstelle herstellen Wichtiger Hinweis: Überprüfen Sie, falls Sie ein Gerät ohne freigeschaltetem Mobilfunkmodem verwenden, die Uhrzeit- und Datumseinstellung (inkl. Einstellung der Zeitzone) Ihres PCs, da diese in diesem Fall für den Abgleich der Systemzeit des myDatalogEASY IoTmini herangezogen wird. 1.
  • Seite 90 4. Warten Sie bis das DeviceConfig die Konfiguration des Geräts empfangen hat. Je nach Gerät werden daraufhin zusätzliche Karteireiter eingeblendet. Karteireiter "Sync" bei aktiver Verbindung zu einem myDatalogEASY IoTmini Rev. 02...
  • Seite 91 10.7 Karteireiter "Log" Dieser Karteireiter dient der Verwaltung der Log-Einträge. Er ermöglicht das Laden der Einträge vom myDatalogEASY IoTmini , das Speichern als *.tsv-Datei und das Löschen der Einträge aus dem Speicher des myDatalogEASY IoTmini . Karteireiter "Log" 1 Aktiviert die detaillierte Darstellung der 5 löscht die Log-Einträge aus dem Speicher des Logeinträge Geräts...
  • Seite 92 Farbe Bewertung weiß Information über den aktuellen Betriebszustand grün hellblau blau lila grau gelb unkritischer Fehler kritischer Fehler Karteireiter "Log" mit aktivierter Detailansicht 1 Aktiviert die detaillierte Darstellung der 3 Log-Eintrag, der in jedem Fall angezeigt wird Logeinträge 2 informativer Log-Eintrag, der nur sichtbar ist, wenn die detaillierte Darstellung aktiviert ist Rev.
  • Seite 93 10.8 Karteireiter "Firmware" Dieser Karteireiter ermöglicht das direkte Einspielen der Firmware über die USB-Schnittstelle oder die Bluetooth Low Energy Schnittstelle. Es stehen 2 Varianten für das Updaten der Firmware zur Verfügung: Mittels zuvor heruntergeladenem Firmwarepaket Durch direktes Laden vom myDatanet-Server Karteireiter "Firmware"...
  • Seite 94 10.9 Karteireiter "Features" Dieser Karteireiter ermöglicht es kostenpflichtige Features durch die Eingabe des Aktivierungscodes freizuschalten. Er bietet auch einen Überblick über die zusätzlich aktivierbaren Features und welche davon bereits freigeschaltet wurden. Karteireiter "Features" 1 Feature wurde bereits freigeschaltet. 3 Eingabefeld für den Aktivierungscode 2 Feature ist nicht freigeschaltet.
  • Seite 95: Anlegen Der Messstelle

    Kapitel 11 myDatanet-Server Kapitel 11 myDatanet-Server Hinweis: Alle Screenshots zeigen den myDatanet-Server in der Version 47.10 unter Verwendung des Standard-Farbschemas. Bei neueren Versionen können geringfügige Änderungen am Erscheinungsbild des Servers vorgenommen worden sein. 11.1 Empfohlene Vorgehensweise 11.1.1 Anlegen der Messstelle Eine detailliertere Anleitung zum Anlegen einer neuen Messstelle finden Sie im Benutzerhandbuch für myDatanet-Server (206.886).
  • Seite 97: Allgemein

    Änderungen am Erscheinungsbild des Programms im Vergleich zu den in dieser Anleitung verwendeten Screenshots kommen kann. 12.1 Allgemein Der Zugang zur webbasierten Entwicklungsumgebung rapidM2M Studio ist im Microtronics Partner Programm, für das Sie sich unter folgender Adresse kostenlos anmelden können, enthalten: https://partner.microtronics.com Es handelt sich um eine webbasierte IDE, die den Kunden bei der Erstellung von IoT Applikationen für das...
  • Seite 98 12.2 Voraussetzungen Schnittstellen 1 x USB Betriebssystem Windows 7 Windows 10 (empfohlen) MacOS 10.12 oder höher Linux (Fedora 32, Ubuntu 20.04, Archlinux 2020.06.01) Internetverbindung erforderlich Benötigter keine Installation erforderlich Speicherplatz Browser nur Google Chrome Rev. 02...
  • Seite 99 7 Kachel, die alle wichtigen Informationen zu einem IoT Projekt enthält 8 Liste der "Collections" alle Projekte, die nicht einer anderen "Collection" zugewiesen sind favorisierte Projekte von Microtronics bereitgestellte Beispiel-Bibliotheken von Microtronics bereitgestellte Beispiele vom Benutzer selbst erstellte "Collection" 9 Button zum Erstellen einer neuen "Collection"...
  • Seite 100 12.4 CODEbed CODEbed des rapidM2M Studio 1 Navigationspanel 2 Zurück zum Projekt Dashboard 3 Editor-Panel 4 Compiler Results inkl. Warnungen und Fehler 5 Speichernutzung 6 Kontextsensitive Hilfe 7 Installiert die aktuellen Binaries des Projektes am Gerät und Backend (d.h. dem myDatanet-Server) und öffnet das TESTbed Rev.
  • Seite 101 12.5 TESTbed TESTbed des rapidM2M Studio 1 Debug Konsole 2 Öffnet zuerst das Fenster zum Auswählen und Verbinden des "Device under test" und dann das Fenster für die Eingabe der Zugangsdaten für das "Backend under test" 3 Informationen zum "Device under test" 4 Watches Panel 5 Informationen zum "Backend under test"...
  • Seite 103: Direkte Eingabe Einer Device Logic

    Kapitel 13 Device Logic (Pawn) Kapitel 13 Device Logic (Pawn) 13.1 Allgemein Das folgende Kapitel beschreibt die Funktionalität der Device Logic. Bei der verwendeten Programmiersprache handelt es sich um "Pawn" (vormals SMALL), eine C-ähnliche Skriptsprache, welche auf embedded Systemen läuft. Zusätzliche detaillierte Informationen finden Sie auf der Website der Entwickler: http://www.compuphase.com/pawn/pawn.htm.
  • Seite 104 13.2 Compiler-Optionen Komprimierung des Pawn Programmcodes // Über den Parameter wird angegeben welche der Sektionen komprimiert werden // sollen // 0: keine Komprimierung (default) // 1: DATA // 2: DATA und CODE // 3: DATA, CODE und TABELS #pragma amxcompress <0-3> 13.3 rapidM2M Device API 13.3.1 Konstanten Returncodes für allgemeine Zwecke...
  • Seite 105: Arrays Mit Symbolischen Indizes

    Kapitel 13 Device Logic (Pawn) 13.3.2 Timer, Datum & Zeit 13.3.2.1 Arrays mit symbolischen Indizes TrM2M_DateTime detaillierte Aufschlüsselung von Datum und Zeit // year Jahr relativ zum Jahr 2000, d.h. 14 für das Jahr 2014 // month Monat // day // hour Stunden // minute...
  • Seite 106 native rM2M_GetDate(&year=0, &month=0, &day=0, timestamp=0); Wurde kein Timestamp übergeben (timestamp=0), wird für die aktuelle Systemzeit (in UTC) das Datum (Jahr, Monat, Tag) ermittelt. Andernfalls wird für den übergebenen Timestamp das Datum (Jahr, Monat, Tag) ermittelt. Parameter Erklärung year Variable zur Aufnahme des Jahres - OPTIONAL Hinweis: Die Angabe des Jahres erfolgt relativ zum Jahr 2000, d.h.
  • Seite 107 Kapitel 13 Device Logic (Pawn) native rM2M_SetDateTime(datetime[TrM2M_DateTime], flags=0); setzt Datum und Zeit des Systems auf die in der übergebenen Struktur enthaltenen Werte Parameter Erklärung datetime Struktur, die eine detaillierte Aufschlüsselung von Datum und Zeit enthält (siehe "TrM2M_DateTime" im Kapitel "Arrays mit symbolischen Indizes" auf Seite 105). .timestamp = 0: Die in .year, .month, .day, .hour, .minute und .second enthalten Werte werden für das Setzen von Datum/Zeit...
  • Seite 108 native rM2M_DoW(timestamp); berechnet den Wochentag aus einem gegebenen Timestamp Parameter Erklärung timestamp Zeitstempel des zu berechnenden Tages Erklärung Rückgabewert Wochentag, 0=Montag ... 6=Sonntag native rM2M_TimerAdd(funcidx); erzeugt einen neuen 1s Timer Parameter Erklärung funcidx Index der öffentlichen Funktion, die nach Ablauf des Timers aufgerufen werden soll Typ der Funktion: public func();...
  • Seite 109 Kapitel 13 Device Logic (Pawn) native rM2M_TimerAddExt(funcidx, bool:cyclic, time); erzeugt einen neuen ms Timer Parameter Erklärung funcidx Index der öffentlichen Funktion, die nach Ablauf des Timers aufgerufen werden soll Typ der Funktion: public func(); cyclic Einstellung für das Verhalten nach Ablauf des Timerintervalls: true: Der Timer soll nach dem Ablauf des Intervalls neu gestartet werden.
  • Seite 110 13.3.3 Uplink 13.3.3.1 Konstanten Konfigurationsflags für die Funktion rM2M_CfgInit() RM2M_CFG_VOLATILE = 0b00000001, // flüchtige Speicherung (RAM) 13.3.3.2 Callback Funktionen public func(const data[], len, timestamp); vom Script-Entwickler bereitzustellende Funktion, die nach dem Lesen eines Datensatzes (mittels der Funktion "rM2M_ReadData()") aus dem internen Flash-Speicher aufgerufen wird Parameter Erklärung data...
  • Seite 111 Kapitel 13 Device Logic (Pawn) 13.3.3.3 Funktionen native rM2M_LiveData(const data{}, len); überträgt einen Datensatz als Live-Daten an den Server. Ein Aufruf dieser Funktion ist nur gestattet, wenn sich das Gerät im "online"-Modus befindet und eine aktive Verbindung zum Server besteht. Benutzen Sie die Funktionen "rM2M_Pack", "rM2M_SetPacked"...
  • Seite 112 native rM2M_RecData(timestamp, const data{}, len); speichert einen Datensatz im internen Flash-Speicher. Benutzen Sie die Funktionen "rM2M_Pack", "rM2M_SetPacked" oder "rM2M_SetPackedB", um den Datenbereich zu erzeugen. Parameter Erklärung timestamp Zeitstempel, der für die Aufzeichnung verwendet werden soll = 0: Die aktuelle Systemzeit wird als Zeitstempel verwendet.  >...
  • Seite 113 Kapitel 13 Device Logic (Pawn) native rM2M_CfgInit(cfg, flags); legt die Konfiguration für einen Konfigurationsspeicherblock fest. Ein Aufruf der Funktion ist nur notwendig, wenn eines der Konfigurationsflags gesetzt werden soll. Parameter Erklärung Nummer des Konfigurationsspeicherblocks, beginnend mit 0 für den ersten Speicherblock.
  • Seite 114 native rM2M_CfgWrite(cfg, pos, const data{}, size); speichert den übergebenen Datenblock an der angegeben Position in einem Konfigurationsspeicherblock. Beachten Sie, dass der Konfigurationspeicherblock abhängig von der mit Hilfe der Funktion "rM2M_CfgInit" ausgewählten Art der Speicherung gespeichert wird, entweder flüchtig im RAM (Bit0 = RM2M_CFG_VOLATILE) oder nichtflüchtig im FLASH (Bit0 = 0, default). Der Funktion wird auch übergeben, welcher der 10 verfügbaren Speicherblocks im internen Flash- Speicher verwendet werden soll.
  • Seite 115 Kapitel 13 Device Logic (Pawn) native rM2M_CfgRead(cfg, pos, data{}, size); liest einen Datenblock von der angegeben Position aus einem Konfigurationsspeicherblock. Der Funktion wird auch übergeben, von welchem der 10 verfügbaren Speicherblocks im internen Flash- Speicher gelesen werden soll. Benutzen Sie die Funktionen "rM2M_Pack", "rM2M_GetPacked" oder "rM2M_GetPackedB", um gelesene Daten zu entpacken.
  • Seite 116 native rM2M_CfgOnChg(funcidx); legt die Funktion fest, die aufgerufen werden soll, wenn sich einer der Konfigurationsspeicherblöcke geändert hat Parameter Erklärung funcidx Index der öffentlichen Funktion, die aufgerufen werden soll, wenn sich die Konfiguration geändert hat Typ der Funktion: public func(cfg); Erklärung Rückgabewert OK, wenn erfolgreich ERROR, wenn kein gültiger Index einer öffentlichen Funktion übergeben...
  • Seite 117 Kapitel 13 Device Logic (Pawn) Konfiguration der externen Temperaturmessung (PT100/1000) Konfigurationsoptionen für die Funktion Temp_Init() TEMP_MODE_SINGLE_CONV = 0, // Single Conversion Modus TEMP_MODE_CONT_CONV = 1, // Continuous Conversion Modus Kennungen der im myDatalogEASY IoTmini verbauten Module Diese werden von den Funktionen zum Updaten der Firmware der Module verwendet. #define MODFW_LORA "CMWX1ZZABZ"...
  • Seite 118 native Temp_Close(temp); schließt die PT100/1000-Schnittstelle. Dadurch wird das Temperaturmodul in den Modus mit dem niedrigsten Energieverbrauch geschaltet. Parameter Erklärung temp Nummer der PT100/1000-Schnittstelle; beim myDatalogEASY IoTmini immer 0 Erklärung Rückgabewert OK, wenn erfolgreich ERROR_FEATURE_LOCKED, wenn die angegebene Schnittstelle auf dem Gerät nicht freigeschaltet ist <...
  • Seite 119 Kapitel 13 Device Logic (Pawn) 13.3.5 Encoding 13.3.5.1 Konstanten Konfigurierungsflags für die Funktion rM2M_Pack() RM2M_PACK_GET = 0b00000001, // Wert soll gelesen werden (Get Packed) RM2M_PACK_BE = 0b00000010, // "Big Endian"-Format verwenden RM2M_PACK_U8 = 0b00010000, // 8-Bit Unsigned RM2M_PACK_S8 = 0b10010000, // 8-Bit Signed RM2M_PACK_U16 = 0b00100000, // 16-Bit Unsigned RM2M_PACK_S16...
  • Seite 120 13.3.5.2 Funktionen native rM2M_SetPacked(data{}, pos, &{Float,Fixed,_}:value, size=4, bool:bigendian=false); schreibt den übergebenen Wert an die angegebene Position in ein Array Wichtiger Hinweis: Diese Funktion wird zwar weiterhin zugunsten der Abwärtskompatibilität unterstützt, sollte aber bei neuen Projekten nicht mehr verwendet werden, da es bei Unsigned- Datentypen zu Problemen kommen kann.
  • Seite 121 Kapitel 13 Device Logic (Pawn) native rM2M_SetPackedB(data{}, pos, const block[], size); schreibt den übergebenen Datenblock an die angegebene Position in ein Array Parameter Erklärung data Array, das als Datenbereich für einen Datensatz oder eine Konfiguration verwendet werden soll Byteoffset innerhalb des Arrays zur Bestimmung der Position, an die der Datenblock geschrieben werden soll block Datenblock, der in das Array geschrieben werden soll...
  • Seite 122 native rM2M_GetPacked(const data{}, pos, &{Float,Fixed,_}:value, size=4, bool:bigendian=false); liefert den Wert, der sich an der angegebenen Position im einem Array befindet Wichtiger Hinweis: Diese Funktion wird zwar weiterhin zugunsten der Abwärtskompatibilität unterstützt, sollte aber bei neuen Projekten nicht mehr verwendet werden, da es bei Unsigned- Datentypen zu Problemen kommen kann.
  • Seite 123 Kapitel 13 Device Logic (Pawn) native rM2M_GetPackedB(const data{}, pos, block[], size); liest einen Datenblock, der sich an der angegebenen Position in einem Array befindet Parameter Erklärung data Array, das als Datenbereich für einen Datensatz oder eine Konfiguration verwendet werden soll Byteoffset innerhalb des Arrays zur Bestimmung der Position, von der die Daten gelesen werden sollen block...
  • Seite 124 native rM2M_Pack(const data{}, pos, &{Float,Fixed,_}:value, type); Funktion für den Zugriff auf gepackte Daten. Wurde das Bit0 (RM2M_PACK_GET) des Parameters "type" gesetzt, liefert die Funktion den Wert, der sich an der angegebenen Position im Array befindet. Andernfalls schreibt die Funktion den übergebenen Wert an die angegebene Position ins Array. Parameter Erklärung data...
  • Seite 125 Kapitel 13 Device Logic (Pawn) 13.3.6 RS232, RS485 13.3.6.1 Konstanten Konfiguration der RS232-Schnittstelle Konfigurationsflags für die Funktion RS232_Init() RS232_1_STOPBIT = 0b0000000000000001, // 1 Stopbit RS232_2_STOPBIT = 0b0000000000000010, // 2 Stopbit RS232_PARITY_NONE = 0b0000000000000000, // keine Parität RS232_PARITY_ODD = 0b0000000000000100, // ungerade Parität RS232_PARITY_EVEN = 0b0000000000001000, // gerade Parität RS232_7_DATABIT...
  • Seite 126 public func(const data{}, len); vom Script-Entwickler bereitzustellende Funktion, die beim Empfang von Zeichen über die RS485- Schnittstelle aufgerufen wird Parameter Erklärung data Array, das die empfangenen Daten enthält Anzahl der empfangenen Bytes Rev. 02...
  • Seite 127 Kapitel 13 Device Logic (Pawn) 13.3.6.3 Funktionen native RS232_Init(rs232, baudrate, mode, funcidx); initialisiert die RS232-Schnittstelle Parameter Erklärung rs232 Nummer der RS232-Schnittstelle; beim myDatalogEASY IoTmini immer 0 Hinweis: Sie können für diesen Parameter auch die vordefinierte Konstante "RS232_ITF1" verwenden. baudrate zu verwendende Baudrate. Beachten Sie die für das verwendete Gerät gültigen Grenzwerte (siehe "Technische Details zur RS232-Schnittstelle"...
  • Seite 128 native RS232_Close(rs232); schließt die RS232-Schnittstelle Parameter Erklärung rs232 Nummer der RS232-Schnittstelle; beim myDatalogEASY IoTmini immer 0 Hinweis: Sie können für diesen Parameter auch die vordefinierte Konstante "RS232_ITF1" verwenden. Erklärung Rückgabewert OK, wenn erfolgreich ERROR_FEATURE_LOCKED, wenn die angegebene Schnittstelle auf dem Gerät nicht freigeschaltet ist <...
  • Seite 129 Kapitel 13 Device Logic (Pawn) native RS232_Setbuf(rs232, rxbuf{}, rxlen, txbuf{}, txlen); stellt der Firmware je einen Puffer für das Senden und das Empfangen von Zeichen über die RS232- Schnittstelle aus dem für die Device Logic reservierten RAM-Bereich zur Verfügung. Beim Aufruf dieser Funktion wird vom den in die Firmware integrierten Puffern mit einer Größe von je 256 Byte auf die übergebenen Puffer umgeschaltet.
  • Seite 130 native RS485_Init(rs485, baudrate, mode, funcidx); initialisiert die RS485-Schnittstelle Parameter Erklärung rs485 Nummer der RS485-Schnittstelle; beim myDatalogEASY IoTmini immer 0 Hinweis: Sie können für diesen Parameter auch die vordefinierte Konstante "RS485_ITF1" verwenden. baudrate zu verwendende Baudrate. Beachten Sie die für das verwendete Gerät gültigen Grenzwerte (siehe "Technische Details zur RS485-Schnittstelle"...
  • Seite 131 Kapitel 13 Device Logic (Pawn) native RS485_Close(rs485); schließt die RS485-Schnittstelle Parameter Erklärung rs485 Nummer der RS485-Schnittstelle; beim myDatalogEASY IoTmini immer 0 Hinweis: Sie können für diesen Parameter auch die vordefinierte Konstante "RS485_ITF1" verwenden. Erklärung Rückgabewert OK, wenn erfolgreich ERROR_FEATURE_LOCKED, wenn die angegebene Schnittstelle auf dem Gerät nicht freigeschaltet ist <...
  • Seite 132 native RS485_Setbuf(rs485, rxbuf{}, rxlen, txbuf{}, txlen); stellt der Firmware je einen Puffer für das Senden und das Empfangen von Zeichen über die RS485- Schnittstelle aus dem für das Script reservierten RAM-Bereich zur Verfügung. Beim Aufruf dieser Funktion wird vom den in die Firmware integrierten Puffern mit einer Größe von je 256 Byte auf die übergebenen Puffer umgeschaltet.
  • Seite 133 Kapitel 13 Device Logic (Pawn) 13.3.7 LoRa 13.3.7.1 Konstanten Konfiguration der UART-Schnittstelle, die mit dem LoRa-Modul verbunden ist Konfigurationsflags für die Funktion LoRa_Init() LORA_1_STOPBIT = 0b0000000000000001, // 1 Stopbit LORA_2_STOPBIT = 0b0000000000000010, // 2 Stopbit LORA_PARITY_NONE = 0b0000000000000000, // keine Parität LORA_PARITY_ODD = 0b0000000000000100, // ungerade Parität LORA_PARITY_EVEN...
  • Seite 134 13.3.7.3 Funktionen native LoRa_Init(LoRa, baudrate, mode, funcidx); initialisiert die UART-Schnittstelle, die mit dem LoRa-Modul verbunden ist Parameter Erklärung LoRa Nummer der UART-Schnittstelle, die mit dem LoRa-Modul verbunden ist; beim myDatalogEASY IoTmini immer 0 baudrate zu verwendende Baudrate mode Bit 0...1   1 = 1 Stopbit   2 = 2 Stopbit Bit 2...3   0 = keine Parität...
  • Seite 135 Kapitel 13 Device Logic (Pawn) native LoRa_Close(LoRa); schließt die UART-Schnittstelle, die mit dem LoRa-Modul verbunden ist Parameter Erklärung LoRa Nummer der UART-Schnittstelle, die mit dem LoRa-Modul verbunden ist; beim myDatalogEASY IoTmini immer 0 Erklärung Rückgabewert OK, wenn erfolgreich ERROR_FEATURE_LOCKED, wenn die Datenübermittlung mittels LoRaWAN auf dem Gerät nicht freigeschaltet ist <...
  • Seite 136 native LoRa_Setbuf(LoRa, rxbuf{}, rxlen, txbuf{}, txlen); stellt der Firmware je einen Puffer für das Senden und das Empfangen von Zeichen über die UART- Schnittstelle, die mit dem LoRa-Modul verbunden ist, aus dem für die Device Logic reservierten RAM- Bereich zur Verfügung. Beim Aufruf dieser Funktion wird von den in die Firmware integrierten Puffern mit einer Größe von je 128 Byte auf die übergebenen Puffer umgeschaltet.
  • Seite 137 Kapitel 13 Device Logic (Pawn) 13.3.8 Registry 13.3.8.1 Konstanten Indizes der Registrierungsspeicherblöcke auf die mittels der Funktionen "rM2M_RegGetString()", "rM2M_RegGetValue()", "rM2M_ RegSetString()", "rM2M_RegSetValue()", "rM2M_RegDelValue()" und "rM2M_RegDelKey()" zugegriffen werden kann. Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 35. //Systemspezifische Daten RM2M_REG_SYS_OTP = 0, // einmalig im Zuge der Produktion (Empfehlung)
  • Seite 138 13.3.8.2 Callback Funktionen public func(reg); vom Script-Entwickler bereitzustellende Funktion, die aufgerufen wird, wenn sich die Registrierung geändert hat Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 137), der geändert wurde 13.3.8.3 Funktionen native rM2M_RegInit(reg, flags, data{}, len=sizeof data); initialisiert einen der optionalen Registrierungsspeicherblöcke, die im RAM abgelegt werden.
  • Seite 139 Kapitel 13 Device Logic (Pawn) native rM2M_RegGetString(reg, const name[], string[], len=sizeof string); liest eine Zeichenkette aus einem Registrierungsspeicherblock. Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 35. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 137) name Name des Eintrags string...
  • Seite 140 native rM2M_RegSetString(reg, const name[], const string[]); schreibt eine Zeichenkette in einen Registrierungsspeicherblock. Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 35. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 137) name Name des Eintrags Wenn bereits ein Eintrag mit diesem Namen existiert, wird die bestehende...
  • Seite 141 Kapitel 13 Device Logic (Pawn) native rM2M_RegDelValue(reg, const name[]); sucht einen Eintrag anhand seines Namens und setzt den Wert dieses Eintrags (egal ob String oder Value) auf "null". Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 35. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der...
  • Seite 142: Arrays Mit Symbolischen Indizes

    native rM2M_RegOnChg(funcidx); legt die Funktion fest, die aufgerufen werden soll, wenn sich einer der Registrierungsspeicherblöcke geändert hat. Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 35. Parameter Erklärung funcidx Index der öffentlichen Funktion, die aufgerufen werden soll, wenn sich die Registrierung geändert hat Typ der Funktion: public func(reg);...
  • Seite 143 Kapitel 13 Device Logic (Pawn) NMEA Qualitätsindikator RM2M_NMEA_FIX_NOK = 0, // invalid/no fix RM2M_NMEA_FIX_GPS = 1, // non-differential GPS fix RM2M_NMEA_FIX_DGPS = 2, // differential GPS fix RM2M_NMEA_FIX_PPS = 3, // Precise Positioning Service (PPS) RM2M_NMEA_FIX_RTK = 4, // Real Time Kinematic (RTK) RM2M_NMEA_FIX_FLOATRTK = 5, // Float Real Time Kinematic RM2M_NMEA_FIX_EST...
  • Seite 144 13.3.9.3 Funktionen native rM2M_SetPos(Lat, Long, Elev, Qual, SatUsed); speichert die GPS-Positionsinformationen im Gerät. Es erfolgt keine historische Aufzeichnung. D.h. die aktuellen Positionsinformationen überschreiben immer die letzte bekannte Position. Die Informationen werden zum myDatanet-Server übertragen und können z.B. per API (siehe "API" auf Seite 217) ausgelesen werden.
  • Seite 145 Kapitel 13 Device Logic (Pawn) native rM2M_DecodeNMEA(const sentence{}, data[], len=sizeof data); decodiert einen übergebenen NMEA Datensatz Parameter Erklärung sentence NMEA-Datensatz vom einem GPS-Empfänger, beginnend mit dem Zeichen '$'. Wichtiger Hinweis: Die Terminierung des Strings ('\0') muss unmittelbar hinter der Checksumme erfolgen. data Puffer (Cell-Array) zur Aufnahme der decodierten Daten [0] :...
  • Seite 146 native rM2M_SetPosNMEA(const Sentence{}); entnimmt die GPS-Positionsinformationen aus dem übergebenen NMEA-Datensatz und speichert sie im Gerät. Es erfolgt keine historische Aufzeichnung. D.h. die aktuellen Positionsinformationen überschreiben immer die letzte bekannte Position. Die Informationen werden zum myDatanet-Server übertragen und können z.B. per API (siehe "API" auf Seite 217) ausgelesen werden. Parameter Erklärung Sentence...
  • Seite 147 Kapitel 13 Device Logic (Pawn) native rM2M_GetPos(&Lat, &Long, &Elev, &Qual=0, &SatUsed=0); liest die im Gerät gespeicherten GPS-Positionsinformationen aus Parameter Erklärung Variable zur Aufnahme der geographischen Breite in Grad (Auflösung: 0,000001°) -90 000 000 = Südpol 90° Süd 0 = Äquator +90 000 000 = Nordpol 90°...
  • Seite 148 13.3.10 Mathematik Hilfreiche Konstanten Definintition Wert Beschreibung 2.7182818284590452354 M_LOG2E 1.4426950408889634074 M_LOG10E 0.43429448190325182765 M_LN2 0.69314718055994530942 ln 2 M_LN10 2.30258509299404568402 ln 10 M_PI 3.14159265358979323846 π M_PI_2 1.57079632679489661923 π/2 M_PI_4 0.78539816339744830962 π/4 M_1_PI 0.31830988618379067154 1/π M_2_PI 0.63661977236758134308 2/π M_2_SQRTPI 1.12837916709551257390 2/sqrt(π) M_SQRT2 1.41421356237309504880 sqrt(2) M_SQRT1_2 0.70710678118654752440...
  • Seite 149 Kapitel 13 Device Logic (Pawn) native max(value1, value2); liefert den größeren der beiden übergebenen Werte Parameter Erklärung value1 zwei Werte, von denen der größere ermittelt werden soll value1 Erklärung Rückgabewert der größere der beiden übergebenen Werte native clamp(value, min=cellmin, max=cellmax); prüft, ob der übergebene Wert zwischen "min"...
  • Seite 150 native Float:asin(Float:x); arcsin(x) im Bereich [-π/2, π/2], x Element von [-1, 1] native Float:acos(Float:x); arccos(x) im Bereich [0, π], x Element von [-1, 1] native Float:atan(Float:x); arctan(x) im Bereich [-π/2, π/2] native Float:atan2(Float:y, Float:x); arctan(y/x) im Bereich [-π, π] native Float:sinh(Float:x); Sinus Hyperbolicus von x native Float:cosh(Float:x);...
  • Seite 151 Kapitel 13 Device Logic (Pawn) 13.3.11 Char & String Die Arbeitsweise der folgenden Funktionen entspricht im Wesentlichen jener der Standard ANSI-C Implementierung: native strlen(const string[]); liefert die Länge von string (ohne '\0') Parameter Erklärung string Zeichenkette, deren Länge bestimmt werden soll Erklärung Rückgabewert Anzahl der Zeichen ohne der abschließenden '\0'...
  • Seite 152 native strcat(dest[], const source[], maxlength=sizeof dest); fügt die Zeichenkette source an die Zeichenkette dest an (inklusive '\0') Parameter Erklärung dest Array zur Aufnahme des Ergebnisses. Dieses Array enthält bereits eine Zeichenkette an die die Zeichenkette source angefügt werden soll. source Zeichenkette, die an die im Array dest enthaltene Zeichenkette angefügt werden soll maxlength...
  • Seite 153 Kapitel 13 Device Logic (Pawn) native strrchr(const string[], char); sucht ein Zeichen (letztes vorkommen) in einer Zeichenkette Parameter Erklärung string Zeichenkette, die durchsucht werden soll char Zeichen, das gesucht werden soll Erklärung Rückgabewert -1, wenn das gesuchte Zeichen nicht in der Zeichenkette enthalten ist Array-Index des gesuchten Zeichens (letztes in der Zeichenkette vorkommendes Zeichen) native strspn(const string1[], const string2[]);...
  • Seite 154 native strpbrk(const string1[], const string2[]); sucht den Array-Index des ersten Zeichens, das auch in der Zeichenkette erlaubter Zeichen enthalten Parameter Erklärung string1 Zeichenkette, die durchsucht werden soll string2 Zeichenkette erlaubter Zeichen Erklärung Rückgabewert -1, wenn das gesuchte Zeichen nicht in der Zeichenkette enthalten ist Array-Index des ersten Zeichens in der zu durchsuchenden Zeichenkette, das auch in der Zeichenkette der erlaubten Zeichen enthalten ist native strstr(const string1[], const string2[]);...
  • Seite 155 Kapitel 13 Device Logic (Pawn) native Float: atof(const string[]); wandelt eine Zeichenkette in einen Float um Parameter Erklärung string umzuwandelnde Zeichenkette Erklärung Rückgabewert Float, dessen Zahlenwert der Zeichenkette entspricht native tolower(c); wandelt ein Zeichen in einen Kleinbuchstaben um Parameter Erklärung Zeichen, das in einen Kleinbuchstaben umgewandelt werden soll Erklärung Rückgabewert...
  • Seite 156: Arrays Mit Symbolischen Indizes

    13.3.12 CRC & Hash 13.3.12.1 Arrays mit symbolischen Indizes TMD5_Ctx Kontextstruktur für die MD5-Berechnung // init Nach dem Setzen auf "0" kann die Kontextstruktur für eine neue Berechnung eines Hashs verwendet werden. Soll eine Berechnung durch mehrfachen Aufruf der Funktion "MD5" erfolgen, darf kein Schreibzugriff auf dieses Element erfolgen.
  • Seite 157: Verschiedene Funktionen

    Kapitel 13 Device Logic (Pawn) native MD5(data{}, len, hash{16}, ctx[TMD5_Ctx] = [0]); berechnet den MD5 Hash für die übergebenen Daten. Wenn der Hash für einen Datenblock durch mehrfache Aufrufe dieser Funktion berechnet werden soll (z.B. beim blockweisen Empfang von Daten), muss bei jedem Aufruf dieselbe Kontextstruktur übergeben werden. Zwischen den Aufrufen darf die Kontextstrutur nicht verändert werden.
  • Seite 158 TrM2M_Id Informationen zur Identifikation des Moduls/Geräts // string rapidM2M Modulidentifikation (z.B. "rapidM2M EasyIoT HW1.1") // module rapidM2M Modultyp (z.B. "EasyIoT") // hwmajor Hardware: Hauptversionsnummer // hwminor Hardware: Nebenversionsnummer // sn Geräte-Seriennummer (binär) im BIG Endian Format Bsp.: "010146AF251CED1C" --> "01" in sn{0}, "1C" in sn{7} // fwmajor Firmware: Hauptversionsnummer // fwminor...
  • Seite 159 Kapitel 13 Device Logic (Pawn) native exists(const name[]); prüft, ob die benötigte rapidM2M API Funktion von der Firmware des Geräts unterstützt wird Parameter Erklärung name Name der rapidM2M API Funktion, die benötigt wird Erklärung Rückgabewert true, wenn die Funktion verfügbar ist false, wenn die Firmware des Geräts die Funktion nicht unterstützt native loadmodule(mod{});...
  • Seite 160 native rtm_stop(measurement[TRTM_Data]); stoppt die Laufzeitmessung und berechnet die seit dem Aufrufen der Funktion "rtm_start()" vergangene Zeit in [ms] sowie die seitdem ausgeführten Pawn-Instructions. Die ermittelten Werte werden in den Elementen ".runtime" und ".instructions" der übergebenen Struktur zur Aufnahme der Informationen zu einer Laufzeitmessung geschrieben.
  • Seite 161 Kapitel 13 Device Logic (Pawn) native CalcTable(key, &value, const table[][TablePoint], size = sizeof table); sucht einen bestimmten Wert in der "key"-Spalte der übergebenen Stützpunktabelle und liefert den entsprechenden Wert der "value"-Spalte der Tabelle. Liegt der gesuchte Wert zwischen zwei Stützpunkten, wird der Rückgabewert zwischen den zwei angrenzenden "value"-Spaltenwerten linear interpoliert (Geradengleichung: y = k*x + d).
  • Seite 162 native rM2M_GetId(id[TrM2M_Id], len=sizeof id); liefert die Informationen zur Identifikation des Moduls/Geräts Parameter Erklärung Struktur zur Aufnahme der Informationen zur Identifikation des Moduls/Geräts (siehe "TrM2M_Id" im Kapitel "Arrays mit symbolischen Indizes" auf Seite 157) Größe (in Cells) der Struktur zur Aufnahme der Informationen - OPTIONAL Erklärung Rückgabewert Verwendete Größe (in Cells) der Struktur zur Aufnahme der Informationen...
  • Seite 163 Kapitel 13 Device Logic (Pawn) native getarg(arg, index=0); liefert den Wert des Arguments Parameter Erklärung Die Sequenznummer des Arguments. Verwenden Sie 0 für das erste Argument. index Index, falls sich "arg" auf ein Array bezieht Erklärung Rückgabewert Diese Funktion liefert ein Argument aus einer variablen Argumentenliste. Wenn das Argument ein Array ist, gibt "index"...
  • Seite 164 13.3.14 Console native print(const string[]); druckt den angegebenen String auf die Standardausgabe Parameter Erklärung string die auszugebende Zeichenfolge. Diese darf auch Escape-Sequenzen enthalten. Erklärung Rückgabewert native printf(const format[], {Float,Fixed,_}:...); druckt den übergebenen Format-String auf die Standardausgabe. Die Arbeitsweise der Funktionen entspricht jener der Standard ANSI-C Implementierung.
  • Seite 165: Inhaltsverzeichnis

    Kapitel 13 Device Logic (Pawn) 13.3.15 Universaleingänge 13.3.15.1 Konstanten Auswahl des Modus für einen Universaleingang Eingangsmodi für die Funktion UI_Init() UI_CHT_SI_NONE = 0, // deaktiviert UI_CHT_SI_DIGITAL = 1, // Digital UI_CHT_SI_DCTR = 2, // Zähler UI_CHT_SI_DFREQ = 3, // Frequenz UI_CHT_SI_DPWM = 4, // PWM...
  • Seite 166: Ui_Cht_Si_None

    13.3.15.2 Funktionen native UI_Init(channel, mode, filtertime); initialisiert einen Universaleingang (UI 1 - UI 4 ). Die Konfiguration der Samplerate für die Messwerterfassung erfolgt durch die Funktion "UI_SetSampleRate". Ein Aufruf der Funktion "UI_ SetSampleRate" ist nur erforderlich, wenn die Default-Einstellung der Samplerate von 16Hz (62,5ms) für Ihre Anwendung nicht geeignet ist.
  • Seite 167: Ui_Cht_Si_Dfreq

    Kapitel 13 Device Logic (Pawn) native UI_Close(channel); deaktiviert einen Universaleingang (UI 1 - UI 4 ). Detaillierte Informationen zu den Universaleingängen finden Sie im Kapitel "Technische Details zu den Universaleingängen" auf Seite 57. Hinweis: Mit jedem Universaleingang der deaktiviert wird, sinkt der Energieverbrauch. Parameter Erklärung channel...
  • Seite 168 native UI_SetSampleRate(samplerate); setzt die Samplerate für die Messwerterfassung an den Universaleingängen. Die getroffene Einstellung ist immer für alle Universaleingänge gültig. Eine gesonderte Einstellung für einzelne Universaleingänge ist nicht möglich. Der Default-Wert der Samplerate beträgt 16Hz (62,5ms) . Detaillierte Informationen zu den Universaleingängen finden Sie im Kapitel "Technische Details zu den Universaleingängen"...
  • Seite 169 Kapitel 13 Device Logic (Pawn) 13.3.16 Ausgänge 13.3.16.1 Konstanten Nummern der Digitalausgänge DIGOUT_CHANNEL1 = 0, // potentialfreier Schaltkontakt 1 //Anzahl der Digitalausgänge, über die das myDatalogEASY IoTmini verfügt DIGOUT_NUM_CHANNELS = 1, Auswahl des Modus für den potentialfreien Schaltkontakt (NO, CC) Ausgangsmodi für die Funktion DigOut_Init() DIGOUT_OFF = 0, // deaktiviert...
  • Seite 170 native Ext3V3_On(); aktiviert die schaltbare 3,3V Versorgungsspannung VEXT. Detaillierte Informationen zur schaltbaren 3,3V Versorgungsspannung finden Sie im Kapitel "Schaltbare Sensorversorgung VEXT" auf Seite 62. Erklärung Rückgabewert OK, wenn erfolgreich < OK, wenn ein Fehler auftritt (siehe "Returncodes für allgemeine Zwecke" im Kapitel "Konstanten"...
  • Seite 171 Kapitel 13 Device Logic (Pawn) native DigOut_Init(digout, mode, cfg1 = -1, cfg2 = -1); initialisiert den potentialfreien Schaltkontakt (NO, CC). Über den Parameter "mode" wird der Modus ausgewählt. Die Bedeutung der Parameter "cfg1" und "cfg2" ist abhängig vom gewählten Modus. Detaillierte Informationen zum potentialfreien Schaltkontakt finden Sie im Kapitel "Potentialfreier Schaltkontakt (NO, CC)"...
  • Seite 172 Erklärung Rückgabewert OK, wenn erfolgreich < OK, wenn ein Fehler auftritt (siehe "Returncodes für allgemeine Zwecke" im Kapitel "Konstanten" auf Seite 104) native DigOut_Close(digout); deaktiviert den potentialfreien Schaltkontakt (NO, CC). Detaillierte Informationen zum potentialfreien Schaltkontakt finden Sie im Kapitel "Potentialfreier Schaltkontakt (NO, CC)" auf Seite 63. Parameter Erklärung digout...
  • Seite 173 Kapitel 13 Device Logic (Pawn) native DigOut_SetValue(digout, value); gibt den Stellwert für den potentialfreien Schaltkontakt (NO, CC) vor. Die Bedeutung des Parameters "value" ist abhängig vom mittels der Funktion "DigOut_Init" ausgewählten Modus des potentialfreien Schaltkontakts. Detaillierte Informationen zum potentialfreien Schaltkontakt finden Sie im Kapitel "Potentialfreier Schaltkontakt (NO, CC)"...
  • Seite 174 native RS232_3V3_On(); aktiviert die schaltbare 3,3V Versorgungsspannung VEXT . Detaillierte Informationen zur RS232 schaltbaren 3,3V Versorgungsspannung VEXT finden Sie im Kapitel "Schaltbare RS232 Sensorversorgung VEXTRS232" auf Seite 63. Erklärung Rückgabewert OK, wenn erfolgreich < OK, wenn ein Fehler auftritt (siehe "Returncodes für allgemeine Zwecke" im Kapitel "Konstanten"...
  • Seite 175 Kapitel 13 Device Logic (Pawn) 13.3.17.2 Funktionen native Led_Init(mode); initialisiert die 2-farbige LED Parameter Erklärung mode Auswahl, ob die 2-farbige LED durch die Firmware oder das Script gesteuert wird LED_MODE_ Die 2-farbige LED dient der Signalisierung des INTERNAL : Betriebszustandes (siehe "2-farbige LED" auf Seite 75).
  • Seite 176 native Led_Off(bool:red, bool:green); Die 2-farbige LED besteht aus einer roten und einer grünen LED, die getrennt voneinander durch diese Funktion ausgeschaltet werden können. Parameter Erklärung true: Die rote LED wird ausgeschaltet. green true: Die grüne LED wird ausgeschaltet. Erklärung Rückgabewert OK, wenn erfolgreich ERROR, wenn ein ungültiger Parameter übergeben wurde native Led_Blink(red, green);...
  • Seite 177 Kapitel 13 Device Logic (Pawn) native Led_Flash(red, green); lässt die 2-farbige LED alle 500ms kurz aufblitzen. Die 2-farbige LED besteht aus einer roten und einer grünen LED. Werden beide LED verwendet, blitzt die 2-farbige LED orange auf. Parameter Erklärung  -1 : Die rote LED bleibt ausgeschaltet.  0 : Die rote LED blitzt solange periodisch auf, bis sie gezielt       ausgeschaltet wird >0 : Anzahl wie oft die rote LED periodisch aufblitzen soll...
  • Seite 178 13.3.18.2 Callback Funktionen public func(key); vom Script-Entwickler bereitzustellende Funktion, die bei einem Zustandswechsel der Taste aufgerufen wird Parameter Erklärung gibt an, welcher Zustandswechsel zum Aufrufen der Funktion geführt hat 0: Taste wurde losgelassen 1: Taste wurde gedrückt 13.3.18.3 Funktionen native Switch_Init(mode, funcidx=-1); initialisiert den Magnetschalter Parameter Erklärung...
  • Seite 179: Power Management

    Kapitel 13 Device Logic (Pawn) 13.3.19 Power Management 13.3.19.1 Arrays mit symbolischen Indizes TPM_Info Informationen zur eingesetzten Energiequelle und zum Status des Power Managements // BatteryType PSU Typ (siehe "Typ der Power Supply Unit" im Kapitel "Konstanten" auf Seite 179 ) // Flags Status des Power Managements (siehe "Status des Power Managements"...
  • Seite 180 Konfiguration des Coulomb-Counters (elektrische Ladung) Konfigurationsflags für die Funktion PM_GetCoulombCounter() PM_CC_RESET = 0x00000001, // applikativen Coulomb-Counter zurücksetzen 13.3.19.3 Callback Funktionen public func(); vom Script-Entwickler bereitzustellende Funktion, die aufgerufen wird, wenn ein Ausfall der Versorgungs- bzw. Ladespannung V IN erkannt wurde 13.3.19.4 Funktionen native PM_SetChargingMode(mode);...
  • Seite 181 Kapitel 13 Device Logic (Pawn) native PM_BackupClose(); deaktiviert die Ausfallsüberwachung für die Versorgungs- bzw. Ladespannung V IN Erklärung Rückgabewert OK, wenn erfolgreich native PM_GetInfo(info[TPM_Info], len=sizeof info); liefert Informationen zur eingesetzten Energiequelle und zum Status des Power Managements Parameter Erklärung info Struktur zur Aufnahme der Informationen (siehe "TPM_Info"...
  • Seite 182 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 3000 SCRIPT_ERR NO SCRIPT keine gültige Device Logic vorhanden SCRIPT UPDATE neue Device Logic erhalten SCRIPT EXCEPT Exception Loop erkannt (4 Systemstarts nach LOOP Exeption innerhalb von 10min.) Die Device Logic wird deaktiviert und das Errorhandling aktiviert (siehe "Errorhandling"...
  • Seite 183 Kapitel 13 Device Logic (Pawn) Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 3005 AMX_ERR_ ungültiger Speicherzugriff MEMACCESS z.B. Verwechslung zwischen Cell (32Bit Element) Zugriff [] und Byte Zugriff {} 3006 AMX_ERR_ ungültige Anweisung INVINSTR 3007 AMX_ERR_ Stack-Unterlauf STACKLOW 3008 AMX_ERR_ Heap Unterlauf HEAPLOW 3009 AMX_ERR_...
  • Seite 184 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 3027 AMX_ERR_ allgemeiner Fehler (unbekannter oder nicht GENERAL spezifizierter Fehler) 3028 AMX_ERR_ Overlays werden nicht unterstützt (JIT) oder sind OVERLAY nicht initialisiert. 13.5 Syntax 13.5.1 Allgemeine Syntax 13.5.1.1 Format Bezeichner, Zahlen und Zeichen werden durch Leerzeichen, Tabulatoren, Zeilenumbrüche und "Form Feed" getrennt.
  • Seite 185 Kapitel 13 Device Logic (Pawn) 13.5.1.5 Reservierte Schlüsselworte Statements Operator Direktiven Andere assert defined defined defined break sizeof sizeof sizeof case state state state continue tagof tagof tagof default else exit goto return sleep state switch while 13.5.1.6 Numerische Konstanten 13.5.1.6.1 Numerische Integer-Konstanten Binär 0b gefolgt von einer Serie von 0 und 1...
  • Seite 186 Eine Variablendeklaration kann auftreten an jeder Position, an der ein Ausdruck gültig ist - lokale Variable an jeder Position, an der eine Funktionsdeklaration oder eine Implementation der Funktion gültig ist - globale Variablen; im ersten Ausdruck einer "for" Schleife (siehe "for ( Ausdruck 1 ; Ausdruck 2 ; Ausdruck 3 ) Statement " auf Seite 197) - lokale Variable Beispiel: new a;...
  • Seite 187: Eindimensionales Array

    Kapitel 13 Device Logic (Pawn) dennoch eine Variable. Um eine konstante Variable zu deklarieren, legen Sie das Schlüsselwort "const" zwischen das Schlüsselwort, das die Variablendeklaration ("new", "static") startet und den Namen der Variablen. Beispiel: new const address[4] = { 192, 0, 168, 66 } static const status /* initialized to zero */ Typische Situationen, in denen man eine konstante Variable nutzen könnte, sind: Um eine "array"-Konstante zu erstellen.
  • Seite 188: Progressive Initialisierung Für Arrays

    Beispiele: Auflistung: gültige Deklaration new i = 1 new j /* j ist 0 */ /* k hat den Zeichencode von ’a’ */ new k = ’a’ new a[] = [1,4,9,16,25] /* a hat 5 Elemente */ /* die restlichen 18 Elemente sind 0 */ new s1[20] = [’a’,’b’] /* ein unpacked string */ new s2[] = ’’Hello world...’’...
  • Seite 189: Arrays Und Der "Sizeof"-Operator

    Kapitel 13 Device Logic (Pawn) Arrays "e" und "f" ist, dass wir bei "f" den Compiler die Anzahl der höheren Dimension ermitteln lassen. "sizeof f" ist 2 genauso wie "sizeof e" (siehe "Arrays und der "sizeof"-Operator" auf Seite 189). 13.5.4.5 Arrays und der "sizeof"-Operator Der "sizeof"-Operator gibt die Anzahl der Elemente einer Variablen zurück.
  • Seite 190: Ausdrücke

    13.5.5.2 Ausdrücke Ein Ausdruck besteht aus ein oder mehreren Operanden mit einem Operator. Der Operand kann eine Variable, eine Konstante oder ein anderer Ausdruck sein. Ein Ausdruck gefolgt von einem Semikolon ist ein Statement. Beispiele für Ausdrücke: v++ f(a1, a2) v = (ia1 * ia2) / ia3 13.5.5.3 Arithmetik Operator Beispiel...
  • Seite 191: Zuweisung

    Kapitel 13 Device Logic (Pawn) 13.5.5.5 Zuweisung Das Ergebnis eines Zuweisungsausdrucks ist der Wert des Operanden nach der Zuweisung. Operator Beispiel Erklärung v = e weist den Wert von e der Variable v zu v = a weist das Array a der Variable v zu. v muss ein Array mit derselben Größe und denselben Dimensionen sein wie a.
  • Seite 192 13.5.5.7 Boolean Ein logisches "false" wird durch einen Integer-Wert von 0 repräsentiert, ein logisches "true" durch einen Wert, der nicht 0 ist. Ergebnisse eines Vergleichs-Ausdrucks sind entweder 0 oder 1 und ihr "tag" wird auf "bool" gesetzt. Operator Beispiel Erklärung Das Ergebnis ist eine logisches "true", wenn e logisch "false"...
  • Seite 193: Priorität Der Operatoren

    Kapitel 13 Device Logic (Pawn) 13.5.5.9 Priorität der Operatoren Die nachfolgende Tabelle gruppiert Operatoren mit derselben Priorität, beginnend mit der höchsten Priorität. Wenn die Auswertung eines Ausdrucks nicht explizit durch Klammern begründet wird, wird sie von den Assoziationsregeln bestimmt. Zum Beispiel: a*b/c ist gleich (a*b)/c auf Grund der links zu rechts Assoziation, und a=b=c ist gleichzusetzen mit a=(b=c).
  • Seite 194: Zusammengesetzte Anweisungen

    13.5.6 Anweisungen Ein Statement kann aus einer oder mehreren Zeilen bestehen. Eine Zeile kann zwei oder mehrere Statements enthalten. Statements zur Ablaufsteuerung (if, if-else, for, while, do-while und switch) können geschachtelt werden. 13.5.6.1 Statement-Etikett Ein Etikett besteht aus einem Identifizierer gefolgt von einem ":". Ein Etikett ist ein "Sprung-Ziel" eines "goto" Statements.
  • Seite 195 Kapitel 13 Device Logic (Pawn) 13.5.6.5 assert Ausdruck bricht das Programm mit einem Laufzeitfehler ab, wenn der Ausdruck logisch "false" ergibt Hinweis: Dieser Ausdruck schützt vor "unmöglich" oder ungültigen Bedingungen. Im folgenden Beispiel ist eine negative Fibonacci-Zahl ungültig. Die assert-Anweisung markiert diesen Fehler als Programmierer-Fehler.
  • Seite 196 13.5.6.7 continue beendet die aktuelle Iteration der kleinsten umschließenden "do"-, "for"- oder "while"-Anweisung und bewegt die Programmsteuerung an den Bedingungsteil der Schleife. Beispiel example(n) new a = 0 for(new i = 0; i < n ; i++ ) a += i if(i>10) continue a += 1...
  • Seite 197 Kapitel 13 Device Logic (Pawn) 13.5.6.10 for ( Ausdruck 1 ; Ausdruck 2 ; Ausdruck 3 ) Statement Alle drei Ausdrucke sind optional. Ausdruck 1: wird nur einmal ausgewertet, vor Eintritt in die Schleife. Dieser Ausdruck kann zum Initialisieren einer Variablen genutzt werden.
  • Seite 198 13.5.6.12 if ( Ausdruck ) Statement 1 else Statement 2 führt das Statement 1 aus, wenn das Ergebnis des Ausdrucks logisch "true" ergibt. Die "else"-Klausel des "if"- Statements ist optional. Wenn das Ergebnis des Ausdruck logisch "false" ergibt und eine "else"-Klausel existiert, dann wird das Statement, das mit der "else"-Klausel assoziiert ist, (Statement 2) ausgeführt.
  • Seite 199: Funktionen

    Kapitel 13 Device Logic (Pawn) Beispiel: example(n) new a = 0 switch (n) case 0..3: a = 0 case 4,6,8,10: a = 1 case 5,7: a = 2 case 9: a = 3 default: a = -1 return a 13.5.6.15 while ( Ausdruck ) Statement wertet den Ausdruck aus und führt das Statement aus, wenn das Ergebnis des Ausdrucks logisch "true"...
  • Seite 200 Die "return"-Anweisung setzt den Rückgabewert der Funktion. Zum Beispiel, hat die Funktion "sum" (siehe unten) als Rückgabewert die Summe der beiden Parameter. Der "return"-Ausdruck ist optional. sum(a, b) return a + b Argumente einer Funktion sind (implizit deklarierte) lokale Variablen für diese Funktion. Der Funktionsaufruf bestimmt die Werte der Argumente.
  • Seite 201 Kapitel 13 Device Logic (Pawn) main() new v = 5 new f = faculty(v) faculty(n) assert n >= 0 new result = 1 while (n > 0) result *= n-- return result Egal welchen (positiven) Wert die Variable "n" am Beginn der "while"-Schleife hatte, am Ende der Funktion wird "n"...
  • Seite 202: Standardwerte Von Funktionsargumenten

    Das folgende Codebeispiel ruft die Funktion "addvector" auf und addiert zu jedem Element der Variablen "vect" den Wert 5: new vect[3] = [ 1, 2, 3 ] addvector(vect, [5, 5, 5], 3) /* vect[] beinhaltet nun die Werte 6, 7 und 8 */ 13.5.7.2 Benannte Parameter versus positionsgebundene Parameter In den vorangegangenen Beispielen war die Reihenfolge der Parameter bei einem Funktionsaufruf wichtig, da jeder Parameter zu dem Funktionsparameter mit derselben Position kopiert wurde.
  • Seite 203 Kapitel 13 Device Logic (Pawn) Wenn bei einem Funktionsaufruf ein Platzhalter anstelle eines gültigen Funktionsparameters angegeben wird, wird der Standardwert übernommen. Der Platzhalter ist das Unterstrichzeichen ("_"). Der Argumentplatzhalter ist nur für Parameter mit einem Standardwert gültig. Die rechten Argumentplatzhalter können von der Argumentenliste entfernt werden. Zum Beispiel, wenn die Funktion "increment"...
  • Seite 204 Die Syntax für Gleitkommawerte ist strenger als die in C. Werte wie ".5" und "6." sind in C akzeptabel, aber im Pawn muss man "0.5" und "6.0" schreiben. In C ist der Dezimalpunkt optional, wenn ein Exponent enthalten ist, so kann man in C "2E8" schreiben; Pawn akzeptiert den Großbuchstaben "E" nicht.
  • Seite 205 Kapitel 13 Device Logic (Pawn) In den meisten Fällen sind Vorwärts-Deklarationen von Funktionen (d.h. Prototypen) nicht notwendig. Pawn ist ein 2-Pass-Compiler. Er erkennt alle Funktionen beim ersten Durchlauf und verwendet diese beim zweiten Durchlauf. Benutzerdefinierte Operatoren müssen jedoch vor der Benutzung deklariert werden.
  • Seite 207 Kapitel 14 Data Descriptor Das Grundprinzip des myDatalogEASY IoTmini ist eine sogenannte Storage-2-Storage-Datenübertragung. Für diese Art der Datenübermittlung müssen weder das myDatalogEASY IoTmini noch der Server über den logischen Inhalt der Datenblöcke Bescheid wissen. Es geht also nur darum, einen Block Daten von A nach B zu transportieren.
  • Seite 208: Aufteilung Eines Strukturierten Messdatenkanals In Einzelne Datenfelder

    14.1.1 Aufteilung eines strukturierten Messdatenkanals in einzelne Datenfelder #histdata0 Measurements up BatVoltage      s16  title="Battery Voltage"  decpl=2  units="V"    vscale=0.001 InputVoltage    s16  title="USB Voltage"      decpl=2  units="V"    vscale=0.001 Mit der ersten Zeile im obigen Beispiel wird der für die Messdaten zu verwendende Container spezifiziert: #histdata0: Die Messdaten sollen im histdata-Kanal 0 gespeichert werden. Measurements: "Measurements" soll als Name für den histdata-Kanal verwendet werden. Die Daten werden nur vom Gerät zum Server übertragen.
  • Seite 209: Aufteilung Eines Konfigurationsspeicherblocks In Einzelne Datenfelder

    14.1.2 Aufteilung eines Konfigurationsspeicherblocks in einzelne Datenfelder #config0 BasicCfg down title="Basic configuration" RecordItv        u32  title="Record Interval"        units="sec"  min=10  default=10 TransmissionItv  u32  title="Transmission Interval" units="min"  min=10  default=60 Mit der ersten Zeile im obigen Beispiel wird der für die Konfiguration zu verwendende Container spezifiziert: #config0: Die Parameter sollen im Konfigurationsspeicherblock 0 gespeichert werden. BasicCfg: "BasicCfg" soll als Name für den Konfigurationsspeicherblock verwendet werden. down: Der Konfigurationsspeicherblock wird nur vom Server zum Gerät übertragen.
  • Seite 210: Aufteilung Der Aloha-Daten In Einzelne Datenfelder

    14.1.3 Aufteilung der Aloha-Daten in einzelne Datenfelder #aloha up BatVoltage      s16  title="Battery Voltage"  decpl=2  units="V"    vscale=0.001 InputVoltage    s16  title="USB Voltage"      decpl=2  units="V"    vscale=0.001 Mit der ersten Zeile im obigen Beispiel wird der für die Aloha-Daten zu verwendende Container spezifiziert: #aloha: Die Messwerte sollen im Aloha-Daten-Container gespeichert werden. Die Daten werden nur vom Gerät zum Server übertragen. Hinweis: Nach Angabe der Übertragungsrichtung könnten noch weitere Attribute (z.B.
  • Seite 211 bitmask Hexadezimal, ohne führendes "0x". Bitmaske, um die tatsächlich zu verwendenden Bits aus dem Datenblock heraus zu maskieren, hexadezimal. Nach der Maskierung wird der extrahierte Wert auf das LSB ausgerichtet (LSB-aligned). Beispiel: Ein u16-Feld wird aus zwei Bytes mit dem Inhalt 0xF3A7 erzeugt. Als Bitmaske wird 0FF0 angegeben.
  • Seite 212 chmode Der Kanalmodus. Die hier gewählte Einstellung nimmt Einfluss auf die weitere Verarbeitung und Darstellung des Kanals in den einzelnen Servermodulen. Es sind folgende Kanalmodi verfügbar: Modus Name Erklärung Digital Der Kanal wird als Digitalkanal verarbeitet. Um Probleme zu vermeiden, sollte der enthaltene Wert 0 oder 1 sein.
  • Seite 213 14.2 Beispiel #histdata0 Measurements up Delay title="Delay"            units="sec" min=10  max=2000 vofs=10      chmode=3  index=1 Height f32  title="Height"  decpl=2  units="cm"  min=0   max=2000 vscale=0.01  chmode=6  index=0 Pump  view=99  edit=99 @Pump Pump_MSK dlorw=skip  title="Pump" bitmask=$01 min=0 max=1              chmode=1 Info      astr.50         title="Info"                                                   index=10 Mit der ersten Zeile wird der für die Messdaten zu verwendende Container spezifiziert: #histdata0: Die Messdaten sollen im histdata-Kanal 0 gespeichert werden. Measurements: "Measurements"...
  • Seite 214 max: Maximalwert für die weitere Darstellung am Server (z.B. Grafik) vscale: virtuelle Skalierung des Werts (siehe "Attribute der Feld-Definition" auf Seite 210). Beim aktuellen Beispiel wird der extrahierte Wert mit 0.01 multipliziert. chmode: Kanalmodus 6 =^ Analogkanal (ein "einfacher" Messwert, z.B. Temperatur) index: wird für die benutzerdefinierte Sortierung der Felder in den Auswahllisten verwendet Die Zeilen 4-6 beschreiben den dritten Messwert "Pump"...
  • Seite 215: Spezialwerte Der Datentypen

    Die 7te Zeile beschreibt den vierten Messwert "Info" im verwendeten Messdaten-Container: Info: "Info" soll als Name für den Messwert verwendet werden. astr.50: Als Datentyp für den Messwert soll ein ANSI-String verwendet werden. Nach dem Punkt wird die Anzahl der Zeichen (50 im aktuellen Beispiel) angegeben. title: Bezeichnung des Messwerts, die am Server angezeigt wird index:...
  • Seite 217 Kapitel 15 API Kapitel 15 API Wichtiger Hinweis: Für die Verwendung der API (Application Programming Interface) sind die entsprechenden Lizenzen am myDatanet-Server erforderlich. Für nähere Informationen wenden Sie sich an Ihren zuständigen Vertriebspartner. 15.1 Allgemein Die API dient dazu, Daten aus dem myDatanet-Server zu exportieren sowie Daten in den myDatanet-Server zu importieren.
  • Seite 218: Übersicht

    15.2.1 Übersicht rapidM2M Playground 1 Eingabefeld für den Benutzernamen 2 Eingabefeld für das Passwort 3 Auflistung der zur Verfügung stehenden HTTP-Kommandos. Die HTTP-Kommandos sind entsprechend ihrer Anwendungsgebiete gruppiert. 4 Abhängig vom gewählten HTTP-Kommando werden hier die Dropdown-Listen für die Auswahl des Kunden, des Benutzers und der Messstelle eingeblendet, die die entsprechende Wildcard ("$CID"...Kunde , "$UID"...Benutzer, "$SID"...Messstelle ) im Ressource-Pfad des HTTP-Kommandos ersetzen sollen.
  • Seite 219: Kapitel 16 Wartung

    Kapitel 16 Wartung Kapitel 16 Wartung Wichtiger Hinweis: Um Schäden am Instrument zu vermeiden, dürfen die in diesem Abschnitt der Anleitung beschriebenen Arbeiten nur von qualifiziertem Personal ausgeführt werden. Vor Wartungs-, Reinigungs- und/oder Reparaturarbeiten ist das Gerät unbedingt spannungsfrei zu machen.
  • Seite 220 1. Stellen Sie sicher, dass alle relevanten Daten zum myDatanet-Sever übertragen wurden. Lösen Sie gegebenenfalls eine Übertragung aus. Führen Sie dazu bitte die in der Device Logic vorgesehenen Operationen aus und kontrollieren Sie anschließend erneut, ob nun alle relevanten Daten übertragen wurden.
  • Seite 221: Laden Der Power Supply Unit

    Kapitel 16 Wartung 6. Schließen Sie den Gehäusedeckel. Ziehen Sie am besten die 4 Schrauben über Kreuz an (Drehmoment: 0,5Nm; Bei der ersten Verschraubung 0,7Nm, da die Gewinde erst ins Basisteil geformt werden müssen.), damit der Gehäusedeckel gleichmäßig aufliegt. Wichtiger Hinweis: Vor Schließen des Gehäusedeckels überzeugen Sie sich von der Unversehrtheit und Sauberkeit der Dichtung.
  • Seite 222 Ladegerät mit Power Supply Unit 1 Steckernetzteil (im Lieferumfang von 300697 4 PSU Ladegerät (300697) enthalten) 2 Taste (reserviert für Erweiterung) 5 Status-LED des PSU Ladegerät Mögliche Zustände der Status-LED: 3 Power Supply Unit z.B. PSU413D+ AP (300524) aus: keine PSU eingesetzt grün blinkend: PSU wird geladen grün: Ladevorgang abgeschlossen rot blinkend 1x alle 5sec.: PSU enthält keinen...
  • Seite 223: Power Supply Units Mit Integriertem Energiespeicher

    Kapitel 16 Wartung Sollte die Status-LED alle 5sec. 2x rot blinken, ist die Power Supply Unit defekt. Mögliche Ursachen hierfür können Kabelbruch, Kurzschluss oder defekte Zellen sein. In diesem Fall muss die verwendet Power Supply Unit durch eine neue ersetzt werden. Hinweis: Akkus sind Verschleißteile und verlieren im Laufe der Zeit an Kapazität.
  • Seite 225: Kapitel 17 Demontage/Entsorgung

    Logo zur WEEE-Direktive der EU Dieses Symbol weist darauf hin, dass bei der Verschrottung des Gerätes die Anforderungen der Richtlinie 2012/19/EU über Elektro- und Elektronik-Altgeräte zu beachten sind. Die Microtronics Engineering GmbH unterstützt und fördert das Recycling bzw. die umweltgerechte, getrennte Sammlung/Entsorgung von Elektro- und Elektronik-Altgeräten zum Schutz der Umwelt und der...
  • Seite 227: Kapitel 18 Fehlersuche Und Behebung

    Kapitel 18 Fehlersuche und Behebung Kapitel 18 Fehlersuche und Behebung 18.1 Allgemeine Probleme Problem Ursache/Lösung Gerät zeigt keine Kabelverbindungen überprüfen (siehe "Anschluss der Sensoren, der Reaktion. Aktoren und der Versorgung" auf Seite 52) Die Kapazität des Energiespeichers in der Power Supply Unit ist erschöpft.
  • Seite 228 Problem Ursache/Lösung Die Daten der RS485- Das kostenpflichtigen Feature "Aktivierungscode RS485 (300540)" Schnittstelle sind nicht wurde nicht freigeschaltet. Kabelverbindungen überprüfen (siehe "Anschluss der Sensoren, der plausibel. Aktoren und der Versorgung" auf Seite 52) Prüfen Sie, ob der von Ihnen verwendete Sensor kompatibel mit den elektrischen Kenndaten der Schnittstelle ist (siehe "Technische Details zur RS485-Schnittstelle"...
  • Seite 229: Log-Einträge Und Fehlercodes

    Kapitel 18 Fehlersuche und Behebung 18.2 Log-Einträge und Fehlercodes Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1000 POWER ON Neustart nach einem Spannungsausfall Watchdog Reset (z.B. aufgrund einer Exception) Reset wurde vom Gerät selbst ausgelöst (z.B. bei Firmwareupdate) Neustart aus einem anderen Grund. Sollte der "POWER ON"...
  • Seite 230 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1161 LOG Fehler im Filesystem wurden behoben. Es kann REFORMATFILE dabei zum Datenverlust (Daten und/oder Log- Einträge) kommen. Der Parameter enthält nähere Informationen zu dem Problem. Sollte dieser Fehler mehrmals mit demselben Parameter-Code im Gerätelog enthalten sein, kontaktieren Sie den Hersteller (siehe "Kontaktinformationen"...
  • Seite 231: Auswerten Des Gerätelogs Am Mydatanet-Server

    Kapitel 18 Fehlersuche und Behebung 18.3 Auswerten des Gerätelogs 18.3.1 Auswerten des Gerätelogs am myDatanet-Server Am myDatanet-Server sind die letzten 300 Log-Einträge über den unten abgebildeten Button, der sich in der Messgeräteliste befindet, abrufbar. Da die Log-Einträge genau wie die Messdaten im Übertragungsintervall zum Server gesendet werden, sind immer nur die Log-Einträge bis zur letzten Serververbindung verfügbar.
  • Seite 233: Kapitel 19 Ersatzteile Und Zubehör

    Kapitel 19 Ersatzteile und Zubehör Kapitel 19 Ersatzteile und Zubehör 19.1 Kostenpflichtige Features Beschreibung Menge Bestellnummer Bestelloption (Feature wird durch den Hersteller vor der Auslieferung freigeschaltet) Featureaktivierung RS485 300730 Featureaktivierung RS232 300731 Featureaktivierung Temperatureingang 300732 Featureaktivierung LPWAN 300971 Featureaktivierung BLE 300972 Aktivierungscode (für nachträgliche Freischaltung durch den Kunden) Aktivierungscode RS485...
  • Seite 234: Power Supply Units

    19.4 Power Supply Units Beschreibung Menge Bestellnummer Batteriepacks PSU713 BP (Li-SOCl2; 13Ah; -20...+50°C Betriebstemperatur) 300526 Akkupacks PSU413D+ AP (Li-Ion ; 13,6Ah; -20...+60°C Betriebs-, -20...+60°C 300524 Ladetemperatur) PSU413D AP (Li-Ion ; 13,2Ah; -20...+60°C Betriebs-, 0...+40°C 300525 Ladetemperatur) direkte Versorgung PSU DC (-20...+60°C Betriebstemperatur) 300529 PSU AC : 230VAC Netzteil mit Backup-Akku (Li-Po ;...
  • Seite 235 Kapitel 20 Dokumentenhistorie Kapitel 20 Dokumentenhistorie Rev. Datum Änderungen 28.08.2020 Erste Version 01.06.2020 Hardwareversion 1.1 Das für Erweiterungen vorgesehene Bluetooth Low Energy Modul wurde entfernt. Kapitel "Konformitätserklärung" auf Seite 13 Konformitätserklärung aktualisiert Kapitel "Technische Daten" auf Seite 15 Angabe des systembedingten Overheads pro Datensatz von 10Bytes auf 11Byte angepasst Angabe der max.
  • Seite 236 Rev. Datum Änderungen 01.06.2020 Kapitel "Projekt Dashboard " auf Seite 99 Kapitel hinzugefügt Kapitel "CODEbed" auf Seite 100 Kapitel hinzugefügt Kapitel "TESTbed" auf Seite 101 Kapitel hinzugefügt Kapitel "Ausgänge" auf Seite 169 Konstanten "VSENS_15V" und "VSENS_24V" entfernt, da über den Parameter "mode"...
  • Seite 237: Kapitel 21 Glossar

    Kapitel 21 Glossar Kapitel 21 Glossar App Center Bereich des myDatanet-Servers für die Installation und Verwaltung der IoT Apps. Die als Basis für die IoT Apps dienenden App Models werden über den rapidM2M Store bezogen. Bei der Installation einer IoT App am myDatanet-Server werden zunächst die bei der Entwicklung des App Models festgelegten Standardsettings übernommen.
  • Seite 238 rapidM2M Store Übernimmt die Verteilung der App Models an die einzelnen myDatanet-Server. Bei der Installation und beim Update von IoT Apps greifen die myDatanet-Server auf die im rapidM2M Store bereitgestellten App Models zu. Welche myDatanet-Server auf ein App Model zugreifen dürfen, wird vom Entwickler des jeweiligen App Models über das rapidM2M Studio festgelegt.
  • Seite 239: Kapitel 22 Kontaktinformationen

    Kapitel 22 Kontaktinformationen Kapitel 22 Kontaktinformationen Support & Service: Microtronics Engineering GmbH Hauptstrasse 7 3244 Ruprechtshofen Austria, Europe Tel. +43 (0)2756 7718023 support@microtronics.com www.microtronics.com Microtronics Engineering GmbH (Headquarters) Hauptstrasse 7 3244 Ruprechtshofen Austria, Europe Tel. +43 (0)2756 77180 Fax. +43 (0)2756 7718033 office@microtronics.com...
  • Seite 240 Zertifiziert durch TÜV AUSTRIA: EN ISO 9001:2015, EN ISO 14001:2015, EN ISO 50001:2011 für myDatanet | TÜV SÜD: ATEX Richtlinie 2014/34/EU © Microtronics Engineering GmbH. All rights reserved. Photos: Microtronics Microtronics Engineering GmbH | www.microtronics.com Hauptstrasse 7 | 3244 Ruprechtshofen | Austria | +43 2756 77180 | office@microtronics.com 301086 | Rev.02...

Inhaltsverzeichnis