# Programmierwettbewerb: Interesse? Regeln!



## M-Ott (15 Juni 2011)

Da gerade in einem anderen Thread einer rege Diskussion anfängt:
Wer hat Lust auf einen kleinen SPS-Programmierwettbewerb (ähnlich diesem hier http://www.mycsharp.de/wbb2/thread.php?threadid=80566) und unter welchen Regeln?


----------



## MCerv (15 Juni 2011)

Sau geile Idee.


----------



## Jochen Kühner (15 Juni 2011)

Ich fänds gut!

Man könnte ja sagen, es hat jeder 2 Tage Zeit eine Lösung zu posten, und derjenige welcher die Lösung welche dann noch 1 Tag später die meisten Danke hat (als Bewertung) gepostet hat, gilt als Sieger und soll die nächste Aufgabe stellen!

Wobei man die Zeiträume vielleicht noch weiter stecken sollte, da hier die meisten Leute zur Arbeiteten Bevölkerung gehören!


----------



## rostiger Nagel (15 Juni 2011)

Natürlich sollten wir das machen, es sollten sich als erstes ein Schiedrichter
finden, der am besten auch Mod Rechte hat.
Dann wäre ein Sammelthread für die Aufgaben nicht schlecht, die intessante
pflückt mann sich dann raus und darüber wird dann wieder ein Thread
eröffnet.
Über das beste Ergebnis oder den Sieger *muss* das Forum endscheiden, so
etwas geht am besten über eine Abstimmung.
Also über die 10 besten Ergebnisse wird dann eine nachträglich eine Umfrage
in den Thread erstellt.
Der Sieger wird dann von "M-Ott" zu einen Feudalen Essen, Kreuzschiffrundfahrt eingeladen oder
er bekommt ein Sportwagen der Luxusklasse.

Neh im Ernst vlt. könnten hier ein Paar Werbeträger aus dem Banner Preise stiften.


----------



## thomass5 (15 Juni 2011)

... ich werd bestimmt das eine oder andere mal mitmachen wenn ich Zeit dazu finde. Ich finde es eine gute Idee

Thomas


----------



## MatMer (15 Juni 2011)

der Schiedsrichter tut mir jetzt schon leid, teilweise enstehen ja schon heftige Diskussionen in "normalen Threads" wer den größeren Penis hat...

ein Paar Vorschläge zu den Regeln:

Punktesystem:
- Lösung erreicht 50 Punkte
- als 1. funktionierende Lösung gepostet 10 Punkte
- schnellstes Programm (Schiedsrichter müsste alles über die gleiche Hardware testen) 10 Punkte
- geringster Speicherbedarf 10 Punkte
- vom Forum als Beste Lösung befunden (über Anzahl Danke) 25 Punkte
- vom Schiedsrichter (oder Team) als Beste Lösung befunden 25 Punkte
- als Letzter Lösung eingereicht 10 Punkte 
- Fehlerhaftes Programm eingereicht 5 Punkte, als Entschädigung für den Spott der Anderen 
- Lösung in FUP -100 Punkte 

als Aufgaben werden dann die Hausaufgaben genommen, die sowieso wöchentlich auftauchen


----------



## thomass5 (15 Juni 2011)

MatMer schrieb:


> - schnellstes Programm (Schiedsrichter müsste alles über die gleiche Hardware testen) 10 Punkte



so, da müssten wir uns nur noch auf eine Sprache und ggf. Version einigen. Step5,Step7,Codesys,Logo,...

Thomas


----------



## Larry Laffer (15 Juni 2011)

MatMer schrieb:


> - Lösung in FUP :* -100* Punkte


*ACK* - der ist gut ... aber dann muß es auch heissen :





> - Lösung in SCL : + 100 Punkte


 
Für mich wäre aber nicht der kürzeste Code der Beste sondern (das sehe ich so wie Helmut) der am besten zu verstehende Code.

Gruß
Larry


----------



## MatMer (15 Juni 2011)

ich denke Step7 V5.5 sollte den Großteil des Forums ansprechen....

@Larry
wäre ja zusätzlich möglich, wird dann am Besten von waldy bewertet


----------



## rostiger Nagel (15 Juni 2011)

MatMer schrieb:


> - Fehlerhaftes Programm eingereicht 5 Punkte, als Entschädigung für den Spott der Anderen


 
mit diesem Punkt bin ich nicht einverstanden, das wäre besser so:

- Fehlerhafte Lössung, der Acount wird gesperrt und erst wieder freigeschaltet,
wenn der User verspricht beim nächsten NRW Stammtisch ein Fass Bier zu stiften.

...Spott und Hohn der anderen bekommt er sowieso...


----------



## wiesel187 (15 Juni 2011)

*Geile Idee*

Das ist ja mal ne geile Idee....
Bin dabei ......

Und mal schauen wie viele Mitglieder wir nächste Woche noch haben*ROFL*

Grüße 
wiesel


----------



## Approx (15 Juni 2011)

Meine ultimative Aufgabe würde lauten: "Programmieren Sie zwei globale Variablen mit dauerhaften 'true'- bzw. 'false' Zustand!"
Daran scheiden sich nämlich schon die Geister, wie man am besten seine statischen VKE-Merker bildet.  Ich möchte den sehen, der die Lösungen objektiv bewerten kann!
Ansonsten keine schlechte Idee für alle, die nix zu tun haben bzw. sonst keine Hobbys ...
Gruß Approx


----------



## vierlagig (15 Juni 2011)

um den schwierigkeitsgrad zu erhöhen sollten noch folgende regeln hinzugefügt werden:

- aufgabe ist als gekapselte funktionseinheit auszuführen (FC/FB)
- es ist eine vollständige beschreibung zu liefern

ich denke, besonders am letzten punkt wird sich die spreu vom weizen trennen


----------



## rostiger Nagel (15 Juni 2011)

vierlagig schrieb:


> um den schwierigkeitsgrad zu erhöhen sollten noch folgende regeln hinzugefügt werden:
> 
> - aufgabe ist als gekapselte funktionseinheit auszuführen (FC/FB)
> - es ist eine vollständige beschreibung zu liefern
> ...


 
ich wusste garnicht das du auch in Landwirtschaft machst, aber damit hast
du einen wichtigen Punkt angesprochen Kommentar, Beschreibung und
Gestalltung ist ein wesentlicher teil eines Programms und sollte einen großen
Anteil in der Punktevergabe bekommen.


----------



## M-Ott (15 Juni 2011)

Ich schließe mich MatMer an:
Die Lösung muss in STEP7 V5.5 erstellt werden.
Zusätzlich noch wichtig:
Die Lösung muss auf 300er und 400er CPUs lauffähig sein (von wegen POP und so).
Ich wäre der dafür, dass der kürzeste Code (ohne Bausteindeklaration, reiner Anweisungsteil) und der "Publikumsliebling" gewinnen.


----------



## vierlagig (15 Juni 2011)

M-Ott schrieb:


> Ich schließe mich MatMer an:
> Die Lösung muss in STEP7 V5.5 erstellt werden.



NA TOLL! hab hier nur 5.4, kann ich also nicht teilnehmen?


----------



## rostiger Nagel (15 Juni 2011)

vierlagig schrieb:


> NA TOLL! hab hier nur 5.4, kann ich also nicht teilnehmen?


 
wenn du eine gute Lössung in 5.4 hinbekommst wird bestimmt eine ausnahme gemacht


----------



## M-Ott (15 Juni 2011)

vierlagig schrieb:


> NA TOLL! hab hier nur 5.4, kann ich also nicht teilnehmen?


Na Gut! Für Dich machen wir eine Ausnahme.


----------



## Lars Weiß (15 Juni 2011)

Und, was wollt ihr proggen ???


----------



## M-Ott (15 Juni 2011)

Lars Weiß schrieb:


> Und, was wollt ihr proggen ???


Das sehen wir dann, wenn wir die Regeln festgelegt haben.


----------



## MatMer (15 Juni 2011)

vierlagig schrieb:


> 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...


----------



## M-Ott (15 Juni 2011)

MatMer schrieb:


> 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
```
 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.


----------



## devrim (15 Juni 2011)

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


----------



## JesperMP (15 Juni 2011)

M-Ott schrieb:


> Bedingungen:
> 
> Es muss eine vollständige AWL-Quelle eines FB/FC in
> 
> ...


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.


----------



## M-Ott (15 Juni 2011)

Ü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.


----------



## JesperMP (15 Juni 2011)

M-Ott schrieb:


> Ü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


----------



## thomass5 (15 Juni 2011)

... 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.


----------



## vierlagig (15 Juni 2011)

thomass5 schrieb:


> ... 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!


----------



## thomass5 (15 Juni 2011)

Gute Idee! Wann und wo?

Thomas


----------



## PN/DP (15 Juni 2011)

*meine 50 Cent ...*

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


----------



## Toki0604 (16 Juni 2011)

Gute Idee, dieser Wettbewerb!
Ich räume mir zwar nur sehr geringe Chancen ein, die Aufgaben zu verstehen bevor die Cracks das Ergebnis schon gepostet haben, aber es wird ein super Anreiz sein sich mit "fremden" Aufgaben zu beschäftigen und dadurch zu lernen.
Zumal man ggf. viele andere Lösungswege bekommt um seinen eigenen Horizont zu erweitern.

Ich mach auf jeden Fall mit !!
Gruß
Toki


----------



## Tommi (16 Juni 2011)

PN/DP schrieb:


> Da es nichts weiter als Ruhm oder Schande zu gewinnen gibt...


 
der Spruch ist gut! :s12:

Gruß
Tommi


----------



## M-Ott (16 Juni 2011)

@Harald (und die anderen SCL-Nutzer)
Nachdem es hier ja einige User gibt, die kein SCL haben (ich auch), bin ich dagegen, dass SCL benutzt werden darf. Das wäre definitv nicht fair gegenüber denen, die es nicht haben und außerdem wären die Lösungen für die, die es nicht haben wahrscheinlich nur schwer nachvollziehbar und nicht überprüfbar. Ich bin der Meinung, es sollten nur die Werkzeuge benutzt werden dürfen, die STEP7 als Standard an Bord hat.
Es ist Unsinn, einen Wettbewerb zu machen, in dem die Hälfte der Teilnehmer mit anderen Voraussetzungen startet.


----------



## rostiger Nagel (16 Juni 2011)

Genau das finde ich nicht, gerade die User die kein SCL haben, könnten bei
Aufgaben die mit SCL gelöst werden viel lernen. Gerade jetzt ist Zeit daran,
in TIA ist es immer mit dabei und aller...aller spätestens in zwei Jahren wird
jeder Simatic User mit TIA arbeiten, die Zukunft gehört sowieso dieser Sprache, 
warte mal ab. Also ist es jetzt an der Zeit sich damit zu beschäftigen.
Ein Preiswerteren Einstieg in SCL wirst du bei Siemens nicht bekommen.

Es können doch Aufgaben für SCL erstellt werden, die dann von den Usern
gelöst werden die schon SCL nutzen. Somit könnten mann doch hin und wieder
eine Aufgabe mit SCL einstreuen, es muß halt vor Aufgabenstellung festgelegt werden.

PS. das schreibe ich als jeniger der nur mit AWL arbeitet.


----------



## M-Ott (16 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> ... gerade die User die kein SCL haben, könnten bei Aufgaben die mit SCL gelöst werden viel lernen.


... und Motorradfahren lernt man am besten, indem man bei Motorradrennen zusieht...


----------



## rostiger Nagel (16 Juni 2011)

M-Ott schrieb:


> ... und Motorradfahren lernt man am besten, indem man bei Motorradrennen zusieht...


 
.....genau....

Michael, das hört sich genauso an wie die Regel "Was der Bauer nicht kennt frisst er nicht", soll er halt bei seinen Maiskolben und Runkeln bleiben.


----------



## vierlagig (16 Juni 2011)

M-Ott schrieb:


> ... und Motorradfahren lernt man am besten, indem man bei Motorradrennen zusieht...



um SCL zu programmieren brauch es kein SCL-paket ... ein einfacher editor reicht vollkommen aus


----------



## M-Ott (16 Juni 2011)

vierlagig schrieb:


> um SCL zu programmieren brauch es kein SCL-paket ... ein einfacher editor reicht vollkommen aus


Zum AWL-programmieren auch.
Aber trotzdem programmiert wahrscheinlich fast keiner, der kein SCL hat, in SCL.


----------



## Approx (16 Juni 2011)

Hallo Helmut.


Helmut_von_der_Reparatur schrieb:


> Genau das finde ich nicht, gerade die User die kein SCL haben, könnten bei
> Aufgaben die mit SCL gelöst werden viel lernen.


Das hört sich für mich paradox an - sollen alle diejenigen, die kein SCL-Paket haben eins kaufen um bei einem Internet-Spielwettbewerb mitmachen zu können? Oder besser gleich eine TIA-Version kaufen?  Ohne die Software und das Wissen, wie man mit ihr umgeht, kann auch kein User die Lösungen nachvollziehen.



Helmut_von_der_Reparatur schrieb:


> ...*aller spätestens in zwei Jahren* *wird jeder Simatic User mit TIA arbeiten*, die Zukunft gehört sowieso dieser Sprache, warte mal ab. Also ist es jetzt an der Zeit sich damit zu beschäftigen.


 
SCL-Grundsatzdiskussion, die 587.:
Ich bin jetzt 20 Jahre dabei und musste bisher feststellen, daß dem NICHT so ist. Große Industrieunternehmen haben eben NICHT ständig das allerneueste Kram! Wir haben z.B. vor Ort teilweise Step7 V5.2 und (man staune!) noch ein gutes Dutzend S5'en am Start. (Bin in meinem Betrieb bald eh der letzte Dino mit "tieferen" S5-Kenntnissen. )
Da finde ich es eine tollkühne Behauptung zu sagen "in 2 Jahren muss jeder SCL beherrschen!" Wir haben Anlagen hingebaut bekommen, wo sogar binärlogik per SCL geproggt war. Im Hinblick auf unsere Instandhalter durfte die Firma das gleich mal in FUP umändern. Wer soll z.B. mal eben 30 Instandhalter zu Onkel S. zum Lehrgang schicken und dafür Tausende Euronen hinblättern? Ich sage immer: Für jede Aufgabe das richtige Werkzeug! Gekapselte Funktionen mit SCL - meinetwegen. Aber bitte nicht so tun, als ob es das Geilste von Welt sei.



Helmut_von_der_Reparatur schrieb:


> PS. das schreibe ich als jeniger der nur mit AWL arbeitet.


 
Als ich noch ein PG605 bediente, hab ich das genauso gemacht. 
Kleiner Scherz.

Gruß Approx


----------



## rostiger Nagel (16 Juni 2011)

na ja wenn die Anlagen so Alt sind braucht mann ja auch nichts verändern
oder verbessern nur einfach Warten und an laufen halten. Dh. mann muss
auch nicht unbedingt etwas dazu lernen. Kleine Veränderungen werden
weiterhin in FUP gelöst, egal wie aufwendig der Regler ist.

Hier habe ich mal eine Aufgabe für euch, kennt ihr diesen Vogel?


----------



## Tommi (16 Juni 2011)

Hallo zusammen,

also ich hatte (aus heutiger Sicht) das Glück, sowohl KOP,FUP,AWL als auch Hochsprache (VALII, V+ (für Roboter)) machen zu *müssen*.

Wenn ich heute noch S7 programmieren müsste, würde ich eine Kombination aus (SCL und (KOP oder FUP)) nehmen, wenn ich keine Vorgaben vom Kunden bekäme.
Klar, wenn der nur AWL-Instandhalter hat, ist das bestimmt ein Problem,
insbesondere in der Nachtschicht.:sm13:

Sicherlich auch eine Glaubensfrage.

Warum bei dem Wettbewerb nicht alles zulassen, es ist doch nur ein Spiel und es gibt im Forum Experten für alle Sprachen.  

Gruß
Tommi


----------



## M-Ott (16 Juni 2011)

@Helmut
Es geht im Moment wohl kaum darum, ob wir irgendwann alle nur noch in SCL programmieren.
Tatsache ist: Wer jetzt kein SCL hat, kann in den meisten Fällen auch kein SCL und wird es bestimmt nicht durch irgendwelche Programmbeispiele in einem Internetforum lernen.

Und ich bleibe dabei: Ein Wettbewerb bringt nur was, wenn alle Teilnehmer die erlaubten Tools haben.


----------



## MCerv (16 Juni 2011)

Lösungen in SCL könnten auch außerhalb der Wertung laufen!


----------



## rostiger Nagel (16 Juni 2011)

@Michael,
ich möchte noch einmal betonen ich arbeite fast ausschließlich mit AWL, mein Ziel
ist es einfach nur dazu zu lernen, trotz meines hohen Alters. Ich bin schon deiner
Meinung das wir hauptsächlich in AWL arbeiten sollten. Aber vlt. wird bei so manchen
ein AHA-Effekt auftuen, wenn er mal sieht es geht auch einfacher. Warum
nicht von 10 Wettbewerbsaufgaben mal eine SCL Aufgabe einfliessen lassen.
Oder noch besser, einfach mal eine die in AWL erstellt wurde mit SCL zu
lösen. Ich verstehe diesen ganzen Starrsinn nicht 


PS. und kennst du den Vogel?


----------



## Tommi (16 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> trotz meines hohen Alters


 
du junger Spund... *ROFL*


----------



## M-Ott (16 Juni 2011)

@Helmut
Ich würde gerne mal mit SCL ein wenig herumspielen und testen. Ich denke einfach nur, dass ein Wettbewerb unter gleichen Voraussetzungen für alle laufen sollte.
Es ist ja toll, dass man mit SCL einiges viel einfacher lösen kann, das kann nur ein großer Teil der Leute hier nicht, weil er einfach noch nie Kontakt mit SCL hatte.
Zudem gehört mein Arbeitgeber auch zu den Firmen, die nichts teures anschafft, solange das billige funktioniert, ich werde also auch in den nächsten Jahren aller Wahrscheinlichkeit nicht in den "Genuss" des TIA-Portals oder SCL kommen und wahrscheinlich geht es vielen anderen genauso.

Mit dem Vorschlag von MCerv, SCL außer Wertung laufen zu lassen, könnte ich mich anfreunden.


----------



## vierlagig (16 Juni 2011)

so, genug nu.
ich forder M-Ott als initiator hiermit auf die erste aufgabe entsprechend den anmerkungen/regeln von PN/DP zu erstellen - aber hurtig!


----------



## Tommi (16 Juni 2011)

M-Ott schrieb:


> Mit dem Vorschlag von MCerv, SCL außer Wertung laufen zu lassen, könnte ich mich anfreunden.


 
das wäre doch ein Anfang... :s12:

Gruß
Tommi


----------



## Larry Laffer (16 Juni 2011)

Na ... da habe ich mit meinem SCL-Vorschlag ja wieder etwas angestellt ... 

Aber wie auch immer ...
Erstmal ein* dickes Danke* an Helmut für seine nach meiner Meinung fortschrittliche Sichtweise. Ich weiß ... es gibt für alles ein für und wieder ... und ich auch jetzt wieder sehr froh darüber, dass ich in "meiner" Firma die Spielregeln selbst bestimmen darf (und das auch tue).

AWL hin oder her ... so manche Sachen (und hier denke ich vor Allem an das ganze Schleifen-, Pointer- und Strings-Gedöns) würde und werde ich nicht (mehr) mit AWL anfassen. Etwas, das in SCL möglicherweise ein Dreizeiler wird könnte in AWL aus einigen hundert Programmzeilen bestehen und in FUP gar nicht machbar sein. Schon einmal darüber nachgedacht ...?

Ich will damit jetzt auch nur sagen : Immer beachten, was man für was nimmt ... Ich bekomme auch mit einem Schraubendreher eine Mauer niedergerissen - man kann aber auch einen Bohrhammer nehmen ... 

Grüße
Larry


----------



## M-Ott (16 Juni 2011)

Ich war so frei und habe jetzt mal den Anfang gemacht:
http://www.sps-forum.de/showthread.php?p=338018&posted=1#post338018
Mal schauen, was sich daraus entwickelt.


----------



## MCerv (16 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> @Michael,
> ich möchte noch einmal betonen ich arbeite fast ausschließlich mit AWL, mein Ziel
> ist es einfach nur dazu zu lernen, trotz meines hohen Alters. Ich bin schon deiner
> Meinung das wir hauptsächlich in AWL arbeiten sollten. Aber vlt. wird bei so manchen
> ...


 

Helmut,
ich glaube Du verstehst mich falsch. Ich selbst arbeite bis jetzt auch noch nicht wirklich mit SCL und finde es deswegen gut wenn auch mal Lösungen in SCL präsentiert werden. Jedoch für den Anfang erstmal zum Vergleich außerhalb der Wertung!




Helmut_von_der_Reparatur schrieb:


> PS. und kennst du den Vogel?



Ich kenne nur einen Michael Vogel, meinst Du den?


----------



## M-Ott (16 Juni 2011)

@Michael
Ich glaube Helmut hat nicht Dich gemeint!


----------



## MCerv (16 Juni 2011)

M-Ott schrieb:


> @Michael
> Ich glaube Helmut hat nicht Dich gemeint!



Man solls kaum glauben, aber Michael gibt es doch ein paar!  Oder meinst Du nicht Michael?


----------



## rostiger Nagel (16 Juni 2011)

M-Ott schrieb:


> @Michael
> Ich glaube Helmut hat nicht Dich gemeint!


 
neh, ich kenne den Michael persönlich und er ist bestimmt kein Vogel Strauß....
...ach jetzt habe ich die Lössung ausgeplaudert, der Vogel Strauß hat auch
eine Taktik den "Sand in den Kopf zu stecken".


----------



## M-Ott (16 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> neh, ich kenne den Michael persönlich und er ist bestimmt kein Vogel Strauß....


Vielleicht treffen wir uns ja auch Mal persönlich und ich kann Dich doch noch vom Gegenteil überzeugen.


----------



## eNDe (16 Juni 2011)

*Wettbewerbsidee*

Junge, Junge,
da macht einer einen Vorschlag ohne das er bis ins letzte Detail geklärt ist und schon entbrennt eine Diskussion über 1000 Details.
Wenn ich mir mal vorstelle, dass eine Aufgabe gestellt und von nur 3 Leuten unterschiedlich gelöst wurde, das ergäbe eine lustige Diskussion und diese artet hier im Forum dann auch leicht einmal ins Unsachliche aus.
Deshalb mein "Gegenvorschlag": Gestellt wird eine Aufgabe (kein Projekt) und es wird zu Lösungsvorschlägen ohne Bewertung aufgerufen. Dann kann jeder mit seinen Mitteln und Kenntnissen beitragen und der eine oder andere kann dann an den Lösungen etwas lernen (oder auch nicht!).
Beispiel einer "Aufgabe":

```
Ich habe eine immer positive INT-Zahl zwischen 0 und 32000. 
Diese brauche ich für die weitere Verarbeitung im REAL-Format.
```
Lösung:

```
L INT-Zahl //das ist die stets positive Zahl
ITD // wandeln in DINT-Format
DTR // wandeln in REAL-Format.
```
Es würde aber auch die Befehlsfolge 

```
L INT-Zahl //das ist die stets positive Zahl
DTR // wandeln in REAL-Format.
```
ein stets richtiges Ergebnis liefern. 
Ist die zweite Lösung nun "falsch", nur weil man das Wissen um den Bitaufbau im Akku nutzt? (Diese Diskussion hatte ich selber einmal heraufbeschworen mit dem Ergebnis, dass ich als Dummkopf bezeichent wurde)
Ich glaube, der Gedanke eines Ideenwettbewerbes läuft sich am Ende tot, weil hier zu viele Meinungen als allein seeligmachend existieren.
Nix für ungut !
eNDe


----------



## MCerv (16 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> neh, ich kenne den Michael persönlich und er ist bestimmt kein Vogel Strauß....
> ...ach jetzt habe ich die Lössung ausgeplaudert, der Vogel Strauß hat auch
> eine Taktik den "Sand in den Kopf zu stecken".



Vor Problemen weglaufen, *nein Danke!*

Das ist ja schließlich mein Job, *Solutionfinder*.

Grundsätzlich und wenn die Mechs mal wieder sch.... gebaut haben und es wegprogrammiert werden muss!


----------



## Approx (16 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> ... der Vogel Strauß hat auch
> eine Taktik den "Sand in den Kopf zu stecken".


 
Jetzt könnte man daherkommen und behaupten: "Der Vogelstrauß steht jedenfalls mit beiden Beinen auf der Erde, auch wenn er nur seinen Arsch sieht!"
Andererseits kann ein Vogel auch höher fliegen, als überhaupt notwendig... Siehe beigefügtes "Vogel-Suchbild".




 Gruß Approx


----------



## Markus (16 Juni 2011)

ich finde die idee super, habe vor gut 4 jahren schonmal dran gedacht...
mir wurde aber vorgeworfen dass ich nur einen idioten suche der meinen kram programmiert...

meine erste idee war auch zu kompex, wobei ich auch eher an teams dachte...


meine damiligen gedanken und vor allem eine sehr gute aufgabe von zotos findet ihr hier:

http://www.sps-forum.de/showthread.php?t=11583

die aufgabe von zotos ist im letzten tread, ich denke sowas wäre genial...


----------



## Kai (16 Juni 2011)

Nachfolgend noch einmal die Aufgabe von Zotos:

http://www.sps-forum.de/showpost.php?p=72477&postcount=62

Die Berechnung eines kürzesten Weges (Förderstrecke) hatten wir gerade erst hier:

http://www.sps-forum.de/showthread.php?t=12041

Gruß Kai


----------



## rostiger Nagel (16 Juni 2011)

wie wäre es den, wenn für eine richtig komplexe Aufgabe
mal als Siegerprämie ein Preis von den Bannerleuten
gestiftet wird zb ein tolles Programmieradapter
von der Fa Deltalogic ( @Rainer, wink mit den Zaunpfahl )


----------



## Rainer Hönle (17 Juni 2011)

Helmut_von_der_Reparatur schrieb:


> wie wäre es den, wenn für eine richtig komplexe Aufgabe
> mal als Siegerprämie ein Preis von den Bannerleuten
> gestiftet wird zb ein tolles Programmieradapter
> von der Fa Deltalogic ( @Rainer, wink mit den Zaunpfahl )



Und hinterher schiebst Du den Zaunpfahl in Deinen Ofen, so kenne ich Dich .

Als Siegerpreis für so eine komplexe Aufgabe kann ich gerne eine ACCON-NetLink-PRO compact 
oder alternativ einen ACCON-NetLink-USB compact zur Verfügung stellen.

Dann tut sich natürlich die Frage auf, wo die Siegerehrung stattfindet und wer das dafür 
notwendige Freibier sponsort .


----------



## rostiger Nagel (17 Juni 2011)

Rainer Hönle schrieb:


> Und hinterher schiebst Du den Zaunpfahl in Deinen Ofen, so kenne ich Dich .
> 
> Als Siegerpreis für so eine komplexe Aufgabe kann ich gerne eine ACCON-NetLink-PRO compact
> oder alternativ einen ACCON-NetLink-USB compact zur Verfügung stellen.
> ...


 
Vielen Dank Rainer,
Ich würde sagen, wir suchen uns mal bei gelegenheit eine Aufgabe raus,
die dann auch den schönen Net-Link verdient. Für das Bier wird soch
doch bestimmt jemand aus dem Banner opfern. Siegerehrung könnte ja
ein Stammtisch sein. Der NRW-Stammtisch steht im September wieder an.


----------



## M-Ott (17 Juni 2011)

Rainer Hönle schrieb:


> Als Siegerpreis für so eine komplexe Aufgabe kann ich gerne eine ACCON-NetLink-PRO compact oder alternativ einen ACCON-NetLink-USB compact zur Verfügung stellen.


Das ist doch Mal ein Wort! :s12:
Aber damit sollten wir noch warten, bis sich der Wettbewerb etwas eingespielt hat.


Rainer Hönle schrieb:


> Dann tut sich natürlich die Frage auf, wo die Siegerehrung stattfindet und wer das dafür
> notwendige Freibier sponsort .


Auf welchen Messen seid Ihr demnächst?   :sm24:


----------



## rostiger Nagel (17 Juni 2011)

M-Ott schrieb:


> Auf welchen Messen seid Ihr demnächst?   :sm24:


 

SPS-Drives ist er immer, das wäre der Ideale Platz....genau.

Safty stiftet dann das Bier von Pil(s)z aus, ist dann quasi sein Einstand. Wir müssen
jetzt nur noch den Safty überreden.


----------



## Thomas_v2.1 (18 Juni 2011)

Wer Lust hat SPS-Programme ausknobeln, dem seien auch die "Christmas Puzzles" von User "L D[AR2,P#0.0]" aus dem plctalk Forum ans Herz gelegt.

Im Nachhinein sollte man sich vielleicht nur den ersten Post ansehen, da irgendwann doch die Lösung folgt.

Hier ein paar Links:
2009:
http://www.plctalk.net/qanda/showthread.php?t=52066

2010:
http://www.plctalk.net/qanda/showthread.php?t=60313

2011:
http://www.plctalk.net/qanda/showthread.php?t=60435


----------



## Toki0604 (18 Juni 2011)

Wo findet denn der NRW-Stammtisch statt?
Würde gerne mal teilnehmen.
Wenn ich auch nur eine Aufgabe des Wettbewerbs angemessen schaffe (und ich werde mich bemühen!),
dann stifte ich als Einstand ins Forum ein 30er Faß Hopfenkaltschale ;-)
**Mein Wort drauf!!** 

:sm24:

Gruß
Toki


----------



## rostiger Nagel (18 Juni 2011)

Der Stammtisch findet immer im September statt, wird aber bestimmt 2 Monate
vorher hier im Forum bekanntgegeben.
Du darfst auch stiften, ohne das du eine Aufgabe schaffst


----------

