Techniker Handbuch

Hinweis: Die folgenden Funktionen sollten ausschließlich zu Diagnosezwecken verwendet werden! Eine Veränderung der Konfiguration (config, watcher, filter) stört die Zusammenarbeit mit der Cloud! Bei einem Neustart der D Zero wird die Konfiguration aus der Cloud erneut übertragen und die über die serielle Schnittstelle gesetzten Einstellungen werden überschrieben!

Die D Zero verfügt über zwei verschiedene nicht-flüchtige Speicher, den Kalibrierdatenspeicher (Calibration) und den Konfigurationsdatenspeicher (Configuration). Der Kalibrierdatenspeicher enthält wie der Name schon sagt die Kalibrierdaten welche ab Werk eingespeichert werden. Sie können jedoch auch im Feld geändert werden um z.B. Service arbeiten zu ermöglichen. Der Konfigurationsdatenspeicher enthält die aktuelle Konfiguration des Gerätes. Dabei werden in der Regel nur die Konfigurationsparameter abgelegt welche von den hartkodierten Standardwerten abweichen und auch in der Regel nur für aktivierte Funktionen.

Ports

Anschlüsse an der D Zero werden Ports genannt. Diese sind grob abstrahiert um gemeinsame Funktionen abbilden zu können. Ports werden durch ihre Port-Nummer identifiziert, welche im Folgenden Port-ID genannt wird.

Watcher

Um bestimmen zu können wann welche Informationen an die Cloud gesendet werden besitzt die D Zero das Konzept eines Beobachters: der Watcher. Ein Watcher kann für verschiedene Ereignisse konfiguriert werden.

Lower-Limit

Bei Unterschreiten des Lower-Limit (Untergrenze) wird der Wert and die Cloud gesendet.

wenn WERT kleiner als UNTERGRENZE
dann sende WERT an die cloud

Upper-Limit

Bei Ăśberschreiten des Upper-Limit (Obergrenze) wird der Wert an die Cloud gesendet.

wenn WERT größer als OBERGRENZE
dann sende WERT an die cloud

Delta-Limit

Das Delta-Limit beschreibt eine Differenz-Grenze bei deren Ăśberschreiten der Wert an die Cloud gesendet wird.

!!! note "Hinweis" Die Differenz-Grenze bezieht sich bei diesem Watcher auf den letzten an die Cloud gesendeten Wert!

wenn WERT größer als (LETZTER_GESENDETER_WERT + DIFFERENZ) ODER
wenn WERT kleiner als (LETZTER_GESENDETER_WERT - DIFFERENZ)
dann sende WERT an die cloud und setze LETZTER_GESENDETER_WERT = WERT

Velocity-Limit

Das Velocity-Limit beschreibt eine Ă„nderungsgeschwindigkeit bei deren Ăśberschreiten der Wert an die Cloud gesendet wird.

!!! note "Hinweis" Die Änderungs-Geschwindigkeit bezieht sich auf den letzten Messwert unabhängig davon ob er an die Cloud übertragen wurde oder nicht.

setze WERT_DIFFERENZ = 0
​
wenn WERT > LETZER_MESSWERT
setze WERT_DIFFERENZ = ( WERT - LETZTER_MESSWERT )
​
wenn WERT < LETZTER_MESSWERT
setze WERT_DIFFERENZ = ( LETZTER_MESSWERT - WERT )
​
setze ZEIT_DIFFERENZ = JETZT - LETZTE_MESSZEIT
​
setze Ă„NDERUNGSGESCHWINDIGKEIT = WERT_DIFFERENZ / ZEIT_DIFFERENZ
​
wenn Ă„NDERUNGSGESCHWINDIGKEIT > VELOCITY_LIMIT
dann sende WERT an die cloud
​
setze LETZER_MESSWERT = WERT
setze LETZE_MESSZEIT = JETZT

Interval-Limit

Das Interval limit sendet den Wert in einem vorgegebenen Intervall an die Cloud und kann zur vermeidung ĂĽberflĂĽssiger Ăśbertragungen mit einer Hysterese versehen werden.

// ToDo

Serielle Konsole

Die D Zero verfĂĽgt ĂĽber einen micro-USB Anschluss ĂĽber den eine serielle Konsole verbunden werden kann. Diese Konsole erlaubt es Protokolle zum laufenden Betrieb zu erhalten und diverse Befehle zur Konfiguration und Diagnose abzusetzen.

Verbindungsparameter

Nach Verbindung mit einem Computer ĂĽber USB steht ein serieller Port zur VerfĂĽgung. Unter Windows wird er eine COMx nummer bekommen, unter macOS heisst das Device meist /dev/usbserialXXXX wobei XXXX eine Zahl ist.

Parameter

Einstellung

Baudrate

19200

Databits

8

