S7-200; MicroWin V4.0; Was ist "V" ?

mega_ohm

Level-2
Beiträge
673
Reaktionspunkte
45
Zuviel Werbung?
-> Hier kostenlos registrieren
Folgende Hardware:
SIMATIC S7-200, CPU 224 KOMPAKTGERAET, DC STROMVERSORG. 14 DE DC/10 DA DC, 8/12 KB PROGR./8 KB DATEN, PROFIBUS DP ERWEITERBAR

Vorletzte Woche habe ich über die Firma, in der ich angestellt bin, das Upgrade von MicroWin 3.4 auf Micro/WIN V4.0 Service Pack (SP6) bekommen.
Aufgrund von firmeninternen Problemen ("es kühlt nicht :) ") für eine Kühlwasser- Pumpensteuerung sollte ich mich mal mit der Steuerung "beschäftigen".

Der Ist- Zustand: 2 Pumpen gleicher Leistung "schnüffeln" aus einer Zuleitung. Die eine Pumpe ist gegen die Andere verriegelt. Fällt eine Pumpe aus, springt die andere "ein" (Redundanz). Für die Wartungszyklen ( von einer Fremdfirma durchgeführt) sollen beide Pumpe möglichst die gleichen Betriebsstunden geleistet haben.

Mein Auftrag ( den ich übrigens nicht nachvollziehen kann, weil ich glaube, das 2 Pumpen mehr Input [ Rohrdurchmesser der Saugleitung, der für jeder Pumpe als "Einzelkämpfer" reichte], benötigen als 1 Pumpe ): Ich soll zusehen, daß beide Pumpen nach einer seperaten Anwahl "Beide Pumpen" laufen. Eine der beiden Pumpen läuft ja, die andere muß zusätzlich in Y- 3eck hochgefahren werden.

Ich habe also in das Progi "reingeschnarcht"... und mir fiel auf:
V1030.0 oder V3110.0
Ich habe ins Kompendium geschaut und festgestellt...
Ich verstehe nix... :confused:
- V scheint wohl sowas wie ein Merker zu sein, der lokal gültig ist ???
- V scheint als Bezeichner für Ein- oder Ausgänge gültig zu sein ??? :shock:
- Gibt es ein System für V1xxx bzw. V3xxx ?
Werden diese ( wenn es Merker sind ) remanent gespeichert ?

Gibt es eine Dokumentation, die aussagekräftiger als die MicroWin- Hilfe zu diesem Thema ist ?

______________________________________________________________

Achja... bei diesem Progi ist es mir wieder aufgefallen ( ich meine, es schon einmal gefragt zu haben)...

Code:
SBPRO 0 // Eingänge- Übergabe
LD E 0.0
= M0.0
 
SBPRO 10 // Ausgänge- Übergabe
LD M 3.0
= M50.0

Für WAS werden Ein-/ Ausgänge auf Merker geschrieben ?
Ich war bisher immer der Meinung, das eine SPS wie folgt, funktioniert:
- Test aller angeschlossenen Baugruppen
- Prozessabbild aller Eingänge lesen
- Programmabarbeitung
- Prozessabbild der Ausgänge
- an die Peripherie übertragen
- Zurück zum Betriebssystem
und von vorn...

Nach meinem Verständnis würden Ein- / Ausgänge im selben Zyklus gelesen / geschrieben werden wie die Merker. Jede Signaländerung z.b. eines Einganges würde im selben Zyklus auf den Merker übertragen und ( wenn das Programm es will ) einen "Ausgangs"-Merker setzen ... der dazu gehörige Ausgang würde im selben Zyklus gesetzt werden.
Wo liegt da der Vorteil, außer daß die Symboltabelle 38-fach so groß ist, und Keiner am Ende mehr durchblickt ?
 
Hallo!

Anbei was von "V" ist ein Datenbereich.

Ich verwende es für die komm. zum Panel und für Analogwerte speichern zB:VW100 oder so.
 

Anhänge

  • v.png
    v.png
    27,8 KB · Aufrufe: 59
  • vw.png
    vw.png
    1,1 KB · Aufrufe: 38
Zuviel Werbung?
-> Hier kostenlos registrieren
es erweist sich unter umständen als günstig ein E/A rangierfeld einzurichten. um zum beispiel ein strukturierters programm zu schreiben. werden nun E/A's hinzugefügt liegen die nicht irgendwo, wo der HW-planer sie hingelegt hat, sondern werden durch die rangierung in die logische programmstruktur eingefügt. auch wenn E/A's verschoben werden müssen, brauch man nicht im ganzen programm zu suchen, sondern hat einen definierten ort an dem die verschiebung anzupacken ist.
 
