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

Ergebnis 1 bis 10 von 10

Thema: Bitweiser Zugriff auf Peripherie

  1. #1
    Registriert seit
    04.07.2005
    Ort
    Bautzen
    Beiträge
    67
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute!

    Ich hätte da gern mal ein Problem

    Ich habe hier ein Programm von einer CPU318 vorliegen und wollte es, da nicht zeitkritisch, auf einer 315er CPU wieder zum laufen bringen.

    Die Hardwarekonfig sieht dabei an den drei ET-Stationen Adressen im Bereich E550.0 bis E570.7 / E 650.0 bis E 670.7 / E750.0 bis E 770.7 und A550.0 bis A555.7 usw vor.

    Die 318er CPU hat mit folgender Programmzeile keine Probleme:

    U M 3.3
    = A 550.6

    Aber die 315er weigert sich den bitweisen Zugriff auf die Peripherie durchzuführen.

    Also bleibt mir scheinbar nichts übrig als alle Bitzugriffe auf die Peripherie im Programm auf Merker zu legen und dann im OB1 die Peripherie byte- bzw. wortweise zu schreiben.

    Jetzt zu meiner Frage: Welches Merkmal der CPU sagt aus, das ich bitweise auf Peripherie zugreifen kann? Ich finde den Knackpunkt zwischen CPU318 und CPU315 nicht.

    Gibt es vielleicht noch irgendeinen SFC oder OB den ich anwenden könnte?

    Wenn ja, ich hab das Programm schon umgeschrieben, aber wär ja interessant fürs nächste mal.

    Gruß mclear


    STEP7 v5.3 SP3 ---- keine Fehlermeldung beim Programm ---- bei angesteckter CPU315-2DP kommt beim Versuch zu übertragen die Fehlermeldung (D280) Fehler beim übersetzen des Programms
    Zitieren Zitieren Bitweiser Zugriff auf Peripherie  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Ein bitweiser Zugriff auf die Peripherie geht unabhängig von der CPU grundsätzlich nicht. Was geht, ist ein bitweiser Zugriff auf das Prozessabbild. Dieses wird dann am Zyklusende auf die reale Peripherie übertragen. Einfach mal bei den beiden CPUs in der Hardwarekonfig prüfen, wie dort die Einstellungen für das Prozessabbild sind und ggf. die Werte entsprechend anpassen. Dann sollte das Programm klappen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. #3
    Registriert seit
    13.11.2006
    Ort
    Lengerich
    Beiträge
    68
    Danke
    0
    Erhielt 14 Danke für 14 Beiträge

    Standard

    Moin

    Das Prozeßabbild der Ein- bzw. Ausgänge in deiner 315 ist nicht so groß das Du auf den "hohen" EA-Bereich zugreifen kannst. Das heißt bei den neuen 300ern kann man die Größe des Prozeßabbildes einstellen. Ich denke da liegt dein Fehler!

    Gruß André
    Der Fehler liegt oft zwischen den Ohren!

  4. #4
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    Bei CPU315 ist das PAE/PAA begrenzt auf jeweils 128 Bytes. Die Defaulteinstellung bei CPU318 ist 256 Bytes, es ist dort bis max 2048 Bytes einstellbar.

    EDIT: bei 315 festeingestellt auf 128, bei 318 voreingestellt auf 256 ...
    Geändert von Perfektionist (08.01.2008 um 10:47 Uhr)

  5. #5
    mclear ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2005
    Ort
    Bautzen
    Beiträge
    67
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hmm, also moment, ich glaub irgendwo hab ich da nen Denkfehler:

    @Rainer Hönle

    Ich bin mir sicher, dass das Programm auf der 318er so lief/läuft.
    z.B.

    U M 3.7
    = A 750.6

    Die Adressen sind in der HW-Konfig direkt in der ET200s vereinbart. Würde für mich jetzt bedeuten, die obere Programmzeile greift direkt auf die Peripherie zu. Natürlich liest/schreibt die Steuerung das aus dem Prozessabbild, das meine ich zumindest sollte normal sein...

    @Tetrade und Perfektionist

    Leider kann ich bei der CPU 6ES7-315-2AG10-0AB0 v2.0.11 das Prozessabblid nicht einstellen. Und 318er hab ich grad keine hier...

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Interessant wäre aber mal, wie das Prozessabbild bei deiner "alten" 318 eingestellt ist. Das ist sicher so hoch eingerichtet (max. 204.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von mclear Beitrag anzeigen
    Hmm, also moment, ich glaub irgendwo hab ich da nen Denkfehler:

    @Rainer Hönle

    Ich bin mir sicher, dass das Programm auf der 318er so lief/läuft.
    z.B.

    U M 3.7
    = A 750.6

    Die Adressen sind in der HW-Konfig direkt in der ET200s vereinbart. Würde für mich jetzt bedeuten, die obere Programmzeile greift direkt auf die Peripherie zu. Natürlich liest/schreibt die Steuerung das aus dem Prozessabbild, das meine ich zumindest sollte normal sein...

    @Tetrade und Perfektionist

    Leider kann ich bei der CPU 6ES7-315-2AG10-0AB0 v2.0.11 das Prozessabblid nicht einstellen. Und 318er hab ich grad keine hier...
    Es kann schon sein, dass das Programm läuft. Grundsätzlich wird aber mit den E- und A-Befehlen auf das Prozessabbild zugegriffen, egal welche Hardware dahinterhängt. Ein direkter Zugriff auf die Peripherie erfolgt mit L PEB, L PEW, L PED, T PAB, T PAW oder T PAD. Hierbei ist nur ein Lesen der Eingänge und ein Schreiben der Ausgänge möglich. Das Prozessabild kann sowohl gelesen und auch geschrieben werden. Über Sinn und Unsinn möchte ich hier nicht diskutieren sondern nur die Möglichkeit aufzeigen. Auf die Peripherie kann auch nicht bitweise zugegriffen werden sondern mindestens byteweise.
    Auf alle Daten, die außerhalb des Prozessabbildes liegen, muss über die direkten Peripheriebefehle zugegriffen werden. Innerhalb des Prozessabbildes kann frei gewählt und sogar gemischt werden werden. Es gelten die gleichen Anmerkungen zu Sinn und Unsinn wie vorher.
    Ein Zugriff auf E- und A-Werte außerhalb des Prozessabbildes führen bei der CPU normalerweise zu einem Fehler. Was soll sie auch da sonst machen.
    Das Prozessabbild der Eingänge wird von den realen Eingängen am Zyklusbeginn gelesen und das Prozessabbild Ausgänge wird am Zyklusende auf die realen Ausgänge (soweit vorhanden) geschrieben. Dazwischen können diese Bereiche frei manipuliert werden. Manche CPUs sind allerdings verärgert, wenn auf das Prozessabbild zugegriffen wird, hinter dem keine physikalische Hardware hängt. Die 300er sind meines Wissens nach an dieser Stelle allerdings sehr großzügig.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

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

    Standard

    bits werden nie als peripherie angesprochen sondern immer aus dem prozessabbild.

    und dieses abbild geht bei der 315er eben nur bis 127.
    obige operation erzeugt also einen fehler.

    dein programm wirst du so also niemals auf der 315er zum laufen bekommen.

    du wirst also um ein umverdrahten nict drumrumkommen.
    mit siemensinternen mitteln leider nicht möglich, da man aus einem A z.b. kein dbx machen kann. (am besten alles in eine quelle exportieren und mit einem geeigneten prog über suchen/ersetzen)

    später könnte das dann z.b. so aussehen.
    ob1
    nw 1
    l peb 750
    t db10.dbb 750

    nw x-y
    weitere bausteine
    U M 3.7
    = db11.dbx 750.6

    nw z (letztes)
    l db11.dbb 750
    t pab 750
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  9. #9
    mclear ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2005
    Ort
    Bautzen
    Beiträge
    67
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Das Prozessabbild der Eingänge wird von den realen Eingängen am Zyklusbeginn gelesen und das Prozessabbild Ausgänge wird am Zyklusende auf die realen Ausgänge (soweit vorhanden) geschrieben. Dazwischen können diese Bereiche frei manipuliert werden. Manche CPUs sind allerdings verärgert, wenn auf das Prozessabbild zugegriffen wird, hinter dem keine physikalische Hardware hängt.
    Das setze ich grundsätzlich als gegeben vorraus. Mit "bitweisem Peripheriezugriff" habe ich mich falsch ausgedrückt. Ich meine schon, den Zugriff aufs PAE/PAA, aber eben mit Adressen aus einer Peripheriebaugruppe.

    Das PAE und das PAA der 318er sind auf 1256 kB eingestellt. Das erklärt zwar warum das Programm da läuft, aber warum läufts auf der 315er mit:

    U M 3.3
    = A 550.7 nicht,

    aber dafür mit

    U M 3.3
    = M 550.7

    L MB 550
    T PAB 550

    Ahh, ich glaub ich hab mir das grad selber beantwortet.....

    Mit T PAB fahr ich ja gerade am PAA vorbei....

    Hmm, Danke für eure Antworten!!!

  10. #10
    mclear ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2005
    Ort
    Bautzen
    Beiträge
    67
    Danke
    3
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke nochmal Volker, dass hatte ich schon so gemacht bevor ich hier gepostet habe.

    Ich war nur der irrigen Annahme, dass das irgendwo stehen sollte wenn die CPU was nicht kann, aber da es ja eindeutig im Systemhandbuch (PAE/PAA 128 kB) steht (man muss es nur richtig lesen) hat sich das ganze hier in wohlgefallen aufgelöst.

    Danke nochmal an alle!!!

Ähnliche Themen

  1. Safe: Bitweiser Zugriff auf unsigned16
    Von Enif im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 10.08.2011, 14:36
  2. Antworten: 1
    Letzter Beitrag: 23.06.2010, 12:00
  3. Step 5 Zugriff auf Peripherie
    Von Guido1976 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 03.07.2008, 17:45
  4. Fehler beim Peripherie Zugriff
    Von INST im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 18.01.2007, 11:37
  5. S5 P- Q -Peripherie
    Von Phil im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 23.10.2006, 15:27

Lesezeichen

Berechtigungen

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