Internal (Speicherkanal)
Internal ist ein Kanaltyp, der sich mit keinem Gerät im Feld verbindet und die Tag-Werte im Arbeitsspeicher des 2WinScada-Dienstes hält. Der Code des Verbindungstyps ist 999; in Antworten der REST-API erscheint der Kanaltyp mit diesem Code.
Der Internal-Kanal wird für diese Zwecke verwendet:
- Berechnete und simulierte Werte: Erweiterte Tags, deren Wert mit einem Ausdruck berechnet wird, können in einem Internal-Gerät definiert werden. Die simulierten Tags des Beispielprojekts arbeiten auf diese Weise.
- Speicher-Tags: Halten Einstellungen, Befehle und Zwischenwerte, die vom Bedienpersonal, von Seiten, Rezepten oder Ereigniscode geschrieben werden (z. B. eine Auswahl oder ein Zähler, die mehrere Seiten gemeinsam nutzen).
- Vom System angelegte Tags: Die Tags für den Rezeptstatus (zuletzt angewendete Gruppe und zuletzt angewendetes Rezept) werden im Gerät RecipeState im Kanal Internal gehalten.
Lizenz
Der Internal-Kanal ist in allen Lizenzpaketen verfügbar. Aktive Internal-Geräte und -Tags werden wie bei den anderen Protokollen auf die Geräte- und Tag-Kapazität der Lizenz angerechnet. Einzelheiten zur Lizenz finden Sie auf der Seite Lizenz.
Bei der Installation angelegter Internal-Kanal
In einer neuen Datenbank legt der 2WinScada-Dienst beim ersten Start einen Kanal namens Internal und in diesem Kanal die Geräte Demo, Trafo1_EA und Trafo2_EA des Beispielprojekts an (siehe Beispielprojekt). Auch das Rezeptmodul verwendet diesen Kanal für die Tags des Rezeptstatus; ist der Kanal nicht vorhanden, legt es den Kanal Internal und das Gerät RecipeState selbst an, sobald die erste Rezeptgruppe angelegt oder das erste Rezept angewendet wird.
| Gerät | Inhalt |
|---|---|
| Demo | Pumpstation des Beispielprojekts: 14 simulierte Tags (Pumpe, Ventil, Tank, Energie usw.). Seiten und Ausdrücke binden diese Tags unter dem Namen Internal.Demo.<Tag> an. |
| Trafo1_EA, Trafo2_EA | Die zwei simulierten Energieanalysatoren des Beispielprojekts mit jeweils denselben 17 Tags: Leiterspannungen U12, U23, U31, Frequenz F, Phasen- und Neutralleiterströme I1–I3, IN, Leistungsfaktor PF, Wirkleistung je Phase und gesamt P1–P3, KW, Blindleistung KVAR, KVARC, KVARL und der Wirkenergiezähler KWH. Jedes KWH-Tag hat ein Verbrauchslog. Die Vorlagenseite Enerji Analizörü (Energieanalysator) bindet diese Tags mit relativen Namen (.KW usw.) an; die Links auf den Seiten Genel Bakış (Übersicht) und Tesis Özeti (Anlagenzusammenfassung) öffnen sie mit dem Tag-Präfix Internal.Trafo1_EA oder Internal.Trafo2_EA. |
| RecipeState | Tags für den Rezeptstatus (z. B. currentRecipeName). Sie werden in der Tag-Auswahl auf der Registerkarte System im Abschnitt Rezeptstatus aufgelistet. Siehe Rezeptverwaltung. |
Internal-Kanal nicht löschen und nicht umbenennen
Wird der Kanal gelöscht, werden auch alle Geräte und Tags darunter gelöscht. Seitenanzeigen, Log- und Alarmdefinitionen sowie Ausdrücke, die an diese Tags gebunden sind, funktionieren dann nicht mehr.
- Wird die Simulation nicht mehr benötigt, setzen Sie die Geräte Demo, Trafo1_EA und Trafo2_EA auf passiv, statt sie zu löschen; ein passives Gerät wird nicht auf die Lizenzkapazität angerechnet, seine Verbrauchslogs schreiben keine Datensätze, und die Seiten bleiben erhalten.
- Benennen Sie den Kanal und die Geräte Demo, Trafo1_EA, Trafo2_EA und RecipeState nicht um. Die Ausdrücke des Beispielprojekts lesen die Tags unter den Namen
Internal.Demo.…undInternal.Trafo1_EA…/Internal.Trafo2_EA…; das Rezeptmodul findet Kanal und Gerät über ihren Namen und legt neue an, wenn es sie nicht findet. - Löschen oder ändern Sie die Tags im Gerät RecipeState nicht manuell; sie werden beim Anwenden eines Rezepts vom System geschrieben.
Kanaldefinition
Für Ihre eigenen Speicher-Tags können Sie dem vorhandenen Kanal Internal ein neues Gerät hinzufügen oder einen eigenen Internal-Kanal anlegen.
Auf der Registerkarte Allgemein des Fensters für einen neuen Kanal geben Sie den Kanalnamen ein und wählen unter Verbindungstyp den Eintrag Internal aus. Bei diesem Protokoll gibt es keine Verbindungsparameter auf Kanalebene. Mit einem Klick auf Speichern wird der Kanal angelegt. Die allgemeinen Definitionsbildschirme sind auf der Seite Tag-Verwaltung beschrieben.
Gerätedefinition
Internal-Geräte haben nur einen Gerätenamen und den Status Aktiv; Verbindungs- oder Kommunikationsparameter gibt es nicht.
Der Verbindungsstatus eines aktiven Internal-Geräts wird beim Start des Dienstes Verbunden. Da keine Kommunikation stattfindet, treten keine Verbindungsfehler auf.
Tag-Definition
Tags werden wie bei den anderen Protokollen in der Tag-Tabelle des Geräts definiert. In Internal-Geräten werden zwei Arten von Tags verwendet:
| Tag-Art | Quelle des Werts | Nach einem Neustart des Dienstes |
|---|---|---|
| Erweitertes Tag | Der Ausdruck im Feld Ausdruck (siehe Erweiterte Tag-Definition). Ist der Ausdruck _self.Value, wird der auf das Tag geschriebene Wert unverändert gehalten. | Beginnt mit Startwert. Ist Persistent aktiviert, wird mit dem zuletzt gespeicherten Wert fortgesetzt. |
| Nicht erweitertes Tag | Nur der auf das Tag geschriebene Wert (Bedienpersonal, Seite, Rezept oder Ereigniscode). | Der Wert geht verloren; bis zum ersten Schreibvorgang hat das Tag keinen Wert. |
- Das Feld Adresse wird für die Verbindung nicht verwendet. Muss es ausgefüllt werden, schreiben Sie einen kurzen Text, der den Zweck des Tags beschreibt.
- Definieren Sie Speicher-Tags, die ihren Wert über einen Neustart des Dienstes hinweg behalten müssen, als erweiterte Tags mit dem Ausdruck
_self.Valueund aktiviertem Persistent. - Schreibzugriffe auf Internal-Tags setzen wie bei anderen Tags die Rolle Operate oder Editor voraus, und das Tag darf nicht schreibgeschützt sein.
Beispiel: Simulation im Beispielprojekt
Das Gerät Demo des Beispielprojekts enthält zwei Arten von Tags:
- Befehls- und Einstellwerte wie
Pump1_StartCmdundPump1_SpeedSPsind erweiterte Tags mit dem Ausdruck_self.Value. Die Schaltflächen und Eingabefelder auf der Seite schreiben in diese Tags. - Messwerte wie
Pump1_Speed,Tank1_LevelundTank1_Temperaturesind erweiterte Tags mit dem Triggertyp Zyklisch. Ihre Ausdrücke lesen andere Demo-Tags mitTAG(Internal.Demo.…)und fügen kleine zufällige Schwankungen hinzu.
Die Tags der Geräte Trafo1_EA und Trafo2_EA sind schreibgeschützte erweiterte Tags, die jede Sekunde berechnet werden. Spannung, Strom und Leistungsfaktor werden mit kleinen Schwankungen erzeugt; die Phasenleistungen werden aus diesen Werten berechnet, KW aus der Summe der Phasenleistungen und KWH, indem jede Sekunde KW / 3600 kWh zum Zähler addiert werden. Trafo1_EA speist die Pumpe: Seine Phasenströme enthalten den Wert von TAG(Internal.Demo.Motor_Current), deshalb steigen Strom und Leistung von Transformator 1, während die Pumpe läuft.
In Ihrem eigenen Projekt können Sie dieselbe Methode verwenden, um Bildschirme zu testen, bevor die Feldgeräte angeschlossen sind: Definieren Sie in einem Internal-Gerät simulierte Tags mit denselben Namen wie die Feld-Tags und testen Sie die Seiten damit. Sobald das reale Gerät angeschlossen ist, ändern Sie die Tag-Namen auf der Seite mit Suchen und Ersetzen (siehe Seiteneditor).
Fehlerbehebung
| Symptom | Prüfungen |
|---|---|
| Der Wert eines Speicher-Tags geht beim Neustart des Dienstes verloren | Das Tag ist kein erweitertes Tag. Definieren Sie es als erweitertes Tag mit dem Ausdruck _self.Value und aktiviertem Persistent. |
| Auf den Seiten des Beispielprojekts werden keine Werte angezeigt | Prüfen Sie, ob die Geräte Demo, Trafo1_EA und Trafo2_EA aktiv sind und die Lizenzkapazität nicht überschritten ist. Wird die Seite Enerji Analizörü über das Menü geöffnet, zeigt sie keine Werte, weil kein Tag-Präfix vorhanden ist; öffnen Sie die Seite über die Links TR1-Energieanalysator und TR2-Energieanalysator auf der Karte Seiten der Seite Genel Bakış oder über die Transformator-Links auf der Seite Tesis Yerleşimi oder Tesis Özeti. |
| Gestern oder Letzter Monat ist auf der Seite Enerji Analizörü leer | Das Beispielprojekt enthält keine historischen Daten; die Verbrauchslogs schreiben ab dem Zeitpunkt der Installation. Gestern füllt sich, wenn der erste Tag nach der Installation vorbei ist, Letzter Monat, wenn der erste Monat vorbei ist. |
| Tags für den Rezeptstatus erscheinen nicht in der Tag-Auswahl | Die Tags entstehen, sobald die erste Rezeptgruppe angelegt oder das erste Rezept angewendet wird. Prüfen Sie, ob eine Rezeptgruppe angelegt wurde. |