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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 28

Thema: Bit in Word setzen bzw rücksetzen

  1. #11
    geit ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.09.2010
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So ich hab da mal eine kleine Änderung vorgenommen.
    Wenn ich z. B. Bit 6 setzen bzw rücksetzen will, dann möchte ich das über 2 Eingänge machen.
    Funktioniert das so wie ich das geändert habe???
    mfg
    Wilhelm


    [PHP]FUNCTION FC 103 : VOID
    TITLE =
    //Diese Funktion steuert in abhängigkeit der Nummer (Nr)
    //ein Bit im Any-Pointer (Bitfeld).
    AUTHOR : dalbi
    VERSION : 1.0


    VAR_INPUT
    Setzen : Bool // Bit setzen
    Rücksetzen: Bool // Bit zurücksetzen
    NR : INT ; //Nummer
    END_VAR
    VAR_IN_OUT
    ZEIGER : ANY ; //Zeiger Bitfeld
    END_VAR
    VAR_TEMP
    tSaveAR1 : DWORD ; //Speicher Adressregister 1
    tSaveAR2 : DWORD ; //Speicher Adressregister 2
    tDBNr : WORD ; //Datenbausteinnummer
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    TAR1 #tSaveAR1; // Adressregister sichern
    TAR2 #tSaveAR2;

    L P##ZEIGER; // AR1 auf Bitfeld
    LAR1 ;

    L W [AR1,P#4.0]; // DB-Nummer
    T #tDBNr;

    AUF DB [#tDBNr]; // DB aufschlagen

    L #NR;
    L P#0.1;
    *D ;
    L P#0.1;
    -D ;
    L D [AR1,P#6.0]; // AR1 auf Anfangsadresse
    +D ;
    LAR1 ;

    U #Setzen;
    UN #Rücksetzen
    S [AR1,P#0.0]; // Bit setzen

    U #Rücksetzen;
    UN #Setzen;
    R [AR1,P#0.0]; // Bit zurücksetzen


    LAR1 #tSaveAR1; // Adressregister 1 rückschreiben
    LAR2 #tSaveAR2; // Adressregister 2 rückschreiben

    END_FUNCTION[/PHP]

  2. #12
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    ja.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  3. #13
    geit ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.09.2010
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Eine Frage hab ich jetzt immer noch wo definier ich das Word in das ich schreiben möchte???
    An den Zeiger???
    mfg

  4. #14
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Genau an den Zeiger schreibst Du z.B. P#M100.0 BYTE 2 für MW100 oder P#DB1.DBX 0.0 BYTE 2 für DB1.DBW0 bei Doppelworten BYTE 4.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  5. #15
    geit ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.09.2010
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Jetzt sagt siemens das das speichern nicht möglich ist da sich in dem Netzwerk noch ungülige anweisungen befinden.
    Bei den beiden zeilen.....
    Hast du dafür auch noch eine Idee??


    L P##ZEIGER // AR1 auf Bitfeld
    LAR1

  6. #16
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Was hast Du gemacht? In dem Beitrag http://sps-forum.de/showpost.php?p=288468&postcount=10 hatte ich doch den Baustein als S7 Projekt hochgeladen, einfach mit dem Simatic-Manager dearchivieren und fertig. Das andere ist eine AWL-Quelle die kann man unter Quellen importieren.

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  7. #17
    geit ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.09.2010
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So jetzt hab ich den Baustein zum laufen.
    Das Problem ist aber immer wenn ich ein neues Bit setze geht das zuvor gesetzte bit verloren. Also wird wieder auf 0 gesetzt.

    Soll das so sein???
    mfg
    wilhelm

  8. #18
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hi,

    nein in dem Baustein wird in Abhängigkeit von dem Steuern das Bit mit der (Nr) beschrieben. Wie hast Du das jetzt beschalten?

    Gruss Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  9. #19
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    @Dalbi

    Code:
         
          L     #NR; 
          L     P#0.1; 
          *D    ; 
          L     P#0.1; 
          -D    ; 
          L     D [AR1,P#6.0]; // AR1 auf Anfangsadresse
          +D    ; 
          LAR1  ;
    Den Sinn der rot markierten Befehle erklärst du uns sicher auch noch.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  10. #20
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von geit Beitrag anzeigen
    So jetzt hab ich den Baustein zum laufen.
    Das Problem ist aber immer wenn ich ein neues Bit setze geht das zuvor gesetzte bit verloren. Also wird wieder auf 0 gesetzt.

    Soll das so sein???
    mfg
    wilhelm
    Du mußt die Nummer ändern, bevor du "Steuern" änderst (ist für deinen Fall eher unpraktisch), der Baustein kann an dieser Stelle für deine Zwecke sicherlich noch ein wenig bedienfreundlicher gestaltet werden, aber die Funktion ist ja schon mal da.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. Ausgang setzen und rücksetzen
    Von Andreas k im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 26.07.2010, 16:39
  2. WINCC V6.2 Bit setzen/rücksetzen
    Von HarbichC im Forum HMI
    Antworten: 19
    Letzter Beitrag: 03.05.2010, 10:12
  3. Schütz mit Setzen Rücksetzen
    Von mitchih im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 15.03.2010, 16:07
  4. WinCC 6.0 Bit setzen/rücksetzen
    Von zwerg77 im Forum HMI
    Antworten: 6
    Letzter Beitrag: 07.12.2008, 22:48
  5. Bit setzen/rücksetzen bei Tastendruck
    Von tantrum13 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 15.12.2006, 07:54

Lesezeichen

Berechtigungen

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