Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
allerdings habe ich schon etwas drum herum gebastelt und das ganze ist noch eine Baustelle.
Zur Erklärung:
Es sollen Werte einer 3-Phasenklemme gemessen werden.
Dazu habe ich eine einheitliche Darstellung der Werte erstellt. Aus dem vorherigen Menü wähle ich die Klemme aus, darauf hin sollte die Zeigeradresse auf die globale Variable kopiert werden.
Meine aktuellen Werte beziehen sich nun immer auf die globale Variable.
Im Prinzip will ich nur den Zeiger verbiegen.
Grüße,
Benny
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Du willst also einen Pointer auf einen Funktionsblock per Tastendruck an ein PRG übergeben.
Einmal davon abgesehen, dass ich das hochgradig gefährlich finde, falls der Pointer mal ins Nirvana zeigt...
Die Addr Variable der einzelnen PRG's ist eine Output Variable, die in Zeile 2 dauernd überschrieben wird. Könnte das der Grund sein, warum da nie ein anderer Wert drin steht als der von ADR(Measuring3Phase) ?
Gruss
Erik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ja da muss man schon aufpassen, aber in diesem Fall minimiert sich
der Aufwand erheblich.
Stimmt an der Zuweisung könnte es liegen.Ich werde das mal überprüfen.
In dem angehängten Projekt habe ich mittels Tastendruck die Adresse des Pointers mittels dem Funktionsblock SHOWVISU an die globale Variable übergeben. So hatte es funktioniert. Allerdings mit dem ASSIGN nicht.Aber ich denke es lag an einer Zuweisung, die den Wert andauernd überschrieben hat.
Es handelt sich ja nicht um eine sicherheitskitische Anwendung und die Pointer werden nur lesend benutzt. Im Fehlerfall hätte man keine Darstellung, was allerdings zu verkraften wären.
Die einzigste Alternative dazu wäre es für jede Klemme eine Visualisierung zu erstellen. Im Prinzip gibt es aber nur 4 verschiedene Layouts der Werteanzeige und so müsste ich dann 4*14 Visualisierungen anlegen.
Falls sich etwas im Layout ändern sollte, würde es so deutlich mehr Zeit kosten.
Vielen DANK !
Grüße Benny
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen,
in der Visualisierung habe ich unter dem Punkt:
Element Eigenschaften -> Eingabe -> Programm auführen
versucht über die Visualisierung eine globale Varibale zu setzen.
Den Befehl habe ich mittels dem Dialog und der Taste <f2> um die Variablen zu finden erstellt</f2>
Den Wert den ich dieser Globalen Variablen zuweise stammt aus einem PRG Block.
Laut Anleitung sollte es eigentlich kein Problem sein, aber es will einfach nicht funktionieren.
Vielleicht kann ja einer helfen ?
Grüße,
Benny
Moin
Häng doch mal dein Projekt mit an.
Gruss
Erik
Okay,
allerdings habe ich schon etwas drum herum gebastelt und das ganze ist noch eine Baustelle.
Zur Erklärung:
Es sollen Werte einer 3-Phasenklemme gemessen werden.
Dazu habe ich eine einheitliche Darstellung der Werte erstellt. Aus dem vorherigen Menü wähle ich die Klemme aus, darauf hin sollte die Zeigeradresse auf die globale Variable kopiert werden.
Meine aktuellen Werte beziehen sich nun immer auf die globale Variable.
Im Prinzip will ich nur den Zeiger verbiegen.
Grüße,
Benny
Moin
Du willst also einen Pointer auf einen Funktionsblock per Tastendruck an ein PRG übergeben.
Einmal davon abgesehen, dass ich das hochgradig gefährlich finde, falls der Pointer mal ins Nirvana zeigt...
Die Addr Variable der einzelnen PRG's ist eine Output Variable, die in Zeile 2 dauernd überschrieben wird. Könnte das der Grund sein, warum da nie ein anderer Wert drin steht als der von ADR(Measuring3Phase) ?
Gruss
Erik
Hallo,
ja genau so hatte ich mir das gedacht.
Ja da muss man schon aufpassen, aber in diesem Fall minimiert sich
der Aufwand erheblich.
Stimmt an der Zuweisung könnte es liegen.Ich werde das mal überprüfen.
In dem angehängten Projekt habe ich mittels Tastendruck die Adresse des Pointers mittels dem Funktionsblock SHOWVISU an die globale Variable übergeben. So hatte es funktioniert. Allerdings mit dem ASSIGN nicht.Aber ich denke es lag an einer Zuweisung, die den Wert andauernd überschrieben hat.
Es handelt sich ja nicht um eine sicherheitskitische Anwendung und die Pointer werden nur lesend benutzt. Im Fehlerfall hätte man keine Darstellung, was allerdings zu verkraften wären.
Die einzigste Alternative dazu wäre es für jede Klemme eine Visualisierung zu erstellen. Im Prinzip gibt es aber nur 4 verschiedene Layouts der Werteanzeige und so müsste ich dann 4*14 Visualisierungen anlegen.
Falls sich etwas im Layout ändern sollte, würde es so deutlich mehr Zeit kosten.
Vielen DANK !
Grüße Benny
Moin
Schon mal das Platzhalterkonzept der Visu angekuckt ?
Dann müsstes du nur noch EINE Visu malen und die als Template benutzen ...
Gruss
Erik
Richtig, das könnte ich auch machen.
Das würde dann heißen:
Ich erstelle meine 4 Templates mit Platzhalter für die Klemme
und dupliziere die Templates mit der Anzahl der Klemmen und ersetze dann
jeweils die Platzhalter mit der jeweiligen Klemme um an die Werte zu
kommen. Oder ?
Grüße,Benny
Hört sich so weit korrekt an.
So mach ichs z.B. um die IO-Belegung für den Bediener zu Visualisieren.
Und wir haben da schon mal mehrere hundert IO's.
Funktioniert prima.
Gruss
Erik
Was sich bewährt hat, hört sich immer gut an
Dann mach ich das auch so!
Wobei ich die Pointer-Variante sehr kreativ finde.
Vielen Dank!
Grüße,
Benni