# s5 => S7 konvertieren



## mega_ohm (2 Februar 2007)

Gibt es eine Möglichkeit, s5-Programme nach s7 zu konvertieren ?

*Ich habe folgendes Aufgabe:*

Vor ca. 2 Jahren hat meine Firma (in der ich angestellt bin) zwei baugleiche Uralt- Anlagen einer Maschinenbaufirma aus irgendwelcher Konkursmasse gekauft.
Die eine Anlage soll komplett so, wie sie gedacht und konstruiert wurde, in "meiner" Firma wieder in Betrieb gehen. Aus der 2. Anlage werden nur bestimmte Anlagenteile wieder in Betrieb genommen.

_Ich habe mit der Maschinenbaufirma Rücksprache gehalten und habe *schriftlich* die Genehmigung, deren Programme nutzen, ändern zu dürfen. Desweiteren darf ich die Projektunterlagen (mech. Aufbau, E-Pläne), die_
_als Bauzeichnungen, s5- Programm etc. als Datei vorhanden sind, nutzen._
_Begründet wurde mir das, weil der technische IST- Stand dieser Anlagen veraltet ist und die Gewährleistung für diese Anlage abgelaufen ist._

*Meine Frage:*
70% des s5-Programmes werden nicht mehr genutzt (für die 2. Anlage, die 1. Anlage geht so in Betrieb, wie sie die Firma erdacht hat !).
Ich möchte die restlichen 30% relativ verlustfrei übernehmen und dazu die neuen Funktionen schreiben.
Die einfachste, aber zeitaufwendigste Lösung wäre, das s5-Programm auszudrucken und die benötigten Module abzutippseln.
Gibt es aber noch einen Weg, mir die unnötige Schreibselei zu ersparen ?
Mir ist klar, daß ich, würde ich das Programm komplett alleine erarbeiten, auch nichts Neues erfinden würde.


----------



## Hubbl-e (2 Februar 2007)

Im Ordner Simatic unter Step 7 gibt es ein Programm zum konvertieren von S5 Files. Das Programm funktioniert gut und wurde hier schon des oefteren diskutiert. Natuerlich muessen die konvertierten Programme noch "nachbearbeitet" werden, da sonst Dein Betriebselektriker rote Ohren bekommt wenn immer wieder der AKKU 1 bis 4 auf lokale Daten, gerettet und zurueckgeschrieben wird. Die S7 besitzt aber im Gegensatz zur S5 bessere Moeglichkeiten der Dokumentation.
Also nach der Konvertierung die Bausteine entsprechen der Funktion und des Anlagenaufbaus ordnen und umbenennen. Schmiermerker auf Lokaldaten schreiben, die Loop-Funktion benutzen, ... Da gibt es noch einiges zu tun bis da ein astreines Programm rauskommt.


----------



## Ralle (2 Februar 2007)

Wenn du sie Suchfunktion mit dem Schlagwort "konvertieren" benutzt, finden sich noch so einige Hinweise.


----------



## nikolic (2 Februar 2007)

*S5-->S7 konvertieren*

Ich hab soweit verstanden das die Anlagen wieder in Betrieb genommen werden. 
Mit den selben AGs oder mit neuen STEP7 AGs???
Wenn nicht verstehe ich die ganze konvertier arbeit nicht.
Wenn doch würde ich dir vorschlagen lieber das Programm neu zu schreiben,
da weiss man was man hat, als im nachhinein Riesenaufwand bie der möglichen Fehlersuche.
Soweit du über ausreichend Kenntnisse und Dokumentation verfügst.

MfG
Nick


----------



## mega_ohm (3 Februar 2007)

nikolic schrieb:


> Ich hab soweit verstanden das die Anlagen wieder in Betrieb genommen werden.
> Mit den selben AGs oder mit neuen STEP7 AGs???
> ....
> 
> ...


 
*Tja, das ist eben die Frage !*

Ich habe bei Siemens im Katalog keine s5-CPU mehr gefunden.
Da dieses Projekt wenigstens eine Halbwertszeit von 2 Jahren haben muß,
kam ich, nachdem ich in der Werkstatt nur noch eine s5-95U und insgesamt (mit Erweiterungsmodulen) 32 DI und 32 DO "gefunden" habe
[neben 2 Analog- Ausgabemodulen, die aber für dieses Projekt vollkommen unwichtig sind], diese mir aber eh' nicht reichen, auf die Idee...
Ich mache DAS ALLES in s7 mit einer 3XX- CPU.

Zur Zeit bin ich noch eher mit den rein elektrischen Sachen für diese Geschichte beschäftigt (E-Pläne, Doku, Schaltschrank).
Der Termin für die Inbetriebnahme ist aber Ende März/ 1. Aprilwoche.

Eigentlich ist das Projekt aber sehr einfach "gestrickt"... Es sind wirklich nur DI mit DO zu verknöpfern. Keine FU's füttern, keine Antriebe synchronisieren, kein NICHTS.

Nachdem ich die Antworten gelesen habe, stellt sich mir jetzt folgende Frage: Macht es überhaupt Sinn (Aufwand), dieses Programm, von dem ich ca. 70% nicht benötige, von s5 nach s7 zu konvertieren ?
Ist der Aufwand für die Funktion des Progis nach der Konvertierung und Nacharbeit größer, als würde ich direkt in s7 nur die Programmteile "abschreiben", die ich wirklich brauche ? Die zusätzlichen Funktionen habe ich in s7 in anderen Projekten schon fertig vorliegen, brauche die nur einzufügen.


----------



## mega_ohm (3 Februar 2007)

Hubbl-e schrieb:


