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

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 56

Thema: Tipps zur Standardisierung der Programmierung

  1. #31
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich verwende die IEC Timer ja auch. Nur muss man eben das Verhalten beachten. Bei der 1200/1500 ist dieses z.B. beim Anlauf überhaupt nicht definiert.
    Und z.B. beim TONR hat Siemens mit dem aktuellen Betriebssystemupdate der 1500 wieder was geändert. Vorher lief der Timer bei IN=TRUE und Reset=TRUE nicht weiter, sondern erst nach einer erneuten Flanke. Bevor ich mich auf solche Späße einlasse, baue ich mir doch lieber meinen eigenen Zähler.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  2. #32
    Registriert seit
    25.01.2008
    Ort
    Hamburg
    Beiträge
    224
    Danke
    12
    Erhielt 63 Danke für 33 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Ich verwende die IEC Timer ja auch. Nur muss man eben das Verhalten beachten. Bei der 1200/1500 ist dieses z.B. beim Anlauf überhaupt nicht definiert.
    Und z.B. beim TONR hat Siemens mit dem aktuellen Betriebssystemupdate der 1500 wieder was geändert. Vorher lief der Timer bei IN=TRUE und Reset=TRUE nicht weiter, sondern erst nach einer erneuten Flanke. Bevor ich mich auf solche Späße einlasse, baue ich mir doch lieber meinen eigenen Zähler.
    Ich kann das schon nachvollziehen. Vermutlich haben wir da auch eine andere Herangehensweise, das ein Timer gleichzeitig True an zwei von seinen Funktionen hat gibt es bei mir z.B. nicht.
    It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.


  3. #33
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    1.978
    Danke
    386
    Erhielt 582 Danke für 435 Beiträge

    Standard

    Zitat Zitat von miasma Beitrag anzeigen
    Jetzt mal ganz im ernst, der Timer ist schuld und nicht das schlechte Netz oder ein Betriebselektriker der nicht weiß was er macht?
    Du als Programmierer bist sehr wohl für eine sauberes Kalt/Warmstart-Verhalten deines Programmes zuständig. Das macht gute Software aus.
    Der Betriebselektriker soll schalten walten können ohne das was schiefgeht und von der USV soll die Ablaufqualität auch nicht abhängen.

    Zitat Zitat von miasma Beitrag anzeigen
    Ich selber habe in jeder Software hunderte IEC Timer und die haben noch nie nicht funktioniert.
    Was war dann die ET#-12D -Anzeige. Nicht existent? Nie passiert?
    Du hast doch geschrieben dass dir bekannt ist dass Siemens-CPUs beim Kalt/Warmstart "empfindliche und teilweise auch nicht vorhersagbar" reagieren...
    Wo kommt jetzt das niemals nie her?

    Keine Sorge ich verwende auch ausschließlich IEC-Timer.
    Heißt aber nicht dass die problemlos sind, wie oben ja angemerkt, deshalb finde im meinen Rat zur "Aufmerksamkeit" durchaus berechtigt...

    Zitat Zitat von miasma Beitrag anzeigen
    Das Initialisieren von Funktionen bzw. ganzer Bausteine ist doch ungeschriebenes Gesetz und wird in jeder Siemens Schulung oder Ausbildung gelehrt.
    Ja komisch, sind die Siemens-Programmierer des IEC-Timers wohl nicht auch deine Schulung gegangen...
    Denn deren Funktionen initialisieren sich ja schon mal nicht sauber...

    Ich würde ja nichts sagen wenn der Timer nach CPU-Neustart bei 0 beginnt, stehen bleibt oder einfach weiter läuft.
    Aber wenn der Timer im negativen Bereich zu arbeiten beginnt, dann ist das wohl nicht sauber oder korrekt.

    Damit ist es also die Aufgabe des Programmierens dieses schlechte Initialisierungsverhalten selbst abzufangen.
    Wobei wieder keiner weiß wie dieses Verhalten genau aussieht, da nicht beschrieben.

    Zitat Zitat von miasma Beitrag anzeigen
    Ist es echt so schwer den Fehler mal bei seiner Lösung zu suchen und der Art und Weise wie man implementiert anstatt immer alles auf das System zu schieben?
    Hmm... ich nenne einen Fünf-Minuten-Timer der bei T#-12H(D) herumgurkt durchaus als fehlerhaft.
    Wenn du selber einen Timer schreiben würdest, würdest du ja (oben hast du es geschrieben) dafür sorgen dass er sich korrekt initialisiert?

    In dem Fall wurden 2 simple Timer im FUP zu nem Taktgeber verschalten. An die Reset/Initialisierungsroutine wurde tatsächlich nicht gedacht.
    Bei so nem simplen Scheiß denkt man nicht immer dran...

    Wobei, im Endeffekt stimmst du mir ja zu.
    Der Programmierer ist verantwortlich dass sich sein Programm sauber initialisiert, dementsprechend muss er sich auch um jeden IEC-Timer kümmern den er verwendet.
    Denn wie du oben ja beschrieben hast, verhalten sich CPUs unter bestimmten (undokumentierten Bedingungen) " sehr empfindliche und teilweise auch nicht vorhersagbar".
    Ich sag ja nicht dass der Programmierer in dem Fall schuldfrei war, das System aber schon ganz sicher ebenso nicht....
    Geändert von RONIN (30.09.2016 um 13:07 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  4. #34
    Registriert seit
    25.01.2008
    Ort
    Hamburg
    Beiträge
    224
    Danke
    12
    Erhielt 63 Danke für 33 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen

    Du hast doch geschrieben dass dir bekannt ist dass Siemens-CPUs beim Kalt/Warmstart "empfindliche und teilweise auch nicht vorhersagbar" reagieren...
    Ich meine hier nicht die Fehler mit den Timern, sondern allgemein das es Probleme mit remanenten Daten geben kann wenn die CPU durch das Netz oder durch eine Person unkoordiniert ein uns ausgeschaltet wird.

    Code:
    Du als Programmierer bist sehr wohl für eine sauberes Kalt/Warmstart-Verhalten deines Programmes zuständig. Das macht gute Software aus.
    Ja na klar, deshalb initialisiere ich immer alles meine Bausteine vor dem ersten OB1 Durchlauf. Die USV soll ja nicht das Anlaufverhalten beeinflussen sondern lediglich dafür sorgen das ich auch Meldungen erfassen kann wenn das Netz ausgefallen bzw. dessen Qualität schlecht ist.
    It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.


  5. #35
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    1.978
    Danke
    386
    Erhielt 582 Danke für 435 Beiträge

    Standard

    Zitat Zitat von miasma Beitrag anzeigen
    Ich meine hier nicht die Fehler mit den Timern, sondern allgemein das es Probleme mit remanenten Daten geben kann wenn die CPU durch das Netz oder durch eine Person unkoordiniert ein uns ausgeschaltet wird.
    Ja... sicher.....

    Zitat Zitat von miasma Beitrag anzeigen
    Ja na klar, deshalb initialisiere ich immer alles meine Bausteine vor dem ersten OB1 Durchlauf.
    Deshalb lass mich die Frage anders formulieren...

    Wenn du einen Timer schreiben würdest und auch vollen Zugriff auf das BS hättest, würde dieser...
    a) Auf Grund remanenter Daten nach einem CPU-Reset mal gewöhnlich weiterarbeiten, mal aber bei negativer Zeit zu zählen beginnen?
    b) Wenn ja, würdest du dieses Verhalten auch nicht dokumentieren?

    Ach ja noch was. Bei einer anderen Siemens-Schulung habe ich auch gehört das man seine Bausteine so schreiben sollte, dass diese auch bei fehlerhaften Einsatz durch den Endanwender ebenso noch in einer dokumentierten Funktion arbeiten sollen. Wieder eine Schulung die der TON-Programmierer verpassten hat...
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  6. #36
    Registriert seit
    16.10.2012
    Beiträge
    611
    Danke
    47
    Erhielt 24 Danke für 19 Beiträge

    Standard

    Zitat Zitat von ducati Beitrag anzeigen
    Warum die Standardisierung immer Praktikanten machen und nicht die alten Hasen, welche die notwendigen Erfahrungen besitzen, und wissen, was in dem jeweiligen Unternehmen Sinn macht, wird mir vermutlich auch fuer immer ein Rätsel bleiben...
    Am Besten noch Praktikanten, die nie zuvor eine SPS gesehen haben... Nichts fuer ungut.
    Janz jenau so isses. Die alten Hasen wissens imma! In unserer Firma gibts auch so ne Abteilung, wo die alten Hasen sehr zielgerichtet standardisiert haben. Das Ergebnis dieser Standardisierung sieht dann wie folgt aus:

    - FBs oder SFBs (geschweige denn Multiinstanzen) gibts per Definition nicht;
    - Lokale Daten werden nicht benutzt;
    - Strukturen oder UDTs gibts keine;
    - Als Datentypen gibts vorzugsweise nur BOOL und REAL;
    - Alle FCs werden in AWL geschrieben;
    - Es existieren nur S5 Timer;
    - Kommandoanforderungen, Freigaben etc. werden an 1. Stelle gesetzt und an 20-80 nachfolgenden Stellen jeweils zurückgesetzt;
    - Datenbausteine werden aus EXCEL-Listen generiert.

    An dem Standard wird eisern festgehalten (sonst werden die alten Hasen sauer). Das ganze wird dann für auch für komplexe Servohydraulik mit Proportionalventilen und lenrnenden Reglern und auf 417H CPUs ganz genau so umgesetzt.
    So stelle ich mir einen zukunfsfähigen Standard vor, um große, leistungsfähige Anlagen zu automatisieren.
    Geändert von Draco Malfoy (30.09.2016 um 15:19 Uhr)
    Zitieren Zitieren Alte Hasen  

  7. Folgender Benutzer sagt Danke zu Draco Malfoy für den nützlichen Beitrag:

    achimE (30.09.2016)

  8. #37
    Registriert seit
    25.01.2008
    Ort
    Hamburg
    Beiträge
    224
    Danke
    12
    Erhielt 63 Danke für 33 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    a) Auf Grund remanenter Daten nach einem CPU-Reset mal gewöhnlich weiterarbeiten, mal aber bei negativer Zeit zu zählen beginnen?

    Hier ist doch wirklich nicht der Timer das Problem, sondern die remanenten Daten.
    Falsche remanente Daten hätten ja auch an einer anderen Stelle für Fehler sorgen können bzw. für dessen Stillstand sorgen können.
    Ich weiß gar nicht ob man ein Remanenzproblem per OB in Classic diagnostizieren kann, um solche Probleme zu lösen oder darauf zu reagieren.
    It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.


  9. #38
    Registriert seit
    17.03.2011
    Beiträge
    8
    Danke
    5
    Erhielt 1 Danke für 1 Beitrag

    Standard

    @Draco Malfoy: Oh man das kenn ich.

    Mit dieser Methode wird man NIE NIE NIE ein bestimmtes Level überschreiten. Und je komplexer die Maschinen werden um so weniger steigt man bei Merkern, fehlenden Schnittstellen und handgefertigten Schrittketten durch.

  10. #39
    Registriert seit
    09.08.2006
    Beiträge
    3.155
    Danke
    774
    Erhielt 558 Danke für 466 Beiträge

    Standard

    Nun ja, ich kenne zwar die Hintergründe von Dracos Standard nicht, aber ich vermute, er wurde nicht erst letztes Jahr erstellt. Stammt also aus einer Zeit, als SCL und TON etc. noch nicht so "in" waren. Und wenn ein Standard erstmal in xxx Anlagen eingesetzt wurde, muss man schon sehr gute Gründe vorbringen, um ihn ueber den Haufen zu werfen. Nur mal so als Denkanstoss... Nebenbei hat der beschriebene Standard natuerlich auch Vorteile, wie hier im Forum schon oeffters diskutiert wurde...

  11. #40
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.095
    Danke
    389
    Erhielt 2.270 Danke für 1.894 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Naja ... ich denke mal, dass Draco's "alte Hasen" vielleicht auch nicht so die Super-SPS-Guru's sind. Da entsteht dann auch mal ganz schnell die Situation "never change a running System" oder "bloss nichts ändern - es könnte ja besser werden". Ich habe so etwas in der Vergangenheit auch schon mal mit erlebt und kann ihn da schon verstehen. Es hat da mal eine Zeit gegeben, wo es geheissen hat "Dokumentation und Strukturierung ist nur was für Weicheier".

    Wie auch immer. Aus meiner Erfahrung ist ein gut gemachter und gelebter und weiterentwicklelter Standard eine tolle Sache.

    @Draco:
    Wenn ihr bei euch in der Firma solche Parolen habt dann hast du mein tiefempfundenes Mitgefühl. Ich hätte (und habe) mit so etwas auch so meine Schwierigkeiten ...

    Gruß
    Larry

  12. Folgende 2 Benutzer sagen Danke zu Larry Laffer für den nützlichen Beitrag:

    de vliegende hollander (01.10.2016),Draco Malfoy (01.10.2016)

Ähnliche Themen

  1. Tipps zur Fehlersuche...
    Von petzi im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 03.06.2010, 06:26
  2. Antworten: 21
    Letzter Beitrag: 13.04.2010, 19:03
  3. Antworten: 6
    Letzter Beitrag: 24.11.2009, 10:20
  4. Antworten: 4
    Letzter Beitrag: 24.09.2006, 11:18
  5. Brauche Tipps zur Regelstrategie Klima
    Von Jo Sol im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 30.07.2006, 09:38

Stichworte

Lesezeichen

Berechtigungen

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