TIA WinCC Basic - Variable überwachen und zurückschreiben

LowLevelMahn

Level-1
Beiträge
766
Reaktionspunkte
90
Zuviel Werbung?
-> Hier kostenlos registrieren
TIA V13 SP1
WinCC Basic
KP300 Basic mono PN

Ich habe bisher nur kleine Anzeigen in WinCC gemacht und würde gerne mal das zurückschreiben auf die SPS ausprobieren
habe aber keine Ahnung wie ich das mit meinem WinCC Basic realisieren kann

bisher habe ich eine Int-Variablen in einem symbolischen DB und eine dazu passende HMI-Variable mit 10 Sekunden Leseüberwachung - das klappt auch

jetzt würde ich gerne sowas machen

jede mal wenn die Variable gelesen wurde (also alle 10Sekunden - wie in der HMI-Variable eingestellt) würde
ich diese gerne um 1 erhöhen und wieder auf die SPS zurückschreiben

oder wenn das wegen WinCC Basic nicht geht auch so irgendwie

Loop
Wert lesen
Wert +1
Wert schreiben
10 Sekunden warten

Danke für Tips
 
Nur damit ich das richtig verstehe, du möchtest im Panel eine Variable hochzählen und die danach an die SPS schicken?

Also Skriptesachen kannst du mit den Basic Panels nicht, aber du könntest einen Button erstellen der eine Variable um eins erhöht.

Oder du machst ein normales Eingabefeld, in dem du die Zahl vorgeben kannst.

Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nur damit ich das richtig verstehe, du möchtest im Panel eine Variable hochzählen und die danach an die SPS schicken?
Gruss

Nein - ich habe eine SPS-Variable die ich alle 10 Sekunden lese (so eingestellt bei der zugehörigen HMI-Variablen) - jetzt möchte
ich bei jedem lesen diesen gelesenen Wert um 1 erhöhen und diesen wieder an die SPS schicken

also

Wert aus SPS lesen (alle 10 Sekunden)
Wert = Wert + 1
Wert in SPS schreiben

ich will keine Benutzerinteraktion also Knöpfe oder sonstiges

oder fehlen meinem WinCC Basic oder dem Panel die notwendigen Features - würde da ein WinCC Upgrade helfen?
 
Zuletzt bearbeitet:
jede mal wenn die Variable gelesen wurde (also alle 10Sekunden - wie in der HMI-Variable eingestellt) würde
ich diese gerne um 1 erhöhen und wieder auf die SPS zurückschreiben
Es gibt kein auswertbares Ereignis, daß eine Variable gelesen wurde. Nur wenn sich dabei der Variablenwert geändert hat oder einen Grenzwert verletzt, kann man dies als Ereignis auswerten.
Du bräuchtest ein anderes Ereignis, was alle 10 Sekunden ausgelöst wird und wo Du eigene Funktionen dranprojektieren kannst.

Deine Aufagabe läßt sich mit Basic Panels wohl nur so lösen, daß Du eine weitere Variable in der SPS alle 10 Sekunden änderst (BOOL: invertieren, BYTE/INT: einfach erhöhen), diese Variable im Panel zyklisch (fortlaufend) abfragst und bei Wertänderung dieser Variable Deine erste Variable liest und inkrementierst (ErhöheVariable).

Harald
 
Jetzt trotzdem meine Frage?

Für was willst du das machen? Im auszuprobieren ob es geht?

Weil meiner Meinung nach gehört keine Logik ins Panel!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@RogerSchw85
Für was willst du das machen? Im auszuprobieren ob es geht?
Weil meiner Meinung nach gehört keine Logik ins Panel!


Ich mache Performanz-Tests zwischen verschiendenen HMI Systemen und genau dieser "Test" deckt alle meine Anforderungen ab auf dessen Basis ich dann die größeren Tests realisieren kann
Das keine Logik ins Panel gehört ist klar


@PN/DP
Deine Aufagabe läßt sich mit Basic Panels wohl nur so lösen, daß Du eine weitere Variable in der SPS alle 10 Sekunden änderst


Um nicht für weitere Tests genötigt zu sein ständig/zusätzlich noch "Hilfsvariablen" zu überwachen muss ich wohl mein Panel oder WinCC upgraden


ich könnte auf WinCC Advanced wechseln - könnte ich da mit Scripts und meinem KP300 Basic mono PN diese Szenario ablaufen lassen?


