TwinCat 3 - Variablen während SPS-Laufzeit verknüpfen

nos7

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forenmitglieder,

ich sitz jetzt schon seit längerem an dem Problem, das ich meine Variablen erst während der SPS-Laufzeit mit der Hardware verknüpfen kann.
Unter Twincat 2 war das mithilfe von direkter Adressierung möglich, jedoch geht das unter Twincat 3 in Verbindung mit einem CX nicht mehr.
Nun wollte ich Fragen ob da jemand eine Idee hat oder selbst eine Lösung für das Problem hat?

Ich hab es schon mit dem Pragma LinkTo und diversen Bibliotheken versucht, aber nix davon bietet die passende Funktionalität.
Ich wäre sehr dankbar wenn mir jemand helfen könnte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja das Problem ist das ich selbst zur compile zeit die Variablen nicht im Deklarationsteil verknüpfen kann, deshalb kahm für mich das Pragma auch nicht in Frage.
Bevor ich das Programm starte, weiß ich nicht was ich für Hardware zur Verfügung hab, da das Programm an mehreren Systemen mit zwar den selben Komponenten aber unterschiedlicher Anzahl der Komponenten zum Einsatz kommt.
Also wird bei der Inbetriebnahme die Konfiguration einmal gescannt und danach ausgelesen, das hab ich auch bis dahin schon erledigt.
Nun soll aber nicht an jedem System jede Variable per Hand verknüpft werden, sondern nachdem das PLC Programm seine Hardware kennt soll es meine Variablen selbstständig mit den jeweiligen I/O verknüpfen.
 
Also irgendwie sowas wie das Pragma wäre ganz nützlich nur das ich das dann in meinem Programm verarbeiten muss.
Ich hätte mir zum Beispiel ein String mit dem vollständigen Pfadnamen zusammen setzen können, den ich dann in die Pragma Anweisung einfüge, aber das geht halt nicht weil ich das Pragma nur im Deklarationsteil verwenden kann und sind nachträgliche Änderungen durch die PLC nicht möglich
 
Zwei weitere Möglichkeiten:

Ich gehe davon aus, dass dein SPS-Programm den Maximalausbau an Busteilnehmern unterstützt. In deinem I/O Devices Abschnitt fügst du auch immer den Maximalausbau ein. Busteilnehmer, die in einer bestimmten Maschine nicht existieren, deaktivierst du. Die Variablenverlinkung ist dann trotzdem noch drin, hat aber immer den Wert 0. Über die EtherCAT Info Daten kannst du in der SPS herausfinden, welche Busteilnehmer deaktiviert sind.

Alternativ schreibst du dir ein Programm, das die Variablenverknüpfung für dich erledigt. Das geht über das Automation Interface:
http://infosys.beckhoff.com/index.p...1/tc3_automationinterface/index.html&id=18042
 
Zurück
Oben