-> Hier kostenlos registrieren
Hallo,
da muss ich doch auch mal was zu sagen.
1. Was mir viel mehr auf den Sack geht, ist dass Programme nur halb-fertig abgeliefert werden. Tritt ein Fehler beim Ablauf auf heisst es:" Tja, da muss man dann halt alle Teile entnehmen und von vorne anfangen". Das gilt sogar manchmal für das öffnen von Schutztüren.
Bei manchen Anlagen ist das jedes mal ein grosser Aufwand alle Teile zu entnehmen und komplett bei 0 anzufangen.
Ja, es kostet Zeit auch mal 3 Züge im voraus zu denken...
2. Mindestens für alle Sensoren hat es Fehlermeldungen zu geben, damit der Bediener auch erkennen kann warum jetzt nix mehr geht.
3. Es müssen Verrigelungen gegen Bedienfehler programmiert sein. D.h. es darf auch (oder gerade da) im Handbetrieb nicht möglich sein etwas kaputt zu fahren.
Das meiste andere wurde ja schon geschrieben. Was ich aber nicht nachvollziehen kann, ist die Abneigung von aussen auf Instanz-DBs zuzugreifen.
Ich arbeite z.B. mit einem Schrittketten-Baustein. Es ist für mich unsinnig, z.B. die Info welcher Schritt gerade aktiv ist, über out auf Merker oder sowas zu legen. Wenn ich von Aussen schreibe:
u #Kette.schrittaktiv[1]
ist das für mich eindeutig und 1000 mal besser als nochmal Merker zu verbraten, die dann an den Ausgang des FB gepackt werden, und die ja auch erstmal alle beschriftet werden müssen.
Solange das ganze symbolisch angezeigt wird ist doch alles OK. Blöd ist nur wenn man z.B. als Bool deklarierte Variablen als word oder so anspricht.
Und leider hab ich gerade so einen Fall, weil Wincc-Flexible bei den Meldungen nur Word-Variablen haben will. Bei Pro-Tool hab ich nen DB aus Bool-Arrays gehabt, die schon "richtig" gedreht waren. So konnte man die Meldungen symbolisch adressieren, und konnte ohne nachdenken sehen, dass das Bit "Meldungen.Meldung1_8[3]" eben die Meldung 3 in Pro-Tool ist. Ablsolute Programmierung ist nunmal doof für die Lesbarkeit. Mal gucken was man da noch machen kann...
Ansonsten versuche ich Bausteine zu erstellen, die ich immer wieder verwenden kann, und arbeite dann mit Multiinstanzen. Das nervt manchmal beim programmieren, wegen "Zugriffe aktualisieren", aber wenn die Abläufe mal drin sind...
1 Baustein für Schrittketten
1 Baustein für Aktoren (für 5/2-,5/3 Wege oder Achsen natürlich andere)
, die alles enthalten was Freigaben, Störungen, Hand und Automatikbetrieb betreffen, und das ganze ggf. als Multiinstanz in den Baustein der entspechenden Station.
Schon ist so ein Station mit wenigen Mausklicks und Copy&Paste programmiert.
Servos usw haben natürlich ihren eigenen Baustein, an den die Variablen (Freigaben, Positionen, Geschwindigkeiten usw) übergeben werden.
Auch für mich ist das Umladen von Ein- und Ausgängen No-Go. Seh ich gar keinen Sinn drin, und verursacht nur noch mehr Tipp-Arbeit beim Beschriften von Variablen. Nach meiner Erfahrung lassen aber Leute die so programmieren eh die Hälfte der Symbolik weg.
So...
nun mal gucken ob ich auch mit Wincc Flex noch das symbolische programmieren der Fehlermeldungen hin bekomme.
Torsten
da muss ich doch auch mal was zu sagen.
1. Was mir viel mehr auf den Sack geht, ist dass Programme nur halb-fertig abgeliefert werden. Tritt ein Fehler beim Ablauf auf heisst es:" Tja, da muss man dann halt alle Teile entnehmen und von vorne anfangen". Das gilt sogar manchmal für das öffnen von Schutztüren.
Bei manchen Anlagen ist das jedes mal ein grosser Aufwand alle Teile zu entnehmen und komplett bei 0 anzufangen.
Ja, es kostet Zeit auch mal 3 Züge im voraus zu denken...
2. Mindestens für alle Sensoren hat es Fehlermeldungen zu geben, damit der Bediener auch erkennen kann warum jetzt nix mehr geht.
3. Es müssen Verrigelungen gegen Bedienfehler programmiert sein. D.h. es darf auch (oder gerade da) im Handbetrieb nicht möglich sein etwas kaputt zu fahren.
Das meiste andere wurde ja schon geschrieben. Was ich aber nicht nachvollziehen kann, ist die Abneigung von aussen auf Instanz-DBs zuzugreifen.
Ich arbeite z.B. mit einem Schrittketten-Baustein. Es ist für mich unsinnig, z.B. die Info welcher Schritt gerade aktiv ist, über out auf Merker oder sowas zu legen. Wenn ich von Aussen schreibe:
u #Kette.schrittaktiv[1]
ist das für mich eindeutig und 1000 mal besser als nochmal Merker zu verbraten, die dann an den Ausgang des FB gepackt werden, und die ja auch erstmal alle beschriftet werden müssen.
Solange das ganze symbolisch angezeigt wird ist doch alles OK. Blöd ist nur wenn man z.B. als Bool deklarierte Variablen als word oder so anspricht.
Und leider hab ich gerade so einen Fall, weil Wincc-Flexible bei den Meldungen nur Word-Variablen haben will. Bei Pro-Tool hab ich nen DB aus Bool-Arrays gehabt, die schon "richtig" gedreht waren. So konnte man die Meldungen symbolisch adressieren, und konnte ohne nachdenken sehen, dass das Bit "Meldungen.Meldung1_8[3]" eben die Meldung 3 in Pro-Tool ist. Ablsolute Programmierung ist nunmal doof für die Lesbarkeit. Mal gucken was man da noch machen kann...
Ansonsten versuche ich Bausteine zu erstellen, die ich immer wieder verwenden kann, und arbeite dann mit Multiinstanzen. Das nervt manchmal beim programmieren, wegen "Zugriffe aktualisieren", aber wenn die Abläufe mal drin sind...
1 Baustein für Schrittketten
1 Baustein für Aktoren (für 5/2-,5/3 Wege oder Achsen natürlich andere)
, die alles enthalten was Freigaben, Störungen, Hand und Automatikbetrieb betreffen, und das ganze ggf. als Multiinstanz in den Baustein der entspechenden Station.
Schon ist so ein Station mit wenigen Mausklicks und Copy&Paste programmiert.
Servos usw haben natürlich ihren eigenen Baustein, an den die Variablen (Freigaben, Positionen, Geschwindigkeiten usw) übergeben werden.
Auch für mich ist das Umladen von Ein- und Ausgängen No-Go. Seh ich gar keinen Sinn drin, und verursacht nur noch mehr Tipp-Arbeit beim Beschriften von Variablen. Nach meiner Erfahrung lassen aber Leute die so programmieren eh die Hälfte der Symbolik weg.
So...
nun mal gucken ob ich auch mit Wincc Flex noch das symbolische programmieren der Fehlermeldungen hin bekomme.
Torsten