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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 40

Thema: s5 => S7 konvertieren

  1. #21
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von mega_ohm Beitrag anzeigen
    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.....

  2. #22
    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 Unregistrierter gast Beitrag anzeigen
    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.....
    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.

    @
    Zitat Zitat von Unregistrierter gast Beitrag anzeigen
    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

  3. #23
    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

    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 ?
    Zitieren Zitieren Ein anderes Problem zu diesem Projekt  

  4. #24
    Registriert seit
    10.10.2006
    Ort
    Krefeld
    Beiträge
    101
    Danke
    0
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Zitat Zitat von mega_ohm Beitrag anzeigen
    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.:
    Code:
    L EW0
    L 0
    <>I
    S M 1.0
    Zitat Zitat von mega_ohm Beitrag anzeigen
    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.

    Zitat Zitat von mega_ohm Beitrag anzeigen
    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.
    Nobody is perfect ... so don't call me Nobody
    Wer glaubt, dass Abteilungsleiter Abteilungen leiten, der glaubt auch, dass Zitronenfalter Zitronen falten.

  5. #25
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    961
    Danke
    42
    Erhielt 109 Danke für 87 Beiträge

    Standard

    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.
    __
    Mit freundlichem Gruß Peter

    ...Wir sind Alle Zeitreisende. Die überwiegende Mehrzahl schafft allerdings täglich nur einen Tag.... (Jasper Fforde: "In einem andern Buch")

  6. #26
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    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
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren s5 -> s7  

  7. #27
    Registriert seit
    14.06.2005
    Beiträge
    76
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Code:
     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

  8. #28
    Registriert seit
    14.06.2005
    Beiträge
    76
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

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

  9. #29
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von PeterEF Beitrag anzeigen
    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...




    Man lernt halt immer noch dazu ....

  10. #30
    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 Unregistrierter gast Beitrag anzeigen
    Ja, genau dazu wollte ich ihn bewegen....
    Hätte nie gedacht, das jemand versucht, den Quellcode in einen AWL Baustein zu kopieren...




    Man lernt halt immer noch dazu ....
    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.

Ähnliche Themen

  1. S5 in S7 konvertieren
    Von reekoh im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.10.2010, 15:32
  2. INT konvertieren in Booleans
    Von Reto im Forum Programmierstrategien
    Antworten: 69
    Letzter Beitrag: 07.10.2008, 07:57
  3. S5 konvertieren
    Von geduldiger im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.05.2007, 10:12
  4. AWL alt in S5 od. S7 konvertieren
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 19.10.2005, 12:51
  5. CPM konvertieren
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 30.08.2005, 08:43

Lesezeichen

Berechtigungen

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