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

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

Thema: Bit aus einem PEW lesen ohne es vorher in ein DB zu schreiben

  1. #1
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen.

    Ich habe folgendes Problem.
    Ich lese über den Bus von einem FU das "Fehler" Bit aus.
    Das mache ich Momentan so

    Ausschnitt aus dem FC
    ------------------------------------------

    Netzwerk1

    L #Bus_Word_1 #Schnittstelle auf der dann z.B PEW 264 liegt
    T DB200.DBW 0 #Mein DB wo ich das Wort drin speicher

    Netzwerk 2

    U DB200.DBX 1.3 #Hier lese ich dann das benötigte Bit aus
    = #AusgangBit_1 #Schnittstelle "Ausgang"
    -------------------------------------------

    das muss doch auch einfacher gehen... ich muss doch auch die Möglichkeit haben das Bit direkt aus dem PEW zu lesen ohne es erst in ein DB zu schreiben... oder?

    dank euch schonmal
    Zitieren Zitieren Bit aus einem PEW lesen ohne es vorher in ein DB zu schreiben  

  2. #2
    Registriert seit
    04.01.2006
    Ort
    Wuppertal
    Beiträge
    664
    Danke
    122
    Erhielt 105 Danke für 91 Beiträge

    Standard

    Schau doch mal, ob du den FU nicht im Prozeßabbild ablegen kannst - dann wäre es möglich direkt das Eingangsbit abzufragen.
    Ob das jetzt eleganter ist lasse ich mal so im Raum stehen

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

    Standard

    Hallo,
    einzelne Bits von einem PEW abfragen geht nicht direkt, sondern erst nachdem das PEW eingelesen wurde. Entweder ins Prozeßabbild (EW) oder in ein TEMP-Wort oder ein Datenwort oder ein MW, u.U. sogar mit einem fiktiven EW.
    mfG Werner
    Hoch lebe die Suchfunktion!
    Zitieren Zitieren erstmal einlesen  

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

    Standard

    Das kann man auch direkt über die Temp Variable machen.

    Code:
    L P##Bus_Word_1   //Lade Adresse von Temp
    LAR 1                  //schreibe Adresse in Adressregister 1
    U [AR1,P#1.3]    //Lese Bit 1.3 
    = #AusgangBit_1

  5. #5
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.336
    Danke
    27
    Erhielt 130 Danke für 117 Beiträge

    Standard

    Zitat Zitat von Garog
    das muss doch auch einfacher gehen... ich muss doch auch die Möglichkeit haben das Bit direkt aus dem PEW zu lesen ohne es erst in ein DB zu schreiben... oder?

    dank euch schonmal

    Welche CPU hast Du den?
    Besteht evtl. die Möglichkeit den FU im normalen und nicht im erweiterten Adressbreich unterzubringen? Die neueren 317'er CPU können ja 256 Byte dirket adressieren.

  6. #6
    Garog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Zitat Zitat von Boxy
    Welche CPU hast Du den?
    Besteht evtl. die Möglichkeit den FU im normalen und nicht im erweiterten Adressbreich unterzubringen? Die neueren 317'er CPU können ja 256 Byte dirket adressieren.
    Ich schreibe das Programm auf eine 319'er CPU
    Um es genauer zu sagen. CPU 319-3 PN/DP 6ES7 318-3EL00-0AB0 /V2.4


    @ godi.

    dank dir
    werde ich morgen mal ausprobieren.
    Geändert von Garog (03.08.2006 um 16:48 Uhr)

  7. #7
    Garog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Zitat Zitat von godi
    Das kann man auch direkt über die Temp Variable machen.

    Code:
    L P##Bus_Word_1   //Lade Adresse von Temp
    LAR 1                  //schreibe Adresse in Adressregister 1
    U [AR1,P#1.3]    //Lese Bit 1.3 
    = #AusgangBit_1

    da mal eine dumme frage zu da ich mich mit diesem part nicht so auskenne

    wenn ich jetzt ein anderes word habe muss ich
    Code:
    L P##Bus_Word2
    LAR 2
    U [AR2,P#1.3]
    = #AusgangsBit2
    schreiben.. oder?

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

    Standard

    Zitat Zitat von Garog
    da mal eine dumme frage zu da ich mich mit diesem part nicht so auskenne

    wenn ich jetzt ein anderes word habe muss ich
    Code:
    L P##Bus_Word2
    LAR 2
    U [AR2,P#1.3]
    = #AusgangsBit2
    schreiben.. oder?
    Nein, brauchst du nicht.

    LAR1 bedeutet das du den Pointer der im Akku1 steht in das Adressregister 1 ladest.

    Wenn du jetzt eine zweite indirekte Adresierung hast kannst du das auch über das AR1 machen nur wird bei LAR1 der alte Pointer mit dem neuen überschrieben.

    Wenn du aber beide Pointer zugleich brachst dann kannst du einen in das AR1 schreiben und den zweiten in das AR2.

    Aber Vorsicht mit dem AR2 bei Multiinstanzen. Da befindet sich nämlich die Adresse der Multiinstanz drinn.

    Lg Godi

  9. #9
    Garog ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.08.2006
    Beiträge
    166
    Danke
    11
    Erhielt 10 Danke für 9 Beiträge

    Standard

    dank dir

    ich habe das heute mal ausprobiert...

    resultat war das die sps in stop ging und nicht mehr in run...
    habe es dann so gelassen wie es war^^

  10. #10
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Cool


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Garog,

    man kann das benötigte Bit auch abfragen, indem man die nicht benötigten Bit´s im Wort ausmaskiert. Das schaut dann so aus:

    L #Bus_Word_1
    L 4
    UW
    L 1
    >=I
    = #AusgangBit_1

    Mfg

    uncle_tom

Ähnliche Themen

  1. Werte aus TP lesen ohne *.pdz
    Von bloodymichael im Forum HMI
    Antworten: 5
    Letzter Beitrag: 23.12.2010, 14:41
  2. Antworten: 10
    Letzter Beitrag: 27.08.2009, 17:08
  3. Daten aus S7-300 lesen ohne Programmänderung
    Von Astralavista im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.08.2009, 15:00
  4. In DB schreiben / lesen
    Von mariob im Forum HMI
    Antworten: 4
    Letzter Beitrag: 27.12.2008, 16:54
  5. AGLink: PEs schreiben, PAs lesen?
    Von daffy im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 08.06.2007, 15:36

Lesezeichen

Berechtigungen

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