Die 200er hat keine DBs nur den Variablenbereich. Dieser entspricht allerdings intern dem DB 1 einer 300er/400er. Alles was mit einem DB bei den großen geht, geht mit dem V-Bereich bei den kleinen. Je nach CPU ist der V-Bereich unterschiedlich lang.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
es erweist sich unter umständen als günstig ein E/A rangierfeld einzurichten. um zum beispiel ein strukturierters programm zu schreiben. werden nun E/A's hinzugefügt liegen die nicht irgendwo, wo der HW-planer sie hingelegt hat, sondern werden durch die rangierung in die logische programmstruktur eingefügt. auch wenn E/A's verschoben werden müssen, brauch man nicht im ganzen programm zu suchen, sondern hat einen definierten ort an dem die verschiebung anzupacken ist.
Ich glaube, daß ich verstehe, was Du meinst.
Das beantwortet aber meine Frage nach "V" nicht für mich befriedigend.

Ich hatte schon einmal nach dem Sinn gefragt, Eingänge/Ausgänge auf Merker zu legen.
Heute kenne ich Einen der Vorteile :

Wenn nach der Inbetriebnahme irgendwann Probleme auftreten, (und die treten prinzipiell nach dem verdienten Feierabend der Programmierer auf) kann man nach den Ein-/ Ausgängen suchen. Zu diesen "verknüpfert man all seine Intellenz"...
Das Ergebnis ist:
- Man muß sich nicht immer grundsätzlich durch das Programm 'durchwurschteln'.
Bevor der E?.? auf M?.? oder DB?.DBX?.? geschrieben wird, hat man noch eine Schnittstelle.

Speziell für Erweiterungen habe ich diese Art 'lieben gelernt'.

Alle Bedingungen, die vorher funktionierten, sind nach der Bearbeitung noch gegeben. (außer, man hat selbst Mist gebaut... dann sollte man seine Arbeitsweise und die eigenen Kenntnisse prüfen und ggf. updaten :ROFLMAO:

Aber: Natürlich habe ich den Ehrgeiz, zu verstehen, was ich tue.
:) Nach dem 'Sesam- Straße'- Motto: Wer, Wieso, warum... wer nicht fragt, bleibt dumm.

Was ist ein Rangierfeld ?
( Aus der E- Technik kenne ich das 'Platzhalter' für zukünftige Installationen )
 
Die 200er hat keine DBs nur den Variablenbereich. Dieser entspricht allerdings intern dem DB 1 einer 300er/400er. Alles was mit einem DB bei den großen geht, geht mit dem V-Bereich bei den kleinen. Je nach CPU ist der V-Bereich unterschiedlich lang.
"Die 200er hat keine DBs nur den Variablenbereich. Dieser entspricht allerdings intern dem DB 1 einer 300er/400er."

Gibt es eine Struktur für diese komischen "V"- Dingens ?

Z.Bsp.:
- V1xxx.x bedeuten irgendwas. (DB1.DBW ??? oder so )
- V3xxx.x bedeuten was anderes ?

Könnte man aus der Zahl 1xxx oder 3xxx entnehmen, ob der Datenbereich
BYTE, WORD, DWORD ist ?
V1xxx.x könnte ich ja noch verstehen:
DB1.DBX ??.Bitadresse
V2xxx oder V4xxx (und höher) habe ich z.B. nicht gefunden.

________________________________________________________

Wie oder worauf wirkt eine "POE"- Symbolik und dementsprechend
die "Anwender"- Symboltabelle ?

________________________________________________________

Was könnte passieren, wenn ich paßwordgeschützte SBPRO's aus der Maschine ausgelesen habe, diese aber ohne PW-Schutz wieder 'hochladen' will ? ( Außer, daß die CPU beim 'Hochladen' in STOP geht )

Ich habe die PW- geschützen SBPRO's 'ent-paßwort-ifiziert'.
Ich hatte die MicroWin- Einstellungen auf FUP.
Dementsprechend kam bei fast jedem SBPRO die Fehlermeldung:
"Nicht in FUP/ KOP darstellbar"
Das Progi ist zu mehr als 90% in (gibt es sowas in MicroWin ? ) AWL geschrieben.
Es gibt innerhalb eines SBPRO's in der Anzeige "AWL" leere NW's.

