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

Seite 1 von 15 12311 ... LetzteLetzte
Ergebnis 1 bis 10 von 147

Thema: Neuentwicklung Automatisierungsplattform

  1. #1
    Registriert seit
    23.10.2014
    Beiträge
    37
    Danke
    2
    Erhielt 4 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!

    Ich bin neu hier im Forum und selbst von Beruf Informatiker (mit einigen Elektronikkenntnissen). Eine Zeit lang habe ich eben auch SPSen programmiert und seit meinen Erfahrungen damit immer wieder mit dem Gedanken gespielt, einfach mal eine richtig gute SPS zu entwickeln. Ich weiß, es gibt Systeme, die sind etabliert, aber mir geht es nicht primär um wirtschaftlichen Erfolg, sondern einfach um die Sache an sich. Da ich eben normalerweise als Informatiker immer bleeding-edge Technologien gewöhnt war, hab ich mir oft vorgestellt, wie unglaublich cool es wäre, flüssig lesbaren Code in die SPS zu füllen, schrittweise zu durchlaufen und überhaupt mit einem System zu arbeiten, dass mit modernen Standardtechnologien arbeitet und damit transparent und einleuchtend (und somit intuitiv) ist. Immer wieder wurde ich von der Realität eingeholt und hab dann wieder notgedrungen mit AWL, FUP und dem üblichen rumgemacht Mich mit PROFIBUS und dem blöden Step7 abgeärgert. Bei dem Versuch eine ordentliche Versionierungsverwaltung einzuführen wurde ich dann schnell auf den Boden der Tatsachen zurückgeholt, als ich gemerkt habe, dass der Quellcode als Datenbank, nicht als Textdatei abgelegt wird. So ein Quatsch! Zumal man den "Innovationsschutz" ohne ganz leicht umgehen kann..

    In einem kleinen Testprojekt hab ich also mal den Lötkolben geschwungen und ein kleines System aufgesetzt, dass es uns in der Firma ermöglicht von jedem Handy aus und vom Desktop PC das Klingensignal an der Tür abzufangen und mit einem Klick die Tür zu öffnen. Außerdem wird ein Bild des Eingangsbereich and alle Endgeräte gestreamed (von einer Webcam aus). Das läuft soweit stabil. Das Projekt ist Open Source: https://github.com/cybercatalyst/dooropener

    Im Reagenzglas (sozusagen) möchte ich das jetzt modularisieren, also eine Art Version 2.0 bauen. Ich suche Unterstützung beim Elektronikdesign. Zwar habe ich mal mit EAGLE gearbeitet und auch ein paar Platinen selbst erstellt, aber wenn es z.B. darum ginge ein Platinendesign für eine I/O-Karte zu entwickeln, dann überlasse ich das doch lieber dem Profi. Ich habe einfach mal eine Skizze angehängt, was ich im nächsten Schritt umsetzen will. Für Ideen, Ratschläge und Tipps bin ich sehr dankbar.
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren Neuentwicklung Automatisierungsplattform  

  2. #2
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    Hallo,

    damit ich das richtig verstehe:
    Du willst eine SPS-Entwicklungsumgebung als Open Source Projekt starten?

    Klingt irgendwie cool...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  3. #3
    Registriert seit
    23.10.2014
    Beiträge
    37
    Danke
    2
    Erhielt 4 Danke für 1 Beitrag

    Standard

    Hey Markus,

    genau und eben mit sonstigen, offen definierten Schnittstellen. Ohne Lizenzzwang, auch was die Hardware angeht. Ich hab mich schon oft gewundert, warum es das bisher noch nicht gibt. Ich bin mir sehr sicher, dass es machbar ist in einem lockeren Zusammenschluß von Informatikern und Elektronikern etwas großartiges auf die Beine zu stellen. Eine Entwicklungsumgebung und die Systemsoftware usw. zu entwickeln ist eine Fingerübung für mich und im wesentlichen nur eine Zeitfrage.

    Um die Ziele nicht zu hoch zu stecken, würde ich mit der Hausautomatisierung anfangen wollen und nach und nach erweitern.

  4. #4
    Registriert seit
    13.10.2007
    Beiträge
    12.031
    Danke
    2.785
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    Vielleicht hilft es hier ein wenig zu lesen

    http://mc.mikrocontroller.com/de/SPS-ctrl.php

    bzw hier

    http://www.microsps.com
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  5. #5
    Registriert seit
    23.10.2014
    Beiträge
    37
    Danke
    2
    Erhielt 4 Danke für 1 Beitrag

    Standard

    Hin und wieder habe ich schon nach geeigneter Hardware Ausschau gehalten. Ich tendiere eher dazu auf Hardware zu setzen, die normalerweise in Mobiltelefonen verbaut wird. Also eine Handvoll Kerne, 2 GB RAM und ein paar GB integrierter Flashspeicher dürfen es schon sein. Dieser Teil soll der Verarbeitungslogik dienen. Dazu möchte ich eine Realtimehardware geben, die sich aber eben um nichts anderes als zeitlich kritische Schaltvorgänge kümmert, also die Prozesslogik klar von der Treiberlogik trennen.

    Als Feldbus möchte ich einfach Ethernet nehmen und das mit einem Softwarelayer sicher machen. Wie sicher eine Verbindung dann ist, kann man ja einstellen. So können z.B. unkritische Prozessdaten per WLAN übertragen werden, und wenn die Verbindung mal abbricht, stockt halt die Anzeige.
    Geändert von omgitworks (23.10.2014 um 22:43 Uhr)

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Klingt nicht schlecht, aber definiere mal bitte folgende Aussage genauer:

    Zitat Zitat von omgitworks Beitrag anzeigen
    und überhaupt mit einem System zu arbeiten, dass mit modernen Standardtechnologien arbeitet und damit transparent und einleuchtend (und somit intuitiv) ist.
    C# z.Bsp. mag ja flüssig lesbar und intuitiv sein, aber ich hab schon so viel Sch... damit erlebt, bei dem mir absolut nicht klar war, warum nun dies oder jenes schief ging. Und genau das kann ich auf einer SPS nicht brauchen. Deswegen normal die Nachfrage, was dir da so vorschwebt.

    PS. Selbst bei Delphi ist das Ergebnis manchmal absolut unerwartet ausgefallen, obwohl der Code einfach war. Man kann halt nicht immer unter die Motorhaube schauen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    Registriert seit
    23.10.2014
    Beiträge
    37
    Danke
    2
    Erhielt 4 Danke für 1 Beitrag

    Standard

    Ich dachte da an konkret an ECMAscript für die Prozesslogik (im Web bekannt als "Javascript"). Der Vorteil: Es gibt bereits bestehende, leistungsfähige Open-Source Engines und Frameworks, die sich mit C++-Code nahtlos erweitern lassen (z.B. Google's V8 oder QtScript). D.h. man kann die leistungskritischen oder hardwarenahen Dinge in kompiliertem Code verpacken und nahtlos in die Skriptumgebung setzen. Das Setzen von Parametern, Ablauflogik etc. kann ruhig als Skript gehalten werden, das frisst kaum mehr an Leistung. Evtl. könnte man dann zusätzlich eine Schnittstelle anbieten, mit der man nativen Code laden und aufrufen kann - wenn es überhaupt nötig wird. Selbst ein interpretiertes Skript ist auf moderner Hardware um Längen fixer als AWL auf einer S SPS.. Dennoch: Falls z.B. jemand dann direkt auf der SPS Kamerabilder auswerten will, wäre das ganz praktisch.

    Es spricht auch nichts dagegen, einfach mehrere Varianten zu probieren und dann zu schauen, was sich als praktikabel herausstellt. Da das Protokoll offen ist, wäre theoretisch denkbar mehrere Konzepte mit Vor-/Nachteilen zu haben. Es ist ja nur der "hochgeschlossenen" Natur z.B. der S Produkte geschuldet, dass sie heute so sind, wie sie sind. (nämlich technisch hoffnungslos veraltet)
    Geändert von omgitworks (23.10.2014 um 23:36 Uhr)

  8. #8
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    An was für ein OS hast du gedacht?
    Hast du dir schon Gedanken um das Thema Remanenz gemacht? Also Stecker raus und Stecker wieder rein...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  9. #9
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von omgitworks Beitrag anzeigen
    Ich dachte da an konkret an ECMAscript für die Prozesslogik...
    Eine unabdingbare Fähigkeit von SPSen ist Echtzeitfähigkeit (heißt nicht: besonders schnell, sondern: garantierte maximale Reaktionszeit). Wenn dass nicht gegeben ist, überfährt irgendein bewegliches Maschinenteil irgendwann einen Endschalter.
    Ich stelle es mir etwas schwer vor, mit einer Speicherverwaltung mit garbage collection eine obere Schranke für die Reaktionszeit zu ermitteln oder zu verifizieren ...???

  10. #10
    Registriert seit
    23.10.2014
    Beiträge
    37
    Danke
    2
    Erhielt 4 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Markus:

    Das Steuersystem ist aktuelle ein Linux Server System (genaugenommen Ubuntu 14.04 Server). Das Problem mit der Remanenz habe ich über init.d-Skripte gelöst, also wenn man den Stecker rauszieht und wieder rein, dann fährt das Steuersystem selbst hoch und startet anschließend die Steuersoftware. Das war notwendig, weil bei uns die Putzfrau manchmal einfach den Stromstecker gezogen hat :P

    @Zottel:

    Die Steuersoftware ist ja eine "Mixtur" aus C++ und ECMAscript. Das meinte ich mit: Ablauflogik und Steuerlogik trennen. Man muss die Denkweise beim Programmieren überdenken, also nicht: Jetzt frage ich den Wert ab, dann den Wert, dann den Endschaltereingang usw., sondern man würde jetzt in ECMAscript in der Initialisierungsmethode definieren: "An dem Eingang xy sitzt ein Endschalter. Abfrageinterval 10ms, wenn Low dann -> Notstop." Den Rest macht dann das System. Ansonsten halte ich das eher für ein theoretisches Problem und würde nur bei sicherheitskritischeskritischen Dingen (Endschalter, Notaus) usw. so arbeiten. Ich meine, es gibt Compiler, die C Programme zu Javascript kompilieren, sodass man diese im Browser ausführen kann. Diese Programme laufen absolut flüssig.

    Zudem kann man das Verhalten des GC noch beeinflussen. Man kann ihn abschalten, oder ihn oft laufen lassen. Nichtsdestrotrotz ist die Verzögerungszeit durch den GC in der Praxis einfach sehr gering. Wie gesagt, ich halte das Problem eher für ein theoretisches und bin mir sogar ganz sicher, dass das Abfrageinterval des Endschalters mit ECMAscript in der Praxis sogar deutlich unter dem Abfrageinterval mit einer SPS liegen wird. Man müsste da einfach mal messen und schauen wie es sich verhält. Zur Not nimmt man z.B. einen Hardwarewatchdog mit dem Wissen, dass der Fall zu 99,99% nicht auftritt.

Lesezeichen

Berechtigungen

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