Programmierstandard

  • Wie denkt ihr über eine Standardisierung der Roboterprogrammierung? 9

    1. Ich halte das für möglich und würde es anwenden (2) 22%
    2. Wäre teilweise möglich (3) 33%
    3. Ist unmöglich, da die Anwendungen meist sehr individuell sind (3) 33%
    4. Interessiert mich absolut nicht - würde es nicht anwenden (1) 11%

    Hallo,


    in diesem Thread http://www.roboterforum.de/rob….0.html;msg34955#msg34955 kam der Gedanke auf, hier im Forum einen Standard zur Programmierung zu entwickeln.


    Was glaubt ihr. Ist das überhaupt möglich und macht das Sinn?

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

    Einmal editiert, zuletzt von IrrerPolterer ()

  • ANZEIGE

  • Impliziert diese Frage jetzt


    Roboterprogrammierung = Kuka Programmierung :denk:


    Genauso wie SPSsen nur von Siemens kommen ? :zwink:


    Nein! Programmaufbau, Kommentare usw...

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

    Einmal editiert, zuletzt von Urmel ()

  • Ich behaupte, es wird nicht funktionieren.


    Programmieren ist Handwerk, kreative Kunst sogar manchmal. Das in Standards pressen zu wollen, ist, wie einem Maler vorzuschreiben, welche Pinsel und Farben er ausschließlich zu verwenden hat. Es ist eine Beschränkung.
    Manchmal führt ja sogar die Grundeinstellung des Lieblingseditors schon zu speziellen Ergebnissen, erst recht die Fähigkeiten und Qualitäten des Programmierers.


    In unserer Firma streiten wir uns schon innerhalb der Abteilung um "Standards". Jeder entwickelt für sich "Standardmodule", die er nach Notwendigkeit zur eigenen Bequemlichkeit einsetzt, mit eigenen Programmschnittstellen etc., der eine versteht die Module des anderen nicht, und jener findet die Technik des Ersten zu wenig universell und deshalb zu arbeitsintensiv etc..
    Ich habe mir z. B. für ABB eine Art Betriebssystem-Aufsatz gemacht, den ich immer wieder nutze, gewachsen über Jahre. In dem Ding kenne ich mich aus, das stellt alles für mich bereit, was ich so täglich brauche, und was noch nicht drin ist, kommt langsam rein. Ich habe mal zwischendurch - auch schon ein paar Jahre her - versucht, das Teil auf "standardisierte" Variablennamen anzupassen - mit den Folgen kämpfe ich bis heute, doppelte Signalbezeichnungen usw.


    Der einzige Grund für solche Standards wäre, dass andere Programmierer sich besser zurechtfinden. Die Frage ist: wozu könnte man das wollen? Bei der Arbeit in EINEM Team ist das noch sinnvoll, sicher. Aber muss die Konkurrenz unbedingt meine Arbeit problemlos übernehmen können? Wer später mal meine Anlagen übernimmt, schmeisst sowieso alles von der Platte. Selten genug kann man das Programm für einen anderen Anwendungsfall noch sinnvoll nutzen.


    Ein krasses Beispiel für Standards findet man in uralten BULA-Schleifzellen mit ABB. Alle Routinen und Funktionen tragen Namen, die mit einem Buchstaben beginnen, gefolgt von einer vierstelligen Zahl. Alle Variablen ähnlich. Für die Massenherstellung dieser Zellen incl. Inbetriebnahme mag das wunderbar gewesen sein... als ich Programme dafür erstellen musste, die ausserdem noch kompatibel sein sollten (weil die Anlagenbetreuer darauf konditioniert waren), brauchte ich gut 2 Wochen, um mich halbwegs zurechtzufinden und konstruierte dann seltsame Links. Hier war Standard vorhanden - aber was für einer? Wie bewertet man das? Für mich wäre da irgendwas mehr Lesbares schöner gewesen, aber für alle Anderen schien es so seinen Sinn gehabt zu haben....


    Grüße

  • Meiner Meinung nach fehlt folgende Möglichkeit in der Umfrage.


    "Ich halte das für möglich ,würde es aber NICHT anwenden"


    Das Thema Programmieren und Standarts verfolgt mich nun schon seit 25 Jahren.
    Bei mehreren Firmen wurde der Versuch gestartet zu standartisieren.
    So richtig funktioniert hat dass nie.


    Es funktioniert und macht Sinn, wenn es sich um Module oder systemweit verwendete Funktionen handelt, aber auch nur insofern, dass die Schnittstellen dafür standartisiert werden.
    Was der Benutzer (Programmierer) mit den übergebenen Daten anfängt, bzw. wie er sie weiterbehandelt - dafür kann und wird es glaube ich nie einen Standart geben.


    Kleinigkeiten wie das Einrücken, vernünftige Kommentare, ein einigermassen logischer Aufbau (da fängt das Dilemma schon an - was für den einen logisch ist, ist für den anderen chineschisch).


    Meine Erfahrung ist, jeder Progammierer hat seinen individuellen Stiel (das ist wie bei einem Buch Autor).
    Der eine schreibt nen Klassiker, der andere für die Klatschspalte.


    Einer der ersten Todsünden war der Spagetti Code - solche Programme waren und sind unwartbar.
    Dass dies vom Auftraggeber (Arbeitgeber) nicht gern gesehen war ist verständlich.
    Jeder geschulte Programmierer wird sich heutzutage um einen sauber strukturierten Code bemühen.
    Aber dass war es dann auch schon.


    Zu viel Standart "GÄNGELT", und das schadet der Phantasie.


    Servus Roland

    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.<br />Albert Einstein

  • Ich meine, daß es gewisse "es-wär-schön-wenn" Dinge vorhanden sind.
    Egal wie nun ein Variablenname lautet, wäre es schon ok, z.B. b_BoolscheVariable oder i_IntegerVariable zu schreiben. Damit weiß man einfach ungefähr, was zu erwarten ist und es wird nicht unlesbarer.


    Dann sollten natürlich einige Kommentarzeilen da sein. Klar, wenn ich für China programmieren sollte, wären die in tiefstem Oberhessisch geschrieben, aber für die Spezialunken leicht zu lesen.


    Ok, ich machs auch nicht immer so. Manche Leute haben Vorgaben. Manche Vorgesetzte sind eher recht heikel wenns um Code geht, aber wenn ich freie Hand habe, kommentiere ich sehr ausführlich.


    Zur Verbesserung der Stimmung sollte man das Ganze hier umbenennen: Streiche "Standard" und setze "guter Stil"


    Wolfram

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.


  • Was ich sehr gut finden würde, wenn man mal daran gehen würde Prinzipien, wie sie hier für die PC-Softwareentwicklung formuliert werden, auf den Automatisierungsbereich zu übertragen:


    Das wäre z.B. ein Ansatz den ich sehr gut fände, vielleicht sollte man eher darüber diskutieren. bzw. Ideen sammeln.


    Programmiersklave: Kann deine Erläuterung absolut genauso unterschreiben. Ich sehe das ebenso.



    Kleinigkeiten wie das Einrücken, vernünftige Kommentare, ein einigermassen logischer Aufbau (da fängt das Dilemma schon an - was für den einen logisch ist, ist für den anderen chineschisch).


    Ich denke auch dass man ein paar Kleinigkeiten einheitlich halten kann, aber mehr auch nicht. Wie man ein Programm strukturiert ist für mich auch sehr von der Anwendung abhängig. Wenn ich ein Produkt von A nach B bewegen muss, kann ich eigentllich alles hintereinander wegprogrammieren. Habe ich aber mehrer Produkt mit flexiblen Maßen ist es sinnvoller in Unterprogrammen zu strukturieren. Ist nur ein Beispiel.



    Zu viel Standart "GÄNGELT", und das schadet der Phantasie.


    Auch das kann ich so unterschreiben - siehe VKRC.



    Ich meine, daß es gewisse "es-wär-schön-wenn" Dinge vorhanden sind.
    Egal wie nun ein Variablenname lautet, wäre es schon ok, z.B. b_BoolscheVariable oder i_IntegerVariable zu schreiben. Damit weiß man einfach ungefähr, was zu erwarten ist und es wird nicht unlesbarer.


    Das versuche ich auch immer wieder. Klappt nicht immer. :oops: Wobei ich Unterstriche hasse und eher iIntegerVariable schreibe. Wenn ich kann - und das ist in den meisten Fällen so - benutze ich auch eindeutige
    Punktenamen z.B.: UEBER_PALETTE, VOR_ABLAGE, ABLAGE, NACH_ABLAGE (hier mir Unterstrichen :) ) usw.


    Meist benutze ich Englische Vokabeln, da sie in der Regel kürzer sind. ABLAGE wird dann DROP, ENTNAHME zu PICKUP usw.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

    Einmal editiert, zuletzt von IrrerPolterer ()


  • Dann sollten natürlich einige Kommentarzeilen da sein. Klar, wenn ich für China programmieren sollte, wären die in tiefstem Oberhessisch geschrieben, aber für die Spezialunken leicht zu lesen.


    Wären??? :nocheck: Ich erinnere mich an unser letztes gemeinsames Projekt. Das Geraffel ging ja auch nach China. Und da haben wir ja beide quasi um die Wette oberhessisch kommentiert. Man sollte es denen ja auch nicht unbedingt zu leicht machen, unsere geistigen Ergüsse auch noch nachzuvollziehen.


    Zwei Dinge sind für mich ein absolutes NO-GO.


    1.: Hartcodierungen. Optionale Einstellungen im Datfile sind übersichtlicher und leichter bedienbarer für den späteren User.


    2.: GOTO." Wer mit GOTO programmiert, der frißt auch kleine Kinder." (Auch ein Zitat von WolfHenk) :genau:

    Weniger als 100% wird nicht akzeptiert :)

  • Wo wir bald wieder Fußballweltmeister werden, müssen wir 'KULTUR' in die Automatisierung bringen.


    Ich kenne mich zwar mit Wiki net so aus, und auf Henks RoboterSzene.de ist es mir noch nicht gelungen, einen CodeSchnipsel zu Posten, muss ja nicht an Henk liegen -
    Wiki ist für mich wie auch Latex einfach Neuland.
    Henk (kannst ja mal ein HowTo einstellen, für Neulinge wie mich :)


    Wiki ist denke ich als Basis für einen Standard oder auch mehrere (ABB,KUKA,IrgndeinRobi, oder SPS ala S7 oder nach IEC) wirklich mit die beste Plattform.


    Es können Meinungen abgegeben werden und der Standard kann in Gruppen oder Philosophien sortiert werden. (Es wird immer Hauptwurzeln geben und derivate)


    Die Unterschiede oder Merkmale einzelner Standards können diskutiert und FIXIERT werden.


    Hier, der Forumsbereich ist super zum austauschen von Meinungen, Tipps und Tricks - Wünsche Ideen etc., aber es bietet kaum Struktur für ein Werk, das so viele Fachgruppen / Spezialthemen umfassen muss.


    Wie "Die schlimmsten Programmierfehler!"


    Es wird wie bei der Roboterwunschliste, viele Ideen geben die sortiert werden müssen.


    Ein anliegen das ich immer wieder hab, nicht $OV_PRO = 100 zur Geschwindigkeitsregulierung zu verwenden, wurde mal wieder so krass mißachtet.
    Ich würde dem Programmierer am liebsten die Augen auskratzen.'


    Das Verstößt gegen den ERSTEN Satz der Ethik des Programmierens
    1. 'Der Programmierer der nach mir die Anlage bedienen muß, soll keinen Schaden nehmen.


    Warum tun Menschen sowas - andere mit so blöden Zeilen zu gefährden - wenn man's ihnen doch noch vorher sagt.
    Warum kein


    Wait FOR $OV_PRO == 100


    davor - nein - es muß erst einer dran glauben.


    Wenn ich sowas nochmal sehe tret ich diesem Programmierer in seine Eier.
    Falsch Parken wird bestraft - logisch - in der Fahrschule lernt man die StrassenVerkehrsRegeln.


    Im Roboterkurs oder SPS-Kurs die Programmierregeln der Automatisierung.
    Es gehört so dumm es klingt ein Bußgeldkatalog für Schwarzprogrammierer her.


    Erst wenn der Fahrprüfer denk das man genügend Erfahrung hat, wie das Auto auf die verschiedenen Lenkeinschläge, Bremsendruck und Fliehkräfte reagiert, darf man es alleine Steuern.


    Das sollte man bei jeder Sicherheitsbelehrung erwähnen - und wer einen Roboter verfahren kann, sollte diesen noch lange nicht Teachen/Programmieren dürfen.


    Wer jemanden programmieren lässt der sich nicht auskennt, hat seine Qualifikation bzw. Software zu kontrollieren, denn baut er RIESEN-SCHEISSE kriegt er noch nicht mal Schuld.


    Anzeigen kann man ihn in der Regel auch nicht, da er bei Deinem Kunden festangestellt ist - nicht mal anonym. Verfluchte kacke.
    (Ich bekomme kein Geld dafür, alle UP's auf Mist zu durchsuchen, nur damit es für mich u. andere sicherer wird.)


    Wir alle übersehen mal was, ist ja auch beim Autofahren so - wer hatte noch keinen
    Unfall.
    Aber Fahrlässigkeit gehört abgestellt.


    Diese Regeln sind Herstellerunabhängig - ob Porsche, VW oder FIAT.
    Ob KUKA, ABB oder Fanuc.


    Regeln müssen her - und auch Strafen
    Ich glaub nicht das ich sowas schreib, aber das was ich jetzt wieder an Code gesehen hab, muß von Amts wegen verfolgt werden.
    Wenn das Projektbudget überzogen oder am Ende ist, heißt es nur noch - Nach mir die Sintflut.


    Mögen die Chefs sagen: Derjenige der Klebe/Mig-Schweissprogramme... in T2 abfährt ist selber Schuld!!!


    IST ER NICHT!


    Die Zeit oder das Geld wird einem nicht gegeben.
    Und das gehört so ROT EINGRAHMT, der Override dient dazu, es dem Bediener/Programmierer Programme mit einer VON IHM eingestellten Geschwindigkeit seinen Fähigkeiten entsprechend zu testen.


    - Nach dem Finale T2 3%
    - Ein Neuling T2 10% - 30%
    - Die alten Hasen T2 30% - was halt der Leiter- / Kopfabstand zum Roboter zulässt!


    Und es geht GAR NICHT - das im Programm der Wille des Programmierers OHNE WARNUNG missachtet wird.


    So - deswegen und wegen so vielen anderen Sachen muß Henk, der das ja drauf hat, oder irgenein anderer die Geburt des


    Deutschen Programmier Standards (DPS) verkünden.

    Was ja auch ein Markenzeichen werden kann :)


    Ich kanns net, werd aber fleißig dran mitarbeiten.


    Gruß
    Robotnik

  • Och nööö...


    Behaupte nicht, daß "der Henk 's draufhat". Auch ich lerne immernoch dazu. :zweifel:


    In dem Wiki ne Seite zu machen? Einfach: ruf sie auf z.B. http://roboterszene.de/wiki/index.php?page=DPS und wenns sie nicht gibt, dann machst du sie grad...
    Allerdings steht vor dem Schreiben eine Registrierung.
    Übers "Wie denn" des Schreibens: [url http://wackowiki.org/Doc/Deutsch/Formatierung]Hier[/url]


    Codeschnipsel in die Hauptseite bauen? An mich schicken oder an Adrian. Der gehört auch zu dem Projekt.


    Wolfram

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

    Einmal editiert, zuletzt von WolfHenk ()

  • Hallo zusammen,


    da ist ja schon ordentlich diskutiert worden, hier mal ein Quereinwurf. Anscheinen wurde so etwas ähnliches mal von den großen Herstellern (vornehmlich aus Japan) forciert. Allerdings hat wohl nur Denso, wie man auf der Automatica sehen konnte, das Thema verfolgt. Speziell Fanuc und Yaskawa waren da wohl mit im Boot, haben das Projekt aber anscheinend auf Eis gelegt.
    Die Software heißt ORiN 2 kennt die jemand?


    http://www.denso-wave.com/de/r…t/latest/orin2/index.html


    Grüße,
    Minimann

  • Hallo,



    Die Software heißt ORiN 2 kennt die jemand?


    ich glaube das dient eher dem Zugriff vom PC auf eine Robotersteuerung.


    Ist wohl der Nachfolger von dem hier
    http://www.jara.jp/e/orin/PressE9.pdf
    Das ist von 2002 ...


    Wäre nicht der erste gescheiterte japanische Versuch dieser Art. Es gab schon in den 1990ern mit SLIM (Standard Langauge for Industrial Manipulation) einen Versuch, eine einheitliche Roboterprogrammiersprache zu schaffen.


    Als hauptsächlicher PC- und nur ein wenig Roboterprogrammierer würde ich so einen einheitlichen Standard zwar begrüßen, glaube aber nicht, dass die Roboterhersteller dazu willens oder in der Lage sind.


    Schon wenn eine PC-Software mit Roboterpositionen verschiedener Hersteller umgehen muss, ist das manchmal zum Haare raufen, nicht mal die Drehreihenfolge der Eulerwinkel ist gleich ...


    Grüße


    Urmel

    Einmal editiert, zuletzt von Urmel ()

  • Hallo,


    ich glaube das dient eher dem Zugriff vom PC auf eine Robotersteuerung.


    das denke ich auch aber geht meines Erachtens in die Richtung Einheitliche Sprache...


    Das mt dem Euler hat uns vor kurzem einen Tag gekostet als wir ein 3D Kamerasystem anbinden wollten und Winkel berechnen wollten... :uglyhammer_2:


    Es bleibt spannend...


    Minimann

  • Also gut: Testen wir mal was rauskommt


    unter http://roboterszene.de/wiki/index.php?page=DPS hab ich mal angefangen.


    macht was draus. Anmelden und wenn das gelungen ist fleißig editieren.


    ist recht einfach machbar.



    Das Ergebnis nennen wir DPS und jeder schreibt halt seine Programme dann diesem Reglement angenähert.
    Am Anfang des Programms kommt dann neben dem Namen des Autors auch der Kommentar
    "nach DPS programmiert"


    Bin mal gespannt, vielleicht sind 3000 Roboterprogrammierer tatsächlich in der Lage, was zu bewegen.



    Grüße


    Wolfram

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Ach richtig, dazu wollte ich noch was loswerden ...



    Ich verstehe worüber du dich aufregst, aber hier ist nicht nur der Programmierer gefragt.



    Und es geht GAR NICHT -


    So isses woanders.


    Entweder man entscheidet per Schlüsselschalter, wer die Geschwindigkeit einstellt, oder es gibt einen externen Override, den das Roboterprogramm gar nicht ändern kann.


    So viel zum Thema herstellerunabhängig ...


    Es gibt sogar Robotersteuerungen, die kennen gar kein GOTO ...

    Einmal editiert, zuletzt von Urmel ()

  • ...macht einfach, im wikipedia gehts ja auch. ich bin gespannt, was wohl wird.


    Ich rufe hiermit den Beginn der Entwicklung des [glow=red,2,300]DPS[/glow] (Deutscher Programmier Standart) als Qualitätsmerkmal für gute Programmierung aus!


    DPS wird in http://roboterszene.de/wiki/index.php?page=DPS entwickelt und hier diskutiert.


    DPS ist freiwillig.

    DPS soll ein Qualitätsmerkmal werden.

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

    Einmal editiert, zuletzt von WolfHenk ()

  • wir Programmieren schon seit Jahren mit Standards, nur halt für jedes Projekt muss das angepasst werden.
    Ich fände eine Datenbank mit Programmierbeispielen für richtig, denke aber kaum dass jemand sein Know-How "verschenkt".


    Gerne mache ich sowas mit den Moderatoren hier im Forum, aber öffentlich verschenken wird nicht funktionieren ;)

    Menschen brauchen Roboter, aber auch Roboter brauchen Menschen.

    Roboter sichern die Arbeitsplätze und den Fortschritt der Industrieländer, da sie kostengünstig und qualitativ hochwertig produzieren.

    Ohne Automatisierung mit Robotern werden unsere Produkte in Billiglohnländern hergestellt.

    >> Abonniere meinen YouTube Roboterkanal <<

  • Hallo, greife das hier mal wieder auf.



    Ich fände eine Datenbank mit Programmierbeispielen für richtig, denke aber kaum dass jemand sein Know-How "verschenkt".


    Aber sowas machen wir doch hier jeden Tag! :denk: Das scheint mir der Sinn dieses Forums zu sein.
    Wenn die Suchfunktion des Forums richtig benutzt wird ist das schon so eine Datenbank.


    WolfHenk: Das sind grundsätzlich schon mal ganz gut aus. Werde beim nächsten Projekt mal damit beginnen.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden