Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis
Benutzerhandbuch
rapidM2M C32x
Deckblatt
Gültig ab:
Firmware Version: 01v026
l
Server Version: 50v007
l
Hardware Version: 1.2
l
301076 | Rev.03
Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Microtronics rapidM2M C32-Serie

  • Seite 1 Benutzerhandbuch rapidM2M C32x Deckblatt Gültig ab: Firmware Version: 01v026 Server Version: 50v007 Hardware Version: 1.2 301076 | Rev.03...
  • Seite 3: Inhaltsverzeichnis

    Kapitel 1 Inhaltsverzeichnis Kapitel 1 Inhaltsverzeichnis Deckblatt Kapitel 1 Inhaltsverzeichnis Kapitel 2 Konformitätserklärung 2.1 rapidM2M C32x 2G/M1/NB1 World 2.2 rapidM2M C32x 3G World 2.3 rapidM2M C32x 2G/4G EU Kapitel 3 Technische Daten Kapitel 4 Allgemeine Angaben 4.1 Übersetzung 4.2 Copyright 4.3 Gebrauchsnamen 4.4 Sicherheitshinweise 4.4.1 Verwendung der Gefahrenhinweise...
  • Seite 4 5.1.1 Entwicklung einer M2M / IoT Anwendung 5.2 Funktionsweise des internen Datenspeichers 5.3 Speicherorganisation 5.4 Vorgehensweise bei Verbindungsabbrüchen 5.4.1 Verbindungsabbruch im "online"-Modus 5.4.2 Verbindungsabbruch während eines Device Logic Downloads 5.5 Timeout-Überwachung im Online-Modus 5.6 Automatische Auswahl des GSM-Netzes 5.7 Ermittlung der GSM/UMTS/LTE-Signalstärke 5.8 Ermittlung der GSM-Positionsdaten 5.9 Errorhandling 5.10 Registrierungsspeicherblöcke...
  • Seite 5 Kapitel 1 Inhaltsverzeichnis 7.4.3.1 CAN-Bus ohne Stichleitungen 7.4.3.2 CAN-Bus mit Stichleitung 7.4.4 Technische Details zu den Universaleingängen 7.4.4.1 0/4...20mA Modus 7.4.4.2 0...2V Modus 7.4.4.3 0...10V Modus 7.4.4.4 Standard Digitalmodi (PWM, Frequenz, Digital, Zähler ) 7.4.5 Technische Details zur RS485-Schnittstelle 7.4.6 Technische Details zur CAN-Schnittstelle 7.4.7 Technische Details zur RS232-Schnittstelle 7.4.8 Technische Details zur USB-Schnittstelle 7.4.9 Technische Details zu den Ausgängen...
  • Seite 6 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.4 Installation 10.5 Menü des DeviceConfig 10.5.1 Settings 10.5.1.1 Options 10.6 Verbindung zu einem Gerät mit USB Schnittstelle herstellen 10.7 Karteireiter "Log" 10.8 Karteireiter "Firmware"...
  • Seite 7 Kapitel 1 Inhaltsverzeichnis 13.1.1 Direkte Eingabe einer Device Logic 13.1.2 Hochladen eines Binary-Files 13.1.3 Verwenden des CODEbed der webbasierten Entwicklungsumgebung rapidM2M Studio 13.2 Compiler-Optionen 13.3 rapidM2M Device API 13.3.1 Konstanten 13.3.2 Timer, Datum & Zeit 13.3.2.1 Arrays mit symbolischen Indizes 13.3.2.2 Konstanten 13.3.2.3 Funktionen 13.3.3 Uplink...
  • Seite 8 13.3.10.2 Konstanten 13.3.10.3 Funktionen 13.3.11 Console 13.3.12 SMS 13.3.12.1 Callback Funktionen 13.3.12.2 Funktionen 13.3.13 File Transfer 13.3.13.1 Arrays mit symbolischen Indizes 13.3.13.2 Konstanten 13.3.13.3 Callback Funktionen 13.3.13.4 Funktionen 13.4 Device Logic Fehlercodes 13.5 Syntax 13.5.1 Allgemeine Syntax 13.5.1.1 Format 13.5.1.2 Optionale Semikolons 13.5.1.3 Kommentare 13.5.1.4 Bezeichner 13.5.1.5 Reservierte Schlüsselworte...
  • Seite 9 Kapitel 1 Inhaltsverzeichnis 13.5.4.3 Progressive Initialisierung für Arrays 13.5.4.4 Mehrdimensionale Arrays 13.5.4.5 Arrays und der "sizeof"-Operator 13.5.5 Operatoren und Ausdrücke 13.5.5.1 Zeichenerklärung 13.5.5.2 Ausdrücke 13.5.5.3 Arithmetik 13.5.5.4 Bit-Manipulation 13.5.5.5 Zuweisung 13.5.5.6 Vergleichsoperatoren 13.5.5.7 Boolean 13.5.5.8 Sonstiges 13.5.5.9 Priorität der Operatoren 13.5.6 Anweisungen 13.5.6.1 Statement-Etikett 13.5.6.2 Zusammengesetzte Anweisungen...
  • Seite 10 13.6 Unterschiede zu C Kapitel 14 Data Descriptor 14.1 Datenstruktur 14.1.1 Aufteilung eines strukturierten Messdatenkanals in einzelne Datenfelder 14.1.2 Aufteilung eines Konfigurationsspeicherblocks in einzelne Datenfelder 14.1.3 Aufteilung der Aloha-Daten in einzelne Datenfelder 14.1.4 Attribute der Feld-Definition 14.2 Beispiel 14.3 Spezialwerte der Datentypen Kapitel 15 API 15.1 Allgemein 15.2 rapidM2M Playground...
  • Seite 11 Kapitel 1 Inhaltsverzeichnis Kapitel 22 Kontaktinformationen Rev. 03...
  • Seite 13: Kapitel 2 Konformitätserklärung

    Kapitel 2 Konformitätserklärung Kapitel 2 Konformitätserklärung 2.1 rapidM2M C32x 2G/M1/NB1 World Rev. 03...
  • Seite 14: Rapidm2M C32X 3G World

    2.2 rapidM2M C32x 3G World Rev. 03...
  • Seite 15: Rapidm2M C32X 2G/4G Eu

    Kapitel 2 Konformitätserklärung 2.3 rapidM2M C32x 2G/4G EU Rev. 03...
  • Seite 17: Kapitel 3 Technische Daten

    Kapitel 3 Technische Daten Kapitel 3 Technische Daten Spannungsversorgung 9...32VDC (+/-10%) Zusätzliche Informationen finden Sie unter "Technische Details zur Energieversorgung" auf Seite 71. Leistungsaufnahme typ. 5W (ohne Sensoren) max. 9W (ohne Sensoren) Integrierter Pufferakku Li-Po -Akku mit 500mAh für: Applikative Reaktion auf den Ausfall der Versorgung Ausbuchen aus dem Mobilfunknetz bei Ausfall der Versorgung Zusätzliche Informationen finden Sie unter "Technische Details zum integrierten Pufferakku"...
  • Seite 18 Universaleingänge 3 x analog oder digital Modi: 0...20mA: Auflösung 6,36µA, max. 23,96mA, Bürde 96Ω 4...20mA: Auflösung 6,36µA, max. 23,96mA, Bürde 96Ω 0...2V: Auflösung 610µV, max. 2,5V, Bürde 10k086 0...10V: Auflösung 7,97mV , max. 32V, Bürde 4k7 PWM: 1...99%, max. 100Hz, Impulslänge min. 1ms, max. 32V, Bürde 4k7 Frequenz: 1...1000Hz, max.
  • Seite 19 Kapitel 3 Technische Daten Ausgänge 2 x potentialfreier Schaltkontakt galvanisch getrennt Parallelschaltung eines Optoswitchs und eines Relais Relais (hohe Schaltströme) : 32V : 2A Optoswitch (hohe Schaltfrequenzen) : 130mA : 32V : 35Ω : 1000Hz Zusätzliche Informationen finden Sie unter "Technische Details zu den Ausgängen" auf Seite 69.
  • Seite 20 Datenübertragung 2G/M1/NB1 Welt (rapidM2M C32x 2G/M1/NB1 World ): 2G GPRS 900MHz / 1800MHz 2G GPRS 850MHz / 1900MHz LTE B1, B2, B3, B4, B5, B8, B12, B13, B20, B25, B26, B28, B66, B85 2G/3G Welt (rapidM2M C32x 3G World ): 2G GPRS 900MHz / 1800MHz 2G GPRS 850MHz / 1900MHz UMTS B1, B2, B5, B8, B19...
  • Seite 21: Kapitel 4 Allgemeine Angaben

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

    Wichtiger Hinweis: Das Produkt ist nicht zur Nutzung im Freien freigegeben, da es keinen Schutz gegen das Eindringen von Feuchtigkeit und nur sehr geringen Schutz gegen das Eindringen von Staub besitzt. 4.4.1 Verwendung der Gefahrenhinweise GEFAHR: Kennzeichnet eine mögliche oder drohende Gefahrensituation, die den Tod oder eine ernsthafte Verletzung zur Folge haben wird, wenn sie nicht vermieden wird.
  • Seite 23: Sicherheits-/Vorsichtsmaßnahmen Im Umgang Mit Gsm/Gprs-Modems

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

    4.5 Übersicht Vorderseite des rapidM2M C32x Rückseite des rapidM2M C32x 1 Versorgung (V IN, GND) 8 Com2 (RS232) 2 Relais 1-2 9 MDN Taste (frei verwendbar, Auswertung durch die Device Logic) 3 Anschluss für die WiFi-Antenne 10 CAN / CAN FD 4 Reset Taster 11 Com1 (RS485) 5 Mini-B USB (nur für Debug und Device Logic...
  • Seite 25: Systemarchitektur

    Kapitel 4 Allgemeine Angaben 4.5.1 Systemarchitektur Systemarchitektur des rapidM2M C32x und der Erweiterungsmodule Parallelschaltung eines Relais (hohe Schaltströme) und eines Optoswitchs (hohe Schaltfrequenzen) Ausschließlich für die Kommunikation mit dem rapidM2M C32x bestimmt Je 3 der Relais sind zu einer Gruppe mit gemeinsamer Wurzel zusammengefasst Rev.
  • Seite 26: Blockschaltbild

    4.5.2 Blockschaltbild Blockschaltbild des rapidM2M C32x Nur bei Variante rapidM2M C32x 2G/4G EU . Bei allen anderen Varianten ist dieser Anschluss intern nicht verdrahtet. Rev. 03...
  • Seite 27: Bestimmungsgemäße Verwendung

    Versorgungsbereich eines dieser Anbieter befindet. Eine Liste aller unterstützten Länder und dazugehörigen 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 28: Gerätekennzeichnung

    Wichtig für alle Rückfragen und Ersatzteilbestellungen ist die richtige Angabe der Typenbezeichnung und der Seriennummer. Nur so ist eine einwandfreie und schnelle Bearbeitung möglich. Typenschild rapidM2M C32x Hinweis: Dieses Symbol gibt das Länderlisten-Profil (siehe www.microtronics.com/footprint) des im Gerät verbauten SIM-Chips an. Rev. 03...
  • Seite 29: Einbau Von Ersatz- Und Verschleißteilen

    Kapitel 4 Allgemeine Angaben Hinweis: Diese Betriebsanleitung ist Bestandteil des Gerätes und muss für den Benutzer jederzeit zur Verfügung stehen. Die darin enthaltenen Sicherheitshinweise sind zu beachten. WARNUNG: Es ist strengstens untersagt, die Sicherheitseinrichtungen außer Kraft zu setzen oder in ihrer Wirkungsweise zu verändern.
  • Seite 30: Haftungsausschluss

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

    Kapitel 4 Allgemeine Angaben Zusätzlich muss er die örtlichen gesetzlichen Bestimmungen für die Sicherheit des Personals (Unfallverhütungsvorschriften), die Sicherheit der Arbeitsmittel (Schutzausrüstung und Wartung), die Produktentsorgung (Abfallgesetz), die Materialentsorgung (Abfallgesetz), die Reinigung (Reinigungsmittel und Entsorgung) und die Umweltschutzauflagen einhalten. Vor dem Betreiben des Messgeräts ist vom Betreiber sicherzustellen, dass bei der Montage und Inbetriebnahme, wenn diese vom Betreiber selbst durchgeführt werden, die örtlichen Vorschriften beachtet werden.
  • Seite 33: Kapitel 5 Funktionsprinzip

    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 rapidM2M C32x mit integriertem Managed Service SIM-Chip (Datenübertragung inkludiert) 2 durch den Kunden erstellte Applikation (Device Logic), die sich um die Datenerfassung und -aufzeichnung kümmert (siehe"Device Logic (Pawn)"...
  • Seite 34 Funktionen und Komponenten, die durch myDatanet bereitgestellt werden: rapidM2M C32x Programmierbares (siehe "Device Logic (Pawn)" auf Seite 111), stationäres Gerät mit integriertem Speicher und standardisierten Industrieschnittstellen (UI1-3, RS485, CAN / CAN FD, RS232, potentialfreier Schaltkontakt 1-2) zur Anbindung von Maschinen, Sensoren und Aktoren an den myDatanet-Server (2G/3G/WiFi) Managed Service Das Managed Service ist die Basis für den Betrieb der Geräte und bietet eine breite Palette an...
  • Seite 35: Empfohlene Vorgehensweise

    Kapitel 5 Funktionsprinzip 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 207) zu beginnen. Durch ihn werden die verschiedenen Datenstrukturen (Messdaten, Konfigurationen usw.
  • Seite 36 Hinweis: Ergänzende Erklärung zur Funktionsweise des Ringspeichers Datenspeicher nach der ersten Datenaufzeichnung: Datenspeicher nachdem 3 MB aufgezeichnet wurden Datenspeicher, wenn nachdem bereits 3 MB aufgezeichnet wurden eine weitere Datenaufzeichnung erfolgte 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.
  • Seite 37: Speicherorganisation

    Kapitel 5 Funktionsprinzip 5.3 Speicherorganisation Organisation des Speichers des rapidM2M C32x Dieser Speicherblock ist nur verfügbar, wenn er mittels der Funktion "rM2M_RegInit()" initialisiert wurde. Für die Übertragung ins rapidM2M C32x 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.
  • Seite 38: Vorgehensweise Bei Verbindungsabbrüchen

    5.4 Vorgehensweise bei Verbindungsabbrüchen Für alle Verbindungen mit Ausnahme des "online"-Modus gilt, dass bei einem Abbruch der Verbindung nach 2min. erneut versucht wird, die Verbindung herzustellen. Der erneute Verbindungsaufbau erfolgt bis zu 2 Mal. Verbindung konnte beim ersten Retry aufgebaut werden. Verbindung konnte trotz 2 Retries nicht aufgebaut werden.
  • Seite 39: Verbindungsabbruch Im "Online"-Modus

    Kapitel 5 Funktionsprinzip FAILED Das System wartet auf das Auslösen des nächsten Verbindungsaufbaus. Beim letzten Verbindungsversuch konnten keine Daten bzw. nicht alle Daten übertragen werden. Hinweis: Abhängig von der Art des Kommunikationsfehlers wird unter Umständen das Gerät neu gestartet (z.B. zum neu Initialisieren des SIM-Chips) bevor der Status "FAILED" gesetzt wird.
  • Seite 40: Automatische Auswahl Des Gsm-Netzes

    5.6 Automatische Auswahl des GSM-Netzes Da das rapidM2M C32x mit einem SIM-Chip ausgestattet ist, der eine Mobilfunkverbindung über eine Vielzahl internationaler Serviceprovider gewährleistet (siehe www.microtronics.com/footprint ), ist eine Auswahl des GSM-Netzes, in das sich das Gerät einbuchen soll, erforderlich. Diese erfolgt automatisch vom Gerät.
  • Seite 41: Reg_App_Otp

    Kapitel 5 Funktionsprinzip Speicherortes. Daraus ergeben sich vordefinierte Verwendungszwecke, die in der folgenden Tabelle beschrieben werden: Speicherblock Zugriff Speicher Verwendungszweck Systemspezifische Daten REG_SYS_OTP lesbar: Device Logic, FLASH Systeminformationen, die einmalig im Zuge der myDatanet-Server Produktion geschrieben werden REG_SYS_FLASH lesbar: Device Logic, FLASH Systeminformationen, die im Betrieb myDatanet-Server...
  • Seite 42: File Transfer

    pipAppId ID der IoT Applikation auf Basis der die Messstelle erstellt werden soll [max. 50 Zeichen]. pipAppVer (optional) Momentan im Gerät installierte Version der Device Logic (z.B. 7) [Integer]. pipCtxAutocreate (optional) gibt an, ob die Messstelle (falls sie noch nicht existiert) angelegt werden soll ("0" oder "1" sind als String zu speichern) "0": anlegen einer neuen Messstelle ist nicht zulässig "1": neue Messstelle darf angelegt werden (default)
  • Seite 43: Bedeutung Des Sim-Status

    Kapitel 5 Funktionsprinzip 5.12 Bedeutung des SIM-Status Das Gerät erhält vom myDatanet-Server Informationen über die zulässige Verwendung des SIM-Chips. Für diesen SIM-Status sind folgende Zustände definiert: Übertragung per SIM-Status Erklärung Device Logic RM2M_SIM_STATE_NONE Initialzustand RM2M_SIM_STATE_PRODUCTION Neu produziertes Gerät liegt auf Lager RM2M_SIM_STATE_HOT Gültiger Vertrag RM2M_SIM_STATE_COLD...
  • Seite 45: Kapitel 6 Lagerung, Lieferung Und Transport

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

    Die unbedingt erforderliche "RMA Nr" erhalten Sie vom Support & Service-Center (siehe "Kontaktinformationen" auf Seite 241). Die Rücksendung des rapidM2M C32x muss in der Originalverpackung frachtfrei zu Microtronics Engineering GmbH (siehe "Kontaktinformationen" auf Seite 241) erfolgen. Nicht ausreichend frei gemachte Sendungen werden nicht angenommen! Rev.
  • Seite 47: Kapitel 7 Installation

    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 7.2 Montage des rapidM2M C32x Wichtiger Hinweis: Achten Sie auf eine sachgemäße Montage! Befolgen Sie bestehende gesetzliche bzw.
  • Seite 48: Hutschienenmontage

    Hinweis: Unter und über dem Gerät sollten Sie ca. 2-5cm Abstand für die Kabelanschlüsse vorsehen. Die Antennenanschlüsse befinden sich auf der Vorderseite des Geräts. Der benötigte Platz richtet sich nach den verwendeten Antennen. Weitere Informationen zu den Abmessungen für die Montage entnehmen Sie dem jeweiligen Unterkapitel.
  • Seite 49 Kapitel 7 Installation Schaltschrank mit montierter Flachantenne Disc SMA-M 2,5m (206.816) 1 Flachantenne Disc SMA-M 2,5m (206.816) 3 rapidM2M C32x 2 Schaltschrank Rev. 03...
  • Seite 50: Sicherheitshinweise Zur Verkabelung

    7.3 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 das rapidM2M C32x gelegt werden, müssen die folgenden Warnungen und Hinweise ebenso beachtet werden, wie Warnungen und Hinweise, die in den einzelnen Kapiteln zum Einbau zu finden sind.
  • Seite 51 Kapitel 7 Installation Anschluss der Sensoren, der Aktoren und der Versorgung Anschluss der Sensoren, der Aktoren und der Versorgung (Vorderseite) (Rückseite) 1 Versorgung (V IN, GND) 6 Com1 (RS485) 2 Relais 1 7 Masse und Universaleingang 1 3 Relais 2 8 Universaleingang 2-3 4 Com2 (RS232) 9 Dip-Switch zum Ein-/Ausschalten der...
  • Seite 52 COM2 RXD Leitung der RS232-Schnittstelle TXD Leitung der RS232-Schnittstelle Masse RTS Leitung der RS232-Schnittstelle CTS Leitung der RS232-Schnittstelle , max. 750mA Versorgungsspannung (reserviert für Erweiterungen) FD L CAN Low Leitung der CAN-Schnittstelle FD H CAN High Leitung der CAN-Schnittstelle COM1 RS485 A RS485 B UNIVERSAL INPUT...
  • Seite 53: Anschlussbeispiele

    Kapitel 7 Installation 7.4.1.1 Anschlussbeispiele Anschlussbeispiele (OC Output, Digital, 4...20mA) 1 rapidM2M C32x 4 potentialfreier Relaiskontakt 2 Sensor mit Open Collector Ausgang 4 2-Leiter mA-Sensor Rev. 03...
  • Seite 54: Anschluss Der Gsm-Antenne

    Anschlussbeispiele (0...20mA, 0...2V, 0...10V, Converter) 1 rapidM2M C32x 3 Signalwandler, Trennwandler 2 3-Leiter mA-Sensor oder 3-Leiter U-Sensor 7.4.2 Anschluss der GSM-Antenne Wichtiger Hinweis: Um eine korrekte Funktion zu gewährleisten, benutzen Sie nur Antennen, die vom Hersteller geliefert werden. Die Standardantenne wird direkt am Antennenstecker (siehe "Übersicht" auf Seite 24) des rapidM2M C32x angebracht.
  • Seite 55: Anschluss Der Erweiterungsmodule

    Kapitel 7 Installation Der folgende Schritt ist nicht zwingend erforderlich. 5. Überprüfen Sie, ob die Verbindung zum myDatanet korrekt funktioniert hat (siehe "Kommunikation mit dem Gerät testen" auf Seite 74). 7.4.3 Anschluss der Erweiterungsmodule Wichtiger Hinweis: Alle Verkabelungsarbeiten sollten im stromlosen Zustand erfolgen! Achten Sie auf eine sachgemäße Montage! Befolgen Sie bestehende gesetzliche bzw.
  • Seite 56: Can-Bus Ohne Stichleitungen

    7.4.3.1 CAN-Bus ohne Stichleitungen Wichtiger Hinweis: Alle Verkabelungsarbeiten sollten im stromlosen Zustand erfolgen! 1. Setzen Sie Abschlusswiderstände für die CAN-Schnittstelle bei allen Busteilnehmern (Erweiterungsmodulen und rapidM2M C32x ) entsprechend der Position, die sie am Bus einnehmen werden. Beim ersten und beim letzen Busteilnehmer müssen die 120Ω Abschlusswiderstände (S3 und S4 des Dip-Switch) eingeschaltet werden.
  • Seite 57 Kapitel 7 Installation 2. Bringen Sie das rapidM2M C32x und die Erweiterungsmodule in die endgültige Montageposition (z.B. nebeneinander auf einer Hutschiene). Informationen zur sachgemäßen Montage des rapidM2M C32x finden Sie im Kapitel "Montage des rapidM2M C32x " auf Seite 47. Erläuterungen zur Montage der Erweiterungsmodule finden Sie im Benutzerhandbuch des jeweiligen Erweiterungsmoduls.
  • Seite 58 3. Verbinden Sie die CAN-Schnittstelle des rapidM2M C32x mit jenen der Erweiterungsmodule. Dabei sind jeweils alle "FD L" Klemmen, sowie alle "FD H" Klemmen miteinander zu verbinden. Achten Sie dabei auf Stromlosigkeit! Hinweis: Verwenden Sie für die Verbindung der CAN-Schittstellen ein geschirmtes Kabel. An den Erweiterungsmodulen steht für den Anschluss des Kabelschirms die Klemme "Shield"...
  • Seite 59 Kapitel 7 Installation 5. Verbinden Sie die Kabel zur Versorgung des rapidM2M C32x und der Erweiterungsmodule mit den VIN und GND Klemmen. Achten Sie beim Verbinden auf Stromlosigkeit! Verwenden Sie auch hier Twin-Aderendhülsen falls mehr als ein Kabel pro Klemme verbunden werden soll. Anschließen der Versorgung 1 Twin-Aderendhülse 2 Aderendhülse...
  • Seite 60: Can-Bus Mit Stichleitung

    7.4.3.2 CAN-Bus mit Stichleitung Wichtiger Hinweis: Alle Verkabelungsarbeiten sollten im stromlosen Zustand erfolgen! 1. Setzen Sie Abschlusswiderstände für die CAN-Schnittstelle bei allen Busteilnehmern (Erweiterungsmodulen und rapidM2M C32x ) entsprechend der Position, die sie am Bus einnehmen werden. Beim ersten und beim letzen Busteilnehmer müssen die 120Ω Abschlusswiderstände (S3 und S4 des Dip-Switch) eingeschaltet werden.
  • Seite 61 Kapitel 7 Installation 2. Bringen Sie den rapidM2M C32x und die Erweiterungsmodule in die endgültige Montageposition (z.B. montiert auf mehreren Hutschienen). Informationen zur sachgemäßen Montage des rapidM2M C32x finden Sie im Kapitel "Montage des rapidM2M C32x " auf Seite 47. Erläuterungen zur Montage der Erweiterungsmodule finden Sie im Benutzerhandbuch des jeweiligen Erweiterungsmoduls.
  • Seite 62 3. Verbinden Sie die CAN-Schnittstelle des rapidM2M C32x mit jenen der Erweiterungsmodule. Dabei sind jeweils alle "FD L" Klemmen, sowie alle "FD H" Klemmen miteinander zu verbinden. Achten Sie dabei auf Stromlosigkeit! Hinweis: Verwenden Sie für die Verbindung der CAN-Schittstellen ein geschirmtes Kabel. An den Erweiterungsmodulen steht für den Anschluss des Kabelschirms die Klemme "Shield"...
  • Seite 63: Technische Details Zu Den Universaleingängen

    Kapitel 7 Installation 5. Verbinden Sie die Kabel zur Versorgung des rapidM2M C32x und der Erweiterungsmodule mit den VIN und GND Klemmen. Achten Sie beim Verbinden auf Stromlosigkeit! Verwenden Sie auch hier Twin-Aderendhülsen oder Verteilerklemmen, falls mehr als ein Kabel pro Klemme verbunden werden soll.
  • Seite 64: Modus

    7.4.4.2 0...2V Modus Auflösung 610µV 2,5V Bürde 10k086 7.4.4.3 0...10V Modus Auflösung 7,97mV Bürde 7.4.4.4 Standard Digitalmodi (PWM, Frequenz, Digital, Zähler ) Allgemein <0,99V High >2,31V Bürde Messbereich 1...99% 100Hz Impulslänge min. Frequenz Messbereich 1...1000Hz Zähler Impulslänge min. 7.4.5 Technische Details zur RS485-Schnittstelle Hinweis: Die RS485-Schnittstelle entspricht der Norm EIA-485.
  • Seite 65: Technische Details Zur Can-Schnittstelle

    Kapitel 7 Installation Per Device Logic kann der 120Ω Abschlusswiderstand zwischen RS485 A und B zugeschaltet werden. Auch die Klemmwiderstände (Pull up auf RS485 A und Pull down auf RS485 B) können per Device Logic zugeschaltet werden. Prinzipschaltbild zu den zuschaltbaren Widerständen Hinweis: Ergänzende Erklärung zur Verbindung zweier RS485 Busteilnehmer Prinzipschaltbild: Verbindung zweier RS485 Busteilnehmer Ein Problem entsteht, wenn keine Verbindung zwischen den GND-Potentialen von Sender und Empfänger...
  • Seite 66 Die CAN-Schnittstelle verfügt über keine galvanische Trennung zwischen dem CAN-Bus und dem CAN- Controller. Die Ausgangstreiber der CAN-Schnittstelle sind allerdings gegen Überlastung geschützt und werden durch einen Kurzschluss nicht beschädigt. Es ist möglich, das rapidM2M C32x sowohl am Ende als auch mittels Stichleitungen an den CAN-Bus anzubinden.
  • Seite 67: Technische Details Zur Rs232-Schnittstelle

    Kapitel 7 Installation 7.4.7 Technische Details zur RS232-Schnittstelle Hinweis: Die RS232-Schnittstelle des rapidM2M C32x ist kompatibel zur Norm TIA/EIA-232-F. Die Ausgangstreiber sind gegen Überlastung geschützt und werden durch einen Kurzschluss auf GND oder +/-15V nicht beschädigt. Die Eingänge sind mit einem 5kΩ Abschlusswiderstand versehen. Baudrate 2400- 115200...
  • Seite 68: Technische Details Zur Usb-Schnittstelle

    Studio finden Sie im Kapitel "rapidM2M Studio " auf Seite 105. Erläuterungen der Funktionsweise des Konfigurationsprogramms DeviceConfig finden Sie im Kapitel "DeviceConfig " auf Seite 85. 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: Technische Details Zu Den Ausgängen

    Kapitel 7 Installation 7.4.9 Technische Details zu den Ausgängen 7.4.9.1 Potentialfreier Schaltkontakt (NO, CC) Wichtiger Hinweis: Der Benutzer muss dafür sorgen, dass der Strom über den potentialfreien Schaltkontakt2A(Relais-Mode) bzw. 130mA (Optoswitchs-Mode) nicht überschreitet. Im Ruhezustand ist der Arbeitskontakt des Relais bzw. des Optoswitchs geöffnet (Normally Open). Ersatzschaltbild für den potentialfreien Schaltkontakt Allgemein Spannungsfestigkeit (CC, NO)
  • Seite 70 Sobald das rapidM2M C32x ausschließlich vom Pufferakku versorgt wird, fallen folgende Baugruppen aus: CAN-Schnittstelle (Dadurch ist auch keine Kommunikation mit den Erweiterungsmodulen mehr möglich.) Ansteuerung der Relais (d.h. die Arbeitskontakte gehen in den Ruhezustand "NO" über). Die Ansteuerung des Optoswitchs ist davon nicht betroffen. 5V Versorgung an COM2 (RS232-Schnittstelle) Ein durch Hardware realisierter Regler sorgt dafür, dass der Pufferakku nur geladen wird, wenn die Umgebungstemperatur den zulässigen Bereich (0 ...+45°C ) nicht verletzt.
  • Seite 71: Technische Details Zur Energieversorgung

    Kapitel 7 Installation 7.4.11 Technische Details zur Energieversorgung Prinzipschaltbild der Energieversorgung V IN 9...32VDC (+/-10%) Leistungsaufnahme typ. 5W (ohne Sensoren) max. 9W Eingangskapazität 330µF Sicherung 1,6A T Verpolungsschutz gilt für den laufenden Betrieb. Durch die Eingangskapazität tritt zum Einschaltzeitpunkt eine Stromspitze auf. Um im Falle eines Versorgungsspannungsausfalls zuverlässig auf den integrierten Pufferakku umschalten zu können, ist das rapidM2M C32x mit einer relativ großen Eingangskapazität (330µF ) ausgestattet.
  • Seite 73: Kapitel 8 Inbetriebnahme

    Für die Installation, Inbetriebnahme und den Betrieb des Gesamtsystems werden neben dieser Bedienungsanleitung möglicherweise zusätzliche Anleitungen oder technische Beschreibungen benötigt. Diese Anleitungen liegen den jeweiligen Zusatzgeräten oder Sensoren bei bzw. stehen auf der Microtronics - Webseite zum Download bereit. 8.3 Allgemeine Grundsätze Die Inbetriebnahme des gesamten Messsystems darf erst nach Fertigstellung und Prüfung der Installation...
  • Seite 74: Kommunikation Mit Dem Gerät Testen

    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 2. Konfigurieren Sie die erstellte Site / Applikation entsprechend Ihren Anforderungen (siehe "Messstellenkonfiguration" auf Seite 78). Wurde die Site nicht auf Basis einer IoT Applikation erstellt, müssen Sie auch noch den Data Descriptor und die Device Logic über den Konfigurationsabschnitt "Steuerung"...
  • Seite 77: Kapitel 9 Benutzerschnittstellen

    Kapitel 9 Benutzerschnittstellen Kapitel 9 Benutzerschnittstellen Die Konfiguration des rapidM2M C32x erfolgt über das Web-Interface am myDatanet-Server (siehe "Benutzerschnittstelle am myDatanet-Server" auf Seite 78), dessen Web-Adresse Sie von Ihrem zuständigen Vertriebspartner erhalten. 9.1 Benutzerschnittstelle am rapidM2M C32x 9.1.1 Bedienelemente Bedienelemente 1 Reset Taster 3 MDN Taste (frei verwendbar, Auswertung durch die Device Logic)
  • Seite 78: Benutzerschnittstelle Am Mydatanet-Server

    9.2 Benutzerschnittstelle am myDatanet-Server 9.2.1 Messstellenkonfiguration Hinweis: Abhängig vom jeweiligen Benutzerlevel sind einige der in den folgenden Unterkapiteln erwähnten Konfigurationsfelder unter Umständen ausgeblendet. Wenden Sie sich in diesem Fall an den Administrator des myDatanet-Servers. Die Eingabemaske zur Konfiguration der Messstelle erreichen Sie durch Klicken auf den Messstellennamen in der Messstellenliste (siehe "Benutzerhandbuch für myDatanet-Server "...
  • Seite 79: Steuerung

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

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

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

    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 83 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 Letzter jeweils der letzte Zeitstempel der betreffenden Operation Verbindungsaufbau Letzter Wakeup Letzter...
  • Seite 84: Gprs

    Firmware Typ Released Nur Firmwareversionen bei denen sowohl interner Test als auch Feldtest erfolgreich waren, werden installiert (Fehlfunktionen nahezu ausgeschlossen). Release Candidate Nur Firmwareversionen bei denen der interne Test erfolgreich war, werden installiert (Fehlfunktionen nicht ausgeschlossen). Beta Release Auch Firmwareversionen bei denen noch nicht alle internen Tests erfolgreich abgeschlossen sind, werden installiert (Fehlfunktionen durchaus möglich).
  • Seite 85: Kapitel 10 Deviceconfig

    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 86: Funktionsprinzip

    10.3 Funktionsprinzip Die folgende Beschreibung bezieht sich speziell auf die Verwendung des Konfigurationsprogramms DeviceConfig in Verbindung mit dem rapidM2M C32x . Funktionsprinzip 1 rapidM2M C32x 3 myDatanet-Server 2 PC mit installiertem Konfigurationsprogramm 4 Client, der mittels Web-Browser auf die DeviceConfig Oberfläche des myDatanet-Servers zugreift Wichtiger Hinweis: Bei der USB-Schnittstelle handelt es sich um eine Serviceschnittstelle, die durch den im Lieferumfang enthaltenen Dichtstopfen vor Verschmutzung geschützt werden muss,...
  • Seite 87: Installation

    10.4 Installation Das folgende Kapitel beschreibt den Installationsprozess unter Windows 7. 1. Führen Sie die Datei "InstDeviceConfig.exe" aus, um den Installationsprozess zu starten. Hinweis: Verbinden Sie das Gerät bzw. den USB BLE-Adapter (300685) erst nach Abschluss des Installationsprozesses mit Ihrem PC, da die benötigten Treiber erst während dieses Vorgangs installiert werden.
  • Seite 88 2. Folgen Sie den Anweisungen des Setup Wizzards bis Sie zu der folgenden Ansicht gelangen. Für den ordnungsgemäßen Betrieb müssen die folgenden Treiber zwingend installiert werden. Installation der USB-Treiber für die Geräte Installation des Treibers für den USB BLE-Adapter Installation der USB-Treiber für Geräte auf M1-Basis Installation der USB-Treiber für Geräte auf M2/M3-Basis Rev.
  • Seite 89: Menü Des Deviceconfig

    3. Wenn Sie schließlich zur folgenden Ansicht gelangen, schließen Sie den Installationsvorgang durch Klicken auf den Button "Finish" ab. Setup abschließen 10.5 Menü des DeviceConfig 10.5.1 Settings Menüpunkt "Settings" 10.5.1.1 Options Über den Menüpunkt "Settings -> Options" lassen sich Einstellungen zu den COM-Ports an denen der USB- Funksender (206.657) bzw.
  • Seite 90 Menüpunkt "Settings -> Options" 1 aktiviert/deaktiviert die automatische Suche nach 4 COM-Port, der mit dem USB-Funksender dem USB-Funksender (206.657) an allen (206.657) verbunden ist (nur bei deaktivierter verfügbaren COM-Ports automatischer Suche sichtbar) 2 aktiviert/deaktiviert die automatische Suche nach 5 COM-Port, der mit dem USB BLE-Adapter dem USB BLE-Adapter (300685) an allen (300685) verbunden ist (nur bei deaktivierter verfügbaren COM-Ports...
  • Seite 91: Verbindung Zu Einem Gerät Mit Usb Schnittstelle Herstellen

    10.6 Verbindung zu einem Gerät mit USB Schnittstelle herstellen 1. Starten Sie das Konfigurationsprogramm DeviceConfig . DeviceConfig 2. Verbinden Sie das rapidM2M C32x mittels USB-Kabel mit dem PC. 3. Wählen Sie Ihr Gerät anhand der Seriennummer aus der Liste der gefundenen Geräte aus. Liste der gefundenen Geräte Rev.
  • Seite 92 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 rapidM2M C32x Rev. 03...
  • Seite 93: Karteireiter "Log

    10.7 Karteireiter "Log" Dieser Karteireiter dient der Verwaltung der Log-Einträge. Er ermöglicht das Laden der Einträge vom rapidM2M C32x , das Speichern als *.tsv-Datei und das Löschen der Einträge aus dem Speicher des rapidM2M C32x . Karteireiter "Log" 1 Aktiviert die detaillierte Darstellung der 5 löscht die Log-Einträge aus dem Speicher des Logeinträge Geräts...
  • Seite 94 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 95: Karteireiter "Firmware

    10.8 Karteireiter "Firmware" Dieser Karteireiter ermöglicht das direkte Einspielen der Firmware über die USB-Schnittstelle oder die Bluetooth Low Energy Schnittstelle. Es stehen 2 Varianten für das Updaten der Firmware zur Verfügung: Mittels zuvor heruntergeladenem Firmwarepaket Durch direktes Laden vom myDatanet-Server Karteireiter "Firmware"...
  • Seite 97: Kapitel 11 Mydatanet-Server

    Kapitel 11 myDatanet-Server Kapitel 11 myDatanet-Server Hinweis: Alle Screenshots zeigen den myDatanet-Server in der Version 50v007 unter Verwendung des Standard-Farbschemas. Bei neueren Versionen können geringfügige Änderungen am Erscheinungsbild des Servers vorgenommen worden sein. 11.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 98: Bereich "Kunden

    11.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 99 Kapitel 11 myDatanet-Server 3 Liste der Tags, die mindestens einem der in der Kundenliste angezeigten Kunden zugewiesen sind. Wurde die Kundenliste mittels Suchfeld oder Auswahl eines Tags beschränkt, wird dies bei der Erstellung der Liste der Tags berücksichtigt. Sobald die Kundenliste durch Auswahl eines Tags eingeschränkt wurde, erscheint am Ende der Liste der Tags ein Kreuz.
  • Seite 100: Bereich "Messstellen" Auf Kundenebene

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

    Kapitel 11 myDatanet-Server 2 Liste der Auswertungen (siehe "Auswertungen" auf Seite 101) 3 Liste der Sites / Applikationen (siehe "Site" auf Seite 78) 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.
  • Seite 102 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 103 Kapitel 11 myDatanet-Server 4. Ändern Sie, falls erforderlich, den vorgeschlagenen Namen der Site, wählen Sie den gewünschten Sitetyp bzw. die gewünschte Applikation aus der Dropdown-Liste aus und klicken Sie anschließend auf den "Hinzufügen" Button. Anlegen der Messstelle abschließen 1 Name der Site (frei wählbare) 3 Button "Hinzufügen"...
  • Seite 105: Kapitel 12 Rapidm2M Studio

    Ä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: Voraussetzungen

    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. 03...
  • Seite 107: Projekt Dashboard

    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: Codebed

    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: Testbed

    12.5 TESTbed TESTbed des rapidM2M Studio 1 Debug Konsole 2 Öffnet zuerst das Fenster zum Auswählen und Verbinden des "Device under test" und dann das Fenster für die Eingabe der Zugangsdaten für das "Backend under test" 3 Informationen zum "Device under test" 4 Watches Panel 5 Informationen zum "Backend under test"...
  • Seite 111: Kapitel 13 Device Logic (Pawn)

    Kapitel 13 Device Logic (Pawn) Kapitel 13 Device Logic (Pawn) 13.1 Allgemein Das folgende Kapitel beschreibt die Funktionalität der Device Logic. Bei der verwendeten Programmiersprache handelt es sich um "Pawn" (vormals SMALL), eine C-ähnliche Skriptsprache, welche auf embedded Systemen läuft. Zusätzliche detaillierte Informationen finden Sie auf der Website der Entwickler: http://www.compuphase.com/pawn/pawn.htm.
  • Seite 112: Compiler-Optionen

    13.2 Compiler-Optionen Komprimierung des Pawn Programmcodes // Über den Parameter wird angegeben welche der Sektionen komprimiert werden // sollen // 0: keine Komprimierung (default) // 1: DATA // 2: DATA und CODE // 3: DATA, CODE und TABELS #pragma amxcompress <0-3> 13.3 rapidM2M Device API 13.3.1 Konstanten Returncodes für allgemeine Zwecke...
  • Seite 113: Timer, Datum & Zeit

    Kapitel 13 Device Logic (Pawn) 13.3.2 Timer, Datum & Zeit 13.3.2.1 Arrays mit symbolischen Indizes TrM2M_DateTime detaillierte Aufschlüsselung von Datum und Zeit // year Jahr relativ zum Jahr 2000, d.h. 14 für das Jahr 2014 // month Monat // day // hour Stunden // minute...
  • Seite 114 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 115 Kapitel 13 Device Logic (Pawn) native rM2M_SetDateTime(datetime[TrM2M_DateTime], flags=0); setzt Datum und Zeit des Systems auf die in der übergebenen Struktur enthaltenen Werte Parameter Erklärung datetime Struktur, die eine detaillierte Aufschlüsselung von Datum und Zeit enthält (siehe "TrM2M_DateTime" im Kapitel "Arrays mit symbolischen Indizes" auf Seite 113). .timestamp = 0: Die in .year, .month, .day, .hour, .minute und .second enthalten Werte werden für das Setzen von Datum/Zeit...
  • Seite 116 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 117 Kapitel 13 Device Logic (Pawn) native rM2M_TimerAddExt(funcidx, bool:cyclic, time); erzeugt einen neuen ms Timer Parameter Erklärung funcidx Index der öffentlichen Funktion, die nach Ablauf des Timers aufgerufen werden soll Typ der Funktion: public func(); cyclic Einstellung für das Verhalten nach Ablauf des Timerintervalls: true: Der Timer soll nach dem Ablauf des Intervalls neu gestartet werden.
  • Seite 118: Uplink

    13.3.3 Uplink 13.3.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 119: Konstanten

    Kapitel 13 Device Logic (Pawn) 13.3.3.2 Konstanten SIM-Status //Verbindung kann per Script ausgelöst werden RM2M_SIM_STATE_NONE = 0, //Initialzustand RM2M_SIM_STATE_PRODUCTION = 1, //Neu produziertes Gerät liegt auf Lager RM2M_SIM_STATE_HOT = 2, //Gültiger Vertrag //Auslösen der Verbindung per Script nicht möglich RM2M_SIM_STATE_COLD = 3, //Vertragsende oder Fair-Use Verletzung RM2M_SIM_STATE_DISCARDED...
  • Seite 120 Kommunikationsmodus-Flags Konfigurationsflags für die Funktion rM2M_TxSetMode() RM2M_TXMODE_SUPPRESS_SYNC = 0b00000001, /* keine aut. Sync. mit dem Server bei Änderung der Verbindungsart */ Verbindungsstatus Rückgabewerte der Funktion rM2M_TxGetStatus() RM2M_TX_FAILED = 0b0000000001, // Verbindungsaufbau fehlgeschlagen RM2M_TX_ACTIVE = 0b0000000010, // GPRS-Verbindung besteht RM2M_TX_STARTED = 0b0000000100, // Verbindungsaufbau gestartet RM2M_TX_RETRY = 0b0000001000, // Wartezeit bis zum Retry RM2M_TX_WAKEUPABLE...
  • Seite 121 Kapitel 13 Device Logic (Pawn) // Netzwerkbezogene Fehler (GSM, GPRS, PDP, etc.) RM2M_TXERR_MODEM_NETWORK = 50, // unspecified network related error RM2M_TXERR_MODEM_GSM_BAND_SEL, // GSM not available (e.g. error with antenna) RM2M_TXERR_MODEM_NETLOCK, /* error registering within network (e.g. not allowed) */ RM2M_TXERR_MODEM_POSUPDATE, // error with GSM position update RM2M_TXERR_MODEM_PDP_CTX, // error activating PDP context...
  • Seite 122 // TCP bezogene Ethernet Fehler RM2M_TXERR_ETH_TCP = 340, // unspecified TCP related Ethernet error RM2M_TXERR_ETH_TCP_OPEN_TIMEOUT, // timeout opening TCP connection RM2M_TXERR_ETH_TCP_SEND_TIMEOUT, // timeout sending data RM2M_TXERR_ETH_TCP_CONNECT, // error connecting to server RM2M_TXERR_ETH_TCP_FAILED, // other error concerning TCP connection Verfügbare Uplink Interfaces Wählbare Uplink Interfaces für die Funktion rM2M_TxSelectItf() RM2M_TXITF_NONE = 0,...
  • Seite 123: Callback Funktionen

    Kapitel 13 Device Logic (Pawn) 13.3.3.3 Callback Funktionen public func(const data[], len, timestamp, timestamp256); vom Device Logic Entwickler bereitzustellende Funktion, die nach dem Lesen eines Datensatzes (mittels der Funktion "rM2M_ReadData()") aus dem internen Flash-Speicher aufgerufen wird. Wichtiger Hinweis: Der Parameter "timestamp256" wurde erst bei späteren Firmware- Versionen hinzugefügt.
  • Seite 124: Funktionen

    13.3.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 125 Kapitel 13 Device Logic (Pawn) 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.
  • Seite 126 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 > RM2M_TXERR_NONE: letzter Verbindungsaufbau fehlgeschlagen.
  • Seite 127 Kapitel 13 Device Logic (Pawn) 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_TxItfGetStats(stats[TrM2M_TxItfStats], len=sizeof stats);...
  • Seite 128 native rM2M_SetTCPKeepAlive(time=0); setzt das Intervall, in dem die Keep Alive Pings während des online-Modus gesendet werden Parameter Erklärung time zeitlicher Abstand, in dem die Keep Alive Pings gesendet werden in der Firmware hinterlegte Standardeinstellung wird verwendet (15min. 3sec.) < in 1sec. Schritten 241: in 5min.
  • Seite 129 Kapitel 13 Device Logic (Pawn) native rM2M_GetRSSI(flags=0); liefert die Signalstärke am für den Uplink verwendeten Kommunikationsinterface Erklärung Rückgabewert Signalstärke in [dBm] RM2M_RSSI_EXTENDED_VALUE nicht gesetzt: maximaler Wertebereich: -127...127 Out of Range bei: -128 RM2M_RSSI_EXTENDED_VALUE gesetzt: maximaler Wertebereich: -32767 ... 32767 Out of Range bei: -32768 GSM-Werte sind im Bereich -113 ...
  • Seite 130 native rM2M_LiveData(const data{}, len); überträgt einen Datensatz als Live-Daten an den Server. Ein Aufruf dieser Funktion ist nur gestattet, wenn sich das Gerät im "online"-Modus befindet und eine aktive Verbindung zum Server besteht. Benutzen Sie die Funktionen "rM2M_Pack", "rM2M_SetPacked" oder "rM2M_SetPackedB", um den Datenbereich zu erzeugen.
  • Seite 131 Kapitel 13 Device Logic (Pawn) native rM2M_ReadData(recidx, funcidx); liest einen im internen Flash gespeicherten Datensatz aus und ruft daraufhin die Funktion, deren Index übergeben wurde, auf. Parameter Erklärung recidx Index des zu lesenden Datensatzes (-1 = letzter/aktuellster Datensatz, -2 = vorletzter Datensatz, ..
  • Seite 132 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 133 Kapitel 13 Device Logic (Pawn) native rM2M_CfgRead(cfg, pos, data{}, size); liest einen Datenblock von der angegeben Position aus einem Konfigurationsspeicherblock. Der Funktion wird auch übergeben, von welchem der 10 verfügbaren Speicherblocks im internen Flash- Speicher gelesen werden soll. Benutzen Sie die Funktionen "rM2M_Pack", "rM2M_GetPacked" oder "rM2M_GetPackedB", um gelesene Daten zu entpacken.
  • Seite 134: Encoding

    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 135: Funktionen

    Kapitel 13 Device Logic (Pawn) 13.3.4.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 136 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 137 Kapitel 13 Device Logic (Pawn) native rM2M_GetPacked(const data{}, pos, &{Float,Fixed,_}:value, size=4, bool:bigendian=false); liefert den Wert, der sich an der angegebenen Position im einem Array befindet Wichtiger Hinweis: Diese Funktion wird zwar weiterhin zugunsten der Abwärtskompatibilität unterstützt, sollte aber bei neuen Projekten nicht mehr verwendet werden, da es bei Unsigned- Datentypen zu Problemen kommen kann.
  • Seite 138 native rM2M_GetPackedB(const data{}, pos, block{}, size); liest einen Datenblock, der sich an der angegebenen Position in einem Array befindet Parameter Erklärung data Array, das als Datenbereich für einen Datensatz oder eine Konfiguration verwendet werden soll Byteoffset innerhalb des Arrays zur Bestimmung der Position, von der die Daten gelesen werden sollen block Array zur Aufnahme der zu lesenden Daten...
  • Seite 139 Kapitel 13 Device Logic (Pawn) native rM2M_Pack(const data{}, pos, &{Float,Fixed,_}:value, type); Funktion für den Zugriff auf gepackte Daten. Wurde das Bit0 (RM2M_PACK_GET) des Parameters "type" gesetzt, liefert die Funktion den Wert, der sich an der angegebenen Position im Array befindet. Andernfalls schreibt die Funktion den übergebenen Wert an die angegebene Position ins Array.
  • Seite 140: Registry

    13.3.5 Registry 13.3.5.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 40. //Systemspezifische Daten RM2M_REG_SYS_OTP = 0, // einmalig im Zuge der Produktion (Empfehlung) RM2M_REG_SYS_FLASH = 1, // im Betrieb veränderbar (nicht durch Script) //Applikationsspezifische Daten RM2M_REG_APP_OTP...
  • Seite 141: Callback Funktionen

    Kapitel 13 Device Logic (Pawn) 13.3.5.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 140), der geändert wurde 13.3.5.3 Funktionen native rM2M_RegInit(reg, flags, data{}, len=sizeof data);...
  • Seite 142 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 40. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 140) name Name des Eintrags string...
  • Seite 143 Kapitel 13 Device Logic (Pawn) native rM2M_RegSetString(reg, const name[], const string[]); schreibt eine Zeichenkette in einen Registrierungsspeicherblock. Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 40. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke" im Kapitel "Konstanten" auf Seite 140) name Name des Eintrags Wenn bereits ein Eintrag mit diesem Namen existiert, wird die bestehende...
  • Seite 144 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 40. Parameter Erklärung Index des Registrierungsspeicherblocks (siehe "Indizes der Registrierungsspeicherblöcke"...
  • Seite 145: Position

    Kapitel 13 Device Logic (Pawn) native rM2M_RegOnChg(funcidx); legt die Funktion fest, die aufgerufen werden soll, wenn sich einer der Registrierungsspeicherblöcke geändert hat. Detaillierte Informationen zu den Registrierungsspeicherblöcken finden Sie im Kapitel "Registrierungsspeicherblöcke" auf Seite 40. 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 146 TrM2M_PosUpdateUMTS Informationen über eine UMTS-Zelle im Empfangsbereich // type gibt den Typ des Eintrags an (RM2M_POSUPDATE_TYPE_UMTS) // stamp Zeitpunkt zu dem die Daten ermittelt wurden // mcc MCC (Mobile Country Code) der GSM-Zelle // mnc MNC (Mobile Network Code) der GSM-Zelle // lac LAC (Location Area Code) der GSM-Zelle // cid...
  • Seite 147: Konstanten

    Kapitel 13 Device Logic (Pawn) 13.3.6.2 Konstanten Liste der unterstützten Typen von Zell/Netzwerk-Informationseinträgen mögliche Typen der Zell/Netzwerk-Informationseinträge, die mittels der Funktion "rM2M_ EnumPosUpdate()" vom System gelesen werden können RM2M_POSUPDATE_TYPE_ERR = 0, //ungültiger Eintrag RM2M_POSUPDATE_TYPE_GSM = 1, //Informationen über eine GSM-Zelle RM2M_POSUPDATE_TYPE_UMTS = 2, //Informationen über eine UMTS-Zelle RM2M_POSUPDATE_TYPE_LTE = 3, //Informationen über eine LTE-Zelle...
  • Seite 148: Funktionen

    13.3.6.3 Funktionen native rM2M_SetPos(Lat, Long, Elev, Qual, SatUsed); speichert die GPS-Positionsinformationen im Gerät. Es erfolgt keine historische Aufzeichnung. D.h. die aktuellen Positionsinformationen überschreiben immer die letzte bekannte Position. Die Informationen werden zum myDatanet-Server übertragen und können z.B. per API (siehe "API" auf Seite 217) ausgelesen werden.
  • Seite 149 Kapitel 13 Device Logic (Pawn) native rM2M_DecodeNMEA(const sentence{}, data[], len=sizeof data); decodiert einen übergebenen NMEA Datensatz Parameter Erklärung sentence NMEA-Datensatz vom einem GPS-Empfänger, beginnend mit dem Zeichen '$'. Wichtiger Hinweis: Die Terminierung des Strings ('\0') muss unmittelbar hinter der Checksumme erfolgen. data Puffer (Cell-Array) zur Aufnahme der decodierten Daten [0] :...
  • Seite 150 native rM2M_SetPosNMEA(const Sentence{}); entnimmt die GPS-Positionsinformationen aus dem übergebenen NMEA-Datensatz und speichert sie im Gerät. Es erfolgt keine historische Aufzeichnung. D.h. die aktuellen Positionsinformationen überschreiben immer die letzte bekannte Position. Die Informationen werden zum myDatanet-Server übertragen und können z.B. per API (siehe "API" auf Seite 217) ausgelesen werden. Parameter Erklärung Sentence...
  • Seite 151 Kapitel 13 Device Logic (Pawn) native rM2M_GetPos(&Lat, &Long, &Elev, &Qual=0, &SatUsed=0); liest die im Gerät gespeicherten GPS-Positionsinformationen aus Parameter Erklärung Variable zur Aufnahme der geographischen Breite in Grad (Auflösung: 0,000001°) -90 000 000 = Südpol 90° Süd 0 = Äquator +90 000 000 = Nordpol 90°...
  • Seite 152 native rM2M_EnumPosUpdate(...); listet die im Gerät gespeicherten Informationen über die GSM/UMTS/LTE-Zellen und WiFi-Netzwerke im Empfangsbereich auf. Bei dieser Funktion wird eine variable Liste an Parametern verwendet. Die zu übergebenden Parameter sind vom Verwendungszweck abhängig. Folgender Ablauf wird empfohlen: 1. Auslesen der Anzahl von verfügbaren Zell/Netzwerk-Informationseinträgen new nEnum;...
  • Seite 153 Kapitel 13 Device Logic (Pawn) native rM2M_GetGSMPos(posidx, pos[TrM2M_GSMPos]=0); liefert die Anzahl der GSM/UMTS/LTE-Zellen, für die gültige Informationen im Gerät gespeichert sind (posidx < 0 ) bzw. liest die im Gerät gespeicherten Informationen über eine GSM/UMTS/LTE-Zelle im Empfangsbereich aus (posidx >= 0) Hinweis: Nutzen Sie die Funktion "rM2M_EnumPosUpdate()"...
  • Seite 154: Mathematik

    13.3.7 Mathematik Hilfreiche Konstanten Definintition Wert Beschreibung 2.7182818284590452354 M_LOG2E 1.4426950408889634074 M_LOG10E 0.43429448190325182765 M_LN2 0.69314718055994530942 ln 2 M_LN10 2.30258509299404568402 ln 10 M_PI 3.14159265358979323846 π M_PI_2 1.57079632679489661923 π/2 M_PI_4 0.78539816339744830962 π/4 M_1_PI 0.31830988618379067154 1/π M_2_PI 0.63661977236758134308 2/π M_2_SQRTPI 1.12837916709551257390 2/sqrt(π) M_SQRT2 1.41421356237309504880 sqrt(2) M_SQRT1_2 0.70710678118654752440...
  • Seite 155 Kapitel 13 Device Logic (Pawn) native max(value1, value2); liefert den größeren der beiden übergebenen Werte Parameter Erklärung value1 zwei Werte, von denen der größere ermittelt werden soll value1 Erklärung Rückgabewert der größere der beiden übergebenen Werte native clamp(value, min=cellmin, max=cellmax); prüft, ob der übergebene Wert zwischen "min"...
  • Seite 156 native Float:asin(Float:x); arcsin(x) im Bereich [-π/2, π/2], x Element von [-1, 1] native Float:acos(Float:x); arccos(x) im Bereich [0, π], x Element von [-1, 1] native Float:atan(Float:x); arctan(x) im Bereich [-π/2, π/2] native Float:atan2(Float:y, Float:x); arctan(y/x) im Bereich [-π, π] native Float:sinh(Float:x); Sinus Hyperbolicus von x native Float:cosh(Float:x);...
  • Seite 157: Char & String

    Kapitel 13 Device Logic (Pawn) 13.3.8 Char & String Die Arbeitsweise der folgenden Funktionen entspricht im Wesentlichen jener der Standard ANSI-C Implementierung: native strlen(const string[]); liefert die Länge von string (ohne '\0') Parameter Erklärung string Zeichenkette, deren Länge bestimmt werden soll Erklärung Rückgabewert Anzahl der Zeichen ohne der abschließenden '\0'...
  • Seite 158 native strcat(dest[], const source[], maxlength=sizeof dest); fügt die Zeichenkette source an die Zeichenkette dest an (inklusive '\0') Parameter Erklärung dest Array zur Aufnahme des Ergebnisses. Dieses Array enthält bereits eine Zeichenkette an die die Zeichenkette source angefügt werden soll. source Zeichenkette, die an die im Array dest enthaltene Zeichenkette angefügt werden soll maxlength...
  • Seite 159 Kapitel 13 Device Logic (Pawn) native strrchr(const string[], char); sucht ein Zeichen (letztes vorkommen) in einer Zeichenkette Parameter Erklärung string Zeichenkette, die durchsucht werden soll 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...
  • Seite 160 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 161 Kapitel 13 Device Logic (Pawn) 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...
  • Seite 162 native memcpy_native(dst{}, const dstofs, const src{}, const srcofs, const bytes, const dst_ cells=sizeof dst, const src_cells=sizeof src); kopiert Bytes von einem Puffer in einen anderen Parameter Erklärung Ziel-Puffer, in den die Daten kopiert werden sollen dstofs Position (Byteoffset) im Ziel-Puffer, an die die Daten kopiert werden sollen Quell-Puffer, aus dem die Daten kopiert werden sollen srcofs Position (Byteoffset) innerhalb des Quell-Puffers, ab der die Daten kopiert...
  • Seite 163 Kapitel 13 Device Logic (Pawn) native memset_native(dst{}, const dstofs, const srcval, const bytes, dstcells=sizeof dst); schreibt den gewünschten Wert in die einzelnen Bytes des übergebenen Puffers Parameter Erklärung Puffer, in dem die Bytes auf den gewünschten Wert gesetzt werden sollen dstofs Position (Byteoffset) innerhalb des übergebenen Puffers, ab der die Bytes auf den gewünschten Wert gesetzt werden sollen...
  • Seite 164: Crc & Hash

    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. native toupper(c);...
  • Seite 165: Funktionen

    Kapitel 13 Device Logic (Pawn) 13.3.9.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...
  • Seite 166: Verschiedene Funktionen

    13.3.10 Verschiedene Funktionen 13.3.10.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 #define TablePointF[Float:.key, Float:.value]...
  • Seite 167 Kapitel 13 Device Logic (Pawn) 13.3.10.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 13.3.10.3 Funktionen native getapilevel(); gibt das implementierte API-Level der Skript-Engine aus Erklärung Rückgabewert...
  • Seite 168 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 169 Kapitel 13 Device Logic (Pawn) native CalcTable(key, &value, const table[][TablePoint], size = sizeof table); sucht einen bestimmten Wert in der "key"-Spalte der übergebenen Stützpunktabelle und liefert den entsprechenden Wert der "value"-Spalte der Tabelle. Liegt der gesuchte Wert zwischen zwei Stützpunkten, wird der Rückgabewert zwischen den zwei angrenzenden "value"-Spaltenwerten linear interpoliert (Geradengleichung: y = k*x + d).
  • Seite 170 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 166) 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 171 Kapitel 13 Device Logic (Pawn) native getarg(arg, index=0); liefert den Wert des Arguments Parameter Erklärung Die Sequenznummer des Arguments. Verwenden Sie 0 für das erste Argument. index Index, falls sich "arg" auf ein Array bezieht Erklärung Rückgabewert Diese Funktion liefert ein Argument aus einer variablen Argumentenliste. Wenn das Argument ein Array ist, gibt "index"...
  • Seite 172 native delay_us(us); blockierende Delay-Funktion. Die Ausführung der Device Logic wird gestoppt und die folgende Codezeile erst nach Ablauf der Verzögerungszeit ausgeführt. Parameter Erklärung Verzögerungszeit (1...10000 [µs]). Erklärung Rückgabewert OK, wenn erfolgreich ERROR, wenn ein Fehler auftritt 13.3.11 Console native print(const string[]); druckt den angegebenen String auf die Standardausgabe Parameter Erklärung...
  • Seite 173 Kapitel 13 Device Logic (Pawn) native setbuf(buf{}, size); stellt der Firmware einen Puffer aus dem für das Script reservierten RAM-Bereich zur Verfügung der für die Ausgabe von Strings mittels der Funktion "printf()" verwendet wird. Beim Aufruf dieser Funktion wird vom in die Firmware integrierten Puffer mit einer Größe von 256 Byte auf den übergebenen Puffer umgeschaltet.
  • Seite 174 13.3.12.2 Funktionen native rM2M_SmsInit(funcidx, config); initialisiert den SMS-Empfang Parameter Erklärung funcidx Index der öffentlichen Funktion, die aufgerufen werden soll, wenn eine SMS empfangen wurde Typ der Funktion: public func(const SmsTel[], const SmsText[]); Wichtiger Hinweis: Wird eine SMS mit einer Länge von mehr als 160 Zeichen empfangen, wird diese sofort verworfen.
  • Seite 175 Kapitel 13 Device Logic (Pawn) 13.3.13 File Transfer 13.3.13.1 Arrays mit symbolischen Indizes TFT_Info Eigenschaften eines Dateieintrags // name Name der Datei // stamp Zeitstempel der Datei (Sekunden seit 31.12.1999) // stamp256 Bruchteil der nächsten begonnenen sec. (Auflösung 1/256 sec.) // size Dateigröße in Byte // crc...
  • Seite 176 Parameter Erklärung eindeutige Identifikation, mit der die Datei referenziert wird (wurde bei der Registrierung festgelegt) File Transfer Kommando, das vom System erhalten wurde und das die Callback Funktion verarbeiten muss data Dieser Parameter ist nur beim Empfang der folgenden File Transfer Kommandos relevant: FT_CMD_STORE: Array, das die Eigenschaften der Datei, die neu angelegt werden soll, enthält.
  • Seite 177 Kapitel 13 Device Logic (Pawn) 13.3.13.4 Funktionen native FT_Register(const name{}, id, funcidx); registriert eine Datei, die durch die Device Logic 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...
  • Seite 178 native FT_RegisterEnum(id, funcidx, props[TFT_Info], len=sizeof props); registriert einen Datei-Knoten, der durch die Device Logic zur Verfügung gestellt wird. Über einen Datei-Knoten können mehrer Dateien verwaltet werden. Parameter Erklärung eindeutige Identifikation, mit der der Datei-Knoten 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 179 Kapitel 13 Device Logic (Pawn) native FT_SetProps(id, stamp, size, crc, flags); setzt die Eigenschaften einer Datei Wichtiger Hinweis: Diese Funktion muss nach dem Empfang eines "FT_CMD_LIST" Befehls aufgerufen werden. Wichtiger Hinweis: Diese Funktion wird zwar weiterhin zugunsten der Abwärtskompatibilität unterstützt, sollte aber bei neuen Projekten nicht mehr verwendet werden. Alternativ sollte die Funktion "FT_SetPropsExt()"...
  • Seite 180 native FT_Read(id, const data{}, len); übergibt die Daten an das System, um sie zum myDatanet-Server zu übertragen. Bereitgestellt werden müssen die Daten durch die mittels "FT_Register()" festgelegte Callback Funktion. Wichtiger Hinweis: Diese Funktion muss nach dem Empfang eines "FT_CMD_READ" Befehls aufgerufen werden. Parameter Erklärung eindeutige Identifikation, mit der die Datei referenziert wird (wurde bei der...
  • Seite 181 Kapitel 13 Device Logic (Pawn) native FT_Written(id, len); bestätigt das Schreiben der Daten, die vom myDatanet-Server erhalten wurden. Der eigentliche Schreibvorgang muss durch die mittels "FT_Register()" festgelegte Callback Funktion erfolgen. Der Callback Funktion werden vom System die zu schreibenden Daten (siehe "Callback Funktionen" auf Seite 175) übergeben.
  • Seite 182 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 3000 SCRIPT_ERR NO SCRIPT keine gültige Device Logic vorhanden SCRIPT UPDATE neue Device Logic erhalten (1/2) (1/2) SCRIPT EXCEPT Exception Loop erkannt (4 Systemstarts nach LOOP Exeption innerhalb von 10min.) Die Device Logic wird deaktiviert und das Errorhandling aktiviert (siehe "Errorhandling"...
  • Seite 183 Kapitel 13 Device Logic (Pawn) Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 3000 SCRIPT_ERR SCRIPT DELETED Die Device Logic wurde manuell (z.B. mittels rapidM2M Studio) gelöscht. (2/2) (2/2) Die Verbindungsart „Intervall & Wakeup“ wurde aktiviert und alle 24h erfolgt eine Verbindung zum Server.
  • Seite 184 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 3019 AMX_ERR_ Datei oder Funktion nicht gefunden NOTFOUND 3020 AMX_ERR_INDEX ungültiger Index-Parameter (ungültiger Einstiegspunkt) 3021 AMX_ERR_DEBUG ## Debugger kann nicht ausgeführt werden 3022 AMX_ERR_INIT AMX nicht initialisiert (oder doppelt initialisiert) 3023 AMX_ERR_ Benutzer-Datenfeld kann nicht gesetzt werden USERDATA (Tabelle voll) 3024 AMX_ERR_INIT_...
  • Seite 185 Kapitel 13 Device Logic (Pawn) 13.5 Syntax 13.5.1 Allgemeine Syntax 13.5.1.1 Format Bezeichner, Zahlen und Zeichen werden durch Leerzeichen, Tabulatoren, Zeilenumbrüche und "Form Feed" getrennt. Eine Serie von einer oder mehreren dieser Separatoren wird als Leerraum erkannt. 13.5.1.2 Optionale Semikolons Semikolons (um ein Statement zu beenden) sind optional, wenn sie am Ende einer Zeile auftreten.
  • Seite 186 13.5.1.5 Reservierte Schlüsselworte Statements Operator Direktiven Andere assert defined defined defined break sizeof sizeof sizeof case state state state continue tagof tagof tagof default else exit goto return sleep state switch while 13.5.1.6 Numerische Konstanten 13.5.1.6.1 Numerische Integer-Konstanten Binär 0b gefolgt von einer Serie von 0 und 1 Dezimal eine Serie von Ziffern zwischen 0 und 9 Hexadezimal...
  • Seite 187 Kapitel 13 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 198) - lokale Variable Beispiel: new a;...
  • Seite 188: Eindimensionales Array

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

    Kapitel 13 Device Logic (Pawn) 13.5.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, ...
  • Seite 190: Operatoren Und Ausdrücke

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

    Kapitel 13 Device Logic (Pawn) 13.5.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 192 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 193 Kapitel 13 Device Logic (Pawn) 13.5.5.7 Boolean Ein logisches "false" wird durch einen Integer-Wert von 0 repräsentiert, ein logisches "true" durch einen Wert, der nicht 0 ist. Ergebnisse eines Vergleichs-Ausdrucks sind entweder 0 oder 1 und ihr "tag" wird auf "bool" gesetzt.
  • Seite 194: Priorität Der Operatoren

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

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

    Beispiel: example(n) new a = 0 switch (n) case 0..3: a = 0 case 4,6,8,10: a = 1 case 5,7: a = 2 case 9: a = 3 default: a = -1 return a 13.5.6.15 while ( Ausdruck ) Statement wertet den Ausdruck aus und führt das Statement aus, wenn das Ergebnis des Ausdrucks logisch "true"...
  • Seite 201 Kapitel 13 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 202 main() new v = 5 new f = faculty(v) faculty(n) assert n >= 0 new result = 1 while (n > 0) result *= n-- return result Egal welchen (positiven) Wert die Variable "n" am Beginn der "while"-Schleife hatte, am Ende der Funktion wird "n"...
  • Seite 203: Standardwerte Von Funktionsargumenten

    Kapitel 13 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 */ 13.5.7.2 Benannte Parameter versus positionsgebundene Parameter In den vorangegangenen Beispielen war die Reihenfolge der Parameter bei einem Funktionsaufruf wichtig, da jeder Parameter zu dem Funktionsparameter mit derselben Position kopiert wurde.
  • Seite 204 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 205 Kapitel 13 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 206 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 207 Kapitel 14 Data Descriptor Das Grundprinzip des rapidM2M C32x ist eine sogenannte Storage-2-Storage-Datenübertragung. Für diese Art der Datenübermittlung müssen weder das rapidM2M C32x 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 rapidM2M C32x an den Server übermittelten Daten sind somit frei gestaltbar.
  • Seite 208: Aufteilung Eines Strukturierten Messdatenkanals In Einzelne Datenfelder

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

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

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

    Die 7te Zeile beschreibt den vierten Messwert "Info" im verwendeten Messdaten-Container: Info: "Info" soll als Name für den Messwert verwendet werden. astr.50: Als Datentyp für den Messwert soll ein ANSI-String verwendet werden. Nach dem Punkt wird die Anzahl der Zeichen (50 im aktuellen Beispiel) angegeben. title: Bezeichnung des Messwerts, die am Server angezeigt wird index:...
  • Seite 217 Kapitel 15 API Kapitel 15 API Wichtiger Hinweis: Für die Verwendung der API (Application Programming Interface) sind die entsprechenden Lizenzen am myDatanet-Server erforderlich. Für nähere Informationen wenden Sie sich an Ihren zuständigen Vertriebspartner. 15.1 Allgemein Die API dient dazu, Daten aus dem myDatanet-Server zu exportieren sowie Daten in den myDatanet-Server zu importieren.
  • Seite 218 15.2.1 Übersicht rapidM2M Playground 1 Eingabefeld für den Benutzernamen 2 Eingabefeld für das Passwort 3 Auflistung der zur Verfügung stehenden HTTP-Kommandos. Die HTTP-Kommandos sind entsprechend ihrer Anwendungsgebiete gruppiert. 4 Abhängig vom gewählten HTTP-Kommando werden hier die Dropdown-Listen für die Auswahl des Kunden, des Benutzers und der Messstelle eingeblendet, die die entsprechende Wildcard ("$CID"...Kunde , "$UID"...Benutzer, "$SID"...Messstelle ) im Ressource-Pfad des HTTP-Kommandos ersetzen sollen.
  • Seite 219: Kapitel 16 Wartung

    Kapitel 16 Wartung Kapitel 16 Wartung Wichtiger Hinweis: Um Schäden am Instrument zu vermeiden, dürfen die in diesem Abschnitt der Anleitung beschriebenen Arbeiten nur von qualifiziertem Personal ausgeführt werden. Vor Wartungs-, Reinigungs- und/oder Reparaturarbeiten ist das Gerät unbedingt spannungsfrei zu machen.
  • Seite 221: Kapitel 17 Demontage/Entsorgung

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

    Kapitel 18 Fehlersuche und Behebung Kapitel 18 Fehlersuche und Behebung 18.1 Allgemeine Probleme Problem Ursache/Lösung Das Gerät zeigt keine Kabelverbindungen überprüfen (siehe "Anschluss der Sensoren, der Reaktion Aktoren und der Versorgung" auf Seite 50) Kommunikationsprobleme Laden Sie das Gerätelog mit Hilfe des DeviceConfig vom rapidM2M C32x (siehe "Benutzerhandbuch für DeviceConfig"...
  • Seite 224 Problem Ursache/Lösung Die Device Logic wird Prüfen Sie, ob bei der Konfiguration der Steuerung der korrekte Device nicht korrekt ausgeführt. Logic Typ ausgewählt wurde (siehe "Steuerung" auf Seite 79). Laden Sie das Gerätelog mit Hilfe des DeviceConfig vom rapidM2M C32x (siehe "Benutzerhandbuch für DeviceConfig"...
  • Seite 225: Log-Einträge Und Fehlercodes

    Kapitel 18 Fehlersuche und Behebung 18.2 Log-Einträge und Fehlercodes Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1000 POWER ON Neustart nach einem Spannungsausfall Watchdog Reset (z.B. aufgrund einer Exception) Reset wurde vom Gerät selbst ausgelöst (z.B. bei Firmwareupdate) Neustart aus einem anderen Grund. Sollte der "POWER ON"...
  • Seite 226 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1039 UV MODEM Die Akku-/Batteriespannung reicht wieder aus, RECOVER um eine stabile Verbindung herzustellen. 1161 LOG Fehler im Filesystem wurden behoben. Es kann REFORMATFILE dabei zum Datenverlust (Daten und/oder Log- Einträge) kommen. Der Parameter enthält nähere Informationen zu dem Problem.
  • Seite 227 Kapitel 18 Fehlersuche und Behebung Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1208 GPRS NETWORK NOT REGISTERED nicht registriert, Modem sucht derzeit keinen REGISTRATION neuen Betreiber zur Registrierung HOME registriert, Heimnetzwerk SEARCHING nicht registriert, aber Modem sucht derzeit nach einem neuen Betreiber, bei dem es sich registrieren kann DENIED Registrierung verweigert...
  • Seite 228 Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1310 USB USB-Verbindung wurde getrennt. DISCONNECTED 1335 LOG_SHT2X_ SHT2X SENSOR Der interne Temperatur-und STATE Luftfeuchtigkeitssensor liefert wieder gültige Werte SHT2X RH ERROR Beim Lesen des Luftfeuchtikeitswertes vom internen Temperatur-und Luftfeuchtigkeitssensor kam es zu einen Kommunikationsfehler.
  • Seite 229 Kapitel 18 Fehlersuche und Behebung Log-Eintrag Parameter Beschreibung Code Klartext Code Klartext 1601 SIM_STATE NONE SIM-Status wurde auf "NONE" geändert (Initialzustand). PRODUCTION SIM-Status wurde auf "PRODUCTION" geändert (ein neu produziertes Gerät liegt auf Lager). SIM-Status wurde auf "HOT" geändert (gültiger Vertrag).
  • Seite 230 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 231: Auswerten Des Gerätelogs

    Code 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 TCP Channel Fehler 1200 CHANNEL -965 --- Es wird versucht auf einen/von einem nicht mehr ABORTED verfügbaren TCP-Client zu schreiben/lesen.
  • Seite 232: Auswerten Des Gerätelogs Mittels Deviceconfig

    Eine genauere Beschreibung zur Auswertung des Gerätelogs am myDatanet-Server finden Sie im Handbuch des Servers ("Benutzerhandbuch für myDatanet-Server " 206.886). 18.3.2 Auswerten des Gerätelogs mittels DeviceConfig Mit Hilfe des Programms DeviceConfig können alle gespeicherten Logeinträge, auch jene, die noch nicht zum myDatanet-Server übertragen wurden, direkt über die USB-Schnittstelle aus des rapidM2M C32x gelesen werden.
  • Seite 233: Kapitel 19 Ersatzteile Und Zubehör

    Kapitel 19 Ersatzteile und Zubehör Kapitel 19 Ersatzteile und Zubehör 19.1 Montagesets Beschreibung Menge Bestellnummer Gehäuse für rapidM2M C3xx 301219 19.2 Antennen Beschreibung Menge Bestellnummer Antennenverlängerung SMA-M/SMA-F 2,5m 206.807 Flachantenne Disc SMA-M 2,5m 206.816 Winkeladapter SMA-M/SMA-F 300318 Stabantenne Multiband 2G/3G SMA-M 301075 Flachantenne Disc Multi Band 2xSMA-M 2m 301090...
  • Seite 234: Sonstiges Zubehör

    19.6 Sonstiges Zubehör Beschreibung Menge Bestellnummer myDatanet Tool Pen 206.646 Rev. 03...
  • Seite 235 Kapitel 20 Dokumentenhistorie Kapitel 20 Dokumentenhistorie Rev. Datum Änderungen 21.08.2020 Erste Version 25.03.2021 Kapitel "Konformitätserklärung" auf Seite 13 Konformitätserklärung aktualisiert (1/2) (1/2) Kapitel "Technische Daten" auf Seite 17 Angabe des systembedingten Overheads pro Datensatz von 10Bytes auf 11Bytes angepasst Kapitel "Registrierungsspeicherblöcke" auf Seite 40 Die Erklärungen der Registry-Einträge "latestAppVersion", "installedAppVersion"...
  • Seite 236 Rev. Datum Änderungen 25.03.2021 Kapitel "Beispiel" auf Seite 213 Kapitel hinzugefügt (2/2) (2/2) Kapitel "Spezialwerte der Datentypen" auf Seite 215 Kapitel hinzugefügt Kapitel "Demontage/Entsorgung" auf Seite 221 Hinweis auf die im Gerät enthaltene Lithium-Knopfzelle und die damit verbundenen Auswirkungen betreffend des Recycling bzw. der umweltgerechten Entsorgung des Geräts hinzugefügt Kapitel "Glossar"...
  • Seite 237 Kapitel 20 Dokumentenhistorie Rev. Datum Änderungen 19.08.2022 Kapitel "Technische Details zur CAN-Schnittstelle" auf Seite 65 Kapitel hinzugefügt (2/3) (2/3) Kapitel "Technische Details zur RS232-Schnittstelle" auf Seite 67 Kapitel hinzugefügt Kapitel "Technische Details zu den Ausgängen" auf Seite 69 Kapitel hinzugefügt Kapitel "Technische Details zum integrierten Pufferakku"...
  • Seite 238 Rev. Datum Änderungen 19.08.2022 Kapitel "Verschiedene Funktionen" auf Seite 166 Erklärung der Funktion "delay_us()" hinzugefügt (3/3) (3/3) Kapitel "File Transfer" auf Seite 175 Erklärung der File Transfer Kommandos "FT_CMD_ENUM" und "FT_CMD_ RETR" hinzugefügt Erklärung der vom Script-Entwickler bereitzustellenden Callback-Funktion um die Beschreibung, wie die File Transfer Kommandos "FT_CMD_ENUM"...
  • Seite 239: Kapitel 21 Glossar

    Die Geräte des Herstellers sind ab Werk mit Subscriber Identitiy Modules (SIM) zur mobilen Übertragung der Daten ausgestattet. Der Footprint bezeichnet jene Länder und Regionen, in denen eine Mobilfunkverbindung zur Verfügung steht(siehe www.microtronics.com/footprint). 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 240 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.
  • Seite 241: Kapitel 22 Kontaktinformationen

    Kapitel 22 Kontaktinformationen Kapitel 22 Kontaktinformationen Support & Service: Microtronics Engineering GmbH Hauptstrasse 7 3244 Ruprechtshofen Austria, Europe Tel. +43 (0)2756 7718023 support@microtronics.com www.microtronics.com Microtronics Engineering GmbH (Headquarters) Hauptstrasse 7 3244 Ruprechtshofen Austria, Europe Tel. +43 (0)2756 77180 Fax. +43 (0)2756 7718033 office@microtronics.com...
  • Seite 242 Zertifiziert durch TÜV AUSTRIA: EN ISO 9001:2015, EN ISO 14001:2015, ISO/IEC 27001:2013, EN ISO 50001:2011 für myDatanet | TÜV SÜD: ATEX Richtlinie 2014/34/EU © Microtronics Engineering GmbH. Alle Rechte vorbehalten. Fotos: Microtronics, shutterstock.com Microtronics Engineering GmbH | www.microtronics.com Hauptstrasse 7 | 3244 Ruprechtshofen | Austria | +43 2756 77180 | office@microtronics.com 301076 | Rev.03...

Inhaltsverzeichnis