Parity

None

Stopbits

1

Linefeed

LF

Allow Backspace

true

Serielle Kommandos

Kommando

Beschreibung

​help​

Gibt eine Liste der verfĂĽgbaren Befehle aus

​list ports​

Gibt eine Liste aller Ports dieses Gerätes aus

​print-inputs​

Konfiguriert die periodische Ausgabe aller Port Werte auf die Konsole

​print-input​

Gibt den Wert eines einzelnen Ports auf der Konsole aus

​set-output​

Setzt den Zustand eines Ausgabe Ports

​modbus​

Einfache Befehle ĂĽber den Modbus Anschluss absetzen

​led​

Die LED des D Zero setzen

​watch​

Benachrichtigungen auf Port-Aktivitäten konfigurieren

​watch list​

Liste aller bestehenden Benachrichtigungen ausgeben

​filter​

Filter auf Port-Werte konfigurieren

​filter list​

Liste aller bestehenden Filter ausgeben

​edgetest​

Selbsttest der Flankenzähler über Digital-Out 1

​cal​

Kalibrierwerte aller Ports ausgeben

​cal auto​

Automatik-Kalibrierung fĂĽr Analog und Temperatur-Ports

​cal save​

Alle Kalibrierwerte abspeichern

​cal load​

Alle Kalibrierwerte erneut laden

​config save​

Konfiguration abspeichern

​config load​

Konfiguration erneut laden

​config clear​

Konfiguration löschen

​cellular​

AT-Kommandos an das Modem absetzen

​keepAlive​

Keep-Alive Zeit fĂĽr Cloud-Verbindung setzen

help

Gibt eine Liste der verfĂĽgbaren Befehle aus

list ports

Gibt eine Liste aller Ports dieses Gerätes aus. Nützlich um die PortID des gewünschten Ports zu bestimmen.

list ports

Konfiguriert die periodische Ausgabe aller Port Werte auf die Konsole.

print-inputs <period_ms>

Parameter

Beispiel

Beschreibung

<period_ms>

2000

GewĂĽnschte Ausgabperiode. Beispiel 2 Sekunden.

​

0

Auf 0 setzen um die Ausgabe zu deaktivieren.

Gibt den Wert eines einzelnen Ports auf der Konsole aus

print-input <portID>

Parameter

Beispiel

Beschreibung

<portID>

0020200

Die PortID des Ports. Beispiel ist Analogeingang 1.

set-output

Setzt den Zustand eines Ausgabe Ports.

set-output <portID> <1|0>

Parameter

Beispiel

Beschreibung

<portID>

0020200

Die PortID des Ports

<1|0>

​

Setzt den Ausgang

​

1

Setze den Ausgang High bzw. geschlossen fĂĽr Relais

​

0

Setze den Ausgang Low bzw. offen fĂĽr Relais

modbus

Einfache Befehle ĂĽber den Modbus Anschluss absetzen.

modbus <subcmd> <value>

Wird aktuell nicht unterstĂĽtzt!

led

Die LED des D Zero setzen

led <color> <1|0>

Parameter

Beispiel

Beschreibung

<color>

green

Die gewĂĽnschte Farbe, Beispiel grĂĽn

​

red

rot

​

blue

blau

<1|0>

​

Ein oder Ausschalten

​

1

Farbe setzen

​

0

LED ausschalten

watch

Benachrichtigungen auf Port-Aktivitäten konfigurieren. Zur Beschreibung der einzelnen varianten siehe Watcher.

watch <portID> <type> <limit>

Parameter

Beispiel

Beschreibung

<portID>

0020200

Die PortID des Ports

<type>

​

Die Art der Benachrichtigung:

​

lower

Berichten wenn der Wert kleiner als <limit> ist

​

upper

Berichten wenn der Wert größer als <limit> ist

​

delta

Berichten wenn der Wert sich mehr als <limit> seit der letzten Benachrichtigung geändert hat

​

velocity

Berichten wenn der Wert sich mehr als <limit> pro Sekunde ändert

​

interval

Berichten wenn mehr als <limit> (in Millisekunden) seit der letzten Benachrichtigung

vergangen sind UND der Wert sich mehr als `<hysteresis>` geändert hat |

| <limit> | | Der Schwellwert fĂĽr <type>, je nach Typ und Port integer oder float |

Um einen interval-Watcher zu konfigurieren muss auch eine Hysterese angegeben werden:

watch <portID> interval <time> <hysteresis>

Um einen Watcher auszuschalten das Wort off anstelle eines <limit> angeben.

watch <portID> <type> off

watch list

Liste aller bestehenden Benachrichtigungen ausgeben.

watch list

filter

Filter auf Port-Werte konfigurieren.

filter <portID> <type> <limit>

Parameter

Beispiel

Beschreibung

<portID>

