S7 200 Mikrowin - Variable "V" <-> "VB" ?? Merker SR

akrapovic

Level-1
Beiträge
36
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich hatte gerade versucht einen Merker lokal zu definieren. Normalerweise bennent man einen SR Merker z.B. mit "M10.2".

Das stört mich aber, weil der Merker nur lokal im Unterprogramm sein soll.

Ich habe nun "V4.0" über den Merker geschrieben und MikroWin meckert nicht ..

Woran liegt das ? Was macht, bzw. was ist "V" in der SPS ist das eine universelle Variable ?
 
Microwin hat 2 Speicher:
V und M
Funktionell sind die weitgehend gleich, allerdings können "V" noch im sog. Datenbaustein initialisiert werden.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was macht, bzw. was ist "V" in der SPS ist das eine universelle Variable ?
Hallo, das meinst Du jetzt aber nicht ernst, oder? Du benutzt Variablen aus dem V-Bereich doch schon öfter...

Seit Wochen machst Du hier einen Wind mit Deinen hochwissenschaftlichen Themen, Du urteilst sogar, daß der S7-200-PID-Regler für Deine Regelstrecke nichts taugt, und kommst hier trotzdem immer wieder mit solchen Anfänger-Fragen?

Der User hucki mit seiner grenzenlosen Geduld antwortet Dir immer wieder ausführlich, auch mehrmals, kaut Dir das halbe Handbuch vor, doch Du hast nichtmal ein Danke für ihn übrig ...

Meinst Du nicht auch, es wäre langsam an der Zeit, Dich mit den Grundlagen der von Dir zu programmierenden SPS im Selbststudium zu beschäftigen? Lies mal das S7-200 Systemhandbuch und mache Dich mit dem in MicroWIN enthaltenen sehr ausführlichen Hilfesystem vertraut. Wenn Du dabei Fragen hast kannst Du gerne wiederkommen, doch zeige erstmal, daß Du selbst nach Antworten suchst ...

Harald
 
Hallo, das meinst Du jetzt aber nicht ernst, oder?

Doch das meine ich ernst, sonst würde ich nicht fragen...

Seit Wochen machst Du hier einen Wind mit Deinen hochwissenschaftlichen Themen, Du urteilst sogar, daß der S7-200-PID-Regler für Deine Regelstrecke nichts taugt, und kommst hier trotzdem immer wieder mit solchen Anfänger-Fragen?

Tja von diesen "wissenschaftlichen" oder physikalischen Themen habe ich ne ganze Menge Hintergrundwissen aus meinem Studium gesammelt und muss diese nun in einem großen Projekt schnellst möglich u.a. mittels SPS umsetzen.
Ich habe vorher noch NIE ! in SPS programmiert, einen Lehrgang / Schulung gehabt sondern mir das alles bisher selbst beigebracht, und das innerhalb 6 Wochen via Trail and Error ...
Da ist doch klar, dass ich noch die ein oder andere Frage habe ...
Lies mal das S7-200 Systemhandbuch
Das habe ich, leider waren doch die Variablen mit "VB" gekennzeichnet, was mich etwas verwirrt hatte;
variablen.jpg


doch zeige erstmal, daß Du selbst nach Antworten suchst ...
Wenn du meinen letzten, sehr ausführlich gestellten und erläuterten Fragen gelesen hättest wüsstest du, dass ich mich vorher IMMER mit der Thematik beschäftigt habe und mir Gedanken gemacht habe, bevor ich hier schreibe ...


Alles in Allem bringen mir diese hochnäsigen Antworten von dir nichts, ich bin mir sicher, dass du eine korrekte Antwort auf meine Frage gehabt hättest aber lieber auf meiner vermeintlichen Unwissenheiten und der "dummen" Frage herum reitest ...


@Manuel, Danke für die Hilfe, genau das hatte ich auch schon vermutet :)

PS: Ich hatte mich in der Vergagenheit ebenfalls sehr oft bei hucki, auch privat über Mail, für seine Hilfe bedankt, und sowas ist einfach ne freche Unterstellung:
doch Du hast nichtmal ein Danke für ihn übrig ...


BYE !
 
Microwin hat 2 Speicher:
V und M
Funktionell sind die weitgehend gleich, allerdings können "V" noch im sog. Datenbaustein initialisiert werden.
Das kann man so eigentlich nicht behaupten.