> Im Ordner Simatic unter Step 7 gibt es ein Programm zum konvertieren von S5 Files. Das Programm funktioniert gut und wurde hier schon des oefteren diskutiert. Natuerlich muessen die konvertierten Programme noch "nachbearbeitet" werden, da sonst Dein Betriebselektriker rote Ohren bekommt wenn immer wieder der AKKU 1 bis 4 auf lokale Daten, gerettet und zurueckgeschrieben wird. Die S7 besitzt aber im Gegensatz zur S5 bessere Moeglichkeiten der Dokumentation.
> Also nach der Konvertierung die Bausteine entsprechen der Funktion und des Anlagenaufbaus ordnen und umbenennen. Schmiermerker auf Lokaldaten schreiben, die Loop-Funktion benutzen, ... Da gibt es noch einiges zu tun bis da ein astreines Programm rauskommt.


 

Ich habe mal im s7- Verzeichnis gesucht und eine >CONVERT2.EXE< gefunden. Ist diese Datei Jenewelche, die mich glücklich machen könnte ?

Übrigens: Ich bin einer der Betriebselektriker  

PS.:
Ich glaube, daß heute kein Elektriker/Elektroniker/Mechatroniker, der in der Industrie angestellt ist, ohne SPS-Kenntnisse weiter kommt.


----------



## volker (3 Februar 2007)

ne. convert2 heisst das nicht.

findest du normal im programmemenü unter simatic\step7\s5 datei konvertieren

bei mir im pfad E:\Siemens\Step7\S7U5C\s7u5capx.exe

die meisten sachen werden problemlos übersetzt. sieht zwar nicht unbedingt immer schön aus, ist aber funktionsfähig.


----------



## TommyG (3 Februar 2007)

Mit

diesen 70%, die Du icht mehr brauchst, da habe ich so meine Bauchschmerzen. wie schnell übersieht man eine Kleinigkeit, die der ehemalige Programmierer reingebracht hat. 

Wenn meine Anlage wäre, dann würde ich das S5 Proggi ausdrucken und mich mit Bleistift an die Arbeit mach und abchecken, was gebraucht/ nicht gebraucht wird. dann auf S5 Ebene einkürzen ( also in einer kopie der Proggies die nicht benötigten Parts löschen ) und dann erst wandeln. 

Was gut helfen kann, wenn du fit im Programm lesen bist, wäre, dass du Dir einen Überblick im Programmcode verschafft, dann dir die Zusammenhänge der Anlagenteile aufmalst und die technischen Funktionen runterprogrammierst. 

Also: Wie hat der andere gedacht und dann runterschreiben...

(Hoffe das hilft, viel Erfolg...)

Greetz


----------



## mega_ohm (4 Februar 2007)

volker schrieb:


> ne. convert2 heisst das nicht.
> 
> findest du normal im programmemenü unter simatic\step7\s5 datei konvertieren
> 
> ...


 
Ich habe in s7 in der Hilfe gesucht, nichts Gescheites zu meinem Problem gefunden. Danach habe ich die Tipps in diesem Forum zu meiner Anfrage gelesen. Leider waren diese Tipps nur sehr vage formuliert. Also habe ich im Ordner Simatic\step7\ nach *.exe, *.com, *.bat und *.pif gesucht.
Die einzigste EXE, die mir logisch erschien, war eben diese >convert2.exe<, da ich ja s5 nach s7 konvertieren möchte.
Das diese >convert2.exe< mein Problem eher nicht lösen wird, habe ich gelesen. Wird denn die Symboltabelle mitübersetzt oder muß ich die doch selbst erstellen ?


----------



## JörgK (4 Februar 2007)

mega_ohm schrieb:


> Ich habe in s7 in der Hilfe gesucht, nichts Gescheites zu meinem Problem gefunden. Danach habe ich die Tipps in diesem Forum zu meiner Anfrage gelesen. Leider waren diese Tipps nur sehr vage formuliert. Also habe ich im Ordner Simatic\step7\ nach *.exe, *.com, *.bat und *.pif gesucht.
> Die einzigste EXE, die mir logisch erschien, war eben diese >convert2.exe<, da ich ja s5 nach s7 konvertieren möchte.
> Das diese >convert2.exe< mein Problem eher nicht lösen wird, habe ich gelesen. Wird denn die Symboltabelle mitübersetzt oder muß ich die doch selbst erstellen ?


 
Starte doch einfach mal, wie volker es beschrieben hatte, den Konverter über's Startmenü (siehe Anhang). In der Hilfe des Programms findeste dann die Antworten zu den meisten Deiner Fragen. Z.B. wird auch die Zuordnungsliste (*z0.seq), sofern existent, in eine Symboltabelle übersetzt.


----------



## mega_ohm (5 Februar 2007)

JörgK schrieb:


> Starte doch einfach mal, wie volker es beschrieben hatte, den Konverter über's Startmenü (siehe Anhang). In der Hilfe des Programms findeste dann die Antworten zu den meisten Deiner Fragen. Z.B. wird auch die Zuordnungsliste (*z0.seq), sofern existent, in eine Symboltabelle übersetzt.


 
Ich teste morgen (Montag, 05/02/07) mal, ob das so paßt.
Die *z0.seq in s5 existiert ganz sicher, weil ich diese Symboltabelle schon
mittels eines externen Windows- Textprogrammes editiert habe. (mußte diese Datei vorher in *.txt umbenennen, danach editieren, danach wieder in *.seq umbenennen. Die *.ini- Dateien erstellt s5 dann automatisch)
Mit dem s5- Editor habe ich rote Haare und dunkle Flecken im Gesicht bekommen. Die Bedienung ist fürchterlich. Das Umlaute nicht akzeptiert werden, war noch das kleinste Problem.