0020200

Die PortID des Ports

<type>

​

Der Typ des gewĂĽnschten Filters:

​

avg

Konfiguriert einen einfachen Gleitenden-Mittelwert-Filter mit einer

Glättungszeit von `<limit>` in Millisekunden |

| <limit> | | Wert fĂĽr den Filter, je nach <type> verschiedene Bedeutung |

Um einen Filter auszuschalten das Wort off anstelle eines <limit> angeben.

filter <portID> <type> off

filter list

Liste aller bestehenden Filter ausgeben.

filter list

edgetest

Verwendet Digital Ausgang 1 um Pulse zu generieren welche verwendet werden können um einen Flankenzähler-Eingang zu testen. D0_1 muss dazu mit dem Flankenzählereingang verbunden werden! Um die Werte des Eingangs zu sehen muss ein Watcher konfiguriert werden oder der Wert des Ports manuell mit print-input <portID>ausgegeben werden. Ein Delta-Watcher mit einem Delta von 0 kann verwendet werden.

edgetest

cal

  1. Ohne Paramter: gibt die Kalibrierdaten aller Ports aus.

cal
  1. Unter angaben der PortID können die Kalibrierwerte gesetzt werden.

cal <portID> <a> <b>

Parameter

Beispiel

Beschreibung

<portID>

0020200

Die PortID des Ports

<a>

0.85

Faktor a einer linearen Korrektur

<b>

0.02

Faktor b einer linearen Korrektur

cal auto

Startet eine 3-Schritte Auto-Kalibrierung für einen Port. Dies ist derzeit für Analogeingänge und Temperatureingänge verfügbar.

  1. Kalibrierung starten

cal <portID> auto
  1. Nach Anschluss der ersten Kalibriergröße kann nun der Referenzwert für diese Größe angegeben werden:

cal <portID> <ref_1>
  1. Eine zweite Kalibriergröße verschieden von der Ersten muss angeschlossen werden und anschließend der Referenzwert für diese Größe eingegeben werden.

cal <portID> <ref_2>

Die Auto-Kalibrierung ist nun vollständig und die errechneten Korrektur- Faktoren werden angezeigt.

cal save

Alle Kalibrierwerte im nichtflĂĽchtigen Speicher abspeichern.

cal save

cal load

Kalibrierdaten vom nichtflĂĽchtigen Speicher erneut laden.

cal load

config save

Gesamte Konfiguration (z.B. Watcher, Filter) im nichtflĂĽchtigen Speicher abspeichern.

config save

Achtung! Wenn Sie die Konfiguration der D Zero verändern oder löschen, stimmt sie nicht mehr mit der, in der Cloud gespeicherten Variante überein. Beim nächsten Neustart der D Zero überträgt die Cloud dann die in ihr gespeicherte Konfiguration an die D Zero. Sämtliche per Konsole gesetzten Einstellungen sind damit gelöscht!

config load

Gesamte Konfiguration erneut laden.

config load

config clear

Gesamte Konfiguration im RAM zurĂĽcksetzen (entfernt alle Watcher und Filter). Muss anschlieĂźend noch mit config save abgespeichert werden um dauerhaft zu wirken.

config clear

Achtung! Wenn Sie die Konfiguration der D Zero verändern oder löschen, stimmt sie nicht mehr mit der, in der Cloud gespeicherten Variante überein. Beim nächsten Neustart der D Zero überträgt die Cloud dann die in ihr gespeicherte Konfiguration an die D Zero. Sämtliche per Konsole gesetzten Einstellungen sind damit gelöscht!

cellular

Sendet AT-Kommandos direkt an das Mobilfunk-Modem. Wenn dieser Befehl ĂĽber die Cloud Funktion debugaufgerufen wird, so wird das Ergebnis in einem Cloud Publish mit der Bezeichnung cellular zurĂĽckgegeben.

Mobilfunkanbieter und Netztyp abrufen

cellular AT+COPS?

Beispiel Antwort:

+COPS: 0,0,"o2 - de",2

Bedeutung der letzten Ziffer: 2 = UMTS 0 = GSM

Art der Datenverbindung abrufen

`cellular AT+UREG?`

Beispiel Antwort:

+UREG: 0,6

Bedeutung der letzten Ziffer: 1 = GPRS 2 = EDGE 3 = WCDMA 4 = HSDPA 5 = HSUPA 6 = HSUPA+HSDPA

Alle Mobilfunkanbieter in Reichweite anzeigen

cellular AT+COPS=?

Die Antwort auf diesen Befehl kann bis zu 1 Minute verzögert sein!

keepAlive

Temporär die keep-Alive Zeit ändern. (Standard ist 23 Minuten = 1380 Sekunden) Die Angabe erfolgt in Sekunden.

keepAlive <time_seconds>