Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

Benutzerhandbuch
myDatalogEASY IoT
Deckblatt
Gültig ab:
Firmware Version: 01v015
l
Server Version: 47.10
l
Hardware Version: 1.0
l
301027 | Rev.01

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Microtronics myDatalogEASY IoT

  • Seite 1 Benutzerhandbuch myDatalogEASY IoT Deckblatt Gültig ab: Firmware Version: 01v015 Server Version: 47.10 Hardware Version: 1.0 301027 | Rev.01...
  • Seite 3 Kapitel 1 Inhaltsverzeichnis Kapitel 1 Inhaltsverzeichnis Deckblatt Kapitel 1 Inhaltsverzeichnis Kapitel 2 Konformitätserklärung 2.1 myDatalogEASY IoT 2G/4G EU 2.2 myDatalogEASY IoT 3G Welt 2.3 myDatalogEASY IoT 2G/M1/NB1 Welt Kapitel 3 Technische Daten Kapitel 4 Allgemeine Angaben 4.1 Übersetzung 4.2 Copyright 4.3 Gebrauchsnamen...
  • Seite 4 5.1.2 Festlegen der Übertragungswege 5.1.2.1 Device Management und Daten über 2G/3G/4G/M1 zum myDatanet-Server 5.1.2.2 Device Management und Daten über BLE zum myDatanet-Server 5.1.2.3 Device Management über 2G/3G/4G/M1 und Daten über NB-IoT/LPWAN zum myDatanet-Server 5.1.2.4 Device Management über BLE und Daten über NB-IoT/LPWAN zum myDatanet-Server 5.1.2.5 Device Management über 2G/3G/4G/M1 zum myDatanet-Server, Daten über NB- IoT/LPWAN zum ext.
  • Seite 5 Kapitel 1 Inhaltsverzeichnis 7.1 Abmessungen 7.2 Zusammenbau des myDatalogEASY IoT 7.3 Einsetzen/Wechseln der SIM-Karte 7.4 Montage des myDatalogEASY IoT 7.4.1 Wandmontage 7.5 Sicherheitshinweise zur Verkabelung 7.5.1 Hinweise zur Vermeidung elektrostatischer Entladungen (ESD) 7.6 Elektrische Installation 7.6.1 Anschluss der Sensoren, der Aktoren und der Versorgung 7.6.1.1 Anschlussbeispiele 7.6.2 Anschluss der GSM-Antennen 7.6.3 Technische Details zu den Universaleingängen...
  • Seite 6 7.6.12 Technische Details zur Systemzeit Kapitel 8 Inbetriebnahme 8.1 Hinweise an den Benutzer 8.2 Mitgeltende Unterlagen 8.3 Allgemeine Grundsätze 8.4 Inbetriebnahme des Systems 8.5 Kommunikation mit dem Gerät testen Kapitel 9 Benutzerschnittstellen 9.1 Benutzerschnittstelle am myDatalogEASY IoT 9.1.1 Bedienelemente 9.1.1.1 Magnetschalter 9.1.1.2 2-farbige LED 9.1.1.3 Deckel-Reedkontakt 9.2 Benutzerschnittstelle am myDatanet-Server...
  • Seite 7 Kapitel 1 Inhaltsverzeichnis 9.7 Menü des DeviceConfig 9.7.1 Settings 9.7.1.1 Options 9.8 Verbindung zu einem Gerät mit USB Schnittstelle herstellen 9.9 Karteireiter "Log" 9.10 Karteireiter "Firmware" 9.11 Karteireiter "Sync" 9.11.1 Bestehende Verbindung zum myDatalogEASY IoT 9.11.2 Keine Verbindung zu einem Gerät Kapitel 10 Smartphone App "tbd"...
  • Seite 8 13.2.2 Timer, Datum & Zeit 13.2.2.1 Arrays mit symbolischen Indizes 13.2.2.2 Konstanten 13.2.2.3 Funktionen 13.2.3 Uplink 13.2.3.1 Arrays mit symbolischen Indizes 13.2.3.2 Konstanten 13.2.3.3 Callback Funktionen 13.2.3.4 Funktionen 13.2.4 System 13.2.4.1 Arrays mit symbolischen Indizes 13.2.4.2 Konstanten 13.2.4.3 Funktionen 13.2.5 Encoding 13.2.5.1 Konstanten 13.2.5.2 Funktionen 13.2.6 RS232, RS485...
  • Seite 9 Kapitel 1 Inhaltsverzeichnis 13.2.12 Verschiedene Funktionen 13.2.12.1 Arrays mit symbolischen Indizes 13.2.12.2 Konstanten 13.2.12.3 Funktionen 13.2.13 Console 13.2.14 SMS 13.2.14.1 Callback Funktionen 13.2.14.2 Funktionen 13.2.15 Externe SIM 13.2.15.1 Arrays mit symbolischen Indizes 13.2.15.2 Funktionen 13.2.16 File Transfer 13.2.16.1 Arrays mit symbolischen Indizes 13.2.16.2 Konstanten 13.2.16.3 Callback Funktionen 13.2.16.4 Funktionen...
  • Seite 10 13.2.21.4 Funktionen 13.3 Device Logic Fehlercodes 13.4 Syntax 13.4.1 Allgemeine Syntax 13.4.1.1 Format 13.4.1.2 Optionale Semikolons 13.4.1.3 Kommentare 13.4.1.4 Bezeichner 13.4.1.5 Reservierte Schlüsselworte 13.4.1.6 Numerische Konstanten 13.4.1.6.1 Numerische Integer-Konstanten 13.4.1.6.2 Numerische Gleitkomma-Konstanten 13.4.2 Variablen 13.4.2.1 Deklaration 13.4.2.2 Lokale Deklaration 13.4.2.3 Globale Deklaration 13.4.2.4 Statische lokale Deklaration 13.4.2.5 Statische globale Deklaration 13.4.2.6 Gleitkommawerte...
  • Seite 11 Kapitel 1 Inhaltsverzeichnis 13.4.5.7 Boolean 13.4.5.8 Sonstiges 13.4.5.9 Priorität der Operatoren 13.4.6 Anweisungen 13.4.6.1 Statement-Etikett 13.4.6.2 Zusammengesetzte Anweisungen 13.4.6.3 Ausdrucksanweisung 13.4.6.4 Leeres Statement 13.4.6.5 assert Ausdruck 13.4.6.6 break 13.4.6.7 continue 13.4.6.8 do Statement while ( Ausdruck ) 13.4.6.9 exit Ausdruck 13.4.6.10 for ( Ausdruck 1 ;...
  • Seite 12 15.1 Allgemein 15.2 rapidM2M Playground 15.2.1 Übersicht Kapitel 16 Wartung 16.1 Allgemeine Wartung 16.2 Tausch der Power Supply Unit 16.2.1 Laden der Power Supply Unit 16.3 Power Supply Units mit integriertem Energiespeicher Kapitel 17 Demontage/Entsorgung Kapitel 18 Fehlersuche und Behebung 18.1 Allgemeine Probleme 18.2 Log-Einträge und Fehlercodes 18.2.1 Modemfehler...
  • Seite 13: Kapitel 2 Konformitätserklärung

    Kapitel 2 Konformitätserklärung Kapitel 2 Konformitätserklärung 2.1 myDatalogEASY IoT 2G/4G EU Rev. 01...
  • Seite 14 2.2 myDatalogEASY IoT 3G Welt Rev. 01...
  • Seite 15 Kapitel 2 Konformitätserklärung 2.3 myDatalogEASY IoT 2G/M1/NB1 Welt Rev. 01...
  • Seite 17: 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 Zusätzliche Informationen finden Sie unter "Technische Details zur Energieversorgung"...
  • Seite 18 Universaleingänge 4 x analog oder digital Modi: 0/4...20mA: Auflösung 6,3µA, max. 23,96mA, Bürde 96Ω 0...2V: Auflösung 610µV, max. 2,5V, Bürde 10k086 0...10V: Auflösung 7,97mV, max. 32V, Bürde 4k7 PWM: 1...99%, max. 100Hz, Impulslänge min. 1ms, Bürde 10k086 Frequenz: 1...1000Hz, 10k086 Digital: max.
  • Seite 19 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 20 Bluetooth Low Energy: Reichweite: 20m (abhängig von den Umgebungsbedingungen) LPWAN: Unterstütze Frequenzen:868MHz, 915MHz 2G/4G Europa (myDatalogEASY IoT 2G/4G EU ) 2G GPRS 900MHz / 1800MHz LTE CAT1 B3, B7, B20 2G/3G Welt (myDatalogEASY IoT 3G Welt ) 2G GPRS 900MHz / 1800MHz...
  • Seite 21 Kapitel 3 Technische Daten Um das Bluetooth Modul verwenden zu können, ist die Freischaltung des kostenpflichtigen Features "Aktivierungscode BLE (300968)" oder die Bestelloption "Featureaktivierung BLE (300972)" erforderlich. Um das LPWAN Modul verwenden zu können, ist die Bestelloption "Featureaktivierung LPWAN (300971)" erforderlich. Um das Mobilfunkmodem für TCP IP Verbindungen (2G/3G/4G/M1 je nach gewählter Variante des myDatalogEASY IoT ) verwenden zu können, ist die Freischaltung des kostenpflichtigen Features "Aktivierungscode Cellular TCP IP (300969)"...
  • Seite 23: 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 24: 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 25: Sicherheits-/Vorsichtsmaßnahmen Im Umgang Mit Gsm/Gprs-Modems

    Kapitel 4 Allgemeine Angaben 4.4.3 Sicherheits-/Vorsichtsmaßnahmen im Umgang mit GSM/GPRS-Modems Die folgenden Sicherheits-/Vorsichtsmaßnahmen sind bei allen Phasen des Einbaus, des Betriebs, der Wartung oder der Reparatur eines GSM/GPRS-Modems zu beachten. Der Hersteller haftet nicht, wenn der Kunde diese Vorsichtsmaßnahmen außer Acht lässt. VORSICHT: Die GSM/GPRS-Modemverbindung darf nicht in gefährlichen Umgebungen verwendet werden.
  • Seite 26: Übersicht

    4.5 Übersicht Hinweis: Da der myDatalogEASY IoT in mehrere Baugruppen zerlegt geliefert wird, ist vor der Verwendung noch ein Zusammenbau erforderlich (siehe "Zusammenbau des myDatalogEASY IoT " auf Seite 61). Vorderseite des myDatalogEASY IoT Rückseite des myDatalogEASY IoT (Ansicht eines Geräts nach dem Zusammenbau) (Ansicht eines Geräts nach dem Zusammenbau) 1 Antennenanschlüsse (bis zu 3 x FME-M ) 3 Kabelverschraubung (5 -10mm...
  • Seite 27: Blockschaltbild

    Kapitel 4 Allgemeine Angaben 4.5.1 Blockschaltbild Blockschaltbild des myDatalogEASY IoT 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. 01...
  • Seite 28: Bestimmungsgemäße Verwendung

    Versorgungsbereich eines dieser Anbieter befindet. Eine Liste aller unterstützten Länder und dazugehörige Serviceprovider finden Sie unter www.microtronics.com/footprint. Für die Nutzung der mobilen Datenübertragung ist ein "Managed Service"-Vertrag mit der Firma Microtronics Engineering GmbH erforderlich (siehe www.microtronics.com/managedservice).
  • Seite 29 Kapitel 4 Allgemeine Angaben beträgt 3,3V und ist nicht veränderbar. Der potentialfreie Schaltkontakt kann in verschiedenen Modi (Digital, Frequenz, PWM, Impuls, Impuls/min.) betrieben werden. Der Kunde kann mittels rapidM2M Studio (siehe "rapidM2M Studio " auf Seite 117) seine eigene Applikation erstellen.
  • Seite 30: Gerätekennzeichnung

    Typenschild myDatalogEASY IoT (ohne Bestelloption "Featureaktivierung LPWAN ) "Featureaktivierung LPWAN ") Hinweis: Dieses Symbol gibt das Länderlisten-Profil (siehe www.microtronics.com/footprint) des im Gerät verbauten SIM-Chips an. 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.
  • Seite 31: Einbau Von Ersatz- Und Verschleißteilen

    Kapitel 4 Allgemeine Angaben 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. Der Einbau und/oder die Verwendung solcher Produkte können u. U. konstruktiv vorgegebene Eigenschaften des Geräts negativ verändern.
  • Seite 32: 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 33: Anforderungen An Das Personal

    Kapitel 4 Allgemeine Angaben 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 35 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 LPWAN oder NB-IoT Verbindung erhält 2 PC mit installiertem Konfigurationsprogramm DeviceConfig 3 Client, der mittels Web-Browser auf die Oberfläche des myDatanet-Servers zugreift...
  • Seite 36 9 durch den Kunden definierter Data Descriptor , der die Nutzung der durch die Applikation (Device Logic) erzeugten Messdaten und Konfigurationen in Verbindung mit der Oberfläche des myDatanet-Servers ermöglicht (siehe "Data Descriptor " auf Seite 253) 10 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"...
  • Seite 37 Kapitel 5 Funktionsprinzip Smartphone App "tbd"(opitonal) In Kombination mit einem Bluetooth Low Energy kompatiblen Smartphone bietet die Smartphone App "tbd" die Möglichkeit, die Daten per Bluetooth-Verbindung (Bluetooth Low Energy) aus dem myDatalogEASY IoT zu lesen und an einen zentralen myDatanet-Server weiterzuleiten. Managed Service Das Managed Service ist die Basis für den Betrieb Ihrer Geräte und bietet Ihnen eine breite Palette an Services.
  • Seite 38: Empfohlene Vorgehensweise

    5.1 Empfohlene Vorgehensweise 5.1.1 Entwicklung einer M2M / IoT Anwendung Es wird empfohlen bei der Entwicklung einer M2M / IoT Anwendung mit der Definition des Data Descriptor (siehe "Data Descriptor " auf Seite 253) zu beginnen. Durch ihn werden die verschiedenen Datenstrukturen (Messdaten, Konfigurationen usw.
  • Seite 39: Device Management Und Daten Über Ble Zum Mydatanet-Server

    Kapitel 5 Funktionsprinzip des Aufenthaltsorts der Geräte. Die Übermittlung der Informationen (Device Management und Messdaten) erfolgt automatisiert und die Aktualität der Informationen ist bei Nutzung der Verbindungsart "Intervall" (siehe "rM2M_TxSetMode()") vom gewähltem Übertragungsintervall abhängig. Bei Verwendung der Verbindungsart „Intervall & Wakeup“ kann die Übertragung auch über den myDatanet–Server angefordert werden.
  • Seite 40 Auslesevorgängen zu erfassenden Messdaten den im myDatalogEASY IoT verfügbaren Speicher nicht überschreiten. Informationen zur Größe des vorhanden Speichers und der Berechnung der Anzahl der Messdatensätze, die gespeichert werden können, finden Sie im Kapitel "Funktionsweise des internen Datenspeichers " auf Seite 46. Alternativ kann für das Auslesen der Informationen (Device Management und Messdaten) per Bluetooth Low Energy Verbindung das vom Hersteller bereitgestellte Konfigurationsprogramm DeviceConfig (siehe "DeviceConfig "...
  • Seite 41 Kapitel 5 Funktionsprinzip 5.1.2.3 Device Management über 2G/3G/4G/M1 und Daten über NB-IoT/LPWAN zum myDatanet- Server Die Device Management Informationen werden mittels breitbandiger Mobilfunkverbindung (2G/3G/4G/M1) zum myDatanet-Server übermittelt. Für den Transfer der Messdaten an den myDatanet-Server wird ein schmalbandiger (NB-IoT und LPWAN) Übertragungskanal verwendet. Die Übermittlung der Informationen (Device Management und Messdaten) erfolgt automatisiert.
  • Seite 42 5.1.2.4 Device Management über BLE und Daten über NB-IoT/LPWAN zum myDatanet-Server Die Device Management Informationen müssen mittels eines Bluetooth Low Energy kompatiblen Smartphones vom myDatalogEASY IoT gelesen und unter Nutzung der Internetverbindung des Smartphones an den myDatanet-Server weitergeleitet werden. Alternativ kann für das Auslesen der Device Management Informationen per Bluetooth Low Energy Verbindung das vom Hersteller bereitgestellte Konfigurationsprogramm DeviceConfig (siehe "DeviceConfig "...
  • Seite 43 Kapitel 5 Funktionsprinzip Funktionsprinzip: Device Management über BLE und Daten über NB-IoT/LPWAN zum myDatanet-Server 1 myDatalogEASY IoT mit integriertem Managed Service SIM-Chip (Datenübertragung inkludiert) 2 Smartphone mit installierter Smartphone App "tbd" 3 myDatanet-Server, zu dem die Daten übertragen werden 4 Client, der mittels Web-Browser auf die Oberfläche des myDatanet-Servers zugreift Rev.
  • Seite 44 5.1.2.5 Device Management über 2G/3G/4G/M1 zum myDatanet-Server, Daten über NB-IoT/LPWAN zum ext. Server Dieses Szenario entspricht im Wesentlichen dem Szenario "Device Management über 2G/3G/4G/M1 und Daten über NB-IoT/LPWAN zum myDatanet-Server" auf Seite 41. Der Unterschied besteht lediglich darin, dass die Messdaten nicht zum myDatanet-Server sondern zu einem externen Server übermittelt werden. Funktionsprinzip: Device Management über 2G/3G/4G/M1 zum myDatanet-Server, Daten über NB-IoT/LPWAN zum ext.
  • Seite 45 Kapitel 5 Funktionsprinzip 5.1.2.6 Device Management über BLE zum myDatanet-Server, Daten über NB-IoT/LPWAN zum ext. Server Dieses Szenario entspricht im Wesentlichen dem Szenario "Device Management über BLE und Daten über NB-IoT/LPWAN zum myDatanet-Server" auf Seite 42. Der Unterschied besteht lediglich darin, dass die Messdaten nicht zum myDatanet-Server sondern zu einem externen Server übermittelt werden.
  • Seite 46: 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 IoT 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 47: 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 IoT...
  • Seite 48: Vorgehensweise Bei Verbindungsabbrüchen

    Für die Übertragung ins myDatalogEASY IoT 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 IoT sind das PAWN-Binary (256kB ), die 10 Konfigurationsblöcke (je 4000 Byte ), die 4 Registrierungsspeicherblöcke (je 1kB ) und die Messdaten (3MB ) abgelegt.
  • Seite 49: Verbindungsabbruch Im "Online"-Modus

    5.5 Automatische Auswahl des GSM-Netzes Da der myDatalogEASY IoT mit einem SIM-Chip ausgestattet ist, der eine Mobilfunkverbindung über eine Vielzahl internationaler Serviceprovider gewährleistet (siehe www.microtronics.com/footprint ), ist eine Auswahl des GSM-Netzes, in das sich das Gerät einbuchen soll, erforderlich. Diese erfolgt automatisch vom Gerät.
  • Seite 50: Ermittlung Der Gsm-Positionsdaten

    5.7 Ermittlung der GSM-Positionsdaten Alle 24h wird durch die Firmware ein internes Flag gesetzt welches bewirkt, dass beim nächsten Aufruf der Funktion "rM2M_TxStart()" auch eine Ermittlung der GSM-Positionsdaten erfolgt. Durch Setzen des Flags "RM2M_TX_SUPPRESS_ POSUPDATE" beim Aufruf der Funktion kann die Positionsbestimmung jedoch auch unterdrückt werden.
  • Seite 51 Kapitel 5 Funktionsprinzip 5.9 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 52 5.9.1 REG_SYS_FLASH Sollte die Messstelle, die mit dem Gerät verknüpft ist aus einer Applikations-Vorlage (siehe Benutzerhandbuch für myDatanet-Server 206.886) erstellt worden sein, enthält dieser Registrierungsspeicherblock folgende Felder: latestAppVersion Die aktuellste verfügbare Version der im Gerät installierten Applikations-Vorlage [16-Bit Unsigned] installedAppVersion Momentan im Gerät installierte Version der Applikations-Vorlage [16-Bit Unsigned] appId Applikations-ID der im Gerät installierten Applikation [max.
  • Seite 53: File Transfer

    Kapitel 5 Funktionsprinzip 5.10 File Transfer Es ist möglich bis zu 20 Dateien für den File Transfer zu registrieren (siehe "FT_Register()"). Dabei muss der Funktion "FT_Register()" eine Callback Funktion (siehe "Callback Funktionen" auf Seite 205) übergeben werden, die beim Empfang eines File Transfer Kommandos aufgerufen werden soll. Die Callback Funktion muss in der Lage sein, alle File Transfer Kommandos (siehe "File Transfer Kommandos"...
  • Seite 54: Verwendung Des Externen Sim-Slots

    Statediagramm der SIM-Zustände 5.12 Verwendung des externen SIM-Slots Wichtiger Hinweis: Die Verwendung des externen SIM-Slots setzt die Freischaltung des kostenpflichtigen Features "Aktivierungscode VPN SIM (300539)" voraus. Zur Aktivierung der Kommunikation über die externe SIM-Karte müssen die folgenden beiden Bedingungen erfüllt sein: die SIM-Karte muss in den externen SIM-Slot eingesetzt sein (siehe "Einsetzen/Wechseln der SIM- Karte"...
  • Seite 55 Kapitel 5 Funktionsprinzip In der folgenden Tabelle ist aufgeschlüsselt unter welchen Bedingungen die externe SIM-Karte bzw. der interne SIM-Chip verwendet wird. Die Prüfung der Parameter erfolgt jeweils bei Aktivierung des Modems. "---" kennzeichnet einen Zustand in dem das Herstellen einer Verbindung nicht möglich ist. externer SIM-Slot externe SIM-Karte korrekte APN-Settings...
  • Seite 56 Verbindung konnte beim ersten Retry aufgebaut werden. Verbindung konnte trotz 2 Retries nicht aufgebaut werden. EXTSIM Nach dem Aktivieren des Modems wurde vom System eine externe SIM-Karte erkannt. Hinweis: Damit die Verbindung über die externe SIM-Karte hergestellt werden kann müssen aber, wie bereits erwähnt, zudem gültige APN-Settings im myDatalogEASY IoT gespeichert und das kostenpflichtige Feature "Aktivierungscode VPN SIM (300539)"...
  • Seite 57: 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 58: Transport

    6.3 Lagerung Folgende Lagerbedingungen sind unbedingt einzuhalten: myDatalogEASY IoT 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 IoT .
  • Seite 59 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 60: Rücksendung

    Die unbedingt erforderliche "RMA Nr" erhalten Sie vom Support & Service-Center (siehe "Kontaktinformationen" auf Seite 291). Die Rücksendung des myDatalogEASY IoT muss in der Originalverpackung frachtfrei zu Microtronics Engineering GmbH (siehe "Kontaktinformationen" auf Seite 291) erfolgen. Nicht ausreichend frei gemachte Sendungen werden nicht angenommen! Rev.
  • Seite 61: 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 IoT Wichtiger Hinweis:...
  • Seite 62 Der myDatalogEASY IoT wird in mehrere Baugruppen zerlegt geliefert und muss somit vor der Verwendung noch zusammengesetzt werden. Baugruppen des myDatalogEASY IoT 1 Anschlussstecker (2x 2pol., 2x 3pol., 1x 6pol.) 4 myDatalogEASY IoT Basisteil 2 Power Supply Unit (nicht im Lieferumfang 5 4x Innensechskantschraube M6x30 enthalten) 3 3x Kabelverschraubung (5-10mm 6 Gehäusedeckel...
  • Seite 63 Kapitel 7 Installation 3. 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 IoT Basisteil zu erleichtern. Der Rasthaken ist nicht symmetrisch.
  • Seite 64 4. 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 IoT Basisteil. Verbinden Sie anschließend die Kabel wie im Kapitel "Anschluss der Sensoren, der Aktoren und der Versorgung" auf Seite 72 mit den Anschlusssteckern.
  • Seite 65 Kapitel 7 Installation 7. Kontrollieren Sie, ob die Dichtung der Kabelverschraubung an allen Stellen korrekt aufliegt und keine Fremdkörper zwischen Gehäuse, Dichtung und Arretierungsmutter eingeklemmt wurden. Wichtiger Hinweis: Schäden, die durch nicht korrekt anliegende Dichtungen hervorgerufen werden, entfallen aus der Haftung des Herstellers. 8.
  • Seite 66 11. Schließen Sie den Gehäusedeckel. Ziehen Sie am besten die 4 Schrauben über Kreuz (Drehmoment: max. 1Nm) an, 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. Fremdkörper und/oder Verschmutzungen sind zu entfernen.
  • Seite 67: Einsetzen/Wechseln Der Sim-Karte

    Kapitel 7 Installation 7.3 Einsetzen/Wechseln der SIM-Karte Hinweis: Um den SIM-Slot verwenden zu können, ist die Freischaltung des kostenpflichtigen Features "Aktivierungscode VPN SIM (300539)" erforderlich. Öffnen des myDatalogEASY IoT 1 Innensechskantschraube M6x30 3 Gehäusedeckel 2 Power Supply Unit 4 Lasche zur Entnahme der Power Supply Unit 1.
  • Seite 68 4. Setzen Sie die SIM-Karte wie in Abbildung B auf der Leiterplatte des myDatalogEASY IoT dargestellt ein. Abbildung auf der Leiterplatte des myDatalogEASY IoT Der folgende Schritt ist nur erforderlich, wenn Sie anschließend die Verbindung zum myDatanet-Server überprüfen wollen. 5. Schließen Sie die Antenne an (siehe "Anschluss der GSM-Antennen" auf Seite 76). Die Antenne ist nicht Bestandteil des Lieferumfangs und muss gesondert geordert werden.
  • Seite 69 Kapitel 7 Installation 7.4 Montage des myDatalogEASY IoT Wichtiger Hinweis: Achten Sie auf eine sachgemäße Montage! Befolgen Sie bestehende gesetzliche bzw. betriebliche Richtlinien! Unsachgemäße Handhabung kann zu Verletzungen und/oder Beschädigungen an den Instrumenten führen! Der myDatalogEASY IoT darf nicht mit geöffnetem Deckel im Feld betrieben werden. Der Druckausgleich muss vor Verschmutzung geschützt werden.
  • Seite 70: Wandmontage

    7.4.1 Wandmontage Die für die Wandmontage erforderlichen Montagelaschen sind im Lieferumfang des myDatalogEASY IoT enthalten. Wandmontage Schritt 1 Wandmontage Schritt 2 1 myDatalogEASY IoT 3 Innensechskantschraube M6x12 (im Lieferumfang des myDatalogEASY IoT enthalten) 2 Montagelasche (im Lieferumfang des 4 Schraube (max. Durchmesser: 4mm) myDatalogEASY IoT enthalten) 1.
  • Seite 71: Sicherheitshinweise Zur Verkabelung

    Kapitel 7 Installation 7.5 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 IoT 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 72: Elektrische Installation

    7.5.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 73 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 74 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 75 Kapitel 7 Installation 5. Versehen Sie alle nicht benötigten Kabelverschraubungen mit Blindstopfen. Wichtiger Hinweis: Alle nicht verwendeten Kabelverschraubungen des myDatalogEASY IoT 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.
  • Seite 76: Anschlussbeispiele

    Der folgende Schritt ist nur erforderlich, wenn Sie eine externe Versorgungs- bzw. Ladespannung verwenden. 11. 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. Ladespannung vor dem optionalen Schritt bei dem die Verbindung zum Server überprüft wird, eingeschaltet werden.
  • Seite 77: Technische Details Zu Den Universaleingängen

    Kapitel 7 Installation Antennenanschlüsse des myDatalogEASY IoT (z.B. myDatalogEASY IoT 2G/4G EU mit "Featureaktivierung LPWAN ") Die Standardantenne (Portable Antenne Multi Band FME-F , 206.826) wird direkt am Antennenstecker (siehe "Übersicht" auf Seite 26) des myDatalogEASY IoT angebracht. Im Falle einer niedrigen Funksignalstärke können Sie die Flachantenne Smart Disc Multi Band FME-F 2m (300629) verwenden.
  • Seite 78: Standard Digitalmodi (Pwm, Frequenz, Digital, Zähler)

    7.6.3.2 0...2V Modus Auflösung 610µV 2,5V Bürde 10k086 7.6.3.3 0...10V Modus Auflösung 7,97mV Bürde 7.6.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.6.4 Technische Details zur PT100/1000-Schnittstelle Die Schnittstelle für den externen Temperatursensor erkennt automatisch, ob ein PT100 oder PT1000 verwendet wird.
  • Seite 79: Technische Details Zur Rs485-Schnittstelle

    Kapitel 7 Installation 7.6.5 Technische Details zur RS485-Schnittstelle Hinweis: Die RS485-Schnittstelle entspricht der Norm EIA-485. Die RS485-Schnittstelle steht nur zur Verfügung, wenn die Universaleingänge 3 und 4 nicht genutzt werden. Die RS485-Schnittstelle des myDatalogEASY IoT verfügt über einen Eingangsgleichtaktbereich, der den gesamten für die RS485 spezifizierten Bereich (-7V...+12V) abdeckt.
  • Seite 80: Technische Details Zur Rs232-Schnittstelle

    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. In diesem Fall entsteht eine Gleichtaktspannung (V ). Der GND-Potentialunterschied darf max. +/- 7V betragen.
  • Seite 81: Technische Details Zur Usb-Schnittstelle

    Studio finden Sie im Kapitel "rapidM2M Studio " auf Seite 117. Erläuterungen der Funktionsweise des Konfigurationsprogramms DeviceConfig finden Sie im Handbuch zum DeviceConfig ("Benutzerhandbuch für DeviceConfig" 206.887). 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 Das Konfigurationsprogramm DeviceConfig steht unter folgender Adresse gratis zum Download bereit: www.microtronics.com/deviceconfig...
  • Seite 82: Technische Details Zu Den Ausgängen

    7.6.9 Technische Details zu den Ausgängen 7.6.9.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 83: Schaltbare Sensorversorgung Vext

    Kapitel 7 Installation 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.6.9.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 84: Potentialfreier Schaltkontakt (No, Cc)

    7.6.9.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 72). 3,3V 180mA 7.6.9.4 Potentialfreier Schaltkontakt (NO, CC) Wichtiger Hinweis: Der Benutzer muss dafür sorgen, dass der Strom über den potentialfreien Schaltkontakt 130mA nicht überschreitet.
  • Seite 85: Technische Details Zur Energieversorgung

    Kapitel 7 Installation Akkuspannung 3,5V überschritten hat. Erst danach ist der Aufbau einer GSM-Verbindung wieder möglich und das Gerät nimmt den Normalbetrieb wieder auf. 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.
  • Seite 86 V IN 12...32VDC Leistungsaufnahme typ. <1mW (ohne Sensoren) max. 12W Verpolungsschutz gilt für den laufenden Betrieb, wenn der eventuell vorhandene Akku der Power Supply Unit voll geladen ist Eine Auswahl an kompatiblen Netzteilen finden Sie im Kapitel "Lade- und Netzgeräte" auf Seite 285. Der Versorgungsspannungseingang ist mit einer Diode zum Schutz vor Verpolung ausgestattet.
  • Seite 87 Kapitel 7 Installation 7.6.11.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.6.11.4 PSU DC (300529) V IN erforderlich Schutzschaltung (V IN) DC-Schutzschaltung Kapazität Wiederaufladbar...
  • Seite 88: Technische Details Zur Systemzeit

    7.6.12 Technische Details zur Systemzeit Der myDatalogEASY IoT verfügt über eine Hardware Real-Time Clock mit eigenständiger Pufferbatterie, deren zu erwartende Lebensdauer >10 Jahre ist. Die Systemzeit läuft somit weiter, auch wenn die Power Supply Unit entnommen wird. Das bedeutet, dass nach der Wiederinbetriebnahme sofort gültige Zeitstempel für die Mess- und Log-Daten erzeugt werden können.
  • Seite 89: 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 90 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 91 Kapitel 8 Inbetriebnahme 5. Lösen Sie einen Verbindungsaufbau aus, damit die Konfiguration der Messstelle zum myDatalogEASY IoT übertragen wird. 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 IoT "...
  • Seite 92: Kommunikation Mit Dem Gerät Testen

    8.5 Kommunikation mit dem Gerät testen 1. Legen Sie eine Site für den Betrieb am myDatanet-Server an (siehe "Anlegen der Messstelle" auf Seite 127). Hinweis: Für den Betrieb des myDatalogEASY IoT muss eine Site des Typs "rapidM2M " oder eine Site auf Basis einer zum Site Typ "rapidM2M " kompatiblen IoT Applikation erstellt werden.
  • Seite 93 Kapitel 8 Inbetriebnahme 5. Warten Sie bis in der Messgeräteliste angezeigt wird, dass das Gerät mit dem Server verbunden ist (rotierende Pfeile). Mit Ausnahme der Verbindungsart „online“ (siehe "rM2M_TxSetMode()") ist die Zeit während der den myDatalogEASY IoT mit dem Server verbunden ist sehr kurz. Daher kann auch geprüft werden, ob der Zeitstempel der letzten Verbindung (unter dem grünen Statussymbol) aktualisiert wurde.
  • Seite 95: Benutzerschnittstelle Am Mydatalogeasy Iot

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

    wird, dient sie der Signalisierung des aktuellen Betriebszustandes. Andernfalls kann der Zustand der 2- 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...
  • Seite 97: Steuerung

    Kapitel 9 Benutzerschnittstellen 9.2.1.2 Kommentar Kommentar freies Kommentarfeld (wird auch unterhalb des Gerätetyps in der Messstellenliste angezeigt) 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...
  • Seite 98: 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 99: 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 100: 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 101 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 102 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 103: Kapitel 9 Deviceconfig

    9.3 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 104 9.5 Funktionsprinzip Die folgende Beschreibung bezieht sich speziell auf die Verwendung des Konfigurationsprogramms DeviceConfig in Verbindung mit dem myDatalogEASY IoT . Funktionsprinzip 1 myDatalogEASY IoT 4 myDatanet-Server 2 USB BLE-Adapter 5 Client, der mittels Web-Browser auf die Oberfläche des myDatanet-Servers zugreift 3 PC mit installiertem Konfigurationsprogramm DeviceConfig Das Konfigurationsprogramm DeviceConfig kommuniziert entweder mittels USB BLE-Adapter (300685) drahtlos (Bluetooth Low Energy) mit dem myDatalogEASY IoT oder per USB-Verbindung direkt mit dem...
  • Seite 105 9.5.1 USB BLE-Adapter Der USB BLE-Adapter (300685) ist nicht im Lieferumfang des myDatalogEASY IoT enthalten. Er wird benötigt, da handelsübliche PCs und Laptops häufig nicht über eine Bluetooth Low Energy Schnittstelle, die für die Kommunikation mit dem myDatalogEASY IoT erforderlich ist, verfügen. USB BLE-Adapter 1 USB Buchse (Typ A) 2 Antenne...
  • Seite 106 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 107: Installation Der Treiber Für Den Usb Ble-Adapter

    3. Wenn Sie schließlich zur folgenden Ansicht gelangen, schließen Sie den Installationsvorgang durch Klicken auf den Button "Finish" ab. Setup abschließen 9.6.1 Installation der Treiber für den USB BLE-Adapter Hinweis: Informationen zum USB BLE-Adapter (300685) finden Sie im Kapitel "USB BLE-Adapter " auf Seite 105.
  • Seite 108 9.7 Menü des DeviceConfig 9.7.1 Settings Menüpunkt "Settings" 9.7.1.1 Options Über den Menüpunkt "Settings -> Options" lassen sich Einstellungen zu den COM-Ports an denen der USB- Funksender (206.657) bzw. der USB BLE-Adapter (300685) angeschlossen sind, festlegen sowie die automatische Suche nach verfügbaren Firmwareversionen aktivieren bzw. deaktivieren. Der USB-Funksender (206.657) wird für myDatanet Geräte benötigt, die per Wireless M-Bus mit dem PC verbunden werden, der USB BLE-Adapter (300685) für jene, die per Bluetooth Low Engergy mit dem PC verbunden werden.
  • Seite 109: Verbindung Zu Einem Gerät Mit Usb Schnittstelle Herstellen

    9.8 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 IoT herangezogen wird. 1.
  • Seite 110 9.9 Karteireiter "Log" Dieser Karteireiter dient der Verwaltung der Log-Einträge. Er ermöglicht das Laden der Einträge vom myDatalogEASY IoT , das Speichern als *.tsv-Datei und das Löschen der Einträge aus dem Speicher des myDatalogEASY IoT . Karteireiter "Log" 1 Aktiviert die detaillierte Darstellung der 5 löscht die Log-Einträge aus dem Speicher des Logeinträge Geräts...
  • Seite 111 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 112 9.10 Karteireiter "Firmware" Dieser Karteireiter ermöglicht das direkte Einspielen der Firmware über 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" 1 aktuell installierte Softwareversion 3 Die Firmware wird direkt vom Server geladen und am Gerät installiert.
  • Seite 113: Bestehende Verbindung Zum Mydatalogeasy Iot

    9.11.1 Bestehende Verbindung zum myDatalogEASY IoT Bei bestehender Verbindung zum myDatalogEASY IoT besteht die Wahl, die Messdaten und Konfigurationen nur mit dem Konfiguationsprogramm DeviceConfig zur lokalen Verarbeitung zu synchronisieren oder sie an den myDatanet-Server weiterzuleiten. Für den Fall, dass Ihr PC während des Auslesens der Daten über keine Verbindung zum Internet verfügt, können Sie die Messdaten und Konfigurationen des myDatalogEASY IoT zunächst mit dem Konfiguationsprogramm DeviceConfig synchronisieren.
  • Seite 114: Keine Verbindung Zu Einem Gerät

    9.11.2 Keine Verbindung zu einem Gerät Diese Option kann verwendet werden, um die Synchronisation nachträglich durchzuführen, wenn während des Auslesens der Messdaten und Konfigurationen aus dem myDatalogEASY IoT keine Verbindung zum Internet möglich war. Karteireiter "Sync" ohne Verbindung zu einem Gerät 1 Button zum Auslösen der Synchronisation Dabei werden die Messdaten und Konfigurationen aller Geräte, die das Konfiguationsprogramm DeviceConfig lokal gespeichert hat, mit dem myDatanet-Server synchronisiert.
  • Seite 115 Kapitel 10 Smartphone App "tbd" Kapitel 10 Smartphone App "tbd" 10.1 Allgemein Die Smartphone App "tbd" ist sowohl für Android als auch für iOS verfügbar und kann über "Google Play" (Android) respektive Apple "App Store" (iOS) kostenlos heruntergeladen werden. Rev. 01...
  • Seite 117 Änderungen am Erscheinungsbild des Programms im Vergleich zu den in dieser Anleitung verwendeten Screenshots kommen kann. 11.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 118 11.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. 01...
  • Seite 119 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 120 11.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 121 11.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 123: Übersicht

    Kapitel 12 myDatanet-Server Kapitel 12 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. 12.1 Übersicht Übersicht myDatanet-Server 1 frei wählbares Logo 5 öffnet die Maske zur Eingabe der globalen Einstellungen für den Server 2 öffnet das Fenster in dem die für den aktuell...
  • Seite 124 12.2 Bereich "Kunden" Übersicht des Bereichs "Kunden" 1 Bereich, in dem eine Bilddatei als "Karte" und/oder die OpenStreetMaps Karte eingeblendet werden kann Auf der als "Karte" verwendeten Bilddatei lassen sich die Messstellen manuell platzieren. In der OpenStreetMaps Karte werden die Messstellen erst angezeigt, wenn der Messstelle GPS- Koordinaten zugewiesen wurden.
  • Seite 125 Kapitel 12 myDatanet-Server 3 Liste der Tags, die mindestens einem der in der Kundenliste angezeigten Kunden zugewiesen sind. Wurde die Kundenliste mittels Suchfeld oder Auswahl eines Tags beschränkt, wird dies bei der Erstellung der Liste der Tags berücksichtigt. Sobald die Kundenliste durch Auswahl eines Tags eingeschränkt wurde, erscheint am Ende der Liste der Tags ein Kreuz.
  • Seite 126: Bereich "Messstellen" Auf Kundenebene

    12.3 Bereich "Messstellen" auf Kundenebene Übersicht des Bereichs "Messstellen" auf Kundenebene 1 Bereich, in dem eine Bilddatei als "Karte" und/oder die OpenStreetMaps Karte eingeblendet werden kann Auf der als "Karte" verwendeten Bilddatei lassen sich die Messstellen manuell platzieren. In der OpenStreetMaps Karte werden die Messstellen erst angezeigt, wenn der Messstelle GPS- Koordinaten zugewiesen wurden.
  • Seite 127: Auswertungen

    Kapitel 12 myDatanet-Server 4 Symbol, das eine Messstelle auf der "Karte" repräsentiert 5 Symbol, über das sich eine OpenStreetMaps Karte laden lässt, auf der die Messstellen dargestellt werden. (siehe "Kartendarstellung" auf Seite 127) 6 Symbol, über das sich eine Bilddatei als "Karte" auf den Server laden lässt Um die "Karte"...
  • Seite 128 2. Klicken Sie auf den Menüpunkt "Kunde" des myDatanet–Servers um die Liste der verfügbaren Kunden aufzurufen. Wählen Sie einen bestehenden Kunden aus oder legen Sie einen neuen Kunden Auswählen des Kunden 1 Menüpunkt zum Aufrufen der Kundenliste 3 Liste der verfügbaren Kunden 2 Anlegen eines neuen Kunden 3.
  • Seite 129 Kapitel 12 myDatanet-Server 4. Ändern Sie, falls erforderlich, den vorgeschlagenen Namen der Site, wählen Sie den gewünschten Sitetyp bzw. die gewünschte Applikation aus der Dropdown-Liste aus und Klicken Sie anschließend auf den "Hinzufügen" Button. Anlegen der Messstelle abschließen 1 Name der Site (frei wählbare) 3 Button "Hinzufügen"...
  • Seite 131: Allgemein

    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 132 13.2 rapidM2M Device API 13.2.1 Konstanten Returncodes für allgemeine Zwecke = 0, ERROR = -1, ERROR_PARAM = -2, // Parameter error ERROR_UNKNOWN_HDL = -3, // Unknown handler, handle or resource error ERROR_ALREADY_SUBSCRIBED = -4, // Already subscribed service or resource error ERROR_NOT_SUBSCRIBED = -5, // Not subscribed service error...
  • Seite 133: Funktionen

    Kapitel 13 Device Logic (Pawn) 13.2.2 Timer, Datum & Zeit 13.2.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 134 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 135 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 133). .timestamp = 0: Die in .year, .month, .day, .hour, .minute und .second enthalten Werte werden für das Setzen von Datum/Zeit...
  • Seite 136 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 137 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 138: Arrays Mit Symbolischen Indizes

    13.2.3 Uplink 13.2.3.1 Arrays mit symbolischen Indizes TrM2M_GSMInfo Informationen zum GSM-Modem, SIM-Chip sowie dem bei der letzten Verbindung verwendeten GSM- Netz // cgmi Manufacturer Identification des Modems // cgmm Modem Modellinformation // cgmr Modem Revisionsinformation // imei International Mobile Equipment Identity des Modems // imsi International Mobile Subscriber Identity des SIM-Chips, der für die letzte Verbindung verwendet wurde...
  • Seite 139 Kapitel 13 Device Logic (Pawn) Verbindungsflags Steuerflags für die Funktion rM2M_TxStart() RM2M_TX_POSUPDATE = 0b00000001, /* Update der GSM-Positionsdaten beim Verbindungsaufbau RM2M_TX_REFRESH_CONFIG = 0b00000100, /* zusätzlich eine Verbindung zum Maintenance Server herstellen RM2M_TX_SUPPRESS_POSUPDATE = 0b00001000, /* Update der GSM-Positionsdaten beim Verbindungsaufbau unterdrücken RM2M_TX_POSUPDATE_ONLY = 0b00010000, /* Beim Verbindungsaufbau erfolgt nur ein Update der GSM-Postionsdaten.
  • Seite 140 RM2M_TXERR_SERVER_NOT_AVAILABLE, // server not available RM2M_TXERR_SERVER_COMMUNICATION, // error during communication with server // Allgemeine Modem Fehler RM2M_TXERR_MODEM = 10, // unspecified modem error RM2M_TXERR_MODEM_TIMEOUT, // timeout modem communication RM2M_TXERR_MODEM_HW_NOT_FOUND, // modem not found RM2M_TXERR_MODEM_HW_UNKNOWN, // unknown modem RM2M_TXERR_MODEM_INIT, // error during init RM2M_TXERR_MODEM_UNS_RESTART, /* unsolicited restart (e.g.
  • Seite 141 Kapitel 13 Device Logic (Pawn) // TCP bezogene WiFi Fehler RM2M_TXERR_WIFI_TCP = 240, // unspecified TCP related WiFi error RM2M_TXERR_WIFI_TCP_OPEN_TO, // timeout opening TCP connection RM2M_TXERR_WIFI_TCP_SEND_TO, // timeout sending data RM2M_TXERR_WIFI_TCP_CONNECT, // error connecting to server RM2M_TXERR_WIFI_TCP_FAILED, // other error concerning TCP connection // Allgemeine Ethernet Fehler RM2M_TXERR_ETH = 300, // unspecified Ethernet error...
  • Seite 142 13.2.3.3 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 Array, das die Daten des gelesenen Datensatzes enthält Länge des Datenbereichs des gelesenen Datensatzes in Bytes (max. 1024 Byte ) timestamp Zeitstempel des Datensatzes (in UTC) public func(cfg);...
  • Seite 143 Kapitel 13 Device Logic (Pawn) 13.2.3.4 Funktionen native rM2M_TxStart(flags=0); löst eine Verbindung zum Server mit anschließender Synchronisation aller Speicherbereiche (Messdaten, Konfiguration, Positionsdaten, Gerätelog, Files,...) zwischen dem Gerät und dem Server aus. Übertragen werden nur jene Speicherbereiche, deren Inhalt geändert wurde. Wenn sich das Gerät im "online"-Modus befindet und eine aktive Verbindung zum Server besteht, löst diese Funktion nur eine Synchronisation aus.
  • Seite 144 native rM2M_TxSetMode(mode, flags=0); setzt die zu verwendende Verbindungsart. Wird die Verbindungsart auf "online" oder "Intervall & Wakeup" geändert, erfolgt unverzüglich auch ein Verbindungsaufbau inkl. Synchronisation mit dem Server, sofern dies nicht durch Setzen des Flags "RM2M_TXMODE_SUPPRESS_SYNC" unterdrückt wird. Selbiges gilt auch für die Änderung der Verbindungsart von "Intervall" auf "Intervall & Wakeup".
  • Seite 145 Kapitel 13 Device Logic (Pawn) Hinweis: Ergänzende Erklärung zu den Verbindungsarten Verbindungsart Energieverbrauch Datenvolumen Reaktionszeit online Intervall & Wakeup Intervall native rM2M_TxGetStatus(&errorcode=0); liefert den aktuellen Verbindungsstatus Parameter Erklärung errorcode Variable zur Aufnahme des beim letzten Verbindungsversuch aufgetretenen Fehlercodes     RM2M_TXERR_NONE: letzter Verbindungsaufbau erfolgreich >...
  • Seite 146 native rM2M_TxSelectItf(itf); selektiert das für den Uplink zu verwendende Kommunikationsinterface Parameter Erklärung Auswahl des Kommunikationsinterface RM2M_TXITF_NONE: kein Uplink, Kommunikation mit dem Server nicht möglich RM2M_TXITF_MODEM: Mobilfunkmodem RM2M_TXITF_WIFI: WiFi-Modul RM2M_TXITF_LAN: LAN-Schnittstelle Erklärung Rückgabewert OK, wenn erfolgreich ERROR, wenn das gewählte Kommunikationsinterface vom Gerät nicht unterstützt wird oder ein anderer Fehler auftritt native rM2M_GSMGetRSSI();...
  • Seite 147 Kapitel 13 Device Logic (Pawn) native rM2M_GSMGetInfo(info[TrM2M_GSMInfo], len=sizeof info); liefert Informationen zum GSM-Modem, SIM-Chip sowie dem bei der letzten Verbindung verwendeten GSM-Netz Parameter Erklärung info Struktur zur Aufnahme der Informationen (siehe "TrM2M_GSMInfo" im Kapitel "Arrays mit symbolischen Indizes" auf Seite 138) Größe (in Cells) der Struktur zur Aufnahme der Informationen - OPTIONAL Erklärung Rückgabewert...
  • Seite 148 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 149 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 150 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 151 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 152 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 153 Kapitel 13 Device Logic (Pawn) Nummern der Temperatursensor-Schnittstellen TEMP_CHANNEL1 = 0, // PT100/1000-Schnittstelle 1 //Anzahl der Temp.sensor-Schnittstellen, über die das myDatalogEASY IoT verfügt TEMP_NUM_CHANNELS = 1, 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...
  • Seite 154 13.2.4.3 Funktionen native Temp_Init(temp, mode); Wurde der Single Conversion Modus aktiviert (mode = TEMP_MODE_SINGLE_CONV), wird die Temperaturmessung nur ein einziges Mal nach dem Aufruf dieser Funktion durchgeführt. Bis zum Schließen der PT100/1000-Schnittstelle durch die Funktion "Temp_Close" kann der Messwert mittels der Funktion "Temp_GetValue"...
  • Seite 155 Kapitel 13 Device Logic (Pawn) native Temp_GetValue(temp, &value); liest den Temperaturmesswert für die angegebene PT100/1000-Schnittstelle aus dem Temperaturmodul Parameter Erklärung temp Nummer der PT100/1000-Schnittstelle; beim myDatalogEASY IoT immer 0 value Variable zur Aufnahme des zu lesenden Temperaturmesswerts. Der Temperaturmesswert ist in [0,1°C] im Temperaturmodul gespeichert. Erklärung Rückgabewert OK, wenn erfolgreich...
  • Seite 156 13.2.5 Encoding 13.2.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 = 0b10100000, // 16-Bit Signed RM2M_PACK_U32...
  • Seite 157 Kapitel 13 Device Logic (Pawn) 13.2.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 158 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 159 Kapitel 13 Device Logic (Pawn) 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 160 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 Array zur Aufnahme der zu lesenden Daten...
  • Seite 161 Kapitel 13 Device Logic (Pawn) 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.
  • Seite 162 13.2.6 RS232, RS485 13.2.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 = 0b0000000000000000, // 7 Datenbits RS232_8_DATABIT...
  • Seite 163 Kapitel 13 Device Logic (Pawn) 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. 01...
  • Seite 164 13.2.6.3 Funktionen native RS232_Init(rs232, baudrate, mode, funcidx); initialisiert die RS232-Schnittstelle Parameter Erklärung rs232 Nummer der RS232-Schnittstelle; beim myDatalogEASY IoT 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 165 Kapitel 13 Device Logic (Pawn) native RS232_Close(rs232); schließt die RS232-Schnittstelle Parameter Erklärung rs232 Nummer der RS232-Schnittstelle; beim myDatalogEASY IoT 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 166 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 167 Kapitel 13 Device Logic (Pawn) native RS485_Init(rs485, baudrate, mode, funcidx); initialisiert die RS485-Schnittstelle Parameter Erklärung rs485 Nummer der RS485-Schnittstelle; beim myDatalogEASY IoT 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 168 native RS485_Close(rs485); schließt die RS485-Schnittstelle Parameter Erklärung rs485 Nummer der RS485-Schnittstelle; beim myDatalogEASY IoT 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 169 Kapitel 13 Device Logic (Pawn) 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 170 13.2.7 Registry 13.2.7.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 51. //Systemspezifische Daten RM2M_REG_SYS_OTP = 0, // einmalig im Zuge der Produktion (Empfehlung) RM2M_REG_SYS_FLASH = 1, // im Betrieb veränderbar (nicht durch Script) //Applikationsspezifische Daten RM2M_REG_APP_OTP...
  • Seite 171 Kapitel 13 Device Logic (Pawn) 13.2.7.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 170), der geändert wurde 13.2.7.3 Funktionen native rM2M_RegInit(reg, flags, data{}, len=sizeof data);...
  • Seite 172 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 51. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 170) name Name des Eintrags string...
  • Seite 173 Kapitel 13 Device Logic (Pawn) 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 51. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 170) name Name des Eintrags Wenn bereits ein Eintrag mit diesem Namen existiert, wird die bestehende...
  • Seite 174 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 51. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke"...
  • Seite 175: Arrays Mit Symbolischen Indizes

    Kapitel 13 Device Logic (Pawn) 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 51. 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 176 TrM2M_PosUpdateUMTS Informationen über eine UMTS-Zelle im Empfangsbereich // type gibt den Typ des Eintrags an (RM2M_POSUPDATE_TYPE_UMTS) // stamp Zeitpunkt zu dem die Daten ermittelt wurden // mcc MCC (Mobile Country Code) der GSM-Zelle // mnc MNC (Mobile Network Code) der GSM-Zelle // lac LAC (Location Area Code) der GSM-Zelle // cid...
  • Seite 177 Kapitel 13 Device Logic (Pawn) 13.2.8.2 Konstanten Liste der unterstützten Typen von Zell/Netzwerk-Informationseinträgen mögliche Typen der Zell/Netzwerk-Informationseinträge, die mittels der Funktion "rM2M_ EnumPosUpdate()" vom System gelesen werden können RM2M_POSUPDATE_TYPE_ERR = 0, //ungültiger Eintrag RM2M_POSUPDATE_TYPE_GSM = 1, //Informationen über eine GSM-Zelle RM2M_POSUPDATE_TYPE_UMTS = 2, //Informationen über eine UMTS-Zelle RM2M_POSUPDATE_TYPE_LTE = 3, //Informationen über eine LTE-Zelle...
  • Seite 178 13.2.8.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 263) ausgelesen werden.
  • Seite 179 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 180 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 263) ausgelesen werden. Parameter Erklärung Sentence...
  • Seite 181 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 182 native rM2M_EnumPosUpdate(...); listet die im Gerät gespeicherten Informationen über die GSM/UMTS/LTE-Zellen und WiFi-Netzwerke im Empfangsbereich auf. Bei dieser Funktion wird eine variable Liste an Parametern verwendet. Die zu übergebenden Parameter sind vom Verwendungszweck abhängig. Folgender Ablauf wird empfohlen: 1. Auslesen der Anzahl von verfügbaren Zell/Netzwerk-Informationseinträgen new nEnum;...
  • Seite 183 Kapitel 13 Device Logic (Pawn) native rM2M_GetGSMPos(posidx, pos[TrM2M_GSMPos]=0); liefert die Anzahl der GSM/UMTS/LTE-Zellen, für die gültige Informationen im Gerät gespeichert sind (posidx < 0 ) bzw. liest die im Gerät gespeicherten Informationen über eine GSM/UMTS/LTE-Zelle im Empfangsbereich aus (posidx >= 0) Hinweis: Nutzen Sie die Funktion "rM2M_EnumPosUpdate()"...
  • Seite 184 13.2.9 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 185 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 186 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 187 Kapitel 13 Device Logic (Pawn) 13.2.10 Char & String Hinweis: Um die Funktionen dieses Kapitels verwenden zu können, benötigen Sie folgendes Include-File: #include <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...
  • Seite 188 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 189 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 190 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 191 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 192: Arrays Mit Symbolischen Indizes

    13.2.11 CRC & Hash 13.2.11.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 193: 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 194 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 195 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 196 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 197 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 198 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 193) 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 199 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 200 13.2.13 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 201 Kapitel 13 Device Logic (Pawn) 13.2.14 SMS Wichtiger Hinweis: Wenn sich das Gerät im "online"-Modus befindet, können keine SMS verarbeitet werden. 13.2.14.1 Callback Funktionen public func(const SmsTel[], const SmsText[]); vom Script-Entwickler bereitzustellende Funktion, die aufgerufen wird, wenn eine SMS empfangen wurde Parameter Erklärung...
  • Seite 202 13.2.15 Externe SIM 13.2.15.1 Arrays mit symbolischen Indizes TrM2M_SIMCfg Konfigurationsdaten einer externen SIM-Karte // pin Pin Code der externen SIM-Karte // apn Zugangspunkt (APN), der für die Verbindung verwendet werden soll // username Benutzername für die Einwahl über den Zugangspunkt // password Passwort für die Einwahl über den Zugangspunkt #define TrM2M_SIMCfg[.pin{8}, .apn{40}, .username{40}, .password{40}]...
  • Seite 203 Kapitel 13 Device Logic (Pawn) native rM2M_GetExtSimCfg(cfg[TrM2M_SIMCfg]=0, len=sizeof cfg); liefert die aktuell für die externe SIM-Karte hinterlegten Konfigurationsdaten Parameter Erklärung Struktur zur Aufnahme der für die externe SIM-Karte hinterlegten Konfigurationsdaten (siehe "TrM2M_SIMCfg" im Kapitel "Arrays mit symbolischen Indizes" auf Seite 202) Größe (in Cells) der Struktur zur Aufnahme der hinterlegten Konfigurationsdaten - OPTIONAL Erklärung...
  • Seite 204 File Transfer Kommando FT_CMD_NONE = 0, FT_CMD_UNLOCK = 1, /* File Transfersitzung beendet. Der Server gibt die Sperre wieder frei. */ FT_CMD_LIST = 2, /* Der Server fordert die Eigenschaften einer Datei an */ FT_CMD_READ = 3, // Der Server fordert einen Block einer Datei an. FT_CMD_STORE = 4, // Der Server fordert das Schreiben einer Datei an.
  • Seite 205 Kapitel 13 Device Logic (Pawn) 13.2.16.3 Callback Funktionen public func(id, cmd, const data{}, len, ofs); vom Script-Entwickler bereitzustellende Funktion, die beim Empfang eines File Transfer Kommandos aufgerufen wird. Die Callback Funktion muss in der Lage sein, alle File Transfer Kommandos (siehe "File Transfer Kommandos"...
  • Seite 206 13.2.16.4 Funktionen native FT_Register(const name{}, id, funcidx); registriert eine Datei, die durch das PAWN-Script zur Verfügung gestellt wird Parameter Erklärung name eindeutiger Dateiname eindeutige Identifikation mit der die Datei später referenziert wird (frei wählbar) funcidx Index der öffentlichen Funktion, die aufgerufen werden soll, wenn ein File Transfer Kommando empfangen wurde Typ der Funktion: public func(id, cmd, const data{}, len, ofs);...
  • Seite 207 Kapitel 13 Device Logic (Pawn) native FT_SetProps(id, stamp, size, crc, flags); setzt die Eigenschaften einer Datei Wichtiger Hinweis: Diese Funktion muss nach dem Empfang eines "FT_CMD_LIST" Befehls aufgerufen werden. Wichtiger Hinweis: Diese Funktion wird zwar weiterhin zugunsten der Abwärtskompatibilität unterstützt, sollte aber bei neuen Projekten nicht mehr verwendet werden. Alternativ sollte die Funktion "FT_SetPropsExt()"...
  • Seite 208 native FT_Read(id, const data{}, len); übergibt die Daten an das System, um sie zum myDatanet-Server zu übertragen. Bereitgestellt werden müssen die Daten durch die mittels "FT_Register()" festgelegte Callback Funktion. Wichtiger Hinweis: Diese Funktion muss nach dem Empfang eines "FT_CMD_READ" Befehls aufgerufen werden. Parameter Erklärung eindeutige Identifikation mit der die Datei referenziert wird (wurde bei der...
  • Seite 209: Universaleingänge

    Kapitel 13 Device Logic (Pawn) native FT_Written(id, len); bestätigt das schreiben der Daten, die vom myDatanet-Server erhalten wurden. Der eigentliche Schreibvorgang muss durch die mittels "FT_Register()" festgelegte Callback Funktion erfolgen. Der Callback Funktion werden vom System die zu schreibenden Daten (siehe "Callback Funktionen" auf Seite 205) übergeben.
  • Seite 210: Inhaltsverzeichnis

    13.2.17.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, // FrequenzUI_CHT_SI_DPWM = 4, PWM UI_CHT_SI_A020MA = 5, // 0/4...20mA UI_CHT_SI_A002V = 6, // 0...2V...
  • Seite 211: Ui_Cht_Si_None

    Kapitel 13 Device Logic (Pawn) 13.2.17.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 212: Ui_Cht_Si_Dfreq

    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 77. Hinweis: Mit jedem Universaleingang der deaktiviert wird, sinkt der Energieverbrauch. Parameter Erklärung channel Nummer des Universaleingangs, beginnend mit 0 für UI 1 Hinweis: Sie können für diesen Parameter auch die vordefinierten Konstanten...
  • Seite 213 Kapitel 13 Device Logic (Pawn) 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 214 13.2.18 Ausgänge 13.2.18.1 Konstanten Nummern der Digitalausgänge DIGOUT_CHANNEL1 = 0, // potentialfreier Schaltkontakt 1 //Anzahl der Digitalausgänge, über die das myDatalogEASY IoT verfügt DIGOUT_NUM_CHANNELS = 1, Auswahl der Ausgangsspannung für die schaltbare Sensorversorgung VOUT Konfigurationsoptionen für die Funktion Vsens_On() VSENS_15V = 0, // 14,7V bei I = 50mA VSENS_24V = 1,...
  • Seite 215 Kapitel 13 Device Logic (Pawn) native Vsens_Off(); deaktiviert die schaltbare Sensorversorgung VOUT. Detaillierte Informationen zur schaltbaren Sensorversorgung finden Sie im Kapitel "Schaltbare Sensorversorgung VOUT" auf Seite 82. Erklärung Rückgabewert OK, wenn erfolgreich < OK, wenn ein Fehler auftritt (siehe "Returncodes für allgemeine Zwecke" im Kapitel "Konstanten"...
  • Seite 216: Digout_Off

    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 217 Kapitel 13 Device Logic (Pawn) Erklärung Rückgabewert OK, wenn erfolgreich < OK, wenn ein Fehler auftritt (siehe "Returncodes für allgemeine Zwecke" im Kapitel "Konstanten" auf Seite 132) 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 84. Parameter Erklärung digout...
  • Seite 218 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)" auf Seite 84. Parameter Erklärung digout...
  • Seite 219 Kapitel 13 Device Logic (Pawn) 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 84. Erklärung Rückgabewert OK, wenn erfolgreich < OK, wenn ein Fehler auftritt (siehe "Returncodes für allgemeine Zwecke" im Kapitel "Konstanten"...
  • Seite 220 13.2.19.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 95).
  • Seite 221 Kapitel 13 Device Logic (Pawn) 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...
  • Seite 222 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 223 Kapitel 13 Device Logic (Pawn) 13.2.20.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 public func(key);...
  • Seite 224: Power Management

    native Switch_Close(); deaktiviert den Magnetschalter. Beim Tastendruck wird keine Aktion mehr ausgelöst. Erklärung Rückgabewert OK, wenn erfolgreich < OK, wenn ein Fehler auftritt (siehe "Returncodes für allgemeine Zwecke" im Kapitel "Konstanten" auf Seite 132) native LidCover_Init(mode, funcidx=-1); initialisiert den Deckel-Reedkontakt Parameter Erklärung mode...
  • Seite 225 Kapitel 13 Device Logic (Pawn) 13.2.21.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 225 ) // Flags Status des Power Managements (siehe "Status des Power Managements"...
  • Seite 226 13.2.21.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.2.21.4 Funktionen native PM_SetChargingMode(mode); setzt den Lademodus. Detaillierte Informationen zur Laderegelung finden Sie im Kapitel "Technische Details zum Energiemanagement " auf Seite 84. Parameter Erklärung mode...
  • Seite 227 Kapitel 13 Device Logic (Pawn) 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" im Kapitel "Arrays mit symbolischen Indizes" auf Seite 225) Größe (in Cells) der Struktur zur Aufnahme der Informationen - OPTIONAL Erklärung Rückgabewert OK, wenn erfolgreich...
  • Seite 228 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 229 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 230 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.4 Syntax 13.4.1 Allgemeine Syntax 13.4.1.1 Format Bezeichner, Zahlen und Zeichen werden durch Leerzeichen, Tabulatoren, Zeilenumbrüche und "Form Feed" getrennt.
  • Seite 231 Kapitel 13 Device Logic (Pawn) 13.4.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.4.1.6 Numerische Konstanten 13.4.1.6.1 Numerische Integer-Konstanten Binär 0b gefolgt von einer Serie von 0 und 1...
  • Seite 232 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 243) - lokale Variable Beispiel: new a;...
  • Seite 233: 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 234: Progressive Initialisierung Für Arrays

    13.4.4.3 Progressive Initialisierung für Arrays Der Punkte-Operator führt die Initialisierung des Arrays aufgrund der letzten beiden initialisierten Werte weiter. Der Punkte-Operator (drei Punkte, "...") initialisiert das Array bis zur Arraygrenze. Beispiel: Auflistung: Arrayinitialisierer // setzt alle Elemente auf 1 new a[10] = { 1, ... } // b = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 new b[10] = { 1, 2, ...
  • Seite 235: Operatoren Und Ausdrücke

    Kapitel 13 Device Logic (Pawn) Bei mehrdimensionalen Arrays kann der "sizeof"-Operator die Anzahl der Elemente jeder Dimension zurückgeben. Für die letzte (niedrigste) Dimension ist ein Element ein einzelner Eintrag, jedoch für die höchste Dimension ist es ein Sub-Array. Beachten Sie, dass im nachfolgenden Codeausschnitt die Syntax "sizeof matrix"...
  • Seite 236: Zuweisung

    13.4.5.3 Arithmetik Operator Beispiel Erklärung e1 + e2 Ergebnis der Addition von e1 und e2 e1 - e2 Ergebnis der Subtraktion von e1 und e2 Ergebnis der arithmetischen Negation von e (Zweierkomplement) e1 * e2 Ergebnis der Multiplikation von e1 und e2 e1 / e2 Ergebnis der Division e1 durch e2.
  • Seite 237 Kapitel 13 Device Logic (Pawn) Hinweis: Die folgenden Operatoren kombinieren eine Zuweisung mit einer arithmetischen oder bitweisen Operation. Das Ergebnis des Ausdrucks ist der Wert des linken Operanden nach der arithmetischen oder bitweisen Operation. Operator Beispiel Erklärung v += e erhöht v um e v -= e vermindert v um e...
  • Seite 238 13.4.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 239: Priorität Der Operatoren

    Kapitel 13 Device Logic (Pawn) 13.4.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 240: Zusammengesetzte Anweisungen

    13.4.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.4.6.1 Statement-Etikett Ein Etikett besteht aus einem Identifizierer gefolgt von einem ":". Ein Etikett ist ein "Sprung-Ziel" eines "goto" Statements.
  • Seite 241 Kapitel 13 Device Logic (Pawn) 13.4.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 242 13.4.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 243 Kapitel 13 Device Logic (Pawn) 13.4.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 244 13.4.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 245: 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.4.6.15 while ( Ausdruck ) Statement wertet den Ausdruck aus und führt das Statement aus, wenn das Ergebnis des Ausdrucks logisch "true"...
  • Seite 246 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 247 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 248: 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.4.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 249 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 250 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 251 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 253 Kapitel 14 Data Descriptor Das Grundprinzip des myDatalogEASY IoT ist eine sogenannte Storage-2-Storage-Datenübertragung. Für diese Art der Datenübermittlung müssen weder das myDatalogEASY IoT 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 254: 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 255: 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 256: 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 257 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 258 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 259 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 260 max: Maximalwert für die weitere Darstellung am Server (z.B. Grafik) vscale: virtuelle Skalierung des Werts (siehe "Attribute der Feld-Definition" auf Seite 256). 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 261: 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 263 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 264 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 265: 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 266 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 267: Laden Der Power Supply Unit

    Kapitel 16 Wartung 7. 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.
  • Seite 268 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 269: 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 271: 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 273: 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 72) Die Kapazität des Energiespeichers in der Power Supply Unit ist erschöpft.
  • Seite 274 Problem Ursache/Lösung Die Messwerte des Das kostenpflichtige Feature "Aktivierungscode Temperatureingang externen (300542)" wurde nicht freigeschaltet. Kabelverbindungen überprüfen (siehe "Anschluss der Sensoren, der Temperatursensors sind Aktoren und der Versorgung" auf Seite 72) nicht plausibel. Die Daten der RS485- Das kostenpflichtigen Feature "Aktivierungscode RS485 (300540)" Schnittstelle sind nicht wurde nicht freigeschaltet.
  • Seite 275: 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 276 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1038 UV MODEM Das Gerät deaktiviert aufgrund einer zu LOCKOUT niedrigen Akku-/Batteriespannung das Modem. Das Herstellen einer Verbindung ist nicht mehr möglich. 1039 UV MODEM Die Akku-/Batteriespannung reicht wieder aus, RECOVER um eine stabile Verbindung herzustellen. Dies kann entweder durch einen Akku- /Batteriewechsel oder dadurch, dass die Laderegelung den Akku ausreichend wieder...
  • Seite 277 Kapitel 18 Fehlersuche und Behebung Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1281 ZLIB interner Fehler STREAMPROCESS Sollte dieser Fehler mehrmals im Gerätelog enthalten sein, kontaktieren Sie den Hersteller (siehe "Kontaktinformationen" auf Seite 291). 1282 ZLIB interner Fehler STREAMFINISH Sollte dieser Fehler mehrmals im Gerätelog enthalten sein, kontaktieren Sie den Hersteller (siehe "Kontaktinformationen"...
  • Seite 278 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 2000 MODULE ERR Bereich für die kundenspezifischen kritischen Fehlercodes, die mittels der Pawn Script Funktion "rM2M_WriteLog()" in das Gerätelog geschrieben werden können 2199 2200 MODULE Bereich für die kundenspezifischen unkritischen WARNING Fehlercodes, die mittels der Pawn Script Funktion "rM2M_WriteLog()"...
  • Seite 279 FAILED Versuchen Sie die Antennenposition zu verbessern. Überprüfen Sie, ob sich das Gerät im Versorgungsbereich befindet (www.microtronics.com/footprint). 1200 BAND SEL FAILED -969 --- Es konnte weder auf dem GSM900/1800, noch auf dem GSM850/1900-Band ein Netzwerk gefunden werden. Versuchen Sie die Antennenposition zu verbessern.
  • Seite 280 Klartext 1200 NETLOCK ERROR -966 Fehler bei der Netzauswahl. Überprüfen Sie, ob sich das Gerät im Versorgungsbereich befindet. interner SIM-Chip: siehe www.microtronics.com/footprint externe SIM-Karte: Wenden Sie sich an den Provider, von dem Sie die SIM-Karte erhalten haben. TCP Channel Fehler...
  • Seite 281: 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 283: Kapitel 19 Ersatzteile Und Zubehör

    Aktivierungscode (für nachträgliche Freischaltung durch den Kunden) Aktivierungscode VPN SIM 300539 Aktivierungscode RS485 300540 Aktivierungscode RS232 300541 Aktivierungscode Temperatureingang 300542 Aktivierungscode BLE 300968 Aktivierungscode Cellular TCP IP 300969 Aktivierungscode NB-IoT 300970 Dieses Feature ist nur bei der Variante "myDatalogEASY IoT 2G/M1/NB1 Welt " verfügbar. Rev. 01...
  • Seite 284: Power Supply Units

    19.3 Antennen Beschreibung Menge Bestellnummer Antenne 900 FME-F 206.801 Antennenverlängerung FME-F/FME-M 5m 206.805 1) 2) 3) Flachantenne Smart Disc FME-F 2,5m 206.814 Antennenadapter FME-F/SMA-F 206.822 Antennenverlängerung SMA-F/FME-F 1m 206.825 1) 2) Portable Antenne Multi Band FME-F 206.826 1) 2) Magnetfußantenne FME-F 2,5m 206.827 Flachantenne Smart Disc Multi Band FME-F 2m 300629...
  • Seite 285: Lade- Und Netzgeräte

    Kapitel 19 Ersatzteile und Zubehör 19.5 Lade- und Netzgeräte Beschreibung Menge Bestellnummer Netzgerät 24V 1A 213.814 Netzgerät 12V 1,25A 206.623 Netzgerät 24V 0,63A für Hutschienenmontage 301066 Primärstecker EU für Ladegerät 300027 Primärstecker UK für Ladegerät 300028 Primärstecker US für Ladegerät 300029 Primärstecker AUS für Ladegerät 300030...
  • Seite 286: Sonstiges Zubehör

    Beschreibung Menge Bestellnummer 1) 2) myDatalogEASY IoT GPS-Erweiterung 301068 Es handelt es sich um Bestelloptionen, die nicht gesondert bestellt und vom Kunden selbst installiert werden kann. Für die Verwendung der GPS Erweiterung wird zusätzlich die Kombiantenne GSM/GPS FME-F(GSM) SMA-M(GPS) 2,5m (300832) und ein Antennenadapter FME-F/SMA-F (206.822) benötigt.
  • Seite 287 Kapitel 20 Dokumentenhistorie Kapitel 20 Dokumentenhistorie Rev. Datum Änderungen 18.03.2020 Erste Version Rev. 01...
  • Seite 289: Kapitel 21 Glossar

    Die Geräte des Herstellers sind ab Werk mit Subscriber Identitiy Modules (SIM) zur mobilen Übertragung der Daten ausgestattet. Der Footprint bezeichnet jene Länder und Regionen, in denen eine Mobilfunkverbindung zur Verfügung steht(siehe www.microtronics.com/footprint). NaN-Wert Beim myDatanet werden spezielle Kodierungen verwendet, um verschiedene Fehlerzustände in z.B.
  • Seite 291: 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 292 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 301027 | Rev.01...

Inhaltsverzeichnis