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

Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 68

Thema: Programmierwettbewerb: Interesse? Regeln!

  1. #21
    Registriert seit
    22.07.2004
    Beiträge
    749
    Danke
    41
    Erhielt 66 Danke für 47 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vierlagig Beitrag anzeigen
    NA TOLL! hab hier nur 5.4, kann ich also nicht teilnehmen?
    prinzipiell -10 Punkte

    in Abhängigkeit der Aufgabengröße könnte das Erstellen einer vollständigen Beschreibung aber dann sogar in Arbeit ausarten...

    da es ja nur ein Gewinner geben sollte, denke ich man soll das mit dem Punktesystem wirklich machen, ein Programm das funktioniert, ist ja nicht so gut wie ein Programm das funktioniert und schneller ist (bei gaaaanz großen Aufgaben, bzw. falsch ausgelegten CPUs kann es ja durchaus mal notwendig sein sparend zu programmieren)
    und das mit der Beschreibung kann man ja auch staffelen, 100% beschrieben 20 Punkte, mittelmäßig beschrieben 10 Punkte und gar nicht beschrieben 0 Punkte...
    Größer als Chuck Norris: The One and Only

  2. #22
    M-Ott ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.636
    Danke
    120
    Erhielt 342 Danke für 257 Beiträge

    Standard

    Zitat Zitat von MatMer Beitrag anzeigen
    da es ja nur ein Gewinner geben sollte, denke ich man soll das mit dem Punktesystem wirklich machen, ein Programm das funktioniert, ist ja nicht so gut wie ein Programm das funktioniert und schneller ist
    Ich denke (als Kompromiss):

    Punkteverteilung:
    Kürzester Anweisungsteil:
    10 Punkte
    Schnellstes Programm:
    10 Punkte (aber wer erklärt sich bereit, das jedesmal zu testen?)
    Jedes Danke:
    1 Punkt (Ich denke die "Danke" werden sich auch entsprechend der Verständlichkeit des Programms verteilen, so dass eine Bewertung der Kommentare unnötig ist).
    STEP7 V5.4:
    -10 Punkte

    Bedingungen:
    • Es muss eine vollständige AWL-Quelle eines FB/FC in
      Code:
      CODE
      gepostet werden (Sorry, Larry, aber viele User haben einfach kein SCL)
    • Es darf nur ein Baustein gepostet werden
    • Es dürfen keine anderen Bausteine (auch keine SFC/SFB) aufgerufen werden.
    • Das Programm muss auf Siemens S7-300 und S7-400 Standard CPUs funktionieren.
    Anregungen werden gerne angenommen.
    Gruß
    Michael

  3. #23
    Registriert seit
    03.06.2009
    Ort
    Dorsten
    Beiträge
    70
    Danke
    30
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich finde das ist ne super Idee. Da kann man bestimmt von anderen noch so einiges lernen.

  4. #24
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.646
    Danke
    377
    Erhielt 809 Danke für 646 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    Bedingungen:
    • Es muss eine vollständige AWL-Quelle eines FB/FC in
      Code:
      CODE
      gepostet werden (Sorry, Larry, aber viele User haben einfach kein SCL)
    • Es darf nur ein Baustein gepostet werden
    • Es dürfen keine anderen Bausteine (auch keine SFC/SFB) aufgerufen werden.
    Diese Bedingungen sind künstlich.
    SCL ist eine wichtige und elegante Programmiersprache. Bei SCL teile ich gerne mit. Bei AWL nur wenn es keine andere Weg ist.
    Gute Lösungen kann sich über mehrere Bausteine und UDTs verteilen.
    Es ist u.U. unmöglich SFC aufrufe zu vermeiden. (Z.B. SCL wandelt automatisch Kopiervorgange von grössere Speicherbereiche in SFC20 um.)

    Was man als code postet, soll von die Aufgabe abhängen.
    Es gibt den möglicheit AWL und SCL als reine text-Code zu postieren. Andere sprachen als Bibliotheken.
    Jesper M. Pedersen

  5. #25
    M-Ott ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.636
    Danke
    120
    Erhielt 342 Danke für 257 Beiträge

    Standard

    Über mehrere Bausteine und SFC/SFB-Aufrufe lass' ich noch mit mir reden, aber SCL sollte beim Wettbewerb außen vor bleiben, einfach weil viele kein SCL haben und somit keine Chancengleichheit herrscht.
    Gruß
    Michael

  6. #26
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.646
    Danke
    377
    Erhielt 809 Danke für 646 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    Über mehrere Bausteine und SFC/SFB-Aufrufe lass' ich noch mit mir reden, aber SCL sollte beim Wettbewerb außen vor bleiben, einfach weil viele kein SCL haben und somit keine Chancengleichheit herrscht.
    Dann anschaff dich TIA Portal. Dann ist SCL immer mit
    Jesper M. Pedersen

  7. #27
    Registriert seit
    05.10.2005
    Beiträge
    2.387
    Danke
    321
    Erhielt 298 Danke für 268 Beiträge

    Standard

    ... so da bin ich denn auch raus. Hab hier auch nur 5.4 und auch kein SCL.
    mhm...

    Thomas

    PS: wie wärs mit ner 315-2DP? PLCSIM kann die ab und wäre somit auch für Nichthardwarehaber machbar.
    Geändert von thomass5 (15.06.2011 um 17:08 Uhr)

  8. #28
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von thomass5 Beitrag anzeigen
    ... so da bin ich denn auch raus. Hab hier auch nur 5.4 und auch kein SCL.
    mhm...

    Thomas
    thomas, nimm es nicht schwer, ich hab die gleichen voraussetzungen wie du. sparen wir uns halt den schwanzvergleich, trinken lieber ein bier!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    thomass5 (15.06.2011)

  10. #29
    Registriert seit
    05.10.2005
    Beiträge
    2.387
    Danke
    321
    Erhielt 298 Danke für 268 Beiträge

    Standard

    Gute Idee! Wann und wo?

    Thomas

  11. #30
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.496
    Danke
    933
    Erhielt 3.377 Danke für 2.731 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bitte fangt nicht an, die Lösungsmöglichkeiten zu sehr einzuschränken.
    Womöglich brauchen wird dann noch eine Abstimmung vorher, ob eine Aufgabe für den Wettbewerb überhaupt zugelassen wird?

    Es sollte eigentlich reichen, wenn die "Weiterschalt"-Schritte und -Fristen hier festgelegt werden.
    Wenn eine Programmlösung mehr als 200 Zeilen Code erfordert, dann sollte aus Rücksicht auf die "arbeitenden" Programmierer die Einreichungsfrist frühestens Montags enden, also ein Wochenende enthalten sein. Die Mindestlaufzeit einer Aufgabe sollte 3 bis 7 Tage sein (je nach Schwierigkeit der Aufgabe).


    Ich hatte mich schon mal vor längerer Zeit mit dem Gedanken an einen Programmierwettbewerb beschäftigt. Hier meine Zusammenfassung und ein paar Vorschläge als Diskussionsanregung.

    Programmiersystem/Step7-Version
    Ich gehe davon aus, daß hier Programmlösungen für Step7 "classic" V5.x gesucht werden sollen. Es ist einfach die verbreitetste Basis der im Forum vertretenen User. Die CodeSys-Leute und andere können bei Bedarf ja einen eigenen Wettbewerb veranstalten. (Vielleicht ergibt sich aber auch eine schöne Abwechslung, so daß nicht immer die selben User gewinnen. Wer weiß?)

    Die Programmlösung sollte in jeder Step7 "classic" Version einsetzbar sein (nagut, mindestens V5.4 und V5.5. Kann man in Step7 V5.5 überhaupt hardware-"unabhängige" Programme schreiben, die nicht mit V5.4 funktionieren?)
    Apropos: ich habe auch nur V5.4
    Doch auch das Programmiersystem sollte dem Aufgabensteller freigestellt sein. Wenn er explizit eine Lösung will, die mit TIA gelöst werden soll, dann muß er es halt hinschreiben (wegen der Forderung nach Veröffentlichung in Textform käme da wohl nur SCL in Frage).

    Mit welcher Programmiersprache eine Aufgabe gelöst werden soll, sollte der Aufgabensteller vorgeben. Auf jeden Fall muß es eine Sprache sein, die in Textform gepostet werden kann ist. (Man kann aber auch FUP/KOP-kompatiblen AWL-Code schreiben und dann die Ansicht umstellen). Es ist nicht zumutbar, daß man zur Prüfung einer Programmlösung erst einen Screenshot einer grafischen Programmiersprache nachprogrammieren muß. Und wenn jemand SCL zur Lösung verlangt, dann soll es eben so sein. Bekommt er eben weniger Feedback.

    Ob für eine Programmieraufgabe unbedingt ein gekapselter Baustein zu erstellen ist oder ein Codeschnipsel reicht, wird wohl von der Aufgabe abhängen. Für einen Vierzeiler wie z.B. der Test, ob ein DINT-Rechenergebnis in einen INT-Wert passt, sehe ich nicht ein, extra einen Baustein zu erzeugen. Sowas wäre eher als Inline-Makro zu sehen.
    Wenn die Aufteilung der Lösung auf mehrere Bausteine sinnvoll ist, warum eigentlich nicht? Es wird wohl sowieso weniger vorkommen, die Aufgabenlösungen sollten in wenigen Stunden bis max 1 Tag inklusive Test programmierbar sein.

    Eine Programmlösung oder zumindest ein prinzipieller Lösungsweg für die Aufgabenstellung sollte dem Aufgabensteller vorher bekannt sein. Erstens um den Aufwand abschätzen zu können und zweitens um die Hausaufgaben-Frager hier als Aufgabensteller auszuschließen. Der Gewinner einer Aufgabe sollte das Erstvorschlagsrecht für die nächste Aufgabe binnen 48 Stunden haben. Er kann aber schon eher auf sein Recht verzichten. Es sollte einen oder mehrere Moderatoren für den Wettbewerb geben, mit dem vor Veröffentlichung einer Aufgabe die Aufgabe per PN besprochen werden kann.
    Falls nötig, sollten in der Aufgabenstellung spezielle Test-Datensätze angegeben werden, mit denen die Lösung überprüft werden kann.


    Diskussionen und Nachfragen zu einer Aufgabe sollten in einem separaten Thema stattfinden. Im Aufgabentread sollte nur die Aufgabenstellung, ggf. Präzisierungen, die Lösungsvorschläge und die Nennung des Gewinners stehen. Zwischen den beiden Threads kann verlinkt werden (erst Diskussionsthread anlegen, dann den Aufgabenthread und da auf den Diskussionsthread verlinken). Nach Ende des Wettbewerbs kommende - womöglich bessere - Lösungen sind zunächst im Diskussionsthread zu posten.

    Die Nutzung von SFB/SFC und Standard-Bausteinen aus den normalen Simatic-Bibliotheken (z.B. IEC-Funktionen, STRING- und Zeitfunktionen) würde ich nicht von vornherein ausschließen. Wenn es dem Aufgabensteller aber darauf ankommt, daß keine externen Bausteine verwendet werden dürfen, dann muß er es erwähnen. Die Nutzung von lizenzpflichtigen Bausteinen ist aber ausgeschlossen, einfach deshalb, weil dann nur jemand die Lösung überprüfen kann, wer diesen Baustein besitzt.

    Die Programmlösungen sollten so geschrieben sein, daß sie auf einer S7-300 laufen UND mit PLCSIM fehlerfrei simulierbar sind, was bedeutet, daß sie auch auf S7-400 funktionieren.
    HW-Konfig - mein Vorschlag: 315-2 PN/DP -2EH13 (erfordert Step7 V5.4 SP2)
    Eventuell könnte ich so eine CPU ans Internet hängen, damit auch User ohne reale CPU unabhängig reale Laufzeitmessungen machen können.
    Soll/Muß ein Programm spezielle Möglichkeiten einer S7-400 nutzen, so muß diese Forderung im Programmkommentar erwähnt werden und das Programm muß vor Ausführung des Codes prüfen, ob es auch tatsächlich auf einer S7-400 (oder kompatiblen CPU) ausgeführt wird.

    Die Programmlösungen müssen die Aufgabe selbstverständlich fehlerfrei erfüllen. Die Programmlösung muß mehrfach nacheinander ohne manuelle Eingriffe oder zusätzlich auszuführenden Programmcode ausführbar sein. Sind Einschränkungen im Wertebereich von Variablen vorhanden, dann muss die Einhaltung der Grenzwerte geprüft werden und zumindest diese Einschränkungen erwähnt werden. Die Programmlösung darf in keinem Fall zum STOP der CPU führen. Es darf kein OB121 (Programmierfehler-OB) zum Verhindern des CPU-Stop erforderlich sein, es sei denn, die Aufgabe ist tatsächlich nicht anders lösbar, dann muß aber der OB121 als Bestandteil der Lösung so ausprogrammiert sein, daß das Programm zu einem sinnvollen Ende kommt.
    Das Programm muß mit der Standard-HW-Konfig der CPU laufen (so wie Step7 diese CPU in ein leeres Rack einfügt), also z.B. nicht erfordern, daß die Zyklus-Überwachungszeit auf 10s eingestellt wird! Abweichungen von der Standard-HW-Konfig müssen in der Aufgabenstellung explizit erwähnt werden. Die CPU darf aber vernetzt werden, so wie es zum programmieren und beobachten erforderlich ist.

    Falls mehrere Programmlösungen kommen: Welches ist das "Beste Programm"?
    Da fallen mir gleich mehrere Kategorien ein, z.B.
    - kürzestes (MC7-Bedarf, ggf. Ladespeicherbedarf als zweites Kriterium) *
    - schnellstes (kann man messen) **
    - am besten lesbares/verständlichstes ***
    - ausgefallenstes/ungewöhnlichstes
    - Publikumsliebling

    * das Erzeugen von DB zur Laufzeit sollte nicht zur kosmetischen Programmverkleinerung benutzt werden. Und auch nicht positiv bewertet werden. Alle benötigten DB sollten beim Programmstart im Arbeitsspeicher vorhanden sein, das Vorhandensein der DB braucht nicht geprüft zu werden. Es sei denn, die Aufgabenstellung fordert das Anlegen von DB zur Laufzeit. Erwartete Anfangswerte in Variablen, die von 0/Leerstring/... verschieden sind, müssen zur Laufzeit initialisiert werden (je nach Aufgabe sind Ausnahmen möglich und sollten in der Aufgabenstellung erwähnt werden).

    ** für die Programmlaufzeit-Messung sollte hier ein verbindlicher Standard-Programmrahmen entwickelt werden, der für alle Aufgaben bzw. Lösungen benutzt wird und nicht Bestandteil der Lösung ist (dieser Zeitmess-Rahmen wäre z.B. eine Idee für eine der ersten Wettbewerbsaufgaben mit viel Diskussionspotential).

    *** weitestgehend benutzte symbolische Adressierung ist ein Pluspunkt
    Zeilenkommentare, die lediglich den AWL-Befehl in Umgangssprache wiederholen, werden als nicht vorhanden angesehen. (z.B.: L 27 //lade 27 in den AKKU1)
    Wordverknüpfungen, Schiebe- und Rotieroperationen würde ich nicht negativ bewerten, vor allem nicht, wenn im Zeilenkommentar das Ergebnis der Operation angegeben wird.

    Das "Beste Programm" sollte über eine Abstimmung gewählt werden (separate Threads), nicht über die Anzahl der Danke.
    Ein gut gewichtetes Punktesystem zur Bewertung der Lösung(en) fände ich ebenfalls gut.
    Und es sollte nur über Programme abgestimmt werden, die die Aufgabenstellung fehlerfrei erfüllen.

    Wieviele Nachbesserungsversuche sollten bei fehlerhaften Lösungen eingeräumt werden?
    Darf ein anderer User eine fehlerhafte Lösung aufgreifen und korrigieren? Ist es dann "seine" Lösung?
    Es sollte vermieden werden, einen Anreiz für frühzeitiges Posten noch nicht fertiger oder fehlerhafter Lösungen zu geben.
    Eine fehlerhafte Lösung sollte sich auf jeden Fall negativ auf die spätere Bewertung auswirken.

    Laßt uns erst einmal anfangen und sehen, wie es sich entwickelt. Dann kann man immer noch nach und nach die Schrauben enger anziehen.
    Da es (zunächst) nichts weiter als Ruhm oder Schande zu gewinnen gibt, kann man den Wettbewerb erstmal locker angehen.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren meine 50 Cent ...  

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

    Jochen Kühner (16.06.2011),RGerlach (16.06.2011),thomass5 (15.06.2011)

Ähnliche Themen

  1. Programmierwettbewerb, 2. Aufgabe
    Von LargoD im Forum Stammtisch
    Antworten: 14
    Letzter Beitrag: 02.08.2011, 22:27
  2. Programmierwettbewerb
    Von M-Ott im Forum Stammtisch
    Antworten: 49
    Letzter Beitrag: 22.06.2011, 14:00
  3. Programmierwettbewerb: Diskussion
    Von Kai im Forum Stammtisch
    Antworten: 51
    Letzter Beitrag: 20.06.2011, 10:05
  4. Interesse?
    Von Brro87 im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 17.02.2009, 17:01
  5. Interesse an S5 110S?
    Von Lars123 im Forum Suche - Biete
    Antworten: 2
    Letzter Beitrag: 21.01.2008, 20:26

Lesezeichen

Berechtigungen

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