OP170B und variable Ein-Ausgabefelder

lefrog

Level-2
Beiträge
281
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Folgende Problemstellung...
Um eine Visualisierung nicht unnötig aufzublähen, habe ich folgende Idee...
Eine Auswahlliste, in der z.B. eine Achse von 17 ausgewählt werden kann. In Abhängigkeit dieser Auswahl möchte ich nun die entsprechenden Soll- und Istwerte darstellen, welche je nach Auswahl der Achse in unterschiedlichen Datenbausteinen stehen.

Meine Idee: Ich habe nun mit Hilfe einer Indexvariablen jeder Achse eine Nummer gegeben. Bei Auswahl der Achse in der Auswahlliste habe ich auch die passende Indexnummer. Nun fehlt mir der Tipp, wie ich in Abhängigkeit dieser Indexnummer ein Ein/Ausgabefeld darstellen kann, welches zu der Achse gehört...

Achse 1 = 0
Achse 2 = 1
Achse 3 = 2
...
Achse 17 = 16

Sollwert = wenn Index = 0 --> DB10.DBD0; wenn Index = 1 --> DB20.DBD0;...

hoffe Ihr versteht was ich meine...
Bin für jeden Tipp dankbar!

Viele Grüße, Tobias
 
Hallo,
du kannst für jede Achse ein Eingabefeld erstellen, diese genau übereinander positionieren und für jedes Eingabefeld unter Eigenschaften/Freigabe/Anzeige: Einblenden bei Wert: hier deinen Indexwert eingeben. Unter Variable trägst du die Indexvariable ein, fertig. Wenn du nun die Indexvariable eingibst, wird genau das Eingabefeld eingeblendet, das zu dem Wert passt.
Gruß Andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Auf diese simple Lösung bin ich natürlich nicht gekommen.. Danke Dir... werd ich nachher gleich versuchen...

Viele Grüße, Tobias
 
Hi,
du könntest auch im Programm einen Sprungverteiler machen und den Wert am Ende immer in die gleiche Variable schreiben. So brauchst du nur ein einziges E/A-Feld.
 
Hi,
Ich habe momentan so ein ähnliches Problem.
Ich löse es über Adressmultiplexen.
Du kannst für dein DB eine Multiplexadresse anlegen in die du je nach Achse die richtige Nummer des DB's reinschreibst.
Du legst dir dann ein Bild an wo du die E/A Felder mit den gemultipletxten Variablen verbindest.
Ich hoffe du konntest meinen Gedanken folgen :D .

Ciao
Andy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Also die Lösung mit den, bei 10 Achsen, 10 Feldern, welche ich in Abhängigkeit sichtbar schalte funktioniert - nur habe ich das Problem, dass wenn ich eine Änderung machen möchte, ich alle 10 übereinander liegenden Felder auseinanderrücken muss und hinterher wieder passgenau übereinander. Geht, macht mich aber nicht glücklich...
Ich werde die anderen Ansätze noch einmal anfassen, klingt alles interessant. Mit Multiplexvariablen habe ich noch nicht gearbeitet, aber auf den ersten Blick habe ich keine Möglichkeit gesehen, wie ich mit Hilfe der Indexvariablen auf unterschiedliche Datenbausteine (wie DB10.DBD2) zugreifen kann... Wie ich das überblickt habe kann man dort keine Variable, sondern nur Text eintragen... Kann auch sein das ich was übersehen habe.... ;)

Viele Grüße, Tobias
 
Hallo Tobias,
ich würds mal, wie schon oben geschrieben, mit einer Sprungleiste (entspricht dem "GOTO"-Befehl) versuchen. Schau mal in der AWL-Hilfe unter "SPL". Da ist das Ding beschrieben.
 
Hallo Tobias,

Beim Adressmultiplexen muss man etwas um die Ecke denken :cool:
Mux1.jpg

Mux2.jpg

Mux3.jpg

In den 3 Bildern siehst du wie ich die Variablen aufgebaut habe.
Mit einem Skript kannst du die Variable hier "DB_Nr_Schliesseinheit" mit der richtigen DB-Nr beschreiben.
Ich habe das mit der Taste für die jeweilige Schliesseinheit gemacht.
Bei mir greift das TP dann auf den DBW2 des jeweiligen DB's zu.
Bsp.:
Varibale "DB_Nr_Schliesseinheit" wurde mir "1" beschrieben
Im Skript "ptvar.DB_Nr_Schliesseinheit=1".
d.H.: DB1.DBW2
Varibale "DB_Nr_Schliesseinheit" wurde mir "2" beschrieben
Im Skript "ptvar.DB_Nr_Schliesseinheit=2".
d.H.: DB2.DBW2
usw.
Nun musst du dir nur noch eine Abhängigkeit für das beschreiben der Variable einfallen lassen.

ich hoffe das Thema ist nun verständlicher.

Gruß
Andreas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es geht doch ganz einfach mit nur einer Multiplexvariable, mit der gleiche Indeksvariable wie in der Auswahlliste.
Bei dem Ausgabefeld auf M-plexvariable einstellen.
Fertig.
 
Hallo!

Ich habe das genau wie der lesede ;) gelößt, indem ich der Multiplexvariable die selbe Indexvariable gegeben habe, wie der Auswahlliste.
Ich danke euch allen für eure Ideen, nun bin ich wieder ein wenig schlauer... ;)

Viele Grüße, Tobias
 
hab grad diesen alten fred gefunden. damit habt ihr mir ein problem gelöst, wo ich seit 2 wochen am rätseln war.

danke :)
 
Zurück
Oben