_______________________________________________________________

Ich möchte mal, vollkommen frei von diesem Thema fragen, ob es in diesem Forum eine "Anfänger"- Seite gibt.
Ich habe in s5 und s7 schon einige Programme geschrieben, die auch sehr gut funktionieren. Ich habe aber einigen Nachhol- Bedarf in der Umsetzung zwischen den gestellten Pflichten, den dazu erdachten Funktionen und Struktogrammen und dem tatsächlich fertigen, fehlerfrei funktionierendem Programm.
Ich möchte es mal so beschreiben: Ich habe ein fertiges SPS-Programm. Die meisten Funktionen laufen, aber es hapert immer irgendwie an 2- 3 Kleinigkeiten, die, umsomehr man sie bearbeitet, immer nervtötender werden. Es treten in einem auf den 1. Blick super funktionierendem Programm vollkommen zusammenhanglos und äußerst sporadisch Fehler auf. 
Um es mal in Zeit auszudrücken: Für das Programm benötige ich 10h, für die 2-3 kleinen Unschönheiten (Fehler) 50h.
Ich schrieb bereits, daß ich Betriebselektriker bin. Ich möchte hier auch kein kostenloses Techniker- oder Ingenieurstudium. Ich habe mit der Programmierung von PC's Erfahrung seit ca. 15 Jahren, mit der Programmierung in s5 und s7 Erfahrung seit ca. 5 Jahren.
Ich habe mir eine erweiterte PC- Programmierung und die Grundkenntnisse in SPS in einem 1,5 jährigen Technikinformatik- Lehrgang angeeignet. Der Rest ist autodidaktisch dazu gekommen.

Mich nervt dieser letzte Schritt der "Programmierung am lebenden Objekt", weil der (wie gut, daß ich angestellt bin) meist nach dem Prinzip von "Test+ Erfolg/ Niederlage" geschieht. Alles, was richtig böse enden kann (mech. Defekte, Zerstörung der Anlage), gehe ich sehr behutsam und ganz vorsichtig an und hatte damit auch noch nie Probleme.
Aber z. B. die Ausgabe von mehreren gleichzeitig aufgetretenen Fehlern
(Druckluftausfall, Si-Automatenfall, Motorschutz eines Antriebes, Übertemp. eines weiteren Antriebes, eine Störmeldung von einem FU eines 3. Antriebes) auf ein Display oder ein paar LED's überlagern sich teilweise. Somit kann man in 1-2 % der aufgetretenen Fehler trotz guter Doku nichts mit der Fehleranzeige anfangen. Das ist in diesem einem Ernstfall so extrem, daß nur ein PG und das Masch.Progi letztendlich wirklich bei der Fehlersuche weiterhelfen.
Dazu muß es doch aber auch Richtlinien/ Strukturen geben.


----------



## Hubbl-e (5 Februar 2007)

> Die *z0.seq in s5 existiert ganz sicher, weil ich diese Symboltabelle schon
> mittels eines externen Windows- Textprogrammes editiert habe. (mußte diese Datei vorher in *.txt umbenennen, danach editieren, danach wieder in *.seq umbenennen. Die *.ini- Dateien erstellt s5 dann automatisch)


 Ich hoffe Du hast das letzte Zeichen (0D 0A 1A 00 ..) was man im Texteditor so als kleines Quadrat sieht nicht geloescht.

Bei Deiner IBN (Inbetriebnahme) ist es fuer Dich gut einen Mechaniker an Deiner Seite zu haben, der die mechanischen Ablaeufe der Anlage kennt. Organisiert sollte sein das es seitens der Produktion keinen zeitlichen Druck gibt. 
Die Fehleranzeige ueber Signallampen: schnelles, langsames, rhytmisches Blinken waren alles "Hilfen" fuer den erfahrenen Bediener, die letzlich nicht nur dem Lampenhersteller zu gute kam. Eine Visualisierung kann die Fehler wesentlich besser anzeigen. Damit besitzt man auch ein Werkzeug wo man technologische Informationen abrufen, einbringen oder gar "Rezepte" hinterlegen kann. 
Es sollte also folgende Informationen von entsprechenden Stellen vorliegen:
1. Wie lange soll die Anlage noch arbeiten
2. Aus Gruenden der Verfuegbarkeit muss die Ausruestung der Anlage dem Ersatzteilangebot (und andersherum) entsprechen. 
Also, falls genuegend S5 Teile vorhanden sind und die Anlage maximal noch zwei Jahre laufen soll - kein Umbau.
3. Sollte man bei einem Umbau die heutige technologische Umsaetzung der Produktion beachten. Nicht Alles was vor zehn Jahren technologisch bedingt war ist heute noch sinnvoll.
4. Visualisierungen, Vernetzungen lassen die Arbeitsweise der Maschine und den Produktionsprozess besser dokumentieren. Das bedeutet das der Technologe und der Arbeitsvorbereiter wesentlich bessere Moeglichkeiten besitzt die Produktion zu organisieren.
5. Kostenvoranschlag und Bestaetigung.
Na ja und dann kann die Planung anfangen.


----------



## mega_ohm (7 Februar 2007)

Hubbl-e schrieb:


> Ich hoffe Du hast das letzte Zeichen (0D 0A 1A 00 ..) was man im Texteditor so als kleines Quadrat sieht nicht geloescht.
> 
> Bei Deiner IBN (Inbetriebnahme) ist es fuer Dich gut einen Mechaniker an Deiner Seite zu haben, der die mechanischen Ablaeufe der Anlage kennt. Organisiert sollte sein das es seitens der Produktion keinen zeitlichen Druck gibt.
> Die Fehleranzeige ueber Signallampen: schnelles, langsames, rhytmisches Blinken waren alles "Hilfen" fuer den erfahrenen Bediener, die letzlich nicht nur dem Lampenhersteller zu gute kam. Eine Visualisierung kann die Fehler wesentlich besser anzeigen. Damit besitzt man auch ein Werkzeug wo man technologische Informationen abrufen, einbringen oder gar "Rezepte" hinterlegen kann.
> ...


 
Die Symboltabelle funktioniert in s5 und es werden auch die ini- Dateien erstellt. Also habe ich das Dateiende nicht gelöscht.

Ein OP3 oder ähnliches kommt für diese "alte" Anlage nicht in Frage, da ich so ein Gerät aus Kostengründen nie bei meinem Chef "durchbekomme".
Bunte LED's haben wir in der Werkstatt zu liegen, die kann ich einfach mal so nehmen.
Wie lange die Anlage noch laufen soll ...   Ich weiß es nicht. Vermutlich, bis die Kosten für Reperaturaufwand und Stillstandszeiten die Gewinne aus der Produktion übersteigen.

Ich habe mal so, wie es mir hier erklärt wurde, die s5- Dateien nach s7 konvertieren wollen. Dateipfade etc. eingegeben, Konverter gestartet => mir werden zwar alle FB's, die vorhanden sind angezeigt, aber mit dem Fehler, das sie nicht gefunden wurden. In s7 habe ich, wie die Hilfe des Konverters es beschreibt, ein neues Projekt angelegt über "externe Quelle" einfügen wollen => nix passiert, da keine s7- Datei existiert.

Ich werde wohl doch den ganzen Murks abtippseln müssen.


----------



## sps-concept (7 Februar 2007)

*S5->s7*

Hallo,

stell doch mal ein Bild mit den Fehlermeldungen rein.

MfG
André Räppel


----------



## KalEl (7 Februar 2007)

die s7-datei wird NUR erstellt, wenn das übersetzen OHNE fehler abgeschlossen ist.
kommentiere die stellen wo der fehler auftritt mal aus.


----------



## eNDe (7 Februar 2007)

Hallo mega_ohm,
leider kann ich dir von meinem PC aus keine PN senden. Gib mir mal deine e-mail-Adresse per PN und ich schicke dir eine Dokumentation zu diesem Thema, welche ich 1997 für Seminarteilnehmer erstellt habe. (Damals noch für STEP7V2, Win95, aber bebildert und mit genauer Handlungsanleitung). Nach einer kurzen Kontrolle dürfte sich am Handlungsablauf gegenüber damals nur Unwesentliches geändert haben.
Die Dokumentation stützt sich natürlich auf die online-Hilfe des Konverters, verzichtet aber auf die vielen wenn und aber, Quer- und Längsverweise usw., welche eine solche Hilfe letzten Endes unübersichtlich machen, weil man sich darin "verläuft".
Vielleicht hilft dir mein Angebot.


----------



## Hubbl-e (7 Februar 2007)

> Ich werde wohl doch den ganzen Murks abtippseln müssen.


Meinst Du das bringt was?
Falls Du Lust hast schicke das Programm mal an mich und ich erklaere Dir die ersten zwei ,drei Fehler.


----------



## Wilhelm (7 Februar 2007)

Hallo
Habe sehr gute Erfahrungen mit der IBH Software gemacht. Grösseres Programm  ging tadellos....  Kompliment. Nur das dazugehörige OP17 machte kleine Mucken. Aber das reine S5 Programm kein Problem.

sonnige Grüße Wilhelm


----------



## sps-concept (7 Februar 2007)

*S5*

kannst mir das Programm auch mailen wenn du magst. Mail siehe HP


----------



## mega_ohm (7 Februar 2007)

Hubbl-e schrieb:


> Meinst Du das bringt was?
> Falls Du Lust hast schicke das Programm mal an mich und ich erklaere Dir die ersten zwei ,drei Fehler.


 
Jetzt hat es irgendwie funktioniert, aber das Ergebnis ist für mich nicht akzeptabel.

Sämtliche PB's aus dem s5- Progi wurden vom Konverter als "nicht vorhanden" angemeckert.
Die FB's wurden als FC's zwar konvertiert, sieht aber eher nach einer Mischung aus einem C++ und einem TurboPascal- Programm als nach AWL in s7 aus.

Bsp: (von mir hier mal nachgetippt, bin aber jetzt zuhause und habe keinen Zugriff auf die Quelldatei)
Function 
Void
Begin
 FC 0;
 Network
 U (;
 U E 1.0;
 U E 1.1;
 );
 U E 1.2;
 = A 1.0;
 NOP;
 Network
 ...
 Network
 ...
 FC1;
 U (;
 U E 1.0;
 U E 1.1;
 );
 U E 1.2;
 = A 1.0;
 NOP;
End;
...

