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

Ergebnis 1 bis 8 von 8

Thema: AWL: Boolsche Eingänge mittels Pointer in DB setzen?

  1. #1
    Registriert seit
    24.10.2012
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!
    Ich stehe ein wenig auf dem Schlauch. Ich möchte folgende Anwendung in AWL projektieren:

    Ich möchte die Eingänge E0.0 - E7.7 lesen und bei High Zustand die gleichen Variablen (ARRAY 0-200 of bool) in einem DB setzen. Generell nichts schweres mit einem Pointer die Bytes laden und transferieren.
    Mein Problem liegt aber darin das ich nur "Setzen" möchte und das Rücksetzen von einem anderen Netzwerkteilnehmer erfolgen soll.
    Hat jemand eine Idee?

    Momentan glaube ich, es geht nur, in dem ich die Eingänge einzeln mittels Pointer aufrufe und dann im DB setze. Ich habe nur total vercheckt wie der Aufruf in AWL geschrieben werden muss. (z.B "U E[AR1,p#0.0] ?)

    Vielen Dank für die Hilfe!

    CPU: 315-2 DP
    Software: Siemens Step 7 V5.5 SP2
    Zitieren Zitieren AWL: Boolsche Eingänge mittels Pointer in DB setzen?  

  2. #2
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von K5286 Beitrag anzeigen
    Mein Problem liegt aber darin das ich nur "Setzen" möchte und das Rücksetzen von einem anderen Netzwerkteilnehmer erfolgen soll.
    Hat jemand eine Idee?
    Nur Setzen wäre eine ODER-Verknüpfung der Eingänge mit dem vorhandenen Inhalt des DB.
    Wenn im DB auch alles hintereinander weg ist, kannst Du das mit 2 DWORD (E0.0 - E3.7 und E4.0 bis E7.7) erledigen.

  3. #3
    K5286 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.10.2012
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich stehe wirklich auf'm schlauch, dass verstehe ich nicht recht.

    Mein Hauptproblem liegt darin, dass ich leider nicht mehr weiss, wie ich AWL boolsche Adressen (quasi mit zwei "Pointern", einer fürs byte, einer fürs Bit) ansprechen kann. Arbeite eigentlich nur mit SCL, da ist das einfacher... Ich weiss noch, dass es mit AR1 und nem Pointer geht, aber das war es dann auch


    Bzgl der Oderverknüpfung, wie soll das gehe bei einem DWord? Bei Bits ist das klar....
    ...

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo,
    wenn du eigentlich nur mit SCL arbeitest ... warum machst du das denn jetzt nicht auch damit ?

    Bezüglich der Oder-Verknüpfung :
    Code:
    L ED10
    L DB10.DBD10
    OD
    T DB10.DBD10
    
    ... oder mit Pointern ...
    Gruß
    Larry

  5. #5
    K5286 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.10.2012
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke...

    Habe nun vollgendes geschrieben, leider kommt im DB nichts an.


    L P#0.0 //set slope to 0
    T MD 200

    anf: L EB [MD 200]
    AUF "DB41_Fail_log_system"
    L DBB [MD 200]
    OD
    L DBB [MD 200]
    L MD 200 // add 1 to slope
    L P#1.0
    +D
    T MD 200
    L MD 200 // if slope > 7 than quit slope
    L P#7.0
    >D
    SPB ende
    SPA anf
    ende: BE

  6. #6
    Registriert seit
    30.07.2011
    Ort
    Uithuizen,Niederlande
    Beiträge
    45
    Danke
    7
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Code:
    L     P#0.0                       //set slope to 0
          T     MD   200
    
    anf:  L     ED [MD 200]
          AUF   "DB41_Fail_log_system"
          L     DBD [MD 200]            // doppelW
          OD    
          L     DBD [MD 200]
          L     MD   200                    // add 4 to slope (dword)
          L     P#4.0
          +D    
          T     MD   200
          L     MD   200                    // if slope > 7 than quit slope
          L     P#7.0
          >D    
          SPB   ende
          SPA   anf
    ende: BE

  7. #7
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    kleiner Tippfehler:
    Zitat Zitat von PeterHollanda Beitrag anzeigen
    Code:
          L     P#0.0                       //set slope to 0
          T     MD   200
    
    anf:  L     ED [MD 200]
          AUF   "DB41_Fail_log_system"
          L     DBD [MD 200]              // doppelW
          OD    
          T     DBD [MD 200]
          L     MD   200                    // add 4 to slope (dword)
          L     P#4.0
          +D    
          T     MD   200
          L     MD   200                    // if slope > 7 than quit slope
          L     P#7.0
          >D    
          SPB   ende
          SPA   anf
    ende: BE

  8. #8
    K5286 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.10.2012
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke, nun gehts!

    Gruß Matthias
    Geändert von K5286 (03.03.2013 um 13:48 Uhr)

Ähnliche Themen

  1. FC Move mittels Any-Pointer
    Von Toki0604 im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 22.09.2011, 04:54
  2. Eingänge zu Simulationszwecken softwaremäßig in CoDeSys setzen
    Von Silversurger im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 16.01.2011, 13:58
  3. Zugriff auf Adressen mittels Pointer
    Von Jiss im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 11.12.2009, 07:56
  4. Eingänge setzen
    Von Poldi007 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 27.09.2009, 22:51
  5. WinCC Eingänge setzen
    Von Anonymous im Forum HMI
    Antworten: 7
    Letzter Beitrag: 20.08.2004, 13:07

Stichworte

Lesezeichen

Berechtigungen

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