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

Ergebnis 1 bis 9 von 9

Thema: Zuordnung und Schutz der Speicherbereiche

  1. #1
    Registriert seit
    11.05.2010
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich bin relativ neu in der SPS-Programmierung. Ich entwickel zur Zeit auf einer S7-224XP CPU mit Step 7.
    Man legt ja eine Vielzahl von Variablen (bzw. Speicherbereiche an). Die Speicherbereiche koennen ja von 0 bis mehrere Tausend gehen.
    Wie lege ich jetzt am sinnvollsten meine Variablenpositionen fest?
    Fange ich bei Speicherbereich 0 an, oder bei z.B. 1000 ? . Lege ich zuerst die Bitpositionen fest (V) und dann die Bytes (VB) und schließlich die Words (VW).
    Immoment ist bei mir alles durcheinander.
    Des Weiteren habe ich oft das Problem, dass ich mehrere Strings verwendet. Die Anfangsposition ist ja dann z.B. der Speicherbereich VB 1000. Wenn ich jetzt jedoch eine andere Variable auf Speicherbereich VB 1001 lege und der String z.B. drei Zeichen lang ist, so wird die Variable auf 1001 ohne Warnung überschrieben. Kann ich mich dagegen irgendwie schützen ?
    Zitieren Zitieren Zuordnung und Schutz der Speicherbereiche  

  2. #2
    Registriert seit
    13.05.2008
    Beiträge
    316
    Danke
    43
    Erhielt 23 Danke für 15 Beiträge

    Standard

    *gelöscht*
    Geändert von Beren (04.07.2011 um 17:17 Uhr)

  3. #3
    Christoph_BS ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.05.2010
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die schnelle Antwort. Ich muss mich noch mit den Begriffen auseinander setzen, die man bei SPS-Programmierung verwendet.
    Ne ich meine das, was ich unter Symboltabelle eingebe.
    Also Symbol und dann zugehörige Adresse.
    Ich typisiere in dem Sinne, dass ich über den Speicherbereich (oder dann besser Symbol) sage, dass es sich um V,VB,VW (Bit,Byte,Word) handelt. Aber für Strings kann man nur die Anfangsadresse angeben, es gibt keinen extra Datentyp String, wo ich auch die Länge angeben kann. Da die Stringlänge meiner verwendeten Strings variabel ist, können auch schonmal 10- 50 Speicherbereiche (Adressen) ab Anfangsposition überschrieben werden.
    Merker sind "nur" für das Debuggen wichtig oder?

  4. #4
    Registriert seit
    13.05.2008
    Beiträge
    316
    Danke
    43
    Erhielt 23 Danke für 15 Beiträge

    Standard

    *gelöscht*
    Geändert von Beren (04.07.2011 um 17:18 Uhr)

  5. #5
    Christoph_BS ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.05.2010
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok,
    Ich habe bisher immer gedacht, dass der Datenbaustein zum initialisieren ist.
    Ich könnte dort z.B. schreiben
    RecMsg : VB1600 " " //20 Bytes Speicher reservieren
    Meinst du das so ?
    Das ist schonmal eine gute Idee, um vorzubeugen, dass mein String RecMsg ausversehen andere Variablen überschreibt, wenn ich die maximale Länge des Strings kenne.
    Aber ich muss trotzdem vorher in der Symboltabelle RecMsg als Symbol und VB1600 als Adresse festgelegt haben, sonst bekomme ich ein rotes Fehlerkreuz im DB.
    Zurück zu meiner ersten Fragen, welche Adresse sollte ich den z.B. RecMsg geben, ich habe jetzt einfach VB1600 zugeordnet, es könnte aber genausogut auch VB100, VB233 oder sonstwas sein. Ich mache das immoment willkürlich.

  6. #6
    Registriert seit
    13.05.2008
    Beiträge
    316
    Danke
    43
    Erhielt 23 Danke für 15 Beiträge

    Standard

    *gelöscht*
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg DB.jpg (32,7 KB, 30x aufgerufen)
    Geändert von Beren (04.07.2011 um 17:18 Uhr)

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Zitat Zitat von Beren Beitrag anzeigen
    Leg einfach mal einen DB in Deinem Projekt an. Dann erklärt sich das von selbst. (Hilfe benutzen....)
    Zitat Zitat von Christoph_BS Beitrag anzeigen
    Ich entwickel zur Zeit auf einer S7-224XP CPU mit Step 7.
    Einen DB anlegen geht nicht. Es geht hier um S7-200 und Step7-Micro/WIN.

    Zitat Zitat von Christoph_BS Beitrag anzeigen
    Zurück zu meiner ersten Fragen, welche Adresse sollte ich den z.B. RecMsg geben, ich habe jetzt einfach VB1600 zugeordnet, es könnte aber genausogut auch VB100, VB233 oder sonstwas sein. Ich mache das immoment willkürlich.
    Bei Step7-Micro/WIN zählt nur die eigene Ordnungsliebe und Disziplin.
    Da muß man sich vorher Gedanken machen, welche Variablen zusammengehören,
    und die dann selber zusammen anordnen. Zwischen den logisch zusammengehörenden
    Variablen-Gruppen genügend Reserve-Platz lassen für spätere Erweiterungen der
    Gruppe ohne Adressverschiebung. Man könnte sich diese Variablengruppen in dem
    einen Datenbaustein auch rein gedanklich als mehrere DB vorstellen.

    Also vorher abschätzen, wieviel Speicherplatz eine Funktionsgruppe etwa benötigt
    und dann mit genügend Platz die Variablen auf den absoluten Adressen festlegen.
    Das kann am Anfang ruhig alle 1000er Adressen geschehen, der Variablenspeicher
    der 224XP ist groß ...

    Alle Daten, die nach "draußen" gehen (TD200, Kommunikation), auf besonders "schöne"
    einprägsame Adressen legen. Oder es wird von außen vorgegeben, auf welchen Adressen
    die liegen müssen/sollen.

    Speicherbereiche lassen sich nicht voreinander schützen!
    Wenn man Strings verarbeiten will, dann vorher abschätzen, wie lang die maximal
    werden können und eben diesen Maximalplatzbedarf ab der String-Anfangsadresse
    freihalten.

    Gruß
    Harald
    Zitieren Zitieren S7-200  

  8. #8
    Registriert seit
    13.05.2008
    Beiträge
    316
    Danke
    43
    Erhielt 23 Danke für 15 Beiträge

    Standard

    *gelöscht*
    Geändert von Beren (04.07.2011 um 17:18 Uhr)

  9. #9
    Christoph_BS ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.05.2010
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kein Problem,
    vielen Dank für eure Hilfe.

Ähnliche Themen

  1. Speicherbereiche einer Omron Steuerung
    Von Daimonion im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 22.07.2010, 10:53
  2. OP177B Zuordnung Funktionstasten
    Von Frank67 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 02.02.2010, 09:01
  3. Programm für Bitpositionen in Speicherbereiche
    Von Da_Basco im Forum Werbung und Produktneuheiten
    Antworten: 1
    Letzter Beitrag: 13.03.2009, 00:19
  4. Antworten: 3
    Letzter Beitrag: 04.02.2008, 20:09
  5. Libnodave & VB.NET Zugriff auf geschützte Speicherbereiche
    Von KJ1234 im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 10.11.2007, 16:02

Lesezeichen

Berechtigungen

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