1. Haben die S7-200 mehr als 2 Speicher. Merker und Variablen sind globale Speicher. Es steht aber jeder SBR sowie dem Main auch noch je 64 Byte lokaler Speicher zur Verfügung (zumindest bei den 22x-CPUen). Und schließlich gibt es noch die 32 Byte des Ablaufsteuerrelais zur Erzeugung von Schrittketten. Ach ja - 4 Akkus gibbet's auch noch. (Nachlesbar im Handbuch vorletzte Seite - PS: oder im Post hier drüber :))
2. Sind Merker auf 32 Byte beschränkt, während bei den Variablen je nach CPU bis zu 10.239 Byte zur Verfügung stehen.
3. Sind (wie MSB geschrieben hat) nur die Variablen im Datenbaustein nullspannungsfest initialisierbar. Bei Merkern und Lokaldaten müßte dafür eine Zuweisung im Programm gemacht werden.
4. Sind Merker (außer MB0-MB13 bei Spannungsausfall) im Gegensatz zu Variablen auch im Programm nicht nullspannungsfest im EEPROM speicherbar.



Ich persönlich mach' es meist so:

Alle variablen Werte (mit einer Ausnahme), vor allem, wo das HMI drauf zugreift, sind (wie der Name ja schon sagt) Variablen.

Merker nutze ich möglichst nur für rein programminterne "Merk"funktionen, mit denen der Benutzer nicht in irgend einer Weise in Berührung kommt (z.B. Flags für die EEPROM-Speicherung)

Die Programmierung des Ablaufsteuerrelais funktioniert auch nur mit den zugehörigen Bits vernünftig. Dafür ist aber so'ne Schrittkette viel angenehmer programmierbar als in der S7-300/400.

Zähler, deren Wert sich sehr häufig ändert, die ich aber trotzdem unter keinen Umständen verlieren möchte (z.B. BS-Zähler), speichere ich
im Merkerbereich MB0-MB13. Den kann man so einstellen, daß diese Werte (nur) im Falle eines Spannungsverlustes der CPU automatisch nullspannungsfest gesichert werden.
Grund: Lt. Siemens kann man ungefähr 1.000.000 Mal auf eine Speicherzelle im EEPROM zugreifen. Bei BS-Zählern müßte ich bei hoher Genauigkeit aber jede Sekunde speichern -> das wären dann nur ungefähr 11,5 Tage.
Mit dem Merkerbereich MB0-MB13 wird dagegen nur dann gespeichert, wenn die CPU spannungsfrei wird. Das dürfte mich normalerweise überleben.

Sonstige Variablen, die ich nullspannungsfest brauche, sichere ich "per Hand" im Programm auf dem EEPROM im Falle einer Änderung dieser Variablen.

