Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: Adressierung(Deklaration) Ein/Ausgänge über Visu(Variabeln)

  1. #1
    Registriert seit
    18.12.2012
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    möchte die Ein+Augänge meiner CodeSys (2.3.9) Steuerung über die Visualisierung adressieren(deklarieren).
    Habe bisher nur die Möglichkeit der AT-Deklaration in der Dokumentation finden können...

    Beispiel:
    Out1 AT %QX4.0:BOOL; (möchte die Adressierung über die Visu ändern)

    I hoffe mein Problem ist verständlich
    Da ich mich erst seit kurzem mit CodeSys beschäftige habe leider nicht die nötigen Kenntnisse um das Problem zu lösen...

    Vielen Dank für Eure Hilfe
    Zitieren Zitieren Adressierung(Deklaration) Ein/Ausgänge über Visu(Variabeln)  

  2. #2
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard

    Wenn ich das richtig verstehe, möchtest du zur Laufzeit die Adresse der IO-Variablen ändern?

    Das wird nicht gehen, die Adressen werden beim kompilieren berechnet, diese zur Laufzeit zu ändern ist meines Wissens nicht möglich.

    Was anderes ist es, wenn du eine Variable zwischen zwei Adressen hin und her wechseln lassen willst, dafür baust du dir am besten eine Zwischenschicht, mit der du in der Visu arbeiten kannst. Die eigentlichen IO-Variablen lässt du in Ruhe und zeigst mit der Zwischenschicht einfach das an was du haben willst.

    Aber Adressen sind nach dem kompilieren fix und nicht veränderbar.

    Wie genau so eine Zwischenschicht aussehen kann, ist in erster Linie von deinen Anforderungen an Flexibilität abhängig. Ich hab in CoDeSys so was schon mal gemacht, kann aber die Pest werden, wenn es falsch konfiguriert wird.

    Ich rate Dir eher dazu, deine unterschiedlichen Fälle in denen die IO-Variablen verschiedene Bedeutungen haben im einzelnen auszuprogrammieren, dann fällt das Lesen auch nach Jahren leichter als mit einer Zwischenschicht die dann eh keiner mehr versteht.

    cheers

  3. #3
    IECChris ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2012
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die schnelle Antwort


    Da ich gerade an einem Standartprogramm arbeite welches ich für verschiedene Hardware-Konfigurationen verwenden will, wollte ich die Adressierung über die Visu anpassen können...

    Vielleicht hat jemand eine Idee wie man das umsetzen kann?

  4. #4
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard

    Hallo,

    jetzt ist zuerst mal wichtig zu wissen mit welcher Hardware du arbeitest. TwinCAT, wobei hier der System Manager bereits Dein Problem löst, oder mit CoDeSys, in dem die Adressierung absolut im Projekt gemacht ist.

    Ich nehm jetzt mal an, dass Du NICHT mit TwinCAT arbeitest, sonst würde sich der Aufwand den du betreiben willst schon gar nicht lohnen.

    Also zuerst mal grob beschrieben:

    Du hast eine Anzahl Aus und Eingänge, die einzeln adressiert sind. Dazu machst du dir ein Abbild, welches aber nicht Adressiert wird.
    In etwa so :
    dwInput at %I1.0 : DWORD;
    bInput_01 : BOOL;

    bInput_01 := dwInput.0;

    Jetzt kannst du einen Eingang(Bit) von dwInput entweder auf bInput_01 legen oder auf ein anderes Bit, und das kannst du dann auch in der VISU machen.
    Am ehesten wirst du dann mit Indexen, die in der VISU angelegt sind arbeiten können.

    Mal so als Vorschlag

    byIndexVisu01 - Variable, die du in der Visu beschreibst

    dann könnte die Zuweisung in deinem Code so aussehen:

    bInput_01 := EXTRACT(dwInput, byIndexVisu01);


    Ist mal so grob das was ich meinte.

    Aber solltest du mit TwinCAT arbeiten, legst du lieber in deinen IO-Strukturen alles an, verknüpft wird das eh im System Manager und deine verschiedenen Typen wären eben verschiedene System Manager Dateien.

    hoffe das hilft dir erst mal weiter.

    cheers

  5. #5
    IECChris ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2012
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich verwende das XV-102 von EATON mit SmartWire-DT Master womit ich die verschiedene Hardware einlese.
    Bei der SmartWire-Technology werden die Adressen der Hardware mit der Position im Bus bestimmt... Da sich auch die Anzahl der Ein/Ausgänge von Anlage zu Anlage ändert und die digital Ein/Ausgänge in "Byte" bzw die Anlogen in "Word" geschrieben werden, änderen sich auch die jeweiligen Adressen dafür

    Leider kann ich die Binär-Ein/Ausgänge nur in Bit oder Byte und die Analogen nur Bit oder Word deklarieren...

    I denke das Probleme werde ich mit dieser Funktion nicht in den Griff bekommen...

    Danke trotzdem

  6. #6
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard

    Ah mit EATON,

    ist es da nicht sehr ähnlich wie in TwinCAT, dass du im Code nur Platzhalter (z.B. wInput at %I* : WORD) definierst und dann im die Symbole auf die Hardware verknüpfst?

    bei SmartWire muss ich leider passen.

    cheers
    Geändert von DaHauer (20.12.2012 um 13:58 Uhr)

  7. #7
    IECChris ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2012
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Es gibt einen IOassistant bin aber mit der Funktionsweise nicht vertraut...

    Ich glaube dieser ist für SmartWire nicht geeignet


Ähnliche Themen

  1. Antworten: 20
    Letzter Beitrag: 03.08.2011, 13:26
  2. Antworten: 0
    Letzter Beitrag: 01.06.2010, 13:06
  3. Antworten: 10
    Letzter Beitrag: 29.04.2008, 17:53
  4. Antworten: 8
    Letzter Beitrag: 18.10.2005, 08:38
  5. Antworten: 11
    Letzter Beitrag: 19.08.2004, 15:33

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •