TIA Symbolisches DB Multiplexen mit UDTs

jok3r

Level-2
Beiträge
370
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
kann es sein dass man in TIA WinCC V14SP1 Multiplexen nur den Standard Datentypen vorbehalten ist ?
Ich bräuchte diese Funktion für einen UDT.

Bei mir gibt zu jeden Antrieb einen UDT mit Bildbaustein. Dieser Bildbaustein existiert in einem Popup, somit muss ich je nach dem welcher Antrieb angesehen werden will die Multiplexvariable gesetzt werden dass ich die Daten von nem anderen DB hole kann...

Gruß
 
Ich mach' das Multiplexen eines UDTs in der SPS. Einen FC mit dem Array und einem Zeiger als Eingang, der Ziel-UDT für die Visu als Ausgang. Eine einzige Zuweisung innen:
Code:
VisuUDT := MyUDT [MyChoise];
Ist IMHO weniger aufwendig, als das Erstellen der Multiplex-Variablen in der Visu.

Erst beim Beschreiben wird's etwas aufwendiger.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Funktioniert natürlich, aber wir haben uns beim Programmieren regeln festgelegt. So etwas wie MVC Pattern, nur eben angepasst für die SPS. Daher fällt deine Lösung raus.:cool:
Zu dem belastet sowas die Zykluszeit, sicherlich in den meisten fällen egal. Aber ich suche immer noch eine andere Möglichkeit.
Auch müsste ich Bearbeitet Daten wieder zurück schreiben, hier geht kein Call by ref.
Es muss doch irgendwie mit HMI Multiplexen funktionieren ?
Gruß
 
Wenn dein UDT-Bereich nicht gerade tausende von Bytes groß ist würde ich die Belastung der Zykluszeit als verschwindend gering erachten. Darüber hinaus ist Hucki's Vorschlag auch noch jederzeit nachvollziehbar.
Der Nachteil hierbei ist, dass zwischen der Anwahl des gewünschten Datensatzes und der Verfügbarkeit desselben u.U. eine gewisse Zeit vergehen kann, da der Datenaustausch der Visu dazwischen hängt.

Deine Multiplexerei in der Visu würde aus meiner Sicht einen ganz erheblich höheren Aufwand bedeuten ... UND ... ist für einen Aussenstehenden sehr wahrscheinlich nur schwer nachvollziehbar.

Es ist sehr schön, wenn man sich für das Erstellen von Progammen Regeln auferlegt - wenn diese aber unabänderlich und unergänzbar (also dogmatisch) werden dann läuft da m.E. etwas ganz gewaltig schief.

Gruß
Larry
 
Ich kann jetzt schlecht die umstände erklären das würde das ganze jetzt sprängen. Das stimmt schon so wie ich es geschrieben habe, die Thematik ist gerade ein wenig komplizierter....

Also bitte es geht um meine eigentliche Frage. Geht es oder geht es nicht?

Ich habe gerade in der Bibliothek einen HMI UDT angelegt, den konnte dann in dem HMI als Datentyp anlegen.... Ich dacht es gibt keinen unterschied mehr zwishen HMI und PLC UDT ?
Gruß
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann es dir nicht genau sagen ob es geht, da ich so etwas noch nicht gemacht habe.
Allerdings weiß ich, dass es bei Bildbausteinen (zumindestens bei den Einzel-Variablen) nicht möglich ist, dort MUX-Variablen anzubinden. Ich kann mir vorstellen, dass du das gleiche Problem bei der Anbindung einer einzigen Struktur-Variablen (als MUX-Variable) bekommst.

Du solltest nicht den Fehler machen zu meinen, das, was du ggf. aus der .Net-Welt kennst, als Möglichkeit auf TIA übertragen zu können ...

Gruß
Larry
 
Natürlich. Dabei ist sowieso vorsicht geboten.

Was ich jetzt geschafft habe ist, wenn ich in einem DB ein Arraf of axis anlege (axis ist der udt) dann kann ich die indexvariable austauschen( einfach ein Array Item ins HMI ziehen und dann unter andresse einen index hinzufügen)

Strukturel im Program und weil ich ein Fan von Symbolischen Namen bin wäre es mir lieber ich können auf ein Array verzichten und das genauso mit einem DB machen, also die DB nummer austauschen.
 
So ich weiß mehr, also Symbolisches Multiplexen mit Array Elemente geht und funktioniert ganz Praktikabel.
DB Multiplexen funktioniert auch, nur leider nur Absolut und dann mit einem HMI UDT der dann darüber gelegt wird. Diese Variante machts zwingend erforderlich dass man einen UDT zwei mal führt und aktuell hält , also fällt die Lösung wohl raus.
Danke !
Gruß
 
Zurück
Oben