Seite 4
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.3 Montage des myDatalogEASY IoT GW ATEX 7.3.1 Wandmontage 7.4 Sicherheitshinweise zur Verkabelung 7.4.1 Hinweise zur Vermeidung elektrostatischer Entladungen (ESD) 7.5 Elektrische Installation 7.5.1 Anschluss der Versorgung 7.5.2 Anschluss der GSM-Antennen 7.5.3 Technische Details zur USB-Schnittstelle 7.5.4 Technische Details zur Bluetooth Low Energy Schnittstelle 7.5.5 Technische Details zum Energiemanagement 7.5.6 Technische Details zur Energieversorgung 7.5.6.1 PSU413D+ AP (300524)
Seite 6
9.2.1.5 Alarmierung 9.2.1.6 Grundeinstellungen 9.2.1.7 FTP-Export Einstellungen 9.2.2 Gerätekonfiguration 9.2.2.1 Kommentar 9.2.2.2 Messgerät 9.2.2.3 GPRS Kapitel 10 DeviceConfig 10.1 Allgemein 10.2 Voraussetzungen 10.3 Funktionsprinzip 10.3.1 USB BLE-Adapter 10.4 Installation 10.4.1 Installation der Treiber für den USB BLE-Adapter 10.5 Menü des DeviceConfig 10.5.1 Settings 10.5.1.1 Options 10.6 Verbindung zu einem Gerät mit USB Schnittstelle herstellen...
Seite 7
Kapitel 1 Inhaltsverzeichnis Kapitel 13 myDatanet-Server 13.1 Übersicht 13.1.1 Erklärung der Symbole 13.2 Bereich "Kunden" 13.3 Bereich "Messstellen" auf Kundenebene 13.3.1 Auswertungen 13.3.2 Kartendarstellung 13.4 Empfohlene Vorgehensweise 13.4.1 Anlegen der Messstelle Kapitel 14 Device Logic (Pawn) 14.1 Allgemein 14.1.1 Direkte Eingabe einer Device Logic 14.1.2 Hochladen eines Binary-Files 14.1.3 Verwenden des CODEbed der webbasierten Entwicklungsumgebung rapidM2M Studio 14.2 rapidM2M Device API...
Seite 8
14.2.6.1 Konstanten 14.2.6.2 Callback Funktionen 14.2.6.3 Funktionen 14.2.7 Position 14.2.7.1 Arrays mit symbolischen Indizes 14.2.7.2 Konstanten 14.2.7.3 Funktionen 14.2.8 Mathematik 14.2.9 Char & String 14.2.10 CRC & Hash 14.2.10.1 Arrays mit symbolischen Indizes 14.2.10.2 Funktionen 14.2.11 Verschiedene Funktionen 14.2.11.1 Arrays mit symbolischen Indizes 14.2.11.2 Konstanten 14.2.11.3 Funktionen 14.2.12 Console...
Seite 11
Kapitel 1 Inhaltsverzeichnis 15.1.2 Aufteilung eines Konfigurationsspeicherblocks in einzelne Datenfelder 15.1.3 Aufteilung der Aloha-Daten in einzelne Datenfelder 15.1.4 Attribute der Feld-Definition 15.2 Beispiel 15.3 Spezialwerte der Datentypen Kapitel 16 API 16.1 Allgemein 16.2 rapidM2M Playground 16.2.1 Übersicht Kapitel 17 Wartung 17.1 Allgemeine Wartung 17.2 Tausch der Power Supply Unit 17.2.1 Laden der Power Supply Unit...
Kapitel 3 Technische Daten Kapitel 3 Technische Daten Spannungsversorgung Akku: PSU413D+ AP : 13,6Ah, Li-Ion , integrierter Überspannungsschutz Batterie: PSU713 BP : 13Ah direkte Versorgung: PSU DC : DC-Schutzschaltung Zusätzliche Informationen finden Sie unter "Technische Details zur Energieversorgung" auf Seite 70. Versorgungs- bzw.
Seite 16
Interne Sensoren Gehäuseinnentemperatur Messbereich: -20...+60°C Auflösung: 0,1°C Luftfeuchtigkeit im Gehäuse Messbereich: 0...100% rH Auflösung: 0,1% rH Bluetooth 5.0 kompatibles Low Energy Modul LPWAN Sub-GHz LPWAN Transceiver Modul USB-Schnittstelle 1 x Mini-B USB 2.0 Slave für die Verbindung mit einem PC. Für die Kommunikation mit dem myDatalogEASY IoT GW ATEX muss am PC das Konfigurationsprogramm DeviceConfig installiert sein oder die webbasierte Entwicklungsumgebung rapidM2M Studio verwendet werden.
Seite 17
Bluetooth Low Energy: Reichweite: 20m (abhängig von den Umgebungsbedingungen) LPWAN: Unterstütze Frequenzen:868MHz, 915MHz 2G/4G Europa (myDatalogEASY IoT GW ATEX 2G/4G EU ) 2G GPRS 900MHz / 1800MHz LTE CAT1 B3, B7, B20 2G/3G Welt (myDatalogEASY IoT GW ATEX 3G World )
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.
4.4 Ex-Schutz Das Messgerät myDatalogEASY IoT GW ATEX ist für den Einsatz in Bereichen mit explosiver Atmosphäre der Zone 2 ausgelegt. Folgende Bedingungen sind einzuhalten: Es dürfen nur Originalersatzteile des Herstellers verwendet werden. Bei der Installation ist darauf zu achten, dass das Gerät vor Licht (z.B. Tageslicht, künstlicher Beleuchtung) geschützt ist bzw.
Kapitel 4 Allgemeine Angaben 4.5 Sicherheitshinweise Für Anschluss, Inbetriebnahme und Betrieb des myDatalogEASY IoT GW ATEX sind die nachfolgenden Informationen und übergeordneten gesetzlichen Bestimmungen des Landes (z.B. ÖVE), wie gültigen Ex- Vorschriften sowie die für den jeweiligen Einzelfall geltenden Sicherheits- und Unfallverhütungsvorschriften zu beachten. Lesen Sie dieses Handbuch komplett durch, bevor Sie dieses Gerät auspacken, aufstellen oder bedienen.
WARNUNG: Sorgen Sie dafür, dass das Gerät während jeder Versendung/Rücksendung als Luftfracht vollständig deaktiviert ist und sich nicht selbständig wieder aktivieren kann. Informationen dazu finden Sie im Kapitel "Aufbewahrung des Produkts" auf Seite 28. Bei offenen Fragen wenden Sie sich an den Hersteller (siehe "Kontaktinformationen" auf Seite 253). WARNUNG: Verwenden Sie dieses Gerät nie in Bereichen, in denen der Betrieb von Funkeinrichtungen untersagt ist.
Kapitel 4 Allgemeine Angaben Bauen Sie das Gerät nicht anders ein, als in der Bedienungsanleitung angegeben. Eine fehlerhafte Verwendung führt zum Erlöschen der Garantie. 4.5.3.2 Sicherheitsmaßnahmen für den Antenneneinbau Nur Antennen verwenden, die vom Hersteller empfohlen oder geliefert werden. Die Antenne muss mindestens im Abstand von 20cm zu Personen aufgestellt werden. Die Antenne darf nicht außerhalb von geschützten Gebäuden aufsteigen und muss gegen Blitzschläge geschützt werden! Die Spannungsversorgung muss abgestellt werden, bevor eine Antenne ausgetauscht wird.
4.6.1 Blockschaltbild Blockschaltbild des myDatalogEASY IoT GW ATEX 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...
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 26
verfügt der myDatalogEASY IoT GW ATEX neben 4 Registrierungsspeicherblöcken mit je 1kB , die im Flash gespeichert werden, noch über einen weiteren der mittels der Funktion "rM2M_RegInit()" optional initialisiert werden kann und im RAM abgelegt wird. Dessen Größe kann bei der Initialisierung angegeben werden, ist allerdings auf maximal 1kB begrenzt.
LPWAN ) "Featureaktivierung LPWAN ") Typenschilder myDatalogEASY IoT GW ATEX 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.
4.10 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.
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.
4.15 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.
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 32
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 219) 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 33
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 GW ATEX zu lesen und an einen zentralen myDatanet-Server weiterzuleiten. Managed Service Das Managed Service ist die Basis für den Betrieb der Geräte und bietet eine breite Palette an Services.
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 219) zu beginnen. Durch ihn werden die verschiedenen Datenstrukturen (Messdaten, Konfigurationen usw.
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ählten Übertragungsintervall abhängig. Bei Verwendung der Verbindungsart „Intervall & Wakeup“ kann die Übertragung auch über den myDatanet–Server angefordert werden.
Seite 36
Auslesevorgängen zu erfassenden Messdaten den im myDatalogEASY IoT GW ATEX 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 42. 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 "...
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.
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 GW ATEX 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 39
Kapitel 5 Funktionsprinzip Funktionsprinzip: Device Management über BLE und Daten über NB-IoT/LPWAN zum myDatanet-Server 1 myDatalogEASY IoT GW ATEX 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.
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 37. 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.
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 38. Der Unterschied besteht lediglich darin, dass die Messdaten nicht zum myDatanet-Server sondern zu einem externen Server übermittelt werden.
5.2 Funktionsweise des internen Datenspeichers Struktur Ringspeicher Gesamtgröße Anzahl der Sektoren Sektorgröße 393.216 Byte Der interne Datenspeicher des myDatalogEASY IoT GW ATEX 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.
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 GW ATEX...
Für die Übertragung ins myDatalogEASY IoT GW ATEX 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 GW ATEX sind das PAWN-Binary (256kB ), die 10 Konfigurationsblöcke (je 4000 Byte ), die 4 Registrierungsspeicherblöcke (je 1kB ) und die Messdaten (3MB ) abgelegt.
5.5 Automatische Auswahl des GSM-Netzes Da der myDatalogEASY IoT GW ATEX 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.
5.6 Ermittlung der GSM/UMTS/LTE-Signalstärke Die interne Aktualisierungsrate des Messwertes für die GSM/UMTS/LTE-Signalstärke ist abhängig von der Verbindungsart, die mittels der Funktion "rM2M_TxSetMode()" ausgewählt wird: Intervall: Aktualisierung jeweils beim Verbindungsaufbau Intervall & Wakeup: Aktualisierung alle 30sec. Online: Aktualisierung alle 5sec. Über die Funktion "rM2M_GSMGetRSSI()" kann der zuletzt ermittelte Wert vom System gelesen werden. 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()"...
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.
5.9.1 REG_APP_OTP Durch Speichern des "Product Identity Profile" (PIP) in diesem Registrierungsspeicherblock können am myDatanet-Server die im Folgenden beschriebenen Funktionen ausgelöst werden. Das PIP besteht aus folgenden Feldern: pipCustomer Name des Kunde, dem die Messstelle zugeordnet werden soll [2-50 Zeichen]. pipCtx Name der Messstelle, die angelegt/verwendet werden soll [2-50 Zeichen].
Kapitel 5 Funktionsprinzip Beim Empfang eines File Transfer Kommandos wird eine Sitzung gestartet, welche nach 15sec. automatisch beendet wird, wenn die Device Logic das Kommando nicht korrekt behandelt. Um Konflikte zu vermeiden, kann immer nur eine Sitzung nach der anderen aktiv sein. 5.11 Bedeutung des SIM-Status Das Gerät erhält vom myDatanet-Server Informationen über die zulässige Verwendung des SIM-Chips.
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 51
Kapitel 5 Funktionsprinzip Verbindung konnte beim ersten Versuch aufgebaut werden. Verbindung konnte beim ersten Retry aufgebaut werden. Verbindung konnte trotz 2 Retries nicht aufgebaut werden. Rev. 01...
Seite 52
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 GW ATEX gespeichert und das kostenpflichtige Feature "Aktivierungscode VPN SIM (300539)" freigeschaltet sein.
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"...
6.3 Lagerung Folgende Lagerbedingungen sind unbedingt einzuhalten: myDatalogEASY IoT GW ATEX 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 PSU DC Betriebstemperatur -20...+60°C Lagertemperatur 0... +35°C (300529) Hinweis: Die oben angeführte Tabelle enthält nur die Lagerbedingungen für die am häufigsten verwendeten Energiequellen für den myDatalogEASY IoT GW ATEX .
Seite 55
Kapitel 6 Lagerung, Lieferung und Transport Folgende Parteien sind diesen Richtlinien verpflichtet: Versender und Verpacker Spediteure Luftfahrtunternehmen und Bodenabfertigungsdienstleister (nur bei Anwendung der IATA-Richtlinie) Sicherheitskontrollpersonal (vor allem bei Anwendung der IATA-Richtlinie) Im Zusammenhang mit dem Transport von Gefahrgut sind die wichtigsten Aufgaben des "Versenders und Verpackers": Klassifizierung / Identifizierung Verpackung...
Die unbedingt erforderliche "RMA Nr" erhalten Sie vom Support & Service-Center (siehe "Kontaktinformationen" auf Seite 253). Die Rücksendung des myDatalogEASY IoT GW ATEX muss in der Originalverpackung frachtfrei zu Microtronics Engineering GmbH (siehe "Kontaktinformationen" auf Seite 253) erfolgen. Nicht ausreichend frei gemachte Sendungen werden nicht angenommen! Rev.
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 Rev. 01...
7.2 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 GW ATEX 1 Innensechskantschraube M6x30 3 Gehäusedeckel 2 Power Supply Unit 4 Lasche zur Entnahme der Power Supply Unit 1.
Seite 59
Kapitel 7 Installation 4. Setzen Sie die SIM-Karte wie in Abbildung B auf der Leiterplatte des myDatalogEASY IoT GW ATEX dargestellt ein. Abbildung auf der Leiterplatte des myDatalogEASY IoT GW ATEX Der folgende Schritt ist nur erforderlich, wenn Sie anschließend die Verbindung zum myDatanet-Server überprüfen wollen. 5.
Seite 60
7.3 Montage des myDatalogEASY IoT GW ATEX 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 GW ATEX darf nicht mit geöffnetem Deckel im Feld betrieben werden.
7.4 Sicherheitshinweise zur Verkabelung Wichtiger Hinweis: Um Schäden zu vermeiden, stellen Sie stets die Spannungsversorgung am Gerät ab, wenn elektrische Anschlüsse durchgeführt werden. Wenn Anschlüsse an den myDatalogEASY IoT GW ATEX 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.
Kapitel 7 Installation 7.4.1 Hinweise zur Vermeidung elektrostatischer Entladungen (ESD) Wichtiger Hinweis: Um Gefahren und ESD-Risiken zu minimieren, sollten Wartungsprozeduren, für die keine Stromversorgung des Geräts erforderlich ist, nur nach Trennung vom Stromnetz ausgeführt werden. Die empfindlichen elektronischen Komponenten im Geräteinneren können durch statische Elektrizität beschädigt werden, was zur Beeinträchtigung der Geräteleistung bis hin zum Ausfall des Geräts führen kann.
Seite 64
Anschluss der Versorgung (Ansicht ohne Power Supply Unit) 1 Mini-B USB (nur für Debug und Device Logic 3 Erdungsanschluss (Reserviert für Varianten mit Update) Universaleingängen) 2 Anschluss für die Versorgungs- bzw. Ladespannung Anschluss für die Versorgungs- bzw. Ladespannung Anschluss für die Anschlusskabel 2pol.
Seite 65
Kapitel 7 Installation Hinweis: Die ersten beiden Schritte sind nur erforderlich, wenn das Gerät bereits in Betrieb ist und die Verkabelung verändert werden soll. 1. Entfernen Sie die vier Schrauben, welche den Gehäusedeckel sichern. Öffnen Sie nun den myDatalogEASY IoT GW ATEX . Wichtiger Hinweis: Bei widrigen Wetterbedingungen mit Niederschlag oder bei Aufenthaltsorten mit Wassereintritt von oben ist das Gerät bei geöffnetem Gehäusedeckel in geeigneter Weise gegen Eindringen von Feuchtigkeit zu schützen.
Seite 66
7. 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.
Kapitel 7 Installation 7.5.2 Anschluss der GSM-Antennen Wichtiger Hinweis: Um eine korrekte Funktion zu gewährleisten, benutzen Sie nur Antennen, die vom Hersteller geliefert werden. Abhängig von der Variante, den georderten Bestelloptionen (siehe "Kostenpflichtige Features" auf Seite 247) und eventuell verbauter zusätzlicher Module verfügt der myDatalogEASY IoT GW ATEX über bis zu 3 FME- M Antennenanschlüsse.
Studio finden Sie im Kapitel "rapidM2M Studio " auf Seite 105. Erläuterungen der Funktionsweise des Konfigurationsprogramms DeviceConfig finden Sie im Kapitel "DeviceConfig " auf Seite 87. Der Zugang zur webbasierten Entwicklungsumgebung rapidM2M Studio ist im Microtronics Partner Programm, für das Sie sich unter folgender Adresse kostenlos anmelden können, enthalten: https://partner.microtronics.com...
Seite 69
Kapitel 7 Installation nach Erreichen dieser Schwelle versucht die Verbindung mittels der Funktion "rM2M_TxStart()" aufzubauen, liefert die Funktion als Ergebnis "ERROR". Ebenso liefert die Funktion "rM2M_TxSetMode()" als Ergebnis "ERROR", wenn versucht wird den "Intervall & Wakeup"- oder "online"-Modus zu aktivieren. Die Device Logic wird nach Erreichen dieser Schwelle weiterhin normal ausgeführt.
jeweiligen Power Supply Unit. Eine Übersicht über die Temperaturbereiche der Power Supply Units finden Sie im Kapitel "Power Supply Units" auf Seite 248. 7.5.6 Technische Details zur Energieversorgung Prinzipschaltbild der Energieversorgung V IN 12...32VDC Leistungsaufnahme typ. <1mW (ohne Sensoren) max. 12W Verpolungsschutz Nein gilt für den laufenden Betrieb, wenn der eventuell vorhandene Akku der Power Supply Unit voll geladen ist...
Kapitel 7 Installation 7.5.6.2 PSU713 BP (300526) V IN nicht erforderlich Schutzschaltung (V IN) Kapazität 13Ah 93,6Wh Li-SOCl2 Wiederaufladbar nein Nennspannung 7,2V Blockschaltbild des PSU713 BP Betriebstemperatur -20...+50°C Ladetemperatur Lagertemperatur +20...+25°C 7.5.6.3 PSU DC (300529) V IN erforderlich Schutzschaltung (V IN) DC-Schutzschaltung Kapazität Wiederaufladbar...
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 74
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 75
Kapitel 8 Inbetriebnahme 6. Entnehmen Sie die Power Supply Unit unter Verwendung der entsprechenden Lasche aus dem myDatalogEASY IoT GW ATEX und trennen Sie anschließend, falls verwendet, die Verkabelung der Versorgungs- bzw. Ladespannung möglichst im stromlosen Zustand vom Gerät. 7. Entfernen Sie die Antenne wieder. Folgende Arbeiten werden direkt am Einsatzort des Geräts durchgeführt: 8.
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 115). Hinweis: Für den Betrieb des myDatalogEASY IoT GW ATEX muss eine Site des Typs "rapidM2M " oder eine Site auf Basis einer zum Site Typ "rapidM2M " kompatiblen IoT Applikation erstellt werden.
Seite 77
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 GW ATEX 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.
Kapitel 9 Benutzerschnittstellen Kapitel 9 Benutzerschnittstellen Die Konfiguration des myDatalogEASY IoT GW ATEX erfolgt über das Web-Interface am myDatanet- Server (siehe "Benutzerschnittstelle am myDatanet-Server" auf Seite 80), dessen Web-Adresse Sie von Ihrem zuständigen Vertriebspartner erhalten. 9.1 Benutzerschnittstelle am myDatalogEASY IoT GW ATEX 9.1.1 Bedienelemente Die Bedienelemente des myDatalogEASY IoT GW ATEX sind auch bei geschlossenem Gehäuse bedienbar. Bedienelemente 1 Magnetschalter 2 2-farbige LED...
9.1.1.2 2-farbige LED Mittels der Funktion "Led_Init()" kann festgelegt werden, ob die 2-farbige LED durch die Firmware oder die Device Logic gesteuert wird. Wurde die 2-farbige LED so konfiguriert, dass sie durch die Firmware gesteuert 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()"...
Kapitel 9 Benutzerschnittstellen 9.2.1.1 Site Kunde gibt an, welchem Kunden die Messstelle zugeordnet ist -Symbol Messstelle einem anderen Kunden zuweisen Name Messstellenbezeichnung (nicht relevant für die Geräte- oder Datenzuordnung) [2-50 Zeichen] Gerät S/N Seriennummer des Geräts, das mit der Messstelle verknüpft ist (Gerätezuordnung!) Applikation Name der IoT Applikation auf Basis der die Site erstellt wurde Applikation Version...
9.2.1.4 Konfiguration 0 - Konfiguration 9 Hinweis: Diese Konfigurationsabschnitte sind nur sichtbar, wenn mittels des Data Descriptor (siehe "Data Descriptor " auf Seite 219) der logische Aufbau des entsprechenden Konfiguratiosdatenblocks definiert wurde. Auch die Bezeichnung des Konfigurationsabschnitts wird über den Data Descriptor festgelegt. Diese Konfigurationsabschnitte ermöglichen es die Parameter aus den vom Kunden frei definierbaren, voneinander unabhängigen Speicherblöcken über die Oberfläche des myDatanet-Servers verändern bzw.
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...
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 85
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 86
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).
10.1 Allgemein Das Konfigurationsprogramm DeviceConfig steht unter folgender Adresse gratis zum Download bereit: www.microtronics.com/deviceconfig Es handelt sich um ein Tool zur Konfiguration, Wartung, Fehleranalyse und Synchronisation. Es ist mit allen myDatanet Geräten, die über eine USB-Schnittstelle, eine Wireless M-Bus-Schnittstelle oder eine Bluetooth Low Energy Schnittstelle verfügen, kompatibel.
Seite 88
10.3 Funktionsprinzip Die folgende Beschreibung bezieht sich speziell auf die Verwendung des Konfigurationsprogramms DeviceConfig in Verbindung mit dem myDatalogEASY IoT GW ATEX . Funktionsprinzip 1 myDatalogEASY IoT GW ATEX 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 GW ATEX oder per USB-Verbindung direkt...
Seite 89
Sobald die Daten an den myDatanet-Server übertragen wurden, stehen sie in gleicher Weise wie die Daten aller anderen myDatanet Geräte über sämtliche Schnittstellen des Servers (z.B. HTTP/HTTPS wie im oben abgebildeten Funktionsprinzip dargestellt) zur Verfügung. 10.3.1 USB BLE-Adapter Der USB BLE-Adapter (300685) ist nicht im Lieferumfang des myDatalogEASY IoT GW ATEX 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 GW ATEX erforderlich ist, verfügen.
Seite 90
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.
3. Wenn Sie schließlich zur folgenden Ansicht gelangen, schließen Sie den Installationsvorgang durch Klicken auf den Button "Finish" ab. Setup abschließen 10.4.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 89.
Seite 92
10.5 Menü des DeviceConfig 10.5.1 Settings Menüpunkt "Settings" 10.5.1.1 Options Über den Menüpunkt "Settings -> Options" lassen sich Einstellungen zu den COM-Ports an denen der USB- Funksender (206.657) bzw. 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 Energy mit dem PC verbunden werden.
10.6 Verbindung zu einem Gerät mit USB Schnittstelle herstellen Wichtiger Hinweis: Überprüfen Sie, falls Sie ein Gerät ohne freigeschaltetem Mobilfunkmodem verwenden, die Uhrzeit- und Datumseinstellung (inkl. Einstellung der Zeitzone) Ihres PCs, da diese in diesem Fall für den Abgleich der Systemzeit des myDatalogEASY IoT GW ATEX herangezogen wird.
Seite 94
4. Warten Sie bis das DeviceConfig die Konfiguration des Geräts empfangen hat. Je nach Gerät werden daraufhin zusätzliche Karteireiter eingeblendet. Karteireiter "Sync" bei aktiver Verbindung zu einem myDatalogEASY IoT GW ATEX 10.7 Karteireiter "GSM" Dieser Karteireiter ermöglicht das Umschalten zwischen dem integrierten SIM-Chip und einer in den SIM- Slot eingesetzten externen SIM-Karte.
Seite 95
Karteireiter "GSM" 1 Dropdown-Liste zur Auswahl ob der interne SIM-Chip oder die externe SIM-Karte verwendet werden soll Hinweis: Wurde "Internal SIM" gewählt, sind alle weiteren Auswahlfelder ausgeblendet. 2 IMSI der in den SIM-Slot eingesetzten externen SIM-Karte 3 Dropdown-Liste zur Auswahl des Providers von dem die externe SIM-Karte geliefert wurde Hinweis: Die Eingabefelder für "APN", "User"...
Seite 96
10.8 Karteireiter "Log" Dieser Karteireiter dient der Verwaltung der Log-Einträge. Er ermöglicht das Laden der Einträge vom myDatalogEASY IoT GW ATEX , das Speichern als *.tsv-Datei und das Löschen der Einträge aus dem Speicher des myDatalogEASY IoT GW ATEX . Karteireiter "Log" 1 Aktiviert die detaillierte Darstellung der 5 löscht die Log-Einträge aus dem Speicher des Logeinträge Geräts...
Seite 97
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 98
10.9 Karteireiter "Firmware" Dieser Karteireiter ermöglicht das direkte Einspielen der Firmware über die USB-Schnittstelle oder die Bluetooth Low Energy Schnittstelle. Es stehen 2 Varianten für das Updaten der Firmware zur Verfügung: Mittels zuvor heruntergeladenem Firmwarepaket Durch direktes Laden vom myDatanet-Server Karteireiter "Firmware"...
Seite 99
10.10 Karteireiter "Features" Dieser Karteireiter ermöglicht es kostenpflichtige Features durch die Eingabe des Aktivierungscodes freizuschalten. Er bietet auch einen Überblick über die zusätzlich aktivierbaren Features und welche davon bereits freigeschaltet wurden. Karteireiter "Features" 1 Feature wurde bereits freigeschaltet. 3 Eingabefeld für den Aktivierungscode 2 Feature ist nicht freigeschaltet.
10.11.1 Bestehende Verbindung zum myDatalogEASY IoT GW ATEX Bei bestehender Verbindung zum myDatalogEASY IoT GW ATEX 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 GW ATEX zunächst mit dem Konfiguationsprogramm DeviceConfig synchronisieren.
10.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 GW ATEX 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.
Kapitel 11 Smartphone App "tbd" Kapitel 11 Smartphone App "tbd" 11.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 105
Änderungen am Erscheinungsbild des Programms im Vergleich zu den in dieser Anleitung verwendeten Screenshots kommen kann. 12.1 Allgemein Der Zugang zur webbasierten Entwicklungsumgebung rapidM2M Studio ist im Microtronics Partner Programm, für das Sie sich unter folgender Adresse kostenlos anmelden können, enthalten: https://partner.microtronics.com Es handelt sich um eine webbasierte IDE, die den Kunden bei der Erstellung von IoT Applikationen für das...
Seite 106
12.2 Voraussetzungen Schnittstellen 1 x USB Betriebssystem Windows 7 Windows 10 (empfohlen) MacOS 10.12 oder höher Linux (Fedora 32, Ubuntu 20.04, Archlinux 2020.06.01) Internetverbindung erforderlich Benötigter keine Installation erforderlich Speicherplatz Browser nur Google Chrome Rev. 01...
Seite 107
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 108
12.4 CODEbed CODEbed des rapidM2M Studio 1 Navigationspanel 2 Zurück zum Projekt Dashboard 3 Editor-Panel 4 Compiler Results inkl. Warnungen und Fehler 5 Speichernutzung 6 Kontextsensitive Hilfe 7 Installiert die aktuellen Binaries des Projektes am Gerät und Backend (d.h. dem myDatanet-Server) und öffnet das TESTbed Rev.
Seite 109
12.5 TESTbed TESTbed des rapidM2M Studio 1 Debug Konsole 2 Öffnet zuerst das Fenster zum Auswählen und Verbinden des "Device under test" und dann das Fenster für die Eingabe der Zugangsdaten für das "Backend under test" 3 Informationen zum "Device under test" 4 Watches Panel 5 Informationen zum "Backend under test"...
Kapitel 13 myDatanet-Server Kapitel 13 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. 13.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 112
13.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 113
Kapitel 13 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.
13.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.
Kapitel 13 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 115) 6 Symbol, über das sich eine Bilddatei als "Karte" auf den Server laden lässt Um die "Karte"...
Seite 116
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 117
Kapitel 13 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"...
Kapitel 14 Device Logic (Pawn) Kapitel 14 Device Logic (Pawn) 14.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 120
14.2 rapidM2M Device API 14.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...
Kapitel 14 Device Logic (Pawn) 14.2.2 Timer, Datum & Zeit 14.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 122
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 123
Kapitel 14 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 121). .timestamp = 0: Die in .year, .month, .day, .hour, .minute und .second enthalten Werte werden für das Setzen von Datum/Zeit...
Seite 124
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 125
Kapitel 14 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.
14.2.3 Uplink 14.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 127
Kapitel 14 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 128
RM2M_TXERR_IRREGULAR_OFF, // irregulary closed connection 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,...
Seite 129
Kapitel 14 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 130
14.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 131
Kapitel 14 Device Logic (Pawn) 14.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 132
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 133
Kapitel 14 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 134
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 135
Kapitel 14 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 126) Größe (in Cells) der Struktur zur Aufnahme der Informationen - OPTIONAL Erklärung Rückgabewert...
Seite 136
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 137
Kapitel 14 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 138
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 139
Kapitel 14 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 140
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 141
Kapitel 14 Device Logic (Pawn) 14.2.4.3 Funktionen native EasyV3_GetSysValues(values[TEasyV3_SysValue], len=sizeof values); liest die letzt gültigen Werte für "Gehäuseinnentemperatur" und "Luftfeuchtigkeit im Gehäuse" vom System. Das Intervall für die Ermittlung dieser Werte beträgt 10sec. und ist nicht veränderbar. Parameter Erklärung values Struktur zur Aufnahme der Messwerte (siehe "TEasyV3_SysValue"...
Seite 142
14.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 143
Kapitel 14 Device Logic (Pawn) native rM2M_SetPackedB(data{}, pos, const block[], size); schreibt den übergebenen Datenblock an die angegebene Position in ein Array Parameter Erklärung data Array, das als Datenbereich für einen Datensatz oder eine Konfiguration verwendet werden soll Byteoffset innerhalb des Arrays zur Bestimmung der Position, an die der Datenblock geschrieben werden soll block Datenblock, der in das Array geschrieben werden soll...
Seite 144
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 145
Kapitel 14 Device Logic (Pawn) native rM2M_GetPackedB(const data{}, pos, block[], size); liest einen Datenblock, der sich an der angegebenen Position in einem Array befindet Parameter Erklärung data Array, das als Datenbereich für einen Datensatz oder eine Konfiguration verwendet werden soll Byteoffset innerhalb des Arrays zur Bestimmung der Position, von der die Daten gelesen werden sollen block...
Seite 146
native rM2M_Pack(const data{}, pos, &{Float,Fixed,_}:value, type); Funktion für den Zugriff auf gepackte Daten. Wurde das Bit0 (RM2M_PACK_GET) des Parameters "type" gesetzt, liefert die Funktion den Wert, der sich an der angegebenen Position im Array befindet. Andernfalls schreibt die Funktion den übergebenen Wert an die angegebene Position ins Array. Parameter Erklärung data...
Seite 147
Kapitel 14 Device Logic (Pawn) 14.2.6 Registry 14.2.6.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 47. //Systemspezifische Daten RM2M_REG_SYS_OTP = 0, // einmalig im Zuge der Produktion (Empfehlung)
Seite 148
14.2.6.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 147), der geändert wurde 14.2.6.3 Funktionen native rM2M_RegInit(reg, flags, data{}, len=sizeof data); initialisiert einen der optionalen Registrierungsspeicherblöcke, die im RAM abgelegt werden.
Seite 149
Kapitel 14 Device Logic (Pawn) native rM2M_RegGetString(reg, const name[], string[], len=sizeof string); liest eine Zeichenkette aus einem Registrierungsspeicherblock. Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 47. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 147) name Name des Eintrags string...
Seite 150
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 47. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 147) name Name des Eintrags Wenn bereits ein Eintrag mit diesem Namen existiert, wird die bestehende...
Seite 151
Kapitel 14 Device Logic (Pawn) native rM2M_RegDelValue(reg, const name[]); sucht einen Eintrag anhand seines Namens und setzt den Wert dieses Eintrags (egal ob String oder Value) auf "null". Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 47. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der...
Seite 152
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 47. 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 153
Kapitel 14 Device Logic (Pawn) 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...
Seite 154
14.2.7.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 RM2M_POSUPDATE_TYPE_WIFI = 4, //Informationen über ein WiFi-Netzwerk...
Seite 155
Kapitel 14 Device Logic (Pawn) 14.2.7.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 229) ausgelesen werden.
Seite 156
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] : enthält die GNSS Geräte-ID (siehe "Liste der unterstützten GNSS Geräte-ID's"...
Seite 157
Kapitel 14 Device Logic (Pawn) 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.
Seite 158
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° Nord Long Variable zur Aufnahme der geographischen Länge in Grad (Auflösung: 0,000001°)
Seite 159
Kapitel 14 Device Logic (Pawn) 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.
Seite 160
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()" um Informationen zu WiFi- Netzwerken im Empfangsbereich oder spezifischere Informationen zu UMTS- bzw.
Seite 162
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" und "max" liegt Parameter Erklärung value...
Seite 163
Kapitel 14 Device Logic (Pawn) 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);...
Seite 164
14.2.9 Char & String Die Arbeitsweise der folgenden Funktionen entspricht im Wesentlichen jener der Standard ANSI-C Implementierung: native strlen(const string[]); liefert die Länge von string (ohne '\0') Parameter Erklärung string Zeichenkette, deren Länge bestimmt werden soll Erklärung Rückgabewert Anzahl der Zeichen ohne der abschließenden '\0' native sprintf(dest[], maxlength=sizeof dest, const format[], {Float,Fixed,_}:...);...
Seite 165
Kapitel 14 Device Logic (Pawn) 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...
Seite 166
native strrchr(const string[], char); sucht ein Zeichen (letztes vorkommen) in einer Zeichenkette Parameter Erklärung string Zeichenkette, die durchsucht werden soll Wichtiger Hinweis: Strings > 128 Bytes werden nicht unterstützt! 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 167
Kapitel 14 Device Logic (Pawn) native strcspn(const string1[], const string2[]); sucht die Position des ersten Zeichens in string1, das auch in der Zeichenkette erlaubter Zeichen (string2) enthalten ist Parameter Erklärung string1 Zeichenkette, die durchsucht werden soll Wichtiger Hinweis: Strings > 128 Bytes werden nicht unterstützt! string2 Zeichenkette erlaubter Zeichen Wichtiger Hinweis: Strings >...
Seite 168
native strstr(const string1[], const string2[]); sucht die Zeichenkette string2 in der Zeichenkette string1 Parameter Erklärung string1 Zeichenkette, die durchsucht werden soll Wichtiger Hinweis: Strings > 128 Bytes werden nicht unterstützt! string2 zu suchende Zeichenkette Wichtiger Hinweis: Strings > 128 Bytes werden nicht unterstützt! Erklärung Rückgabewert -1, wenn die zu suchende Zeichenkette string2 nicht in string1 enthalten ist...
Kapitel 14 Device Logic (Pawn) 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 Die Kleinbuchstaben-Variante des übergebenen Zeichens, falls vorhanden, oder der unveränderte Zeichencode von "c", wenn der Buchstabe "c" kein Kleinbuchstaben-Äquivalent hat.
14.2.10.2 Funktionen native CRC16(data{}, len, initial=0xFFFF); liefert die berechnete Modbus CRC16 der übergebenen Daten Parameter Erklärung data Array, das die Daten enthält für die die CRC16 berechnet werden soll Anzahl der Bytes, die bei der Berechnung berücksichtigt werden sollen initial Initialwert für die Berechnung der CRC16 - OPTIONAL Erklärung Rückgabewert...
Kapitel 14 Device Logic (Pawn) 14.2.11 Verschiedene Funktionen 14.2.11.1 Arrays mit symbolischen Indizes TablePoint zweispaltige Stützpunkttabelle, Datentyp Integer // key Spalte, die durchsucht wird // value Spalte mit den zurückzuliefernden Ergebniswerten #define TablePoint[.key, .value] TablePointF zweispaltige Stützpunkttabelle, Datentyp Float // key Spalte, die durchsucht wird // value Spalte mit den zurückzuliefernden Ergebniswerten...
Seite 172
14.2.11.2 Konstanten Fehlercodes der Funktionen "CalcTable" und "CalcTableF" const TAB_ERR_FLOOR = -1, // gesuchter Wert kleiner als der erste Tabelleneintrag TAB_ERR_CEIL = -2, // gesuchter Wert größer als der letzte Tabelleneintrag 14.2.11.3 Funktionen native getapilevel(); gibt das implementierte API-Level der Skript-Engine aus Erklärung Rückgabewert implementiertes API-Level der Skript-Engine...
Seite 173
Kapitel 14 Device Logic (Pawn) native rtm_start(measurement[TRTM_Data]); startet eine Laufzeitmessung Parameter Erklärung measurement Struktur zur Aufnahme der Informationen zu einer Laufzeitmessung Wichtiger Hinweis: Diese Struktur muss vom Aufruf von "rtm_start()" bis zum Aufruf von "rtm_stop()" persistent sein. Erklärung Rückgabewert OK, wenn erfolgreich ERROR, wenn ein Fehler auftritt native rtm_stop(measurement[TRTM_Data]);...
Seite 174
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 175
Kapitel 14 Device Logic (Pawn) 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 171) 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 176
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 177
Kapitel 14 Device Logic (Pawn) 14.2.12 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 178
14.2.13 SMS Wichtiger Hinweis: Wenn sich das Gerät im "online"-Modus befindet, können keine SMS verarbeitet werden. 14.2.13.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 SmsTel String, der die Telefonnummer des Absenders der SMS enthält SmsText String, der den Inhalt der SMS enthält 14.2.13.2 Funktionen...
Seite 179
Kapitel 14 Device Logic (Pawn) 14.2.14 Externe SIM 14.2.14.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 180
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 179) Größe (in Cells) der Struktur zur Aufnahme der hinterlegten Konfigurationsdaten - OPTIONAL Erklärung Rückgabewert...
Seite 181
Kapitel 14 Device Logic (Pawn) 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.
Seite 182
14.2.15.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" im Kapitel "Konstanten" auf Seite 180) zu behandeln. Parameter Erklärung eindeutige Identifikation mit der die Datei referenziert wird (wurde bei der...
Seite 183
Kapitel 14 Device Logic (Pawn) 14.2.15.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 184
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 185
Kapitel 14 Device Logic (Pawn) 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.
Seite 186
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 182) übergeben. Wichtiger Hinweis: Diese Funktion muss nach dem Empfang eines "FT_CMD_WRITE"...
Seite 187
Kapitel 14 Device Logic (Pawn) 14.2.16.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 80).
Seite 188
native Led_Off(bool:red, bool:green); Die 2-farbige LED besteht aus einer roten und einer grünen LED, die getrennt voneinander durch diese Funktion ausgeschaltet werden können. Parameter Erklärung true: Die rote LED wird ausgeschaltet. green true: Die grüne LED wird ausgeschaltet. Erklärung Rückgabewert OK, wenn erfolgreich ERROR, wenn ein ungültiger Parameter übergeben wurde native Led_Blink(red, green);...
Seite 189
Kapitel 14 Device Logic (Pawn) native Led_Flash(red, green); lässt die 2-farbige LED alle 500ms kurz aufblitzen. Die 2-farbige LED besteht aus einer roten und einer grünen LED. Werden beide LED verwendet, blitzt die 2-farbige LED orange auf. Parameter Erklärung -1 : Die rote LED bleibt ausgeschaltet. 0 : Die rote LED blitzt solange periodisch auf, bis sie gezielt ausgeschaltet wird >0 : Anzahl wie oft die rote LED periodisch aufblitzen soll...
Seite 190
14.2.17.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); vom Script-Entwickler bereitzustellende Funktion, die bei einem Zustandswechsel des Deckel- Reedkontakts aufgerufen wird Parameter Erklärung...
Seite 191
Kapitel 14 Device Logic (Pawn) 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 120) native LidCover_Init(mode, funcidx=-1); initialisiert den Deckel-Reedkontakt Parameter Erklärung...
14.2.18 Power Management 14.2.18.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 192 ) // Flags Status des Power Managements (siehe "Status des Power Managements"...
Seite 193
Kapitel 14 Device Logic (Pawn) Konfiguration des Coulomb-Counters (elektrische Ladung) Konfigurationsflags für die Funktion PM_GetCoulombCounter() PM_CC_RESET = 0x00000001, // applikativen Coulomb-Counter zurücksetzen 14.2.18.3 Callback Funktionen public func(); vom Script-Entwickler bereitzustellende Funktion, die aufgerufen wird, wenn ein Ausfall der Versorgungs- bzw. Ladespannung V IN erkannt wurde 14.2.18.4 Funktionen native PM_SetChargingMode(mode);...
Seite 194
native PM_BackupClose(); deaktiviert die Ausfallsüberwachung für die Versorgungs- bzw. Ladespannung V IN Erklärung Rückgabewert OK, wenn erfolgreich native PM_GetInfo(info[TPM_Info], len=sizeof info); liefert Informationen zur eingesetzten Energiequelle und zum Status des Power Managements Parameter Erklärung info Struktur zur Aufnahme der Informationen (siehe "TPM_Info" im Kapitel "Arrays mit symbolischen Indizes"...
Seite 195
Kapitel 14 Device Logic (Pawn) 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 196
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_ keine (ungültige) native Callback-Funktion CALLBACK 3010 AMX_ERR_NATIVE ##...
Seite 197
Kapitel 14 Device Logic (Pawn) 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. 14.4 Syntax 14.4.1 Allgemeine Syntax 14.4.1.1 Format Bezeichner, Zahlen und Zeichen werden durch Leerzeichen, Tabulatoren, Zeilenumbrüche und "Form Feed"...
Seite 198
14.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 14.4.1.6 Numerische Konstanten 14.4.1.6.1 Numerische Integer-Konstanten Binär 0b gefolgt von einer Serie von 0 und 1 Dezimal eine Serie von Ziffern zwischen 0 und 9 Hexadezimal...
Seite 199
Kapitel 14 Device Logic (Pawn) 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 210) - lokale Variable Beispiel: new a;...
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.
Kapitel 14 Device Logic (Pawn) 14.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, ...
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"...
Kapitel 14 Device Logic (Pawn) 14.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 204
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 v *= e multipliziert v mit e...
Seite 205
Kapitel 14 Device Logic (Pawn) 14.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.
14.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).
Kapitel 14 Device Logic (Pawn) 14.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. 14.4.6.1 Statement-Etikett Ein Etikett besteht aus einem Identifizierer gefolgt von einem ":". Ein Etikett ist ein "Sprung-Ziel" eines "goto" Statements.
Seite 208
14.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. assert-Anweisungen sollten nur Programmierer-Fehler kennzeichnen und niemals Benutzereingaben.
Seite 209
Kapitel 14 Device Logic (Pawn) 14.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...
Seite 210
14.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. Dieser Ausdruck hält auch die Variablendeklaration mittels der "new"- Syntax.
Seite 211
Kapitel 14 Device Logic (Pawn) 14.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.
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 14.4.6.15 while ( Ausdruck ) Statement wertet den Ausdruck aus und führt das Statement aus, wenn das Ergebnis des Ausdrucks logisch "true"...
Seite 213
Kapitel 14 Device Logic (Pawn) 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 214
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"...
Kapitel 14 Device Logic (Pawn) 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 */ 14.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 216
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 217
Kapitel 14 Device Logic (Pawn) 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"...
Seite 218
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. Falls vorhanden, müssen Vorwärts-Deklarationen genau mit der Definition der Funktion übereinstimmen.
Seite 219
Kapitel 15 Data Descriptor Das Grundprinzip des myDatalogEASY IoT GW ATEX ist eine sogenannte Storage-2-Storage- Datenübertragung. Für diese Art der Datenübermittlung müssen weder das myDatalogEASY IoT GW ATEX 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. Die von einem myDatalogEASY IoT GW ATEX an den Server übermittelten Daten sind somit frei gestaltbar.
15.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.
15.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.
15.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 223
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 224
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 225
15.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 226
max: Maximalwert für die weitere Darstellung am Server (z.B. Grafik) vscale: virtuelle Skalierung des Werts (siehe "Attribute der Feld-Definition" auf Seite 222). 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"...
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 229
Kapitel 16 API Kapitel 16 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. 16.1 Allgemein Die API dient dazu, Daten aus dem myDatanet-Server zu exportieren sowie Daten in den myDatanet-Server zu importieren.
Seite 230
16.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.
Kapitel 17 Wartung Kapitel 17 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 232
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.
Kapitel 17 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 234
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...
Kapitel 17 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.
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...
Kapitel 19 Fehlersuche und Behebung Kapitel 19 Fehlersuche und Behebung 19.1 Allgemeine Probleme Problem Ursache/Lösung Gerät zeigt keine Kabelverbindungen überprüfen (siehe "Anschluss der Versorgung" auf Reaktion. Seite 63) Die Kapazität des Energiespeichers in der Power Supply Unit ist erschöpft. Kommunikationsprobleme Laden Sie das Gerätelog mit Hilfe des DeviceConfig vom myDatalogEASY IoT GW ATEX (siehe "Karteireiter "Log""...
19.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 241
Kapitel 19 Fehlersuche und Behebung 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.
Seite 242
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 253). 1282 ZLIB interner Fehler STREAMFINISH Sollte dieser Fehler mehrmals im Gerätelog enthalten sein, kontaktieren Sie den Hersteller (siehe "Kontaktinformationen"...
Seite 243
Kapitel 19 Fehlersuche und Behebung 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 244
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 245
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...
19.3 Auswerten des Gerätelogs 19.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. Eine genauere Beschreibung zur Auswertung des Gerätelogs am myDatanet-Server finden Sie im Handbuch des Servers ("Benutzerhandbuch für myDatanet-Server "...
20.3 Power Supply Units Beschreibung Menge Bestellnummer Batteriepacks PSU713 BP (Li-SOCl2; 13Ah; -20...+50°C Betriebstemperatur) 300526 Akkupacks PSU413D+ AP (Li-Ion ; 13,6Ah; -20...+60°C Betriebs-, -20...+60°C 300524 Ladetemperatur) direkte Versorgung PSU DC (-20...+60°C Betriebstemperatur) 300529 20.4 Lade- und Netzgeräte Beschreibung Menge Bestellnummer Primärstecker EU für Ladegerät 300027 Primärstecker UK für Ladegerät...
Seite 249
Kapitel 21 Dokumentenhistorie Kapitel 21 Dokumentenhistorie Rev. Datum Änderungen 24.06.2021 Erste Version Rev. 01...
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). Device Logic Bei der Device Logic handelt es sich um die am Gerät installierte Intelligenz durch die die lokale Funktionalität des Geräts bestimmt wird.
Seite 252
Produktrevision Gibt die Revision des Produktes an. Sie wird bei jeder Änderung am Produkt (d.h. Elektronik, Mechanik, usw. ) erhöht und ist am Typenschild des Produktes vermerkt. rapidM2M Store Übernimmt die Verteilung der App Models an die einzelnen myDatanet-Server. Bei der Installation und beim Update von IoT Apps greifen die myDatanet-Server auf die im rapidM2M Store bereitgestellten App Models zu.