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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: SCL /AWL Schreibweise???

  1. #1
    Registriert seit
    03.10.2008
    Beiträge
    232
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo
    Ich habe einen FC (in SCL geschrieben) aus der oscat.lib den ich an meine Bedürfnisse anpassen muß. In diesen FC werden noch andere IEC FC's geladen, wie z.B. der FC5. Der FC 5 ist in meinen Projekt aber schon als ein anderer Baustein vorhanden, sodass ich den "Original FC5" in FC 8 umbenannt habe. Durch die Umbennung muß ich nun auch den Oscat-FC anpassen.
    Wenn ich den Oscat-FC mit dem Editor öffne, stehen folgende Zeilen, die ich ändern muß:

    Code:
    UC  FC5
          P#L 54.0
          P#L 58.0
    Aus dem FC 5 muß der FC8 werden. Aufrufen kann ich in AWL meines Wissens nur mit "call". Also hab ich folgendes geschrieben:

    Code:
    call FC8
          I            :=
          RET_VAL :=
    Wie lautet für die beiden Parameter die Schreibweise, P#L54.0 wird nicht akzeptiert.

    MfG
    bastler
    Zitieren Zitieren SCL /AWL Schreibweise???  

  2. #2
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard

    Warum änderst du den Code nicht in der SCL Quelle?
    P#L 54.0 ist ein Pointer der irgendwo hinzeigt. Soetwas wie UC entsteht aus der Compilierten SCL Quelle.
    In deinem Fall genügt es wenn du UC 8 schreibst. Dann sollte das Programm funktionieren.

  3. #3
    bastler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.10.2008
    Beiträge
    232
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Warum änderst du den Code nicht in der SCL Quelle?
    Ich hab null Ahnung von SCL. Hab den Baustein zwar mit SCL geöffnet, aber da find ich nirgends Einträge, die ich ändern könnte.
    UC 8 funktioniert leider nicht, da weigert sich Step7 das anzunehmen. Wer könnte denn den Baustein in SCL ändern, das wäre super?

    MfG
    bastler
    Geändert von bastler (07.06.2013 um 22:41 Uhr)

  4. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Du brauchst in der SCL Quelle keine Anpassungen vorzunehmen, es ist ausreichend die SCL Quelle aus der Oscat Bibliothek in dein eigenes Projekt zu kopieren und diesen neu zu übersetzen.

    Bei Übersetzen wird nach dem Symbol für den Baustein "DI_STRNG" gesucht, und die Nummer die in der Symboltabelle dazu gefunden wird im AWL Code eingesetzt.
    Viele Bausteine aus der Oscat Bibliothek benötigen noch weitere Bausteine, die musst du ebenfalls in dein Programm übernehmen. Welche das sind stehen in der Übersetzungssteuerdatei (@...).

  5. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    190B (07.06.2013)

  6. #5
    bastler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.10.2008
    Beiträge
    232
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Thomas
    Kannst du mir das alles mal etwas detailierter erklären, ich bin Instandhalter mit SPS-Grundkenntnissen, leider kein Programmierer!

    MfG
    bastler

  7. #6
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Schreib mal welchen Baustein du aus der Oscat Bibliothek (wahrscheinlich REAL_TO_STRF oder DWORD_TO_STRF) verwenden möchtest, dann kann ich dir genau schreiben was du machen musst.

  8. #7
    bastler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.10.2008
    Beiträge
    232
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für deine Hilfe. Es handelt sich um den FC 278 Real_to_STRF. In diesen Baustein werden der FC 2, der FC4, der FC5 der FC17 und der FC77 aufgerufen. FC17 und FC77 können so bleiben. Der FC5 muss FC8 werden, der FC 2 muss FC 20 werden und der FC4 muss FC40 werden.

  9. #8
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Du öffnest dein eigenes Projekt und die Oscat Bibliothek.

    1. Du kopierst aus dem Oscat Projekt aus dem Ordner 'Quellen' das Objekt REAL_TO_STRF in den den Ordner 'Quellen' deines eigenen Projekts

    2. Du kopierst aus dem Bausteinordner des Oscat Projekts folgende Bausteine:
    FC5, FC2, FC77, FC4, FC17 (das sind alle Bausteine die REAL_TO_STRF benötigt)
    und den Baustein FC278, also REAL_TO_STRF an sich, in den Bausteinordner deines eigenen Projektes.

    (Info: Der Baustein REAL_TO_STRF ist nur wichtig damit beim späteren Übersetzen das Symbol für den Baustein schon vorhanden ist,
    es würde auch reichen das Symbol REAL_TO_STRF mit einer entsprechenden FC-Nummer in der Symboltabelle einzutragen)

    Wenn du die Bausteinnummern schon verwendet hast, meldet dir der Simatic Manager die doppelten Nummern, und bieten dir an die Nummer zu ändern.
    Das nimmst du an, und änderst die Bausteinnummern auf die von die gewünschten Nummern.

    3. Du öffnest in deinem eigenen Projekt im Ordner 'Quellen' das Objekt REAL_TO_STRF.
    Im SCL-Editor stößt du das Übersetzen entweder über die Schaltfläche 'Übersetzen' oder über das Menü Datei->Übersetzen an. Wenn er dich fragt ob er den Baustein mit Nummer xy (wahrschenlich 278) überschreiben soll, bestätigst du dieses.

    Wenn alles geklappt hat, siehst du im Ausgabefenster als Ergebnis 0 Fehler, 0 Warnungen


    PS
    Sieht nicht nur umständlich aus, ist es auch. Dieses Siemens Nummernkonzept ist für Bibliotheken unbrauchbar. Bei Codesys ist das wesentlich einfacher handzuhaben.

  10. #9
    bastler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.10.2008
    Beiträge
    232
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für deine ausführliche Erklärung. Wenn ich morgen auf Arbeit bin, werde ich das ganze mal versuchen auf die Reihe zu bekommen. Klingt alles ein wenig kompliziert, aber mal sehen, vielleicht bekomm ich das ja hin.
    Was mir noch aufgefallen ist, der FC77 ist der einzige FC aus der oscat.lib, die anderen sind alle aus der Standard.lib. Spielt das eine Rolle?
    Geändert von bastler (07.06.2013 um 23:44 Uhr)

  11. #10
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bei deinem konkreten Baustein nicht.
    Bei den Bausteinen die aus der Oscat Bibliothek verwendet werden, muss man aber auch wieder aufpassen ob diese nicht wieder weitere Funktionen aufrufen. Bei dem FC77 (EXP10) ist das aber nicht der Fall.

    Mal angenommen EXP10 würde auch wieder irgendwelche FCs verwenden bei denen du die Nummer geändert hast, dann muss man diesen Baustein wie ich es oben beschrieben habe auch wieder aus der SCL-Quelle neu übersetzen.
    Weil die Oscat Bibliothek sehr verschachtelt ist, sollte man bei der Verwendung bei Step7 immer aus den Quellen neu übersetzen. Und man sollte die Nummernbereiche aus der IEC-Bibliothek freihalten. Es werden nämlich bei verschiedenen Dingen in SCL die nicht direkt als Funktionsaufruf sichtbar sind, automatisch Bausteine aus der IEC-Bibliothek in dein Projekt kopiert. Bei deinem aktuellen Problem wird z.B. der FC5 (DI_STRNG) aufgrund von DINT_TO_STRING(...) benötigt.

  12. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    190B (08.06.2013)

Ähnliche Themen

  1. Awl ==> scl
    Von datasys im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.02.2011, 23:15
  2. AWL vs. SCL
    Von DaMeista im Forum Programmierstrategien
    Antworten: 14
    Letzter Beitrag: 22.01.2010, 08:03
  3. Schreibweise SCL Debug Info...
    Von AndreK im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.03.2008, 08:43
  4. Awl - Scl
    Von stricky im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 21.08.2007, 09:13
  5. SCL - AWL Kommando "SRD" in SCL
    Von Floh im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.06.2006, 09:37

Lesezeichen

Berechtigungen

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