Code:
Loop
  SPS-Variabel Wert lesen
  NeuWert = Wert+1
  SPS-Variable NeuWert schreiben
  10 Sekunden warten
  ->Loop


wie würde so ein Script aussehen? Stichworte/Funktionsnamen zum Suchen würde auch schon mal helfen
 
Zuletzt bearbeitet:
@PN/DP

Ich war wohl ein wenig vorschnell - denke deine Idee könnte doch ganz OK für meinen jetzigen Aufbau sein

Ich habe jetzt in meiner PLC eine automatisch hochzählende Variable - und würde gerne diese auf Veränderung überwachen - und dann diese/oder eine andere schreiben

Aber wo kann ich in meinem WinCC eine Funktion bei Veränderung an die Variable hängen?
 
Im Variablen-Explorer wählst du die Variable an um die es geht, dort gibt es dann in den Eigenschaften den Reiter Ereignisse und dann "Wertänderung"
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
komische TIA Sachen...

wenn ich ein HMI anlegen und direkt im Einstelldialog auf meine SPS verweise macht TIA aus der Vorletzten Kompontente meiner IP-Adresse bei dem HMI und der SPS eine 0 rein?
wenn ich in HMI-Variablentabelle meine Int-Variable auswählen will zeigt TIA nur Arrays an - keine normalen Typen - von Hand kann man den richtigen aber eingeben?

aber sonst klappt alles
 
wenn ich ein HMI anlegen und direkt im Einstelldialog auf meine SPS verweise macht TIA aus der Vorletzten Kompontente meiner IP-Adresse bei dem HMI und der SPS eine 0 rein?

Das ist von TIA ein scheinbar freundliche Hinweis das ich die Variablen eine andere SPS nutzen wollte als die in den HMI-Verbindungen konfiguriert

aber das mit der nur-Arrays anzeige bekomme ich auch mit einem frischen Projekt hin
 
In deine Screenshots kann ich keinen Fehler sehen.

Da hast zwar im DB einen Bool, aber in der Detailansicht hast du ja eine Array of 2 INT markiert.
Siehst du den Bool denn auch nicht wenn du in der linken Liste (2ter Screenshot) "Datenbaustein_1" markierst?
 
Da hast zwar im DB einen Bool, aber in der Detailansicht hast du ja eine Array of 2 INT markiert.

das markierte ist völlig egal - die komplette Liste links im Baum des 2. Screenshots (HMI-Variablen-PLC-Var-Auswahl)
enthält (bis auf einen einzelnen DTL?) nur die Arrays aus dem Datenbaustein - was soll der Sinn davon sein?

ich kann den bool nur nutzen wenn ich es von Hand in die Auswahlbox eintragen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das markierte ist völlig egal - die komplette Liste links im Baum des 2. Screenshots (HMI-Variablen-PLC-Var-Auswahl)
enthält (bis auf einen einzelnen DTL?) nur die Arrays aus dem Datenbaustein - was soll der Sinn davon sein?
Nein, eben nicht egal.

In der linken Liste ist nur angeführt was noch Unterlemente enhält, wie in einer Baumstruktur. Das sind Eben deine Arrays und auch zusammengesetzte Datentypen wie DTL.
Das was keine Unterelemente enthält ist nicht in der Baumstruktur angeführt und wird angezeigt wenn du den richtigen "Ordner" anwählst.
Vergleichbar mit dem Windows-Explorer wenn man auf der linken Seite die Ordner als Baumstruktur einblendet.

Öffne dein Variablen-Menü so wie in Screenshot2, klick den Überordner Datenbaustein_1 an und schon siehst du deine Datenpunkte.
 
Danke - jetzt habe ich es auch gesehen

Aber warum wird da überhaupt zwischen Knoten mit Struktur und Elementaren unterschieden?
Ist doch aus der Sicht der Variablenauswahl sehr ungewöhnlich das Explorer Struktur=Folder Prinzip anzuwenden

wenn du durch Strukuren navigieren willst kannst du dich links oder rechts bewegen, wenn du Elementare haben willst kannst du links navigieren aber musst rechts auswählen
und wenn dein DB sehr lang ist bringt dir dein linker Baum gar nichts zur Orientierung wo dein Elementar jetzt wirklich ist denn den findest du ja nur irgendwo vermischt mit der linken Anzeige im rechten Teil
wenn einfach alle Kinder im Baum wären ist es homogen und gleichmässig - links die Nagivation - rechts der Detailscope - dann kann man einfach links und rechts navigieren und auswählen - so wie in jeder anderen Software auch