Kann ich davon ausgehen, das der Programmierer nur ein "Zipperlein / Tremor" hatte ( und die NW's tatsächlich leer sind und nix zu bedeuten haben) oder könnten verschiedene NW aus irgendwelchen Gründen ausgeblendet sein ? (...und wenn ich diese mit meinen Änderungen auf das AG schreibe, ich den Gesamtablauf töten könnte ????)
Den Paßwort- Schutz habe ich aufgehoben !
 
Mal generell zum Thema s7-2xx

Ich kannte bisher MicroWin V3.2 - V3.4.

Das die Bedien-Oberfläche und die Programmierung /Struktur sich gewaltig von Step7 unterschied, hat mich immer schon angeregt. :sw19:

Vor ca. 14 Tagen durfte ich mir die V4.0 SP6 von MicroWin erstmals ansehen und mal ein wenig darin 'rum klimpern'.
Ich hatte mal geglaubt, daß sich eine der beiden Benutzeroberflächen und auch die Programmierung angleichen würden....
( Mir wäre es egal gewesen, welches der beiden Systeme 'gewonnen' hätte, wenn es die Oberfläche, Leistungsfähigkeit von Step7 gehabt hätte :ROFLMAO:)
Nix dergleichen... im Gegenteil... es wurden sogar neue Bezeichner ( siehe "V" ) kreiert.
Lokale Variablen gibt es in Step7 schon länger. DB's kenne ich schon seit s5.

Warum Siemens soviel Entwicklungs und Ingenieur- Leistung nur dafür verwendet, um 2 Dinge zu verkaufen, die am Ende eine Anlage automatisieren können (das Ziel ist das Gleiche)... das werde ich nie verstehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Megaohm

Könnte man aus der Zahl 1xxx oder 3xxx entnehmen, ob der Datenbereich
BYTE, WORD, DWORD ist ?
V1xxx.x könnte ich ja noch verstehen:
DB1.DBX ??.Bitadresse
V2xxx oder V4xxx (und höher) habe ich z.B. nicht gefunden.

Die 200er hat keine DBs nur den Variablenbereich. Dieser entspricht allerdings intern dem DB 1 einer 300er/400er. Alles was mit einem DB bei den großen geht, geht mit dem V-Bereich bei den kleinen. Je nach CPU ist der V-Bereich unterschiedlich lang.

Also du kannst ein bit mit V2.4 ansprechen, das entspricht (siehe Rainer Hönle, der da sagt DB bei einer grossen geht, blablablabla...)
DB1, Word2, bit4, weil immer DB1!!!! es gibt keinen anderen.

In der Siemens Hilfe siehst du:
VB100 = Byte
VW100 = Word
VD100 = Double

ergo: die Zahl hat nichts zu sagen, außer es wurde vom Programmierer so strukturiert, was aber der Übersichtlichkeit nicht dient, da man ja am B, W, D erkennt was es ist.

Wie oder worauf wirkt eine "POE"- Symbolik und dementsprechend
die "Anwender"- Symboltabelle?

Auswirken? wie meinst du das?
Die Symbolik wirkt sich (siehst du) auf dein ganzes Programm aus:

1. POE: das sind im Simatic Manager die Bausteine (FC usw)
in der 200 kannste keine Bausteine anlegen nur Subroutienen und Interrupts. Diese kannst du im Editor umbenennen,
und in der POE Symbolik erscheint dann dein gewählter Name und die absolute Adresse. (zB: zuerst: SBR0, von dir als "Grundstellung" benannt erscheint dann in der POE.

2. Anwender (kannst du umbenennen) kannst du definieren (e0.0 = start, usw...) das sind deine Symbole wie bei
Simatic Manager die Symbole der E/A/M/T/deine geliebten V/Z (hab ich was vergessen???)

3. S7-200 Symbole:
die kannst du auch noch einfügen, da hast du dann die internen Benennungen (zB: SM0.0 = Immer ein usw) schau´s dir mal an.

Das Progi ist zu mehr als 90% in (gibt es sowas in MicroWin ? ) AWL geschrieben.

wenn du mit "gibt´s sowas in microwin" die AWL meinst und nicht die 90%:ROFLMAO: ---> JEP natürlich sogar nach EN waswiessich nicht Siemens selfmade.

hoffe es hilft
 
Was ist ein Rangierfeld ?
( Aus der E- Technik kenne ich das 'Platzhalter' für zukünftige Installationen )

das habe ich vielleicht etwas seltsam ausgedrückt. ich meine damit einen bereich, meistens einen baustein, in dem jedem ein- bzw. ausgang ein merker zugewiesen wird.

dabei kann man das 1:1 vollziehen:
Code:
L EW 0
T MW 0
oder so wie man es gerade braucht:
Code:
LD E 0.0
= M 0.3

LD E 0.1
= M 1.5

usw.
microwin unterscheidet sich deshalb von step7, weil die S7-200 keine ursprüngliche entwicklung von siemens war, sondern von texas instruments gekauft wurde. habe mich früher darüber auch immer aufgeregt, aber mittlerweile finde ich es gerechtfertigt, denn eine 200 ist auf jedenfall was anderes als eine 300/400.
 
Also du kannst ein bit mit V2.4 ansprechen, das entspricht (siehe Rainer Hönle, der da sagt DB bei einer grossen geht, blablablabla...)
DB1, Word2, bit4, weil immer DB1!!!! es gibt keinen anderen.
Der Herr Hönle hat diesmal etwas kryptisch geschrieben.
Normalerweise erklärt er eine Sache so, daß auch ich sie verstehe.

Verstehe ich es richtig ?
In MicroWin V4.0 SP6 beziehen sich alle 'V' (lt. Hilfe ist "V" ja vergleichbar mit Merker, unspezifiziert. Es können Ein-, Ausgänge... alles Mögliche darauf geschrieben werden) generell auf den DB1 ???

In der Siemens Hilfe siehst du:
VB100 = Byte
VW100 = Word
VD100 = Double

ergo: die Zahl hat nichts zu sagen, außer es wurde vom Programmierer so strukturiert, was aber der Übersichtlichkeit nicht dient, da man ja am B, W, D erkennt was es ist.

V 3010.0 ist eine Bit- Adresse ( soweit bin ich schon mal gekommen )

Weil aber nur V1xxx.x und V3xxx.x bzw. VB 1xxx oder VB 3xxx in dem Progi auftauchen, hatte ich vermutet, daß dahinter irgendeine Erklärung stehen könnte.
Vor allem auch aus dem Grund, eine vierstellige Adresse zu wählen, wenn auch V1.x bzw. V3.x das Gleiche adressieren könnten. (Ich wäre da zu schreibfaul)

Mit Erweiterungsmodulen (irgendwelcher Hardware ) hat die V1xxx.x auch nichts zu tun ?
Ich möchte nur fragen, um Alles zu verstehen.

_____________________________________________________________

Wenn V imer DB1 ist... wie ist das dann mit der Abwärtskompatibilität ?

Ich bin z.B. ein Fan von kleinen Zahlen und großen Beträgen. :)

Alle s7-2xx Programme, die ich erstellt habe und in denen DB's vorkommen...
Diese DB's sind immer DB1... DB2 etc.
Das erspart viel Tippselkram.
Bei Änderungen in fremden Progis gucke ich, ob es DB1 gibt. Wenn nicht, werden alle 'meine' Merker in DB1 verfrachtet.

1. POE: das sind im Simatic Manager die Bausteine (FC usw)
in der 200 kannste keine Bausteine anlegen nur Subroutienen und Interrupts. Diese kannst du im Editor umbenennen,
und in der POE Symbolik erscheint dann dein gewählter Name und die absolute Adresse. (zB: zuerst: SBR0, von dir als "Grundstellung" benannt erscheint dann in der POE.
Die POE- Symbolik wurde mir angezeigt, nachdem ich das Progi aus der Maschine geladen hatte.
2. Anwender (kannst du umbenennen) kannst du definieren (e0.0 = start, usw...) das sind deine Symbole wie bei
Simatic Manager die Symbole der E/A/M/T/deine geliebten V/Z (hab ich was vergessen???)
Die "Anwender"- Symboltabelle war leer...

3. S7-200 Symbole:
die kannst du auch noch einfügen, da hast du dann die internen Benennungen (zB: SM0.0 = Immer ein usw) schau´s dir mal an.
:)
SM0.0... SM0.1 etc. habe ich in der "Anwender - Symboltabelle" deklariert. Also war das auch noch falsch....
 
Zurück
Oben