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

Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 65

Thema: RANT: Konstrukte bei denen man sich manchmal fragt

  1. #11
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    990
    Danke
    115
    Erhielt 125 Danke für 100 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gott arbeitet nicht, Gott erschafft!!!
    Gott und Alex in einem Thread zu nennen halte ich für unbedacht

  2. #12
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Wir können ja mal schauen ob es da Ähnlichkeiten gibt

    Zitat Zitat von vollmi Beitrag anzeigen
    Code:
          U     #Obj_Schalten      
    SPBN  AU01
          ON    #Obj_Freigabe
          O     #Obj_SA_Abschaltung
          O     #Obj_SA_SGK_Schalten
          SPBN  AU01
          R     #Obj_Schalten
    AU01: NOP   0
    Code:
          O     "Instanz DB11".Betrieb_Im_Obj1_Ein
          O     "Instanz DB11".Prg_Immission_Obj1_aktiv
          O     "Instanz DB11".Betrieb_IM_Obj2_Ein
          O     "Instanz DB11".Prg_Immission_Obj2_aktiv
          O     "Instanz DB11".Betrieb_Manuell_Ein
          O     "Instanz DB11".Prg_Manuell_aktiv
          SPBN  FR01
          U     "IODB"._DBX_2_1          // Drehrichtung
          SPB   FR00
          U(                                // Drehzahl
          L     "SPS -> MMI"._DBW_60_0
          L     50
          <=I   
          )     
          SPBN  FR01
    FR00: O(    
          L     "SPS -> MMI"._DBW_86_0
          L     150
          >=I   
          )     
    FR01: UN    #Obj_SA_Alarme_Anfahrt
          UN    #Obj_SA_SGK_Schalten
          UN    #Obj_SA_Abschaltung
          U     #Obj_Freigabe
          SPBN  FR02
          S     #Obj_Schalten
    FR02: NOP   0

    Zitat Zitat von 00alex Beitrag anzeigen
    Code:
    FUNCTION FC 1 : VOID
    TITLE =
    VERSION : 0.1
    
    BEGIN
    NETWORK
    TITLE =
    //E0.0 =Schalter
    //A0.1 = AUSGANG1
    //A0.2 = AUSGANG2
    //M0.0 = Flanke
    //M0.1 + M0.2 = Hilfsmerker
    //M0.3 = Schalter+Flanken Ersatz
          U     E      0.0; 
          FP    M      0.0; 
          =     M      0.3; 
          U     M      0.3; 
          UN    M      0.1; 
          UN    M      0.2; 
          SPB   o1; 
          U     M      0.3; 
          UN    M      0.1; 
          U     M      0.2; 
          SPB   o2; 
          U     M      0.3; 
          U     M      0.1; 
          UN    M      0.2; 
          SPB   o3; 
          U     M      0.3; 
          U     M      0.1; 
          U     M      0.2; 
          SPB   o4; 
          BE    ; 
    o1:   R     M      0.1; 
          S     M      0.2; 
          S     A      0.1; 
          BE    ; 
    o2:   S     M      0.1; 
          R     M      0.2; 
          R     A      0.1; 
          BE    ; 
    o3:   S     M      0.1; 
          S     M      0.2; 
          S     A      0.2; 
          BE    ; 
    o4:   R     M      0.1; 
          R     M      0.2; 
          R     A      0.2; 
          BE    ; 
    
    END_FUNCTION
    ( ...würde auch einfacher gehen aber nicht verständlicher !)
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  3. #13
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Wenigstens hats bei mir keine Symbollosen Merker dabei. Aber die externen IDB zugriffe sind ja auch nicht wirklich besser.

    Aber meine güte. Selbst wenn man online davor sitzt. Ist es richtig übel den Auslöser für irgendeine Funktion zu finden.

    Da gibts auch so veroderungen welche ein Objekt sperren so dass man es rücksetzen muss. Aber es wird nicht der auslösende Fehler gespeichert sondern das Objekt wird als gestört gestört.

    Super wenn irgendwo ein Wackelkontakt ist, und das MMI die Einzelmeldung garnicht mitkriegt.

    Finde den Fehler wenn nur das Resultat bekannt ist, der Fehler aber schon wieder weg. Vor allem wenn das Resultat aus 100 verschiedenen Auslösern gebildet wird.

    mfG René

  4. #14
    Registriert seit
    09.08.2006
    Beiträge
    3.627
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Was habt ihr da so zu bieten wo ihr euch schonmal gefragt habt was sich derjenige dabei dachte.
    Ich hatte letztens:

    C:= (A OR B) AND A; ...

    da sitzt man dann im ersten Augenblick davor und grübelt

    Gruß.

  5. Folgende 3 Benutzer sagen Danke zu ducati für den nützlichen Beitrag:

    Grimsey (28.10.2013),PN/DP (18.10.2013),vollmi (18.10.2013)

  6. #15
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.241 Danke für 973 Beiträge

    Standard

    Manche "Kollegen" haben einfach nicht begriffen, dass ihre Programme wie Kindersachbücher (Im Sitle von "Was ist Was") schreiben sollten.
    Einige schreiben Romane, andere Prosa und wieder andere Esotherik.

    Gruß
    Dieter

  7. Folgende 4 Benutzer sagen Danke zu Blockmove für den nützlichen Beitrag:

    drfunfrock (18.10.2013),Grimsey (28.10.2013),Kieler (04.04.2014),RONIN (03.04.2014)

  8. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Hier mal eine Auswahl was ich sehr oft sehe:

    - Rücksetzen einer boolschen Variable nur nach vorheriger Prüfung, ob die denn auch gesetzt ist
    - Verknüpfen aller Rücksetzbedingungen bei SR-Flipflop auch nochmal im Setzen-Zweig
    - seitenlange "Angst-Rücksetz-Orgien" von 'zig Variablen bei "Ereignissen" - die zeigen mir immer, daß der Programmierer seinem eigenen Programm nicht traut.
    - Verarbeiten von HMI-Eingaben ohne Wertebereichsprüfung oder höchstens Grenzwertprüfung bei der Eingabe im HMI

    Was in neuerer Zeit mit ST und SCL leider immer mehr zunimmt: diese oft logisch unvollständig(!) ausprogrammierten IF..THEN mit 'zig extra Sonderbehandlungen für 'zig möglicherweise auftretende Ereignisse, statt sich mit vernünftiger Logik ala Karnaugh und Wahrheitstabellen zu beschäftigen ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. Folgende 4 Benutzer sagen Danke zu PN/DP für den nützlichen Beitrag:

    Draco Malfoy (25.06.2014),Grimsey (28.10.2013),IBFS (18.10.2013),vollmi (18.10.2013)

  10. #17
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    - seitenlange "Angst-Rücksetz-Orgien" von 'zig Variablen bei "Ereignissen" - die zeigen mir immer, daß der Programmierer seinem eigenen Programm nicht traut.
    Bei diesen Setz\Rücksetzorgien oder auch verriegelungsorgien ist das doofe. Übersichtlicher werden die Programme dadurch nicht. Und auf einmal gibts dann ne konstellation wo sich alles ineinander verriegelt.

    Mit freundlichen Grüßen René

  11. #18
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Ich arbeite hier an einem Programm, das im Prinzip 4 Modi und 3 Submodi implementiert. Als Randbedg. kommen noch Grenzwerte dazu. Der damalige Progammierer hat alles mit Merkern gemacht. Die IF-THEN-ELSE Exzesse sehen in etwa so aus:

    IF Merker1 THEN Merker5=False
    IF Speed<4 then Merker7=True;
    END_IF;
    ELSIF Merker3 THEN ....

    Auf diese Weise hat er einen Rampengenerator für eine Position realisiert...

    Ich habe dann die Modes in einen Mode-Controller ausgelagert und dort errechnet und habe jetzt eine wunderschöne State-Machine mit einem

    CASE Mode OF
    Mode 1:
    Mode 2:
    ....

    END_CASE;

    Ich bestreite das man Merker benötigt
    Geändert von drfunfrock (18.10.2013 um 13:59 Uhr)

  12. #19
    Registriert seit
    09.08.2006
    Beiträge
    3.627
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von drfunfrock Beitrag anzeigen
    Ich bestreite das man Merker benötigt
    Ich auch

  13. #20
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von drfunfrock Beitrag anzeigen

    Ich bestreite das man Merker benötigt
    Ich will nicht auf meinen True und Falsemerker verzichten.

Ähnliche Themen

  1. Strukturen Vergleichen in denen Arrays vorkommen
    Von SteffenD im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 31.07.2013, 09:18
  2. WCf 2008 SP2 HF3 hängt sich manchmal auf
    Von Günni1977 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 26.11.2010, 09:14
  3. CX hängt sich manchmal auf bei "Route hinzufügen"
    Von karlheinzsps im Forum CODESYS und IEC61131
    Antworten: 17
    Letzter Beitrag: 03.03.2010, 13:15
  4. blutender Anfänger fragt .....
    Von Martha72 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.07.2009, 11:46
  5. Warum man sich OPC sparen sollte...
    Von seeba im Forum Stammtisch
    Antworten: 8
    Letzter Beitrag: 19.06.2006, 10:58

Lesezeichen

Berechtigungen

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