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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 28 von 28

Thema: Einausgaenge in Structur initialisieren

  1. #21
    Ebias ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.03.2009
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich verwende einen PC.

  2. #22
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Achso, war vielleicht mein Fehler!

    Du kannst die I/Os nicht schon in der Struktur deklarieren, sondern erst in in der jeweiligen Instanz. Da eine Struktur ja quasi ein Variablentyp ist.

    Du musst wahrscheinlich eine Struktur nur für Eingänge und eine nur für Ausgänge erstellen und dann bei der Deklaration sagen:
    Code:
    VAR
      stMyInStruct AT%I*: stInStruct;
      stMyOutStruct AT%Q*: stOutStruct;
    END_VAR
    Sobald du in deinem Beispiel feste Adressen bei der Struct einträgst funktionierts. Ich glaube hier kann TwinCAT die indirekten Adressen nicht zuordnen.
    Geändert von trinitaucher (06.03.2009 um 16:33 Uhr)

  3. #23
    Registriert seit
    13.01.2007
    Beiträge
    304
    Danke
    35
    Erhielt 29 Danke für 25 Beiträge

    Standard

    Ich habe mir Dein Programm angeschaut.

    Code:
    TYPE T_CYL :
      STRUCT
        ndi_on AT %I*: BOOL;
        ndi_off AT %I*: BOOL;
        ndo_on AT %Q*: BOOL;
        ndo_off AT %Q*: BOOL;
        pb_on :BOOL;
        pb_off :BOOL;
      END_STRUCT
    END_TYPE
    Soweit ich weiß, darfst Du das mit %I* bzw. %Q* nicht direkt in der Struktur so schreiben, sondern erst, wenn Du die Struktur dann verwendest. Also in der Form:

    Code:
    TYPE T_CYL_IN :
      STRUCT
        ndi_on : BOOL;
        ndi_off : BOOL;
    ......
    
    VAR
      Zylinder1 AT %I*: T_CYL_IN;
    END_VAR
    LG

  4. #24
    Registriert seit
    13.01.2007
    Beiträge
    304
    Danke
    35
    Erhielt 29 Danke für 25 Beiträge

    Standard

    Ich nutze aber auch noch nach Möglichkeit Funktionsbausteine, und deklariere dort über VAR_INPUT Variablen in der Form %I* bzw. VAR_OUTPUT in der Form %Q*. Jede Instanz legt nun Ein- bzw. Ausgangsvariablen an, die Du nach Belieben verknüpfen kannst. Der Vorteil von Strukturen liegt in der einfachen Erweiterbarkeit, ohne dass Bausteine nachträglich größer oder kleiner werden. In CFC kann das nämlich sehr ungut werden...

    LG

  5. #25
    Ebias ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.03.2009
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Okay, habe ich dann auch gemacht.
    Die Ein/Ausgaenge statt dessen in dem FB angelegt, mit AT%I*.
    Compiled etc.
    Dumme Frage, wo findet das "verknuepfen" statt?
    Nicht im System Manager, oder? Dort tauchen dann die vars im aus dem FB nicht auf.

  6. #26
    Registriert seit
    13.01.2007
    Beiträge
    304
    Danke
    35
    Erhielt 29 Danke für 25 Beiträge

    Standard

    Doch, im Systemmanager. Hast Du dort Dein PLC-Projekt angehängt?

    LG

  7. Folgender Benutzer sagt Danke zu MarkusP für den nützlichen Beitrag:

    Ebias (06.03.2009)

  8. #27
    Ebias ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.03.2009
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ... aber hatte nicht rescanned, nachdem ich die IOs gaendert habe.
    Vielen Dank, es geht zwar nicht ueber die structure, aber dann eben ueber die FB.
    Da gehoeren sie ja im Grunde auch hin, das mit der Structure war eh nur ein work-around.
    Das hilft mir fuers erste weiter. Vielen dank.

  9. #28
    Registriert seit
    13.01.2007
    Beiträge
    304
    Danke
    35
    Erhielt 29 Danke für 25 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bitte beachte auch meinen vorherigen Eintrag. Du kannst ja trotzdem Ein- und Ausgangsstrukturen machen, und die dann in den FB's verwenden. Dann bist Du bei Erweiterungen total flexibel und hast für zig Eingangsvariablen aber eben nur einen einzigen Eingangsanschluss. (denn Du nicht verschalten musst, dies geschieht ja dann über den Systemmanager)

    LG

Ähnliche Themen

  1. SCL akzeptiert Structur nicht
    Von Bensen83 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.03.2011, 11:52
  2. WinCC flex Structur --> Array
    Von supergrobi im Forum HMI
    Antworten: 13
    Letzter Beitrag: 10.03.2010, 11:05
  3. Schrittkette in AS initialisieren
    Von Dirty Harry im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 14.04.2009, 16:39
  4. 3 Byte in eine Structur laden
    Von INST im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 09.02.2009, 09:41
  5. Antworten: 7
    Letzter Beitrag: 17.10.2005, 10:54

Lesezeichen

Berechtigungen

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