PC Worx - Zwei Worte zu einem Doppelwort zusammenfügen... geht das ?

Airmail

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe eine ILC 150 ETH und eine 350er zum Test. Ich möchte einen Inkrementalwertgeber an einer IB IL INC Klemme betreiben und die von Phoenix vorgefertigten FBs "INC_PARA" "INC_DATA" und "INC_IN" verwenden. Mein Problem ist nun, dass der FB "INC_IN" als Prozessdateneingangs- und Ausgangsdaten ein DWORD erwartet. Die Prozessdatenzuordnung, also die Zuordnung der Variablen auf Ausgänge und Eingänge der Klemme sind aber vom Datentyp WORD. In der F1 Hilfe zu dem Baustein steht, man solle die zwei WORD mit einem ODER verknüpfen und auf den Eingang das FB legen. Das geht aber nicht, da das ODER dann klarerweise wegen dem Datentyp meckert. Ich suche nun nach einer Möglichkeit wie ich die zwei einzelnen WORD Variablen quasi zu einem DWORD aneinanderfügen kann. Der Prozessdatenausgang müsste dann umgekehrt von einem DWORD in zwei WORD zerhackt werden. Ich programmiere in FUP und weiß leider nichts über AWL. Eine andere Möglichkeit wäre mir selbst einen FB zu erstellen, aber ich wollte vorher nochmal die Profis fragen, ob es nicht irgendwie anders zu bewerkstelligen ist :) Danke schonmal fürs Lesen und ich hoffe ich habe nichts ausgelassen. Ich arbeite mit der aktuellen Automationworx Suite v1.60 Grüße Airmail
 
WORD_TO_DWORD geht nicht?

Oder du hast zwei Words und willst sie zusammen zu einem DWORD machen? Siehe Anhang.
 

Anhänge

  • 2_WORDS_TO_DWORD.JPG
    2_WORDS_TO_DWORD.JPG
    17,6 KB · Aufrufe: 266
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry für die späte Antwort... Genau was du in deinem Bild zeigst habe ich gesucht. Bei mir ist es nur ein wenig komplizierter aufgebaut. Schonmal vielen Dank für deine Mühe ! Ich habe allerdings einen Weg gefunden, direkt mit einem DWORD arbeiten zu können. Die Klemme kann entweder mit zwei Worten oder einem DWORD arbeiten. Will man das DWORD nutzen, so belegt man in der Prozessdatenzuordnung den Aus- und Eingang mit der vorangestellten Tilde ~. Also z.B. ~AI und ~AO. Wenn man also den vorgefertigten FB nutzen will kann man diese auch mit den DWORDs nutzen. Schreibt man jedoch selbst einen FB so geht es eben auch mit den einzelnen Worten. Ich wußte nicht, dass die Zusammenfassung der Eingänge und Ausgänge mit ~ auch genutz werden können. Du hast mir aber insofern wirklich weitergeholfen da ich nun verstehe, wie das mit der ODER Verknüpfung zweier Einzelworte zu einem Doppelwort in der Anleitung von Phoenix gemeint ist. Meinen Ansatz kann ich damit verwerfen, weil deiner viel kürzer ist. Danke dir nochmal :)
 
Keine Ursache. Ein ODER ist ja eine logische Bitverknüpfung, d.h. es werden nacheinander alle Bits verglichen. Und das mit der Tilde hast du z.B. auch bei einer 16-kanäligen Eingangsklemme, da steht dann ~DI 16. D.h. du kannst alle 16 Eingänge auch mit einem Word abfragen, aber kannst dann natürlich nicht die Eingänge dazu noch alleine nutzen.
Dann kommt nämlich folgende Fehlermeldung beim kompilieren:
Code:
Überlagerung bzw. Überlappung von zwei Prozessdaten [Device=1.2.0, Signal 1 = ~DI 16, Signal 2 = IN2]
 
Das mit dem ODER hatte ich zunächst nicht richtig verstanden. Für mich war bis dato ein ODER etwas, was nur auf einem direkten Vergleich von zwei oder mehr binären Signalen beruhte. Wieder was dazu gelernt. Ich danke dir erneut :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Word Variable an Doppelwordvariable verknüpfen

Hallo Airmail,

wenn Du eine Doppelwort Variable nutzt dann kann man mit dem Namen der Variable und dem Punktzusatz (Variable1.xxx) auf die zwei Word-Elemente des Doppelwords zugreifen.(Arbeitsblatt der POE; rechter Mausklick; Variable; Zusatz "."
Diese beiden neuen Variablen kann man nutzen um sie mit vorhandenen Word-Variablen zu verknüpfen.
Ich hoffe diese für zum gewünschten Erfolg und vergleibe


mit freundlichen Grüßen
Dein Service-Team


Phoenix Contact Deutschland GmbH
Hotline-Nummer: +49 (0) 5281 946 2888
automation-service@phoenixcontact.com
 
Zurück
Oben