TIA Wie kann man REF() verwenden?

onboardx

Level-2
Beiträge
40
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich konnte nicht verstehen, wofür die Funktion REF() auf der TIA-Hilfeseite verwendet wird. Wenn wir zum Beispiel auf eine Tag verweisen, wie können wir sie im Programm verwenden?
 

Anhänge

  • reference.png
    reference.png
    17,6 KB · Aufrufe: 74
Eigentlich prüft der doch nur, ob der pointer zu einem bestimmten Datentyp gehört. Persönlich würde ich das jetzt nicht als Polymorphie bezeichnen.
Sehe ich auch so.
Eigentlich mehr ne Mogelpackung als OOP.
Kann aber trotzdem ganz interessant sein, wenn man z.B. unterschiedliche Hardware (NC-Antriebe) mit ähnlicher Funktionalität hat.
 
Ist eine ganz coole Funktion. Ich habe die Funktion in unserem SmartWire FB von Eaton genutzt. Du kannst damit auch auf UDT's abfragen. Mein FB realisiert die Kommunikation der einzelnen SmartWire Teilnehmer über Profinet oder Modbus. Die Struktur der einzelnen Teilnehmer (gibt sehr viele unterschiedliche) habe ich als Variant im FB als Input angelegt. Im FB wird mit Referenz auf die unterschiedlichen UDT's an diesen Eingängen abgefragt und der FB springt in den richtigen Bereich zur Verarbeitung. Du kannst weiterhin symbolisch programmieren, obwohl du noch nicht genau weist welche Struktur am FB angeschlagen wurde.
Es kann sogar sein das du dies auch mit Technologieobjekten machen kannst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nei
Eigentlich prüft der doch nur, ob der pointer zu einem bestimmten Datentyp gehört. Persönlich würde ich das jetzt nicht als Polymorphie bezeichnen.
Ich habe nicht exakt Porlyphormie gemeint aber so eine Art ist es. Eine Art Interface ala c# oder Java, was letztendlich ein Typen sicherer Functionpointer ist .Es ist halt wieder ein Siemens Konstrukt.
 
Zuletzt bearbeitet:
Also das Thema ref_to / typeOf ist schon interessant. Für mein Verständnis ist das einfach nur das erzeugen eines Pointers und das überprüfen, von welchen Datentyp der Pointer ist.

Fairerweise muss ich sagen, dass ich die Funktionen noch nie benutzt und getestet habe. Ich bin gerade auf dem weg zurück von Mexiko und werde mich nächste Woche damit mal beschäftigen.

Momentan kann ich das aber in keinster Weise mit meinem Verständnis von Polymorphie, was schlussendlich durch Mehrfachvererbung oder Interfaces gelöst wird, nicht im Einklang bringen.
Persönlich finde ich es generell etwas befremdlich, dass immer wieder versucht wird, Siemens in die OOP-Prinzipien zu pressen. Da sind einfach schlichtweg seitens Siemens nicht Voraussetzungen da.
 
Habe das in einem Projekt mit Technologieobjekten (Positionierachsen) genutzt. Z.B. wenn ich zwanzig Achsen mit einer FOR- Schleife auf einmal einschalten möchte und eben nicht den MC_Power 20x aufrufen möchte.
 
Zurück
Oben