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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Zu viele E/A´s in die Simulation bzw. echte CPU???

  1. #11
    Registriert seit
    03.04.2008
    Beiträge
    6.206
    Danke
    237
    Erhielt 818 Danke für 692 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Katrin1982 Beitrag anzeigen
    OK, und wie kann ich dann mit den einzelnen Bits arbeiten?

    Ich mein, kann das Struct ja nicht direkt an ein UND/ODER Gatter anlegen.
    Sorry, habe kein S7, daher die Quelle.

    Code:
    FUNCTION_BLOCK FB1
    TITLE =
    VERSION : 0.1
    
    VAR_INPUT
       test : STRUCT
         e0_0 : bool;
         e0_1 : bool;
         e0_2 : bool;
         e0_3 : bool;
       END_STRUCT;
    ENDVAR
    
    BEGIN
    NETWORK
    TITLE
    
       U #test.e0_0
       U #test.e0_1
       = M 0.0
    
    END_FUNCTION_BLOCK
    bike


    P.S: Es müssen nicht immer Pointer sein.
    Geändert von bike (18.04.2011 um 20:21 Uhr) Grund: Ergänzung zugefügt

  2. #12
    Registriert seit
    27.10.2005
    Beiträge
    47
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Quelle ließ sich nicht übersetzen,
    so geht es:

    Code:
    FUNCTION_BLOCK FB5
    TITLE =
    VERSION : 0.1
    
    VAR_INPUT
       test : STRUCT
         e0_0 : bool;
         e0_1 : bool;
         e0_2 : bool;
         e0_3 : bool;
       END_STRUCT;
    END_VAR
    
    BEGIN
    NETWORK
    TITLE =
    
       U #test.e0_0;
       U #test.e0_1;
       = M 0.0;
    
    END_FUNCTION_BLOCK
    Aber wie kann ich da jetzt von außen ein EB verwenden.
    Da steht jetzt IN: STRUCT und bei einem EB kommt die Meldung
    Typkonflikt.

  3. #13
    Katrin1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    134
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, super. Besten Dank.

    Hab den "." nicht bedacht.

  4. #14
    Katrin1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    134
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ähm, noch ein Frage.
    Was muss ich denn dann an mein fertigen Baustein dran schreiben? EB0 geht nämlich nicht.

  5. #15
    Registriert seit
    03.04.2008
    Beiträge
    6.206
    Danke
    237
    Erhielt 818 Danke für 692 Beiträge

    Standard

    Sorry, habe kein S7 hier.

    Werde wohl etwas alt inzwischen.
    Der Eingang muss ein Wort sein, das mit dem SFC 20 in eine interne Variable umkopiert wird.
    Ungefähr so:

    Code:
    FUNCTION_BLOCK FB 1
    
    TITLE = 
    VERSION : 0.1
    
    
    VAR_INPUT
      eing : word;
    END_VAR
    VAR_TEMP
      test_intern : struct
        e00 : BOOL;
        e01 : BOOL;
        e02 : BOOL;
        e03 : BOOL;
      END_STRUCT ;
    END_VAR
    BEGIN
    Netwwork
    TITLE = 
      CALL "BLKMOV"(
          SBCBKL   := #eing,
          RET_VAL  := MW 20,
          DSTBLK    := #test_intern);
      NOP 0;
    
    NETWORK
    TITLE = 
    
       U #test_intern.e00;
       U #test_intern.e01;
       = M0.0;
    
    END_FUNCTIONSBLOCK
    Und wenn ich einen Strichpunkt oder einen Punkt vergessen habe, dann bitte nachführen.

    Werde morgen mal testen, was ich hier geschrieben habe.

    bike

  6. #16
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    Es gibt auch nocht die Quick and Dirty-Variante, wobei ich die Pointer-Variante eindeutig bevorzugen würde.

    Code:
    L #Einganbsbyte //IN Parameter FC
    T #Hilfsbyte_0  //Lokaldatenbyte (Adresse 0)
    
    U L0.0 ...
    Das ist sozusagen die moderne Variante des Schmiermerkers ...

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  7. #17
    Registriert seit
    27.10.2005
    Beiträge
    47
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Hier das ganze korrigiert und mit Byte:

    Code:
    FUNCTION_BLOCK FB 5
    
    TITLE = 
    VERSION : 0.1
    
    
    VAR_INPUT
      eing : byte;
    END_VAR
    VAR_TEMP
      test_intern : struct
        e00 : BOOL;
        e01 : BOOL;
        e02 : BOOL;
        e03 : BOOL;
      END_STRUCT ;
    END_VAR
    BEGIN
    Network
    TITLE =
      CALL "BLKMOV"(
          SRCBLK   := #eing,
          RET_VAL  := MW 20,
          DSTBLK    := #test_intern);
      NOP 0;
    
    NETWORK
    TITLE = 
    
       U #test_intern.e00;
       U #test_intern.e01;
       = M0.0;
    
    END_FUNCTION_BLOCK

  8. #18
    Registriert seit
    03.04.2008
    Beiträge
    6.206
    Danke
    237
    Erhielt 818 Danke für 692 Beiträge

    Standard

    Zitat Zitat von - chris - Beitrag anzeigen
    Hier das ganze korrigiert und mit Byte:

    Code:
    FUNCTION_BLOCK FB 5
    
    TITLE = 
    VERSION : 0.1
    
    
    VAR_INPUT
      eing : byte;
    END_VAR
    VAR_TEMP
      test_intern : struct
        e00 : BOOL;
        e01 : BOOL;
        e02 : BOOL;
        e03 : BOOL;
      END_STRUCT ;
    END_VAR
    BEGIN
    Network
    TITLE =
      CALL "BLKMOV"(
          SRCBLK   := #eing,
          RET_VAL  := MW 20,
          DSTBLK    := #test_intern);
      NOP 0;
    
    NETWORK
    TITLE = 
    
       U #test_intern.e00;
       U #test_intern.e01;
       = M0.0;
    
    END_FUNCTION_BLOCK
    Danke, wir können uns mal bei einem Bier treffen und eine AWL-Quelle schreiben.
    Mal sehen, ob dir kein Fehler passiert.
    Es ist nicht als Programm gedacht, sondern als Tipp.

    Es gibt für diese Aufgabenstellung viele Wege, meiner muss nicht der richtige sein, aber es passt und kann ohne Problem auch für andere Aufgabenstellungen verwendet werden.

    Nix für ungut

    bike

  9. #19
    Registriert seit
    27.10.2005
    Beiträge
    47
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hui da fühlt sich aber einer auf den Schlips getreten.

    Ich habe das ganze nur mal mit Byte ausprobiert
    und es hat auch funktioniert.

Ähnliche Themen

  1. [B] Viele SPS und zubehör
    Von Da_Grinch im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 08.03.2011, 16:11
  2. Antworten: 10
    Letzter Beitrag: 24.02.2011, 23:44
  3. Trysim, die kostenlose 3-D Simulation und S7-Simulation
    Von Josef Scholz im Forum PC- und Netzwerktechnik
    Antworten: 7
    Letzter Beitrag: 04.02.2011, 16:01
  4. Echte Serielle Schnittstelle an Dell Latitude C840
    Von progi12 im Forum PC- und Netzwerktechnik
    Antworten: 1
    Letzter Beitrag: 06.02.2006, 09:10
  5. Warum so viele OB´s ???
    Von margral2 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.11.2004, 01:08

Lesezeichen

Berechtigungen

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