und das wird noch sinnloser wenn man (vom OPC UA Scout) weiss das z.B. der DTL oder Elementar-Arrays auch ValueTypes sind - d.h. man könnte diese auch links und rechts Auswählen - aber auch dort muss man dann schön
von Hand das Item angeben weil die OPC-UA-Scout-Baumnavigation die eigenen Systemfähigkeiten ignoriert und sinnfrei einfach WinCC kopiert
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
das geht schon - aber wofür zeigt der linke Baum nur die Strukturen/Array aus der Ebene - und im rechten Teil sieht man beides zusammen? Nach meinem Empfinde hat da jemand das Explorer Verzeichnisprinzip zu direkt auf die Variablenauswahl übertragen - oder wo soll da bitte der Sinn dahinter sein - beim Explorer stehen die Verzeichnisse wenigstens dann immer oben/unten an - auch wenn man sortiert, bei der Variablenauswahl macht das aber keinen Sinn und mach damit dieses explorerartige navigieren ein wenig dämlich

und die SPS kann sowiso mehr denn auch DTL und Arrays koennen eben als Wert-Typen gelesen werden - nur WinCC kann das leider nicht, hat den OPC Scout aber trotzdem nicht daran gehindert das für ihn unpassende Auswahlprinzip einfach zu kopieren

btw: dein 2 HMI-Variablentip funktioniert super - danke
 
Zuletzt bearbeitet:
Um nicht für weitere Tests genötigt zu sein ständig/zusätzlich noch "Hilfsvariablen" zu überwachen
Es geht darum, einen Takt bzw. eine Wartezeit von 10s zu erzeugen, was innerhalb des Panels schlecht oder garnicht möglich ist. Du bräuchtest ja nur eine einzige Variable in der SPS als Taktgeber.


ich könnte auf WinCC Advanced wechseln - könnte ich da mit Scripts und meinem KP300 Basic mono PN diese Szenario ablaufen lassen?
Nein, es kommt nicht darauf an, welche WinCC Lizenz man hat, sondern welches Panel man nutzt. Dein Basic Panel kann keine Skripte. Du bräuchtest ein besseres Panel.


Wenn Dein Panel Skripte könnte, dann wäre es zwar möglich, eine 10s-Wartezeit zu programmieren (via Abfragen der Paneluhr mittels Now() + #00:00:10#), doch in der WinCC-RT wird immer nur 1 Skript abgearbeitet und solange der Start weiterer Skripte blockiert.

Man kann auch Variablen mit Fertigmeldung aus der SPS lesen als Rezeptur mit der Systemfunktion GetDataRecordTagsFromPLC. Dafür muß das Panel aber Rezepturen unterstützen, und vermutlich verfälscht das Deine Performance-Tests. Die Wertänderung einer zweiten SPS-Taktgeber-Variable auswerten ist viel einfacher und geht mit jedem Panel.


Ich mache Performanz-Tests zwischen verschiendenen HMI Systemen und genau dieser "Test" deckt alle meine Anforderungen ab
Mir erschließt sich irgendwie nicht, wie man mittels 10s warten und eine Variable inkrementieren eine "Performance" misst. Aufgrund Deiner Fragen vermute ich, daß Du wohl irgendwas messen wirst aber möglicherweise nicht das, was Du beabsichtigst. Erzähl doch mal mehr.

Harald
 
wenn du durch Strukuren navigieren willst kannst du dich links oder rechts bewegen, wenn du Elementare haben willst kannst du links navigieren aber musst rechts auswählen
und wenn dein DB sehr lang ist bringt dir dein linker Baum gar nichts zur Orientierung wo dein Elementar jetzt wirklich ist denn den findest du ja nur irgendwo vermischt mit der linken Anzeige im rechten Teil
wenn einfach alle Kinder im Baum wären ist es homogen und gleichmässig - links die Nagivation - rechts der Detailscope - dann kann man einfach links und rechts navigieren und auswählen - so wie in jeder anderen Software auch
Nun ja, wenn du links einfach Datenbaustein_1 anwählst dann hast du rechts auch alles, sowohl die "Obergruppen" als auch die "Einzelelemente".
Somit hast du eigentlich alle Möglichkeiten

Das war in WinCC-Flex doch auch so.
VarAuswahl_WinCCFlex.png

Weiß jetzt nicht wo der Unterschied zu jeder anderen Software liegt?
 
Zurück
Oben