Gekapselte Funktionen in SBRs (für mehrfachen Aufruf) werden mit lokalen Variablen (und dann ohne S7-Timer, S7-Zähler und S7-Flanken) ausgeführt. (Hier ist 'n schönes Beispiel hierfür.)

SBRs, die nur einmal verwendet werden, können beides enthalten. Nach Möglichkeit versuch' ich aber auch hier nur Lokalspeicher zu verwenden und die Übergabe an die globalen Speicher an der Schnittstelle der SBR zu machen. Das entscheide ich dann nach Aufwand/Nutzen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
... doch Du hast nichtmal ein Danke für ihn übrig ...
... PS: Ich hatte mich in der Vergagenheit ebenfalls sehr oft bei hucki, auch privat über Mail, für seine Hilfe bedankt, ...
@PN/DP - Ja, daß hat er.

@akrapovic - Was PN/DP jedoch meinte, ist, einfach mal den Danke-Button links unter den Posts, die Du hilfreich fandest, zu drücken. Ist für Dich auch einfacher, als 'ne PN zu schreiben, und jeder kann's sehen.

:D



PS: Links unterm jeweiligen hilfreichen Post wird gedrückt und rechts oben in jedem Post kann dann jeder sehen, was man so geleistet hat ->

Und im Profil des Benutzers kann man sogar noch nachsehen, ob er die Danksagungen für gute Witze oder vlt. sogar für SPS-Wissen erhalten hat. (Ersteres ist meist einfacher )
 
Zuletzt bearbeitet:
...
ich hatte gerade versucht einen Merker lokal zu definieren. Normalerweise bennent man einen SR Merker z.B. mit "M10.2".

Das stört mich aber, weil der Merker nur lokal im Unterprogramm sein soll.

Ich habe nun "V4.0" über den Merker geschrieben ...
Also wie schon im Post #5 geschrieben, sind auch Variablen V... global und nicht lokal gespeichert. Lokale Daten werden in der SBR (oder im Main) über den Netzwerken deklariert. Zu erkennen sind sie an der Bezeichnung L... . Allerdings sollte auch hier die symbolische Bezeichnung bevorzugt werden. Diese ist an der Raute # vor der symbolischen Bezeichnung zu erkennen.

Zu beachten ist aber, daß die lokalen Variablen nur temporär gespeichert werden. Sollen sie über mehrere Zyklen hinweg gespeichert werden, wie z.B. bei SR-Gliedern, müssen sie über die Schnittstelle auf globalen Speicher geführt werden.

Übrigens sind SR-Glieder so nicht mit lokalen Variablen programmierbar. Wenn man dies machen möchte, muß man den S und den R-Zweig in ein jeweils einzelnes Netzwerk trennen.
 
Tja von diesen "wissenschaftlichen" oder physikalischen Themen habe ich ne ganze Menge Hintergrundwissen aus meinem Studium gesammelt und muss diese nun in einem großen Projekt schnellst möglich u.a. mittels SPS umsetzen.
Ich habe vorher noch NIE ! in SPS programmiert, einen Lehrgang / Schulung gehabt sondern mir das alles bisher selbst beigebracht, und das innerhalb 6 Wochen via Trail and Error ...
Egal wie eilig es ist, es schadet nie, wenn man versteht was man tut und nicht nur abschreibt. Vor allem, wenn man Maschinen programmiert.

leider waren doch die Variablen mit "VB" gekennzeichnet, was mich etwas verwirrt hatte;
Würdest Du noch ein wenig Zeit aufwenden und die von Dir zitierte Seite vom Systemhandbuch eine Seite weiterblättern? zur "Tabelle 6-2 Operandenbereiche der S7-200 CPUs", dann verstehst Du die Systematik der Adressbezeichner. Und schau mal zu "Kapitel 4 SPS-Grundlagen, Zugreifen auf Daten der S7-200" (Seiten 29 bis 34). Ach, am besten, zieh' Dir mal das ganze "Kapitel 4 SPS-Grundlagen" rein. Das erklärt viele Deiner bisherigen Fragen.

Alles in Allem bringen mir diese hochnäsigen Antworten von dir nichts
Wie viele "hochnäsige" Antworten hast Du von mir erhalten, daß Du gleich in der Mehrzahl sprichst?

und sowas ist einfach ne freche Unterstellung:
doch Du hast nichtmal ein Danke für ihn übrig ...
Hmm, ich kann nicht sehen, daß Du Dich bei hucki oder bei irgendjemandem "bedankt" hast ... (schau in Dein Profil: Abgegebene Danke: 0)

"Bedanken" ist eine recht sinnvolle Funktion in diesem Forum, womit man zeigen kann, das ein Beitrag besonders hilfreich war. Unter jedem Beitrag (außer den eigenen) wird ein "Danke"-Button angezeigt, wenn man eingeloggt ist. Den kann man zum "Bedanken" benutzen.

Heißt das jetzt, Du kommst nicht wieder? Hast Du in Deinem Studium auch bei jedem Gegenwind gleich aufgegeben? Das wäre allerdings recht schade, wo ich doch so gerne die Antworten/Beiträge von hucki lese - es gibt nicht so viele Fans der S7-200. Und der hucki, der hat's drauf :) der ist S7-200-Experte.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... es gibt nicht so viele Fans der S7-200. Und der hucki, der hat's drauf :) der ist S7-200-Experte. ...
Der hat ja auch nüscht anneres von seinem Chef bekommen.

Und dann hat er auch bloß ein einziges professionelles Programm (für eigene Zwecke) dafür geschrieben.
Rest war/ist nur autodidaktisches Lernen/Fithalten.
:ROFLMAO:
 
@hucki
Ich finde es echt beeindruckend, welch ausführliche Antwort du auf eine solche Frage schreibst.
Aber da ich im Unterschied zu dir nicht die Intention habe, das Handbuch ins Forum zu kopieren, soll der TE das gefälligst selbst lesen.

Mfg
Manuel
 
... Ich finde es echt beeindruckend, welch ausführliche Antwort du auf eine solche Frage schreibst. ...
Naja, eigentlich sind's bloß 4 Punkte plus meine Sicht der Dinge. Und ich fand das alles (damals) nicht so einfach herauslesbar.
PS: Zumal er vorhatte lokale Variablen zu nehmen und das nunmal weder M... noch V... sind.


Aus heutiger Sicht würde das hier:
... hat er auch bloß ein einziges professionelles Programm (für eigene Zwecke) dafür geschrieben. ...
dann auch ganz anders aussehen.
Bei dem Rollladen-Programm hier im Forum kann man den Wissenssprung ganz gut sehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
um das mal aus meiner Sichtweise darzustellen, das Handbuch ist für das 200er System geschrieben, die verschiedenen Speicherbereiche sollten für jemanden der nix anderes kennt, theoretisch ersichtlich sein. Praktisch ist das aber im Handbuch für meinen Geschmack leider etwas vernachlässigt worden, es fehlen da schon Hinweise.

Gruß
Mario
 
Zurück
Oben