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

Ergebnis 1 bis 10 von 10

Thema: IEC 61131-3 3rd Edition

  1. #1
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Liebes Forum,

    die 3rd Edition der 61131-3 ist seit ein paar Wochen käuflich erhältlich, z.B. hier:
    http://webstore.iec.ch/webstore/webstore.nsf/Artnum_PK/47556

    der Standard wurde komplett runderneuert und enthält jetzt auch Objektorientierung.

    Ich hatte das Vergnügen (das ist nicht mal Ironie) an dieser Edition mitarbeiten zu dürfen und bin ein bisschen
    enttäuscht, dass die einschlägigen Fachzeitschriften das noch überhaupt nicht wahrgenommen haben.
    Also mach ich hier mal ein bisschen Werbung, auch wenn es noch ein bisschen dauern dürfte, bis der neue Standard
    am Markt ankommt.

    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)
    Zitieren Zitieren IEC 61131-3 3rd Edition  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Für den Preis wird sich das aber kein Anwendungs-Programmierer hinlegen. Vor allem weil es auch nicht wirklich hilfreich ist wenn die Implementierung des Standards vom Standard abweicht, oder erweitert wird wie bei Codesys (z.B. Pointer).
    Eigentlich schade dass es nicht wie andere genormte Sprachspezifikationen frei verfügbar ist.

    In der 2nd Edition war gerade bei der formalen Sprachdefintion der ein oder andere Fehler vorhanden. Bei einem Standard sollte man schon prüfen ob das zusammenpasst was drin steht. Vielleicht ist es in der 3rd ja behoben.

  3. #3
    Registriert seit
    24.04.2008
    Ort
    Lübeck
    Beiträge
    324
    Danke
    8
    Erhielt 63 Danke für 62 Beiträge

    Frage

    Hallo Werner,

    irgendwie ist die 3rd Edition doch nichts neues mehr. CoDeSys 3.x ist bereits länger verfügbar, die 3rd Edition implementiert und wird vielfach verwendet.
    Mit der Veröffentlichung von CoDeSys 3.x habe ich auch vielfach Artikel in den Fachzeitschriften gelesen.

    Oder enthält der Standard nun noch Änderungen/Erweiterungen gegenüber der aktuell verfügbaren Implementierung in CoDeSys 3.x?

    Gruß, Neals
    Zitieren Zitieren CoDeSys 3.x  

  4. #4
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Ich habe mir mal in der Vorschau das Inhaltsverzeichnis angesehen. Irgendwie bin ich mir nicht ganz sicher wer die Zielgruppe dieses Buches sein soll (ich denke eher Entwickler die Programmierumgebungen und Compiler für Steuerungen entwickeln, oder?)
    340€ für 230 Seiten ist jedenfalls schon eine ordentliche Hausnummer.

  5. #5
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Ich würde auch sagen eher für Compilerbauer oder Tool-Entwickler.
    Wobei ich auch als Anwender einer IEC 61131-Implementierung ganz gerne in eine Norm reinschaue, um zu prüfen wie ich normgerecht programmieren kann, damit mein Norm-IEC Programm auch auf anderen IEC 61131 konformen Umgebungen läuft.

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

    RobiHerb (13.03.2013)

  7. #6
    Werner29 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Ich würde auch sagen eher für Compilerbauer oder Tool-Entwickler.
    Natürlich, für den SPS-Programmierer wird es erst dann interessant, wenn die Tools den Standard unterstützen. Und genauso richtig:
    im Moment gibt es nur CODESYS V3, dass den neuen Standard zum grössten Teil unterstützt.
    Insofern hat sich tatsächlich erstmal nichts geändert.
    Dass Interessante für euch ist vielleicht, dass alle (in Europa) relevanten Marktteilnehmer, also insbesondere auch Siemens, an dem Standard mitgearbeitet haben.
    Ob das auch ein Bekenntnis ist, diesen Standard umzusetzen, weiss ich natürlich nicht.

    Die Preise für Normen erklären sich wahrscheinlich durch die Stundenlöhne in der Schweiz. Und schliesslich muss jede Norm ins Französische übersetzt werden.
    Die Firmen, die die Arbeit geleistet haben, machen das jedenfalls auf eigene Kosten. Ich wollte auch niemanden zum Kauf auffordern, das macht vermutlich nur für die wenigstens hier Sinn.

    Zum Inhalt: ich habe letztes Jahr in Aachen folgenden Vortrag gehalten über den neuen Standard, das sollte einen Überblick verschaffen:

    http://www.plt.rwth-aachen.de/fileadmin/plt/events/2012/Sommerkolloquium/Werner-61131-3.pdf
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  8. Folgende 2 Benutzer sagen Danke zu Werner29 für den nützlichen Beitrag:

    gloeru (13.03.2013),RobiHerb (13.03.2013)

  9. #7
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Beitrag

    Zitat Zitat von Werner29 Beitrag anzeigen

    Zum Inhalt: ich habe letztes Jahr in Aachen folgenden Vortrag gehalten über den neuen Standard, das sollte einen Überblick verschaffen:

    http://www.plt.rwth-aachen.de/fileadmin/plt/events/2012/Sommerkolloquium/Werner-61131-3.pdf
    Die Zusammenfassung finde ich sehr schön und wenn ich auch noch einen Wunsch äussern dürfte für Version 4, wäre das in etwa folgendes:

    Es fehlt das Konzept der Exceptions, sprich Auffangen von Zuständen (die eigentlich nicht eintreten dürften aber die reale Welt ist immer noch etwas komplexer als der Theoretiker/Programmierer sich vorstellen kann).

    Das ist bei einer SPS natürlich nicht mit einer Messagebox möglich aber man kann sich bestimmt einiges einfallen lassen.

    Also z.B. Reaktionen etwa so je nach Typ:

    TRY_BEGIN
    MACHEETWAS (); // hier könnte es schief laufen
    TRY_END
    CATCH_BEGIN (EXCEPTION (EX))
    CASE (EX.TYP) OF
    CASE COMTIMEOUT:
    ; // führt zur Neuinitialisierung der Kommunikation
    BREAK;

    CASE MATHERROR:
    ; // führt zum Warm Reset
    BREAK;

    CASE LIMIT:
    ; // führt zur Abschaltung der Ausgänge,
    BREAK;

    CASE NOCONNECT:
    ; führt zur Inselbildung,
    BREAK;

    DEFAULT: // Etwas, was überhaupt nicht absehbar war
    ; // führt zum Notaus,
    BREAK;
    CATCH_END


    Das kann man sich natürlich besser überlegen, nur so eine Anregung. Wichtig ist mir ein sauberes organisiertes Reagieren des Systems unter Vermeidung von Absturz oder Totalblockade. Einschliesslich des Durchfallens durch die gesamte Aufrufkette bis ein Catch Handler gefunden wird.
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Exceptions  

  10. #8
    Werner29 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard

    Da bin ich schon am überlegen.
    Für die Implementierung wäre es von Vorteil wenn man ausschliesslich Funktionsaufrufe (und Methodenaufrufe) in ein strukturiertes Exception Handling packen kann.
    In etwa stelle ich mir folgende Syntax vor:

    __TryCall (<Funktionsaufruf>)
    __Except
    <beliebiger Code>
    __EndTry

    Das wäre natürlich erstmal eine CODESYS-Lösung. Bis zur 4th Edition werden noch ein paar Jährchen vergehen...
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

  11. #9
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Braucht es wirklich Exceptions?
    In den Hochsprachen werden Ausnahmen ja von den Methoden geworfen wenn sie einen Fehler erkennen.
    Wenn ich meine FBs mit einen ERR Ausgang und evtl. noch einem ERRNO ausrüste, erreiche ich das Gleiche. So oder so muss ich die Fehlererkennung selber implementieren.

    Code:
    _Try
      FBlock();
    _Except
      MachWas();
    _endTry
    
    oder
    
    FBlock();
    if FBlock.ERR then
      MachWas(Fehler := FBlock.ERRNO);
    end_if
    nimmt sich irgendwie nicht viel. Oder Übersehe ich da was?

  12. #10
    Werner29 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.08.2005
    Beiträge
    280
    Danke
    41
    Erhielt 96 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dein Code geht ja davon aus, dass der FBlock alle seine Fehlerzustände detektiert und man diese Fehler behandeln kann.
    Aber ein Programmierfehler in dem FBlock der eine Exception auslöst, kann man so natürlich nicht behandeln, wie beispielsweise Division by zero.

    Exceptions sollten meiner Meinung nach nur für wirklich unerwartete Situationen verwendet werden, und nicht um einen "normalen" Fehlerzustand nach aussen zu melden.

    Aber es kann schon die Situation geben, dass die gesamte Applikation, oder ein Teil einer Applikation nicht mehr weiterarbeiten kann und in einen sicheren Zustand versetzt werden
    muss. Man kann dann mit Exceptions ganz angenehm arbeiten, weil die Behandlung des Fehlers über den gesamten Aufrufstack an eine zentrale Stelle transportiert werden kann.

    Also wie immer geht es auch um den persönlichen Programmierstil.
    Bernhard Werner
    3S-Smart Software Solutions (CODESYS)

Ähnliche Themen

  1. SCL oder ST und EN 61131-3/IEC 61131-3
    Von McCowsky im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.03.2009, 15:05
  2. Symboldeklerationen (IEC 61131-3)
    Von kiestumpe im Forum Programmierstrategien
    Antworten: 13
    Letzter Beitrag: 25.04.2008, 12:06
  3. IEC 61131-3 oder S7
    Von drunkenmunky im Forum Programmierstrategien
    Antworten: 47
    Letzter Beitrag: 29.02.2008, 19:51
  4. Bausteinbezeichnungen IEC 61131
    Von Bender25 im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 03.12.2007, 15:18
  5. IEC 61131-3
    Von arcis im Forum Stammtisch
    Antworten: 1
    Letzter Beitrag: 24.12.2005, 11:52

Lesezeichen

Berechtigungen

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