Über Sinn oder Unsinn dieses Beispieles möchte ich nicht diskutieren.
Fakt ist, daß mir ein großer Teil des s5- Progis fehlt (alle PB's). Ich muß, selbst wenn man grob AWL erkennen kann, jede einzelne Zeile nacheditieren (Semikolons werden als Syntaxfehler angemeckert). Dazu müßte ich die einzelnen FC's und die einzelnen Netzwerke noch auseinander pflücken.
Die Symboltabelle wurde auch nicht konvertiert, obwohl sie unter s5 tadellos vorhanden ist, die ini-dateien ohne Fehler erzeugt werden (das habe ich heute nochmal überprüft).

In der Zeit habe ich die mir wichtigen Programmteile abgetippt und kann mich mit den zusätzlich von mir zu erstellenden Funktionen beschäftigen.


----------



## Unregistrierter gast (7 Februar 2007)

mega_ohm schrieb:


> Die FB's wurden als FC's zwar konvertiert, sieht aber eher nach einer Mischung aus einem C++ und einem TurboPascal- Programm als nach AWL in s7 aus.



hehe,
du machst einen fatalen Fehler.

Der Konverter erzeugt keinen AWL - Code sondern EINE QUELLE !

Diese Quelle musst du erst übersetzen, dann hast du einen AWL Baustein.

Ich lach mich schlapp.....


----------



## mega_ohm (7 Februar 2007)

Unregistrierter gast schrieb:


> hehe,
> du machst einen fatalen Fehler.
> 
> Der Konverter erzeugt keinen AWL - Code sondern EINE QUELLE !
> ...


 
Mit Hilfe dieses Forums (ich hatte mal gehört, daß man s5- Progis nach s7 übersetzen kann) habe ich den Konverter zum 1. Mal benutzt. Nach vielen Fehlversuchen und recht umfangreichem Studiums der Hilfe zu diesem Konverter war ich soweit, daß ich in s7 (nach den schon beschriebenen Fehlermeldungen bei der Konvertierung) die Quelldatei (eben die QUELLE !!!) öffnen könnte. Ich bemerkte, daß da allerdings nichts Brauchbares (weil der Aufwand der Nachbearbeitung zu hoch ist) dabei war.

Mir hätte es weitergeholfen, wenn Du mir einen weiteren Fehler im Umgang mit dem Konverter hättest aufzeigen können. 
Aber ich freue mich trotzdem, daß ich wenigstens Dich gut unterhalten konnte.

@





Unregistrierter gast schrieb:


> Ich lach mich schlapp.....


 
Das ich, auch wenn ich in diesem speziellen Fall unwissend bin (was ich nie verheimlicht hatte), zu Deiner Unterhaltung beitragen konnte, wird mich auch in eventuell mal zukünftig vorkommenden düsteren Stunden noch froh machen. *Ich danke Dir für Deine Hilfe*


----------



## mega_ohm (8 Februar 2007)

*Ein anderes Problem zu diesem Projekt*

Diesen Konvertierungs- Krimskrams habe ich aus schon genannten Gründen
seit 07.02.2007 für dieses Projekt aufgegeben (mir läuft die Zeit davon !!),
bin aber an der grundsätzlichen Vorgehensweise für die Konvertierung von s5 => s7 weiterhin interessiert.
_________________________________________________________________

Ich hatte schon weiter oben mal nach der Ausgabe von Fehlern gefragt.

Mir schwebt für's Erste Folgendes vor:
Ich nehme ein EW.
Der prinzipielle Aufbau: (als Beispiel)
=> EW 0 (= Fehler-WORD für max. 15 Fehlerzustände)

E 0.0 = StatusBit,
0= Warnung (Fehler wird angezeigt, Anlage darf weiter laufen [z.B. MSB-
Auslösung von Hilfsantrieben]),
1= Störung, (Fehler wird angezeigt, Anlage wird gestoppt [z.B. MSB-
Auslösung von Hauptantrieben, Druckwächtern, Schutztüren])

E 0.1 - E 0.7 und E 1.0 - E1.7 sind eben weitere Fehlereingänge.

Ich möchte 4 LED's (sollte das irgendwann mal nicht mehr reichen, dann eben 8 LED's => DW auf der Eingangsseite) binär als Fehleranzeige haben. (OP3 etc. wäre schöner, sprengt aber den Kostenrahmen).

Folgende Fragen:
- Kann ich das EW mit CMP <> 0 (od. 0000000000000000) vergleichen, um festzustellen, ob ein Fehler anliegt ?
- Wie kann ich einen anliegenden Fehler (ich halte es für relativ unwahrscheinlich, daß mehr als ein Fehler innerhalb einer Zykluszeit anliegt) bis zu seinem Nichtmehr- Vorhandensein auf ein MW zwischenspeichern und, auch wenn dannach (z.B. im nächsten Zyklus) noch andere Fehler auftreten, ausgeben? Die Fehleranzeige auf die 4 LED's stelle ich mir binär codiert vor. Es darf nur ein Fehler angezeigt werden, auch wenn mehrere Fehler anliegen. Dann muß eben der Erste, lt. Fehler- Ausgabe (diese 4 LED's) anliegende Fehler erst behoben werden => danach wird erst der 2. anliegende Fehler angezeigt.

Nach meiner Erfahrung können Maschinenbediener nix mit blinkenden oder leuchtenden Lämpchen (allerdings auch nix mit Klartext- Fehlermeldungen) anfangen. Rote LED's reichen, um das Wartungspersonal zu rufen. Dieses sollte aber wenigstens einen Tipp bekommen, wo der Fehler zu suchen ist.

Funktioniert so ein "Fehlerspeicher" über ein Schieberegister ? 
Oder gibt es in s7 sowas Ähnliches wie Arrays (z.B. in C++) auf die man Pointer setzen kann ?


----------



## JörgK (8 Februar 2007)

mega_ohm schrieb:


> Kann ich das EW mit CMP <> 0 (od. 0000000000000000) vergleichen, um festzustellen, ob ein Fehler anliegt ?


Ja, CMP <>I wäre da angesagt z.B.:

```
L EW0
L 0
<>I
S M 1.0
```



mega_ohm schrieb:


