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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Gibt es in s5 Einschränkungen für DB's

  1. #11
    Registriert seit
    31.07.2007
    Ort
    Saarland
    Beiträge
    123
    Danke
    1
    Erhielt 16 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @argv_user

    So seh ich das auch!
    Kommt aber drauf an, was er machen will!
    Wenn er den Inhalt von DW 6 bitweise verarbeiten will (MW 250 also als Schmiermerker), dann hast Du recht.


    @Question_mark:
    Oder Interrupts in diesem Baustein einfach sperren, falls möglich!

    @Mega_ohm
    Hast Du da vielleicht die Bits verwechselt von MB 250 und MB 251?
    Obwohl, wenn Du das NUR im MW 250 bearbeitest und ansonsten die Werte
    im DB nur speicherst kann Dir da nix passieren.

    Ansonsten sollte es mit MW 250 keine Probleme geben.

    Vielleicht wird das MW 250 an anderer Stelle im Programm aber so aufgerufen, dass es nicht in der Querverweisliste auftaucht!
    Z.B. als indirekte Adressierung?

  2. #12
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von argv_user Beitrag anzeigen
    Korrigiert mich bitte, wenn ich das falsch sehe, aber der Code
    von mega_ohm hat doch lediglich den Effekt, einen
    Schmiermerker vor seinem Code zu sichern und
    nachher wieder zu restaurieren.
    Genau das ist der Plan.
    Ich brauche ein Word oder besser 16 Bits für Flanken, Verknüpfungen etc.
    Erst wollte ich diese, so wie es in s7 möglich ist, direkt in den DB 2
    schreiben, was aber nicht geht.
    Also brauche ich wieder ein Merkerword.
    Ich wollte mir also ein Freies suchen, aber außerhalb des Schmiermerkerbereich ist nix mehr frei. Also war meine Idee eben dieses MW 250, weil es in der Querverweisliste nicht auftaucht.
    Ich hatte schon einmal in Merkern des SM- Bereichs rumgekritzelt ( die waren auch nirgends angezeigt ), hatte diese aber vorher nicht gesichert und es ging schief. Diesmal dachte ich, es wäre anders, weil ich ja das MW 250 sichere, danach erst manipuliere, den Kram in meinem DB sichere und danach das MW 250 wieder zurückschreibe.

    Würde denn meine Überlegung richtig sein, sobald ich mir ein "schöneres"
    MW außerhalb des Schmiermerkerbereichs aussuche ?

  3. #13
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Nimm ein MW unterhalb 200, denn da fangen
    die Schmiermerker an.

  4. #14
    Registriert seit
    06.10.2004
    Beiträge
    278
    Danke
    17
    Erhielt 34 Danke für 30 Beiträge

    Standard

    Hallo

    Wenn Du Probleme mit Merker hast, kannst Du auch nicht genutzte Ausgänge nehmen. z.B. Dein Programm braucht A0.0 bis A 70.0 ....dann nimm AW 80 bis Ende als Merker.
    Mit Ausgängen und Eingängen kannst Du identisch wie mit Merker hantieren.
    Mehrere Male gebraucht in Notfall.

  5. #15
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Zitat Zitat von mega_ohm Beitrag anzeigen
    Diesmal dachte ich, es wäre anders, weil ich ja das MW 250 sichere, danach erst manipuliere, den Kram in meinem DB sichere und danach das MW 250 wieder zurückschreibe.
    Du willst doch eigentlich nur auf das sichere Wort aus dem DB
    bequem zugreifen. Das kopierst du zu Beginn der Funktion
    in einen Schmiermerker, werkelst damit rum, und am Ende
    speicherst Du das Schmiermerkerwort wieder in den DB.
    So kann jeder andere den Schmiermerker benutzen, Dich
    braucht es nicht zu kümmern.

    Nur hast Du die Mimik gerade falschrum programmiert.
    Ich habe dazu einen Verbesserungsvorschlag gemacht,
    den solltest Du nochmals durchlesen...

  6. #16
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von argv_user Beitrag anzeigen
    Du willst doch eigentlich nur auf das sichere Wort aus dem DB
    bequem zugreifen. Das kopierst du zu Beginn der Funktion
    in einen Schmiermerker, werkelst damit rum, und am Ende
    speicherst Du das Schmiermerkerwort wieder in den DB.
    So kann jeder andere den Schmiermerker benutzen, Dich
    braucht es nicht zu kümmern.

    Nur hast Du die Mimik gerade falschrum programmiert.
    Ich habe dazu einen Verbesserungsvorschlag gemacht,
    den solltest Du nochmals durchlesen...
    Ich brauche ein Merkerword, weil ich in meinem DB nicht bitweise schreiben kann.
    Also nehme ich mir ein Merkerword ( ich habe mich jetzt für MW 150 entschieden ), sichere das auf DW 6 in meinem DB 2.
    Danach kritzle ich ich in dem MW 150 rum, habe meine Flankenmerker, SR-merker etc. Dann setze ich meine Ausgänge, manipuliere in anderen Datenbausteinen noch ein bischen und schreibe danach für das Originalprogi das MW150 aus meinem DB 2 DW6 wieder zurück. Ich habe dafür einfach ein zusätzliches NW eingefügt.

    Was ist an meiner Logik falsch

    PS.: Übrigens war gestern wirklich der Ini "Schuld". Ich habe aber trotzdem MW 150 genommen. Mit den Hantierungsbausteinen und Interrupts wollte ich mich nicht rumärgern. Wenn sporadisch irgendwelche Fehler auftreten, sucht man sich meistens tot, das will ich nicht riskieren.

  7. #17
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Zitat Zitat von mega_ohm Beitrag anzeigen
    Was ist an meiner Logik falsch
    Tja, es geht um MW 250, nicht um 150.
    Das ist ein Schmiermerker, da kann jeder machen mit was er will.
    Einen solchen Merker in einen DB zu sichern und hinterher
    wieder herzustellen gibt eigentlich keinen Sinn.
    Ich dachte eher, Du willst den Merker sichern, dass er
    im nächsten Zyklus noch da ist...

  8. #18
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    1. die s5 bietet noch nicht den komfort der s7 - das handling von dbs ist nicht so einfach. zugriff auf datenbits kann von der 115er serie nur die 945


    2. grundsätzlich sollte bei deinem schniermerkerding vielleicht unten nochmal der db2 geöffnet werden - oder werden keine anderen dbs in dem code dazwischen geöffnet?


    3. wenn du - egela welches - mw erst in einen db sicherst und später die sicherung aus dem db wieder reinkopierst, dann kannste das bestenfalls als schmiermerker nutzen weil deine daten ja nicht bis zum nächsten zyklus erhalten bleiben --> also nix da mit flankenhilfsmerker.

    du must das andersrum angehen.

    a) tranfseriere ein dw6 (oder weiß der teufel welches) in irgendein schmiermerkerwort

    b)arbeite mit dem schmiermerkerwort

    c) sichere das schmiermerkerwort wieder in dw6 damit deine daten dort bis zum nächsten zyklus bleiben, da werden sie wieder gebraucht!


    habe mir jetzt nicht alles genau angesehen auf den zwei seiten, aber das scheint dein problem zu sein?
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  9. #19
    Registriert seit
    20.11.2006
    Ort
    Hamburg
    Beiträge
    225
    Danke
    35
    Erhielt 35 Danke für 32 Beiträge

    Standard

    das habe ich anders verstanden

    es hat wohl folgenden Ablauf
    1. Sichern des Schmiermerkerworts
    2. Schreiben der eigenen Informationen in den Schmiermerkerbereich
    3. Eigener Programmablauf
    4. Sichern der eigenen Informationen im Datenbaustein
    5. Zurückschreiben des Schmiermerkerwortes

  10. #20
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von argv_user Beitrag anzeigen
    Tja, es geht um MW 250, nicht um 150.
    Das ist ein Schmiermerker, da kann jeder machen mit was er will.
    Einen solchen Merker in einen DB zu sichern und hinterher
    wieder herzustellen gibt eigentlich keinen Sinn.
    Ich dachte eher, Du willst den Merker sichern, dass er
    im nächsten Zyklus noch da ist...
    Hmmm...

    Ich habe geschrieben, daß ich mich ( vielen Dank an Alle, die an dieser Diskussion teilnahmen ) für MW 150 schlußendlich entschieden habe.
    Meine Progi-änderung [eigentlich >>> Einfügung <<< in ein bestehendes Progi] läuft seit mehr als 11h immer noch sorgenfrei. Ich weiß, daß das noch gar nichts bedeutet. Manche Sorgen ( ich habe es selbst erlebt ) können sogar nach mehr als 4 Jahre erstmalig auftreten.

    Der Grund für die Entscheidung für MW 150 ist ganz einfach !
    Ich bin schreibfaul !
    alt: MW 250 => Neu! => MW 150
    = Ziel erreicht ( den Schmiermerkerbereich nicht mehr verwendet)

    Mir wurden mögliche (!) Probleme, die im Schmiermerkerbereich auftreten könnten, zumindest für mich überzeugend erklärt.
    Deswegen habe ich mich danach spontan für ein anderes MW (MW 150) mit der gleichen 'Mimik' entschieden.
    Code:
    A DB 2           // DB 2 öffnen
    L MW 150      // MW 150 ist neu... wird vor 'meinen Ideen' geladen
    T DW 6         // MW 150 wird in DW 6 gesichert
    ...
    <texte texte> // Hier verwirkliche ich meine Gedanken
     
    ...
    L DW 6         // dort habe ich den Zustand von MW 150 vor
                      //  meinen 'Künsten' gesichert !
    T MW 150     // MW150 wird in den "Originalzustand" zurückgeschrieben
    A DB 100      // dieser wird dann vom nächsten NW im Orginalprogí
                      // weiter verwendet.

    Ich habe alle Komentare zu diesem Thema gelesen.
    z.B.: DB's bitweise schreiben.... in s5 geht nicht !

    Ich hatte es gelesen, hatte keine Möglichkeit, es über das Wochenende zu ändern. Geschrieben war es, ich wußte es vorher ja nicht besser... "DRAMA"

    Um es auszutesten, habe ich vom "lebenden Objekt" (der Anlage) vorher eine Masch.Kopie erstellt, meine Änderungen nach diesem Tipp entsprechend geändert, aber einen bitweisen Zugriff 'stehen' lassen => Die CPU ging in 'Stopp'
    'Dolle Show'.

    Der Ausfall der Produktionsanlage ( da diese gerade auf ein anderes Produkt umgebaut wurde ) war vernachlässigbar.

    PS: !!! Ich habe gelernt, Schmiermerker zu hassen !

Ähnliche Themen

  1. Antworten: 79
    Letzter Beitrag: 29.05.2015, 14:16
  2. Gibt es Pragmas?
    Von Hand im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 18.10.2009, 13:11
  3. Antworten: 1
    Letzter Beitrag: 22.02.2009, 10:06
  4. Einschränkungen bei VIPA Speed7 CPUs
    Von Schrat007 im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 26.06.2008, 09:31
  5. Einschränkungen Studentenversion ?
    Von rolo im Forum PC- und Netzwerktechnik
    Antworten: 1
    Letzter Beitrag: 27.01.2006, 08:06

Lesezeichen

Berechtigungen

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