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 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...
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.
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.
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.
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.
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...
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.
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...
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).
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...
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.
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.
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.
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...
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.
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.
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.
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.
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.
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...
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)
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...
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"...
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.
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.
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.
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...
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.
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.
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...
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"...
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.
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.
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...
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...
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.
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.
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...
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"...
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)
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 "...
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“...
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.
Kapitel 9 Benutzerschnittstellen 9.2.1.6 Grundeinstellungen Zeitzone Regionseinstellungen (nicht relevant für Rohmessdaten, da diese in UTC gespeichert werden) Sommerzeit Konfiguration für die automatische Zeitumstellung standard Die Konfiguration für die Zeitumstellung wird von der globalen Servereinstellung übernommen. automatische Zeitumstellung deaktiviert vordefinierte Einstellung für den amerikanischen Raum vordefinierte Einstellung für den europäischen Raum Standard Auswertung Auswahl der Auswertung, die durch einen Klick auf den Gerätelink in den Karten...
9.2.1.7 FTP-Export Einstellungen Hinweis: Dieser Konfigurationsabschnitt ist nur sichtbar, wenn die Lizenz "FTP Agent Extended" für den myDatanet-Server freigeschaltet wurde. FTP Export Profil aus FTP Export deaktiviert "Name eines Liste mit den FTP-Export-Profilen, die am Server angelegt wurden FTP Export (zum Anlegen eines FTP-Export-Profils siehe "Benutzerhandbuch für Profils"...
Seite 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...
Firmware Typ Released Nur Firmwareversionen bei denen sowohl interner Test als auch Feldtest erfolgreich waren, werden installiert (Fehlfunktionen nahezu ausgeschlossen). Release Candidate Nur Firmwareversionen bei denen der interne Test erfolgreich war, werden installiert (Fehlfunktionen nicht ausgeschlossen). Beta Release Auch Firmwareversionen bei denen noch nicht alle internen Tests erfolgreich abgeschlossen sind, werden installiert (Fehlfunktionen durchaus möglich).
10.1 Allgemein Das Konfigurationsprogramm DeviceConfig steht unter folgender Adresse gratis zum Download bereit: www.microtronics.com/deviceconfig Es handelt sich um ein Tool zur Konfiguration, Wartung, Fehleranalyse und Synchronisation. Es ist mit allen myDatanet Geräten, die über eine USB-Schnittstelle, eine Wireless M-Bus-Schnittstelle oder eine Bluetooth Low Energy Schnittstelle verfügen, kompatibel.
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,...
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.
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...
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...
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.
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"...
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...
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.
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.
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"...
Ä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...
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...
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"...
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.
12.5 TESTbed TESTbed des rapidM2M Studio 1 Debug Konsole 2 Öffnet zuerst das Fenster zum Auswählen und Verbinden des "Device under test" und dann das Fenster für die Eingabe der Zugangsdaten für das "Backend under test" 3 Informationen zum "Device under test" 4 Watches Panel 5 Informationen zum "Backend under test"...
Kapitel 13 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.
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...
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.
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...
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,...
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.
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.
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...
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.
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...
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"...
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...
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...
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 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);...
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...
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);...
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...
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;...
dennoch eine Variable. Um eine konstante Variable zu deklarieren, legen Sie das Schlüsselwort "const" zwischen das Schlüsselwort, das die Variablendeklaration ("new", "static") startet und den Namen der Variablen. Beispiel: new const address[4] = { 192, 0, 168, 66 } static const status /* initialized to zero */ Typische Situationen, in denen man eine konstante Variable nutzen könnte, sind: Um eine "array"-Konstante zu erstellen.
Kapitel 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, ...
Bei mehrdimensionalen Arrays kann der "sizeof"-Operator die Anzahl der Elemente jeder Dimension zurückgeben. Für die letzte (niedrigste) Dimension ist ein Element ein einzelner Eintrag, jedoch für die höchste Dimension ist es ein Sub-Array. Beachten Sie, dass im nachfolgenden Codeausschnitt die Syntax "sizeof matrix"...
Kapitel 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.
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).
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.
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"...
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.
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.
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.
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"...
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.
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.
Logo zur WEEE-Direktive der EU Dieses Symbol weist darauf hin, dass bei der Verschrottung des Gerätes die Anforderungen der Richtlinie 2012/19/EU über Elektro- und Elektronik-Altgeräte zu beachten sind. Die Microtronics Engineering GmbH unterstützt und fördert das Recycling bzw. die umweltgerechte, getrennte Sammlung/Entsorgung von Elektro- und Elektronik-Altgeräten zum Schutz der Umwelt und der...
Kapitel 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"...
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.
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.
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 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"...
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.