> Wie kann ich einen anliegenden Fehler (ich halte es für relativ unwahrscheinlich, daß mehr als ein Fehler innerhalb einer Zykluszeit anliegt) bis zu seinem Nichtmehr- Vorhandensein auf ein MW zwischenspeichern und, auch wenn dannach (z.B. im nächsten Zyklus) noch andere Fehler auftreten, ausgeben? Die Fehleranzeige auf die 4 LED's stelle ich mir binär codiert vor. Es darf nur ein Fehler angezeigt werden, auch wenn mehrere Fehler anliegen. Dann muß eben der Erste, lt. Fehler- Ausgabe (diese 4 LED's) anliegende Fehler erst behoben werden => danach wird erst der 2. anliegende Fehler angezeigt.
> 
> Funktioniert so ein "Fehlerspeicher" über ein Schieberegister ?


IMHO gibt's mindestens 2 Möglichkeiten, bei mehreren anstehenden Fehlern nur einen (nach dem anderen) anzuzeigen:

Der höchstwertige/niederwertigste anstehende Fehler wird angezeigt
Der zuerst (FIFO) / zuletzt (LIFO) aufgetretene Fehler wird angezeigt
Insbesondere, wenn jeder Fehler quittiertpflichtig sein soll, wäre IMHO ein Schieberegister das Mittel der Wahl. Einfach mal im Forum nach Schieberegister, FIFO und/oder LIFO suchen.



mega_ohm schrieb:


> Oder gibt es in s7 sowas Ähnliches wie Arrays (z.B. in C++) auf die man Pointer setzen kann ?


Ja, es gibt die Möglichkleit mit Array zu arbeiten und eine Referenzierung mittels Pointer sollte auch möglich sein. Zu diesem Kapitel bitte ich jedoch diejenigen, die sich - im Gegensatz zu mir - damit auskennen, ne Hilfestellung zu geben.


----------



## PeterEF (8 Februar 2007)

Guten Morgen,


> Mir hätte es weitergeholfen, wenn Du mir einen weiteren Fehler im Umgang mit dem Konverter hättest aufzeigen können.


 
Was der Kollege auf seine uncharmante Art Dir mitteilen wollte: Das Problem ist nicht der fehlerhafte Umgang mit dem Konverter sondern hier mangelnde Kenntnis von Step7. 
Öffne die Datei *.AWL im Bausteineditor von Step7 und wähle dann den Menupunkt /Datei/Übersetzen (alternativ glaub ich Ctrl+B) und laß Dich überraschen.


----------



## sps-concept (8 Februar 2007)

*s5 -> s7*

Hallo mega_ohm,

mein Angebot steht noch. Schick einfach mal das S5-Programm per Mail (siehe HP). Ich schau mal und geb dir Bescheid. Werd es auch gleich per Mal schicken - will mir ja die Quote mit den Werbesendungen hier nicht versauen.

MfG
André Räppel


----------



## Hubbl-e (8 Februar 2007)

```
Mir schwebt für's Erste Folgendes vor:
 Ich nehme ein EW.
 Der prinzipielle Aufbau: (als Beispiel)
 => EW 0 (= Fehler-WORD für max. 15 Fehlerzustände)
```
geht, vom Prinzip. Damit legst Du Dich aber definitiv auf eine feste Struktur der Beschaltung der Eingangskarten fest.
Vorschlag: Die Fehlereingaenge werden auf Datenwoerter eines "Fehlerdatenbausteins" z.B. DB111 gelegt. Der (z.B.) DB112 ist genau so gross wie der DB111. Vorteil: Die Fehler werden so geordnet, dass ein Datenwort oder -byte einer Fehlerlampe (Motor 1 gestoert) entspricht. Eine zweite Fehlerlampe gibt die Art des Fehlers an, z.B. Bit 0 = Motorschutz.
Fehler = 1
Eingangsvariable Start = INT
Eingangsvariable Lenght = INT
Eingangsvariable koennen auch Zahlen sein...
Temporaere Variable temp = INT
        U #RESET           Dein Resettaster oder "Fehlerweiterschalt-Taster"
        S M100.0           ....ist nur een Vorschlag...

        L     #Start
        SLW   3
        LAR1  
        L     #Lenght
