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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Störmledungsbaustein mit Pointer?!?

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Habe vor mir einen universellen Baustein für Störmeldungen zu schreiben was bis jetzt auch ganz gut klappt nun stehe ich jedoch vor dem Problem mit der Quittierung...

    Habe zb die Störung im db190.dbx24.0 nun muss ich ja beim Quittieren die Meldung rücksetzen und das Quittierbit(db190.dbx36.0) setzen das diese wieder aus dem Panel verschwindet. Da das Meldebit jedoch variabel ist sollte sich die Steuerung also selbstständig das dazu passende Quittierbit suchen was in jedem Falle um den Betrag x entfernt liegt(hier eben 12byte).

    Versuche mich nun schon seit Tagen an diesem Problem und seh den Wald vor lauter Bäumen nicht mehr... Hoffe ihr könnt mir helfen
    Zitieren Zitieren Störmledungsbaustein mit Pointer?!?  

  2. #2
    Registriert seit
    07.04.2006
    Ort
    Sauerland
    Beiträge
    128
    Danke
    7
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Dann machst du einen zweiten pointer mit dem versatz 12 Byte.
    Vorrausgesetzt es sind immer 12Byte
    -----------------------------------------------

    Die Menschen lassen sich lieber durch Lob ruinieren
    als durch Kritik verbessern



  3. #3
    Registriert seit
    11.04.2010
    Beiträge
    39
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Zitat Zitat von Pontifex Beitrag anzeigen
    Dann machst du einen zweiten pointer mit dem versatz 12 Byte.
    Vorrausgesetzt es sind immer 12Byte
    ja es sind immer 12byte - bei andern sachen könnte ich den baustein ja zur not wieder anpassen
    wäre es möglich mal ein kurzes bsp zu tippen denn mittlerweile bin ich schon total neben der spur

  4. #4
    Registriert seit
    07.04.2006
    Ort
    Sauerland
    Beiträge
    128
    Danke
    7
    Erhielt 10 Danke für 10 Beiträge

    Standard

    L 24
    SLD 3
    LAR1
    AUF #DB_Nummer
    un DBX [AR1,P#0.0]
    = DBX [AR1,P#12.0]
    -----------------------------------------------

    Die Menschen lassen sich lieber durch Lob ruinieren
    als durch Kritik verbessern



  5. #5
    Registriert seit
    11.04.2010
    Beiträge
    39
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Zitat Zitat von Pontifex Beitrag anzeigen
    L 24
    SLD 3
    LAR1
    AUF #DB_Nummer
    un DBX [AR1,P#0.0]
    = DBX [AR1,P#12.0]
    ok das versteh ich soweit wie binde ich jedoch jetzt die abhängigkeit von meiner veränderbaren variable #meldung(bool) ein
    Geändert von CrazyMC (18.05.2010 um 15:23 Uhr)

  6. #6
    Registriert seit
    07.04.2006
    Ort
    Sauerland
    Beiträge
    128
    Danke
    7
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Wenn du doch einen Pointer benutzt dann musst du doch auch den
    Versatz wissen.
    -----------------------------------------------

    Die Menschen lassen sich lieber durch Lob ruinieren
    als durch Kritik verbessern



  7. #7
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    vielleicht so ähnlich
    Code:
    //Pointer des Störbits ins Adressregister
          L     P##Stoerbit
          LAR1  
    
    //Störung setzen
          U     #Stoerungs_ursache
          S     #Stoerbit
    
    //Störung zurücksetzen
          UN    #Stoerungs_ursache
          U      [AR1,P#12.0]
          R     #Stoerbit
          R      [AR1,P#12.0]
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  8. #8
    Registriert seit
    11.04.2010
    Beiträge
    39
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Zitat Zitat von Pontifex Beitrag anzeigen
    Wenn du doch einen Pointer benutzt dann musst du doch auch den
    Versatz wissen.
    der versatz vom störbit bis zum quittierbit sind immer 12byte jedoch sind es gesamt 96 störbits. jetzt müsste ich doch zuerst abhängig vom gesetzen störbit das quittierbit "ausrechnen" über die jetzige funktion wie finde ich aber nun den anfangsbereich des pointers heraus (der variable #meldung)

  9. #9
    Registriert seit
    11.04.2010
    Beiträge
    39
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    habe jetzt folgendes probiert, jedoch wird mir das quittierbit nicht mehr gesetzt im db

    Code:
     
          L     P##MELDUNG
          LAR1  
          U     #QUITTIERUNG
          R     #MELDUNG
          S      [AR1,P#12.0]
          UN    #MELDUNG
          R      [AR1,P#12.0]

  10. #10
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von CrazyMC Beitrag anzeigen
    habe jetzt folgendes probiert, jedoch wird mir das quittierbit nicht mehr gesetzt im db

    Code:
     
          L     P##MELDUNG
          LAR1  
          U     #QUITTIERUNG
          R     #MELDUNG
          S      [AR1,P#12.0]
          UN    #MELDUNG
          R      [AR1,P#12.0]
    ach da hab ich dich eben mißverstanden ich dachte du Quittierst mit
    dem OP, so wie du es da gemacht hast funktioniert es nicht, da du
    dein Quittierbit Setzt und gleich wieder zurücksetzt.


    Code:
     
    //Pointer der Stoerung ins Adressregister
          L     P##MELDUNG
          LAR1  
    //Quittierbit setzen
          U     #QUITTIERUNG
          S      [AR1,P#12.0]
    //Störung zurücksetzen  
          U      [AR1,P#12.0]
          UN    #Meldung
          R      [AR1,P#12.0]
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

Ähnliche Themen

  1. Pointer und Co
    Von mkd im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 31.07.2008, 14:30
  2. SCL: Pointer
    Von dinner4one im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.07.2008, 18:07
  3. Pointer in SCL ?
    Von AndreK im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 27.04.2008, 21:24
  4. DB und Pointer
    Von PhilippL im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 12.09.2007, 07:02
  5. VKE und Pointer im FC...
    Von halorenzen im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.07.2004, 13:16

Lesezeichen

Berechtigungen

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