Lernprogramm: Konstante hinzufügen
In diesem Lernprogramm fügen Sie eine Konstante hinzu und verwenden sie in einer Stapeldatenmetrik. Metriken für Streaming-Daten verwenden keine Konstanten.
Vorbereitende Schritte
- Installieren Sie Python 3.9.x in Ihrer Umgebung.
- Installieren Sie IoT Functions in Ihrer lokalen Umgebung. Befolgen Sie die Anweisungen in der IoT Functions-Readme-Datei.
Alternativ können Sie zur Installation von IoT Functions und den zugehörigen Abhängigkeiten die Schritte im Abschnitt "Vorbereitende Schritte" unter Lernprogramm: Angepasste Funktion hinzufügenausführen. Klonen Sie das Starterpaket HelloWorld und importieren Sie es in PyCharm. Installieren Sie die Anforderungen von PyCharm. - Vollständiges Tutorial: Hinzufügen von Ausdrücken zum Hinzufügen einer
distanceMetrik zum Robotergerätetyp in Maximo Monitor.
Informationen zu diesem Vorgang
Passen Sie die Entfernung an, um eine Verzögerung zu berücksichtigen.
Schritte
Führen Sie die folgenden Schritte aus, um eine Berechnung anzuwenden, die einen konstanten Wert auf Beispieldaten verweist.
Schritt 1: Berechnung definieren
Definieren Sie 'distance_adjusted_by_constant' wie folgt:
df['distance_adjusted_by_constant'] = df['distance']*delay
Schritt 2: Berechtigungsnachweise in Datei speichern
Anmeldedaten für die Verbindung mit Maximo Monitor.
- Laden Sie die
credentials_as.json-Dateiherunter. - Ersetzen Sie die Variablen durch Ihre Daten und speichern Sie die Datei auf Ihrer lokalen Maschine.
Schritt 3: Globale Konstante erstellen
Führen Sie die POST-Konstante API mit der folgenden Nutzlast aus
[
{
"name": "ArrayConstant",
"enabled": true,
"value": {
"value": [
"A",
]
},
"metadata": {
"jsonSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"dataType": "ARRAY",
"values": [
"A",
"B",
"C"
],
"description": "Sample multi-valued array",
"dataTypeForArray": [
"LITERAL"
],
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "alpha",
"enabled": true,
"value": {
"value": 4
},
"metadata": {
"dataType": "NUMBER",
"values": null,
"description": "general purpose numeric constant",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "delay",
"enabled": true,
"value": {
"value": 120
},
"metadata": {
"dataType": "NUMBER",
"values": null,
"description": "Adjustment to output due to delay",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "text",
"enabled": true,
"value": {
"value": "ABC"
},
"metadata": {
"dataType": "LITERAL",
"values": null,
"description": "This is string text",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "json",
"enabled": true,
"value": {
"value": {
"A": "B",
"B": "A",
"C": {
"A": "B",
"B": "A"
}
}
},
"metadata": {
"dataType": "JSON",
"values": null,
"description": "This is JSON text",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
{
"name": "Gamma",
"enabled": true,
"value": {
"value": 5
},
"metadata": {
"dataType": "NUMBER",
"values": null,
"description": "general purpose numeric constant",
"type": "CONSTANT",
"required": true,
"tags": []
},
"resourceId": null,
"resourceUUID": null,
"isBuiltin": false
},
]
Schritt 4: Wert der Konstanten über die Benutzerschnittstelle festlegen
- Wählen Sie auf der Seite Setup auf der Registerkarte Devices einen Gerätetyp aus und klicken Sie auf Set up device type.
- Klicken Sie auf das Symbol "Gerätetyp konfigurieren" und wählen Sie dann Einschränkungen verwaltenaus.
- Klicken Sie für die Bedingung
delayauf das Symbol 'Bearbeiten'. - Weisen Sie den Wert 2 zu und klicken Sie auf Speichern.
Schritt 5: Auf die Konstante in einem Ausdruck verweisen
- Klicken Sie auf der Registerkarte Daten auf Metrik erstellen .
- Wählen Sie die Funktion
PythonExpressionim Katalog aus. - Legen Sie den Geltungsbereich fest und klicken dann auf Weiter.
- Geben oder fügen Sie den folgenden Ausdruck ein:
df['distance']*c['delay'] - Klicken Sie auf Weiter.
- Geben Sie
distance_adjusted_by_factorals Ausgabe an. - Klicken Sie auf Erstellen.
- Zeigen Sie die neuen
distance_adjusted_by_factor-Metrikdaten an.
Warten Sie bis zu 5 Minuten, bis Maximo Monitor um den Ausdruck anhand der Beispieldaten zu bewerten.
Schritte zum Aktualisieren, Rückgängigmachen und Löschen konstanter Werte
Führen Sie die folgenden Schritte aus, um Konstanten zu aktualisieren, ihre Werte zu ändern oder eine Konstante zu löschen
Globalen Standardwert aktualisieren
- Wählen Sie auf der Einrichtungsseite auf der Registerkarte Geräte einen Gerätetyp aus, und klicken Sie ihn an.
- Klicken Sie auf das Symbol "Gerätetyp konfigurieren" und wählen Sie dann Einschränkungen verwaltenaus.
- Bewegen Sie im Dialogfeld Konstanten den Mauszeiger über die Konstante, wählen Sie weitere Aktionen und dann Globalen Standardwert ändern aus
- Weisen Sie einen Wert zu und klicken Sie auf Speichern.
Aktualisieren von Konstanten auf Ressourcenebene
- Wählen Sie auf der Einrichtungsseite auf der Registerkarte Geräte einen Gerätetyp aus, und klicken Sie ihn an.
- Klicken Sie auf das Symbol "Gerätetyp konfigurieren" und wählen Sie dann Einschränkungen verwaltenaus.
- Bewegen Sie im Dialogfeld Konstanten den Mauszeiger auf die Konstante und wählen Sie Bearbeiten
- Weisen Sie einen Wert zu und klicken Sie auf Speichern.
Die Konstante der Ressourcenebene auf den globalen Standardwert zurücksetzen
- Wählen Sie auf der Einrichtungsseite auf der Registerkarte Geräte einen Gerätetyp aus, und klicken Sie ihn an.
- Klicken Sie auf das Symbol "Gerätetyp konfigurieren" und wählen Sie dann Einschränkungen verwaltenaus.
- Bewegen Sie im Dialogfeld Konstanten den Mauszeiger auf die Konstante und wählen Sie Bearbeiten
- Wählen Sie die Option Auf den globalen Standardwert zurücksetzen.
- Wählen Sie Rückgängig, um Ihre Wahl zu bestätigen.
Optionaler Schritt: Aufheben der Registrierung der Konstante
Schreiben Sie ein Script unregister_constant.py und führen Sie es aus. Das Aufheben der Registrierung der Konstante wirkt sich auf alle Berechnungen aus, die diese Konstante verwenden.
#Import packages and libraries
import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
import pandas as pd
import json
#Import these classes from IoT Functions
from iotfunctions.db import Database
from iotfunctions.ui import UISingle,UIMulti
#Connect to the Maximo Monitor
with open('credentials_as.json', encoding='utf-8') as F:
credentials = json.loads(F.read())
db_schema = None
db = Database(credentials=credentials)
#Connect to the Maximo Monitor
db = Database(credentials = credentials)
#Unregister the constant using the database object
db.unregister_constants(['delay'])
Optionaler Schritt: Löschen Sie die Konstante der Ressourcenebene oder der globalen Ebene
- Wählen Sie auf der Einrichtungsseite auf der Registerkarte Geräte einen Gerätetyp aus, und klicken Sie ihn an.
- Klicken Sie auf das Symbol "Gerätetyp konfigurieren" und wählen Sie dann Einschränkungen verwaltenaus.
- Bewegen Sie im Dialogfeld Konstanten den Mauszeiger über die Konstante, wählen Sie weitere Aktionen aus und wählen Sie dann Konstante löschen
- Wählen Sie Entfernen, um Ihre Wahl zu bestätigen.