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

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

Thema: Peripherie-Ausgang einlesen

  1. #1
    Registriert seit
    03.09.2009
    Beiträge
    129
    Danke
    15
    Erhielt 19 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich übergebe einem FB eine A-Adresse, die innerhalb ODER außerhalb des PAA liegen kann. Nun möchte ich gern zwei Bytes (Word) von dieser Adresse auslesen und überprüfen um sicher zu gehen, welchen Wert die Ausgangsbytes aktuell haben.

    Momentan sieht es so aus
    Code:
    L #OUT_ADR
    SLD 3
    L p#1.0
    +d
    T #ADDRESS
    
    L AW [#ADDRESS]
    ...
    Mit diesem Code ist es mir momentan möglich auf einer 315-2 PN/DP das Ausgangswort einzulesen, wenn es sich innerhalb oder außerhalb des PAA befindet. Bei einer 313-2 DP geht dies aber leider nur, wenn sich das Word innerhalb des PAA befindet, ansonsten gibt es einen Peripheriezugriffsfehler.

    Gibt es einen "Allgemeingültigen" Befehl / oder eine Methodik, die ich anwenden kann um mit jeder 300er CPU ein Ausgangswort einzulesen, egal ob es sich in den PAA oder außerhalb befindet? (vielleicht mit dem SFC20?)

    MFG
    Zitieren Zitieren Peripherie-Ausgang einlesen  

  2. #2
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Bei Siemens kann prinizpiell nur auf Ausgänge innerhalb des PAA lesend zugegriffen werden.
    Gruß
    Michael

  3. #3
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von Beckx-net Beitrag anzeigen
    Gibt es einen "Allgemeingültigen" Befehl / oder eine Methodik, die ich anwenden kann um mit jeder 300er CPU ein Ausgangswort einzulesen, egal ob es sich in den PAA oder außerhalb befindet? (vielleicht mit dem SFC20?)
    Warum eine Ausgang lesen?
    Der wird doch in der PLC beschrieben.
    Wenn das AW brauchst, dann schreib es doch an der Stelle wo es geschrieben wird in ein MW oder DBW.

    Mir ist nicht schlüssig, warum du einen Ausgang lesen musst.


    bike

  4. Folgender Benutzer sagt Danke zu bike für den nützlichen Beitrag:

    M-Ott (14.06.2011)

  5. #4
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    @Beckx
    Ausgänge lesen ist sehr schlechter Stil und es gibt kaum ein Argument dafür. Mach es lieber so, wie bike geschrieben hat, das spart außerdem noch viel Arbeit, falls Du irgendwann einmal den Ausgang umverdrahten willst.
    Gruß
    Michael

  6. #5
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    SFC51 SZL-ID W#16#xy14 Index W#16#0002: PAA (Anzahl in Byte)

    damit die schleife begrenzen, so sind zwar nur die innerhalb des PAA abgebildet, aber das auf allen CPU-typen...

    @bike,M-Ott: manchmal gibt es gründe. manchmal werden wir sie nie verstehen. mir bräuchte er mit einem derartigen programm auch nicht kommen, aber die frage ist nicht "darf ich das machen?" sondern "wie macht man sowas?" ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #6
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    ...aber die frage ist nicht "darf ich das machen?" sondern "wie macht man sowas?" ...
    Ich könnte Dir mindestens 10 Threads nennen, bei denen es genau dieses Missverständnis gab...
    Gruß
    Michael

  8. #7
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    SFC51 SZL-ID W#16#xy14 Index W#16#0002: PAA (Anzahl in Byte)

    damit die schleife begrenzen, so sind zwar nur die innerhalb des PAA abgebildet, aber das auf allen CPU-typen...

    @bike,M-Ott: manchmal gibt es gründe. manchmal werden wir sie nie verstehen. mir bräuchte er mit einem derartigen programm auch nicht kommen, aber die frage ist nicht "darf ich das machen?" sondern "wie macht man sowas?" ...
    Er wollte doch inner- und außerhalb des PAA lesen?


    bike

    P.S:Vielleicht werde ich alt?

    Doch wenn niemand etwas sagt, wird auch nichts anders, daher der Hinweis.

  9. #8
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Er wollte doch inner- und außerhalb des PAA lesen?
    ja, wollte er, kann er aber aus obengenannten gründen nicht also soll er doch wenigstens innerhalb des PAA lesen...
    (ferner ist mir schleierhaft, wie er auf einer 315-2DP PAW lesen kann... das ist schlicht nicht möglich... auch SFC20 ist nicht möglich, da man keinen any auf PAXx.y bauen kann...)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #9
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    (ferner ist mir schleierhaft, wie er auf einer 315-2DP PAW lesen kann... das ist schlicht nicht möglich... auch SFC20 ist nicht möglich, da man keinen any auf PAXx.y bauen kann...)
    Erstaunt mich auch.
    Hat nicht die 315 ein größeres PAA alswie die 313?
    Daher die verschiedenen Reaktionen der CPU?


    bike

  11. #10
    Beckx-net ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.09.2009
    Beiträge
    129
    Danke
    15
    Erhielt 19 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Servus,

    die Idee war einfach einen Fehler zu erkennen, der ausgelöst werden kann, wenn an einer anderen Stelle als im FB das PEW / AW manipuliert wird.
    Ansonsten benutze ich auch einen Speicherbereich, denn ich konsistent zum geschriebenen Wert im PEW / AW halte.

    Hat mich halt nur interessiert, ob es möglich ist dies zu machen...

    @Vierlagig
    Komischerweise kann man bei meiner 315er den Befehl "L AWxx" benutzen, auch wenn der Bereich nicht im PAA liegt. Der gleiche Code geht auf der 313er nicht.
    Geändert von Beckx-net (14.06.2011 um 12:32 Uhr)

Ähnliche Themen

  1. Peripherie Werte einlesen
    Von Gerold im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.04.2009, 19:32
  2. Analogeingang/Ausgang einlesen
    Von Bitte_ein_Bit im Forum Programmierstrategien
    Antworten: 7
    Letzter Beitrag: 24.11.2008, 23:36
  3. S5 P- Q -Peripherie
    Von Phil im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 23.10.2006, 15:27
  4. peripherie
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.01.2006, 16:43
  5. ENO-Ausgang oder eigener OK-Ausgang?
    Von MSP im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 02.11.2005, 19:32

Lesezeichen

Berechtigungen

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