loop: T     #temp
        AUF DB 112
        L     DBW [AR1,P#0.0] oder  L     DBB [AR1,P#0.0]
        AUF DB111
        L     DBW [AR1,P#0.0] oder  L     DBB [AR1,P#0.0]
        == I
        spb Nbit          //kein Fehler -> next bit
        > i
        spb Fehl          //naechster Fehler
//Backup gleich machen, da Fehler "gegangen" ist
        AUF DB112
        T DBW [AR1,P#0.0]
        spa Nbit          //.. und naechster Patient....
Fehl: T AW 60        //sind Deine Fehler-Art-Lampen
        L     #temp
        ITB              //fuer Deine 7-Segmentanzeige
        T AW 62 
        UN M100.0    //...unsere "Weiterschaltng"
        BEB             //kein Reset -> machen wir schluss
         R M100.0
        AUF DB 111
         L     DBW [AR1,P#0.0] oder  L     DBB [AR1,P#0.0]
         AUF DB112
         T     DBW [AR1,P#0.0] oder  T     DBB [AR1,P#0.0]
Nbit: TAR1  //Loop vorbereiten
        L     P#2.0                oder  L     P#1.0
        +D    
        LAR1  
        L     #temp
        LOOP  loop   //...und loopen



So, ich habe das mal so ohne zu testen mal hingeschrieben. Sind bestimmt jede Menge Fehler drinn. Aber der Sinn ist das Entscheidende. Prinzip: Jeder Fehler wird angezeigt mit 7-Segmentanzeige und 8 oder ... bis max. 16, oder was weiss ich mit wieviel LEDs. Die LED symbolisieren die Fehlerart. Die Siebensegmentanzeigen den Ort, Aggregat oder Maschinenteil.

mfg

Hubert

Falls Du mir mal das S5-Programm mailen willst:
HubertSchoenherr@mail.RU


----------



## Hubbl-e (8 Februar 2007)

> > i


hab schon was gesehen. Muss natuerlich kleiner als heissen, weil der "neue Fehler" das DBW im DB 111 groesser macht.


----------



## Unregistrierter gast (8 Februar 2007)

PeterEF schrieb:


> Guten Morgen,
> 
> Was der Kollege auf seine uncharmante Art Dir mitteilen wollte: Das Problem ist nicht der fehlerhafte Umgang mit dem Konverter sondern hier mangelnde Kenntnis von Step7.
> Öffne die Datei *.AWL im Bausteineditor von Step7 und wähle dann den Menupunkt /Datei/Übersetzen (alternativ glaub ich Ctrl+B) und laß Dich überraschen.



Ja, genau dazu wollte ich ihn bewegen....
Hätte nie gedacht, das jemand versucht, den Quellcode in einen AWL Baustein zu kopieren...

:sm2:


Man lernt halt immer noch dazu ....


----------



## mega_ohm (9 Februar 2007)

Unregistrierter gast schrieb:


> Ja, genau dazu wollte ich ihn bewegen....
> Hätte nie gedacht, das jemand versucht, den Quellcode in einen AWL Baustein zu kopieren...
> 
> :sm2:
> ...


 
Ich habe die Quelle (vorher konvertiert) geöffnet und hatte festgestellt, daß nix brauchbares dabei ist. DieProblematik hatte ich weiter oben schon beschrieben. Nun habe ich die Quelle "übersetzen" lassen und das Ergebnis war fast identisch. Zwar waren die FC's, die in s5 FB's waren, jetzt ohne Nacharbeit übersetzt, aber die PB's sind nach wie vor nicht da, weil sie nicht mitkonvertiert wurden.
Sie wurden im Konverter angezeigt und dann nach der Konvertierung als "nicht vorhanden" deklariert.


----------



## sps-concept (9 Februar 2007)

*konvertieren*

Hallo mega_ohm,

hab ja geschrieben du kannst das Programm mal zumailen.

MfG
André Räppel


----------



## mega_ohm (9 Februar 2007)

Erst einmal vielen Dank an alle.

Ich habe nächste Woche Nachtschicht und finde da vielleicht mal etwas mehr Zeit, mich in die Tipps von JörgK und Hubbl-e reinzudenken.
Leider kann ich noch nix testen, weil sich der Schaltschrank noch im Baustadium befindet und ich eine CPU (ich dachte an eine S7-314) und die DI und DO erst noch bestellen muß. Deswegen kann ich mich aber mit dem FIFO bzw. DB111 mal näher befassen.


----------



## mega_ohm (10 Februar 2007)

sps-concept schrieb:


> Hallo mega_ohm,
> 
> hab ja geschrieben du kannst das Programm mal zumailen.
> 
> ...


 
Ich hatte schon weiter oben geschrieben, daß ich nur DIESES eine Progi nutzen, im weitesten Sinne anpassen darf (zuzüglich der Projektierungsunterlagen [E-Pläne, Leitungs-/ Kabelpläne...]). 
Zudem vermerkte ich, daß ich die Erlaubnis für dieses Projekt von der Maschinenbau- Firma erhielt, weil z.B. der Ursprung der Programmierung mehr als 10 Jahre zurück liegt.

Ich möchte mich nicht auch noch mit "Urheberrecht" etc. behängen.


----------



## mega_ohm (10 Februar 2007)

Unregistrierter gast schrieb:


> Ja, genau dazu wollte ich ihn bewegen....
> Hätte nie gedacht, das jemand versucht, den Quellcode in einen AWL Baustein zu kopieren...
> 
> :sm2:
> ...


 
Deine Kommentare haben meinen Ehrgeiz beflügelt.....

Siehe bitte nachfolgenden kommentar von mir !


----------



## mega_ohm (12 Februar 2007)

Mich hat es immer begeistert, Maschinen zu programmieren.
Dafür habe ich Assembler, C++, Pascal, VB gelernt.
Autodidaktisch habe ich eben aus diesem Grund in s5 bzw. s7 "staubgewischt".

Darf ich mal fragen, ob es Buchempfehlungen oder Links gibt ?

Ich kann s7-AWL lesen und verstehen, programmiere aber lieber in FUP.
Ich habe bisher ca. 20 Projekte in s7 bzw. MicroWin (2 Projekte) erfolgreich programmiert.
Ich hatte vor ca. 12 Jahren eine 1-monatige Ausbildung in ABB-SPS.

Ich hatte schon angefragt, wie eine 'einigermaßen' nachvollziehbare Fehlermeldung nur mit LED's realisierbar ist. Wichtig ist, daß nur 1 Fehler angezeigt wird, auch wenn mehrere Fehler gleichzeitig anliegen (z.b: bei der Inbetriebnahme werden die einzelnen MSB nacheinander zugeschaltet).


----------



## Hubbl-e (12 Februar 2007)

Guten Morgen, (oder wie man hier sagt: dobri ranok) mega_ohm,


> Ich möchte mich nicht auch noch mit "Urheberrecht" etc. behängen.


du bedeckst Dich mit Urheberrechten mehr als noetig. SPS-Programme unterliegen grundsaetzlich nicht eines Urheberrechtes. Sie sind zustaendig eine urheberrechtlich geschuetzte Maschine zu steuern. Sie unterliegen waehrend der Garantie- Gewaehrleistungszeit eines Urheberrechtes. 
Du moechtest die Maschine modernisieren. Somit musst Du auch das Programm modernisieren. Das alte Programm verliert somit sogar die "Daseinsberechtigung". 
Liebe Leser, kotzt Euch jetzt bitte nicht ueber das Schuetzen und "einmaligsein" von Programmen aus. Ich moechte hier sagen, dass wir bei allem Know How nur vorgedachte mechanische Prozesse steuern/regeln oder/und vorgedachte technologische/technische Prozesse sinnbildlich darstellen.
Also mega_ohm, frag, falls Du unsicher bist, nochmal nach und schicke uns das Programm. Wir wollen und koennen da nichts kopieren. Zum Einen fehlt uns die Maschine dazu und zum Anderen ist hier ein rein technisches Forum.

Nu mega_ohm sehas tui idiosh saftrakatch i potom mui goworim dalhe.
Uebersetzt: Nun mega_ohm jetzt geh fruehstuecken und dann reden wir weiter.


----------



## JörgK (13 Februar 2007)

mega_ohm schrieb:


> Ich hatte schon angefragt, wie eine 'einigermaßen' nachvollziehbare Fehlermeldung nur mit LED's realisierbar ist. Wichtig ist, daß nur 1 Fehler angezeigt wird, auch wenn mehrere Fehler gleichzeitig anliegen (z.b: bei der Inbetriebnahme werden die einzelnen MSB nacheinander zugeschaltet).


 
Falls es noch von Interesse ist, anbei eine mögliche, mit PLCSim getestete, Lösung.

Mir ist klar, dass es sicherlich auch eleganter (Schleife & Pointer) geht, nur ist die Pointer-Geschichte für mich (noch) etwas zu hoch. Dazu kommt meine Intension, dass der durchschnittliche Betriebselektriker ein Programm auch noch verstehen bzw. nachvollziehen können muss ... und die meisten können wohl mit ner Pointer-adressierten Sache nichts anfangen. (Bitte fangt jetzt nicht wieder ne Diskussion zu diesem Thema an  )


----------



## mega_ohm (13 Februar 2007)

JörgK schrieb:


> Falls es noch von Interesse ist, anbei eine mögliche, mit PLCSim getestete, Lösung.
> 
> Mir ist klar, dass es sicherlich auch eleganter (Schleife & Pointer) geht, nur ist die Pointer-Geschichte für mich (noch) etwas zu hoch. Dazu kommt meine Intension, dass der durchschnittliche Betriebselektriker ein Programm auch noch verstehen bzw. nachvollziehen können muss ... und die meisten können wohl mit ner Pointer-adressierten Sache nichts anfangen. (Bitte fangt jetzt nicht wieder ne Diskussion zu diesem Thema an  )


 
Die gesamte Problematik, von der Überschrift des Strangthemas bis zur Frage nach einer Fehlerausgabe, ist für mich von Interesse.

- Die Konvertierung habe ich gelöst, weiß jetzt wie es ungefähr geht, habe
  alle FB's und  PB's  in s7- FC's konvertiert bekommen. Da aber in der
  Symboltabelle ganz viele Merker nicht beschrieben sind und der Aufwand
  für die Suche nach dem Sinn dieser Merker hochgradig aufwendig ist -
  schreibe ich das Programm nun doch komplett neu. Einige Lösungen (wie
  verschiedene "Hydraulikzylinder nachspannen") kann ich mir ja immer
  noch ganz genau im s5- Progri anschauen.

- Für mich ist es unbedingt wichtig, daß ich Deinen Lösungsvorschlag auch verstehe. Würde ich die Lösung nur abtippseln, stehe ich ja bei einem ähnlich gelagerten Problem ja wieder da und weiß nix. Ich schaue mir Deine Lösung heute abend sofort an. (habe zu Hause kein s7)

*Ich habe mal noch eine Frage:*
Ich muß mit meiner Steuerung Antriebe in einem anderen (uralt)- Schaltschrank, der jetzt in Betrieb ist und auch nicht geändert werden soll, mitstarten und abschalten. Dort befinden sich klassische Schütz-/ Hilfsrelaissteuerungen.
Die Koppelrelais für das Starten sind kein Ding. Reicht aber ein Koppelrelais aus, um die Antriebe zu stoppen oder sollte man redundant ausschalten, in dem man z.B. einmal die Steuerung und zusätzlich noch ein Hauptschütz im Leistungsstromkreis schaltet ? Das soll KEINE Hobbylösung für ein
NOT-AUS werden, obwohl es Diesen im alten Schaltschrank nicht gibt.


----------



## JörgK (15 Februar 2007)

> Mir ist klar, dass es sicherlich auch eleganter (Schleife & Pointer) geht, nur ist die Pointer-Geschichte für mich (noch) etwas zu hoch.


Da mich das mit den Pointern nu doch gereizt hat, hab ich mich mal aufgerafft, mich des Beitrags von plc-tippser befleissigt und was soll ich sagen, dem Grundsatz nach schein ich's verstanden zu haben. :sm2: 

Anbei also nu ne Variante mit Schleife und Pointer. Sachliche Kritik zur einer besseren Struktur ist natürlich willkommen.


----------



## Hubbl-e (15 Februar 2007)

Hallo Ihr Alle,
Hallo mega_ohm,

auch ich habe gestern etwas Zeit gehabt und habe meinen Vorschlag fuer Dich ein bisschen aufgearbeitet.
Schau Dir das mal an::???:
Mit dem E60.0 schaltest Du die Fehler der Reihe nach im Einzelnen durch. Wenn keine Fehler mehr kommen -> keine weitere Anzeige. Mit dem E60.1 kannst Du Alles noch einmal machen.


----------

