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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Inhalt eines Datenbaustein auf 0 vergleichen

  1. #1
    Registriert seit
    25.04.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich würde gerne um eine Sammesstörung zu generieren, den Störmeldebaustein z.B. DB50 auf 0 Vergleichen.

    Also wenn alle Datenwörter im DB 50 = 0, dann ist keine Störung.

    Der Datenbaustein kann aus einer unbekannten Anzahl von Datenwörtern bestehen.

    Gibt es da ein SFC der das Kann?

    Schön währe ein FC mit den Parameter.

    IN_VAR
    DB //DB nummer in dem die Störmeldungen liegen

    OUT_VAR
    Sammelstörung //Wenn ein Bit in einem Datenword im DB gesetzt ist = True



    Danke
    Zitieren Zitieren Inhalt eines Datenbaustein auf 0 vergleichen  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    machst du:

    in vari DBNR
    int variable SCHLEIFENZ
    out vari: SAMMELSTOERUNG
    Code:
    AUF     #DBNR
    L     DBLG
    LP:T     #SCHLEIFENZ
    L     #SCHLEIFENZ
    SLD     3
    LAR1
    L     DBB [AR1,P#0.0]
    L     0
    <>I
    SPB STOE
    L    #SCHLEIFENZ
    LOOP LP
    
    SET 
    R  #SAMMELSTOERUNG
    BEA
    STOE: SET
    S #SAMMELSTOERUNG
    sollte gehen

    Achtung!!!! nicht getestet!!!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren geht auch anderst...  

  3. #3
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Hallo!

    Das kannst du über eine Schleife Programmieren.

    Da brauchst du nur mit dem Befehl L DBLG die Länge des Datenbausteines Laden. Daraus kannst du deine maximalen Schleifendurchgänge ermitteln. Und in der Schleife vergleichst du einfach alle Werte auf null. Wenn nicht Null springst du aus der Schleife ansonsten läuft die Schleife durch und zum Schluss setzt du dann dein Bit das dir dann sagt das überal im DB 0 steht.

    godi

  4. #4
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    war wieder mal zu langsam

  5. #5
    norman ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.04.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    super Danke,

    werde ich gleich mal testen.

  6. #6
    norman ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.04.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kleine Verhaltensstörung...

    Die CPU geht bei der Anweisung

    L DBW [AR1,P#0.0]

    auf Stop.

  7. #7
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    zu wenig info.
    was steht über der anweisung?

    zu pointer schau auch hier
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  8. #8
    Registriert seit
    02.02.2006
    Ort
    Hessen
    Beiträge
    429
    Danke
    16
    Erhielt 28 Danke für 22 Beiträge

    Standard

    Hallo,
    besonders servicefreundlich ist folgende Methode:

    L DW0
    L DW2
    OW
    L DW4
    OW
    L ...
    ...
    ...
    OW
    L W#16#0
    <>I
    = M 0.0 //Störung
    mfG Werner
    Hoch lebe die Suchfunktion!
    Zitieren Zitieren Servicefreundlich  

  9. #9
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Denke wir müssen ....

    Code:
    L DBLG
    LP:T SCHLEIFENZ

    durch

    Code:
    L DBLG
    + -1
    LP:T SCHLEIFENZ
    ersetzen....

    wie gesagt. das ganze ist nur ein beispiel... ich habe nichts getestet....
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Mhhhm....  

  10. #10
    Registriert seit
    14.10.2004
    Beiträge
    104
    Danke
    24
    Erhielt 7 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,

    oder einen OB121 im AG haben )

    Gruß

Ähnliche Themen

  1. Inhalt eines DB in Peripherie schreiben
    Von FinalMistery im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.09.2011, 10:33
  2. Datenbaustein Inhalt in DB [?] verschieben
    Von Rambo im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.01.2011, 19:07
  3. Inhalt eines MP 370 Loeschen.
    Von lieuthnant im Forum HMI
    Antworten: 4
    Letzter Beitrag: 04.03.2010, 08:47
  4. Inhalt Datenbaustein in ProTool darstellen
    Von Black Scorpion im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 06.04.2009, 16:26
  5. Inhalt eines DB in einen DB Schreiben
    Von nonguru im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.08.2008, 18:04

Lesezeichen

Berechtigungen

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