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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Selbstgeschriebene Software-SPS in C unter Windows

  1. #1
    Registriert seit
    30.10.2011
    Beiträge
    93
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    auch wenn die meisten Forumuser hier wahrscheinlich "kommerzielle SPSen" programmieren, habe ich mal eine Frage zu einem Steuerungsprojekt, was nichts mit CoDeDys, FUP, KOP, AWL etc. zu tun hat.

    Es geht um eine produzierende, automatisierte Anlage im Uni-Umfeld, die prinzipiell einen Ablauf (Teil produzieren) in einer Schleife durchführt.
    Bussystem: CANopen, 500kBit/s, ca. 10-20 CAN-Knoten, ~100 Digitale I/O's, ~20 Analogsignale (je 2-4 byte)
    Beispiel Aktoren: Ventile für Pneumatikzylinder, Meldeleuchten, Triggerausgänge für selbstständige Anlagen (Roboter, etc.)
    Beispiel Sensoren: Näherungsschalter, Lichtschranken, Taster, Rückmeldungen von selbstständigen Anlagen (Roboter, etc.)

    Der CAN-"Master" ist eine PCI-CAN-Karte im PC. Der Zugriff erfolgt aus einem C-Programm, was auch für Messdatenerfassung und Virtualisierung zuständig ist.
    Der Zugang zur Prozessebene geschieht nur durch die Funktionen "CAN_Read()" und "CAN_Write()". Es wird jeweils immer ein komplettes CAN-Frame, bestehend aus ID, Länge, 8 Bytes gesendet/empfangen. Der PC muss also jedes auflaufende CAN-Frame untersuchen, vergleichen und prüfen, ob sich der Zustand eines Bits (z.B. Taster) geändert hat. Wenn das der Fall ist, folgen weitere Folgen von Funktionen.

    Das System läuft bis jetzt seit einigen Jahren gut und relativ sicher an einer Anlage, die demnächst modernisiert wird. Ich überlege, das gleiche System nochmal einzusetzen, wollte aber erstmal Fragen, ob ihr sowas vielleicht auch schonmal gemacht habt, Erfahrungen dabei habt, oder Tipps geben könnt. Ansonsten einfach mal die Meinung, wie das in den Augen eines professionellen SPS-Programmieres ist....

    Im Anhang noch ein grobes Bild über meine Programmstruktur. Ich werde das evtl. noch verfeinern und nochmal hier reinstellen.

    Grüße,
    clumsi

    programmschema.jpg
    Zitieren Zitieren Selbstgeschriebene Software-SPS in C unter Windows  

  2. #2
    Registriert seit
    24.02.2009
    Beiträge
    1.244
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Die Frage ist, was ist der Sinn der Anlage. Soll sie wirklich nur Teile produzieren, oder ist ihre gesamte Funktionsweise irgendwie Bestandteil des Studiums?

    Wenn die Anlage nur dazu dient etwas herzustellen, oder meinetwegen ein technisches Verfahren zu demonstrieren, würd ich es auf jeden Fall mit einer SPS realisieren.
    Ganz einfach weil Industriesteuerungen genau für diesen Zweck entwickelt wurden. Für einen lächerlich geringen Anschaffungspreis (je nach Leistungsklasse und Peripherie natürlich) wird einem schon soviel an Arbeit und damit an Zeit abgenommen, das sich die Kostenfrage einfach nicht mehr stellt.
    Und wer das Know How hat so ein Projekt mit einem, von 0 auf selbstgeschriebenen, C-Programm zu verwirklichen, der wird sich in die SPS Programmierung sofort hineinfinden.

    Für ein Uni-Umfeld würd ich Steuerungen von Beckhoff empfehlen. Beckhoff bietet mit dem ADS Protokoll bereits eine offene Schnittstelle um leicht von Außen auf die Steuerungsfunktionen zugreifen zu können (div. Programmiersprachen, Labview etc.) -> Stichwort "Automation in Science".
    Natürlich lohnt sich da auch ein Blick auf die anderen Hersteller (Siemens, Wago usw. usf).

  3. Folgender Benutzer sagt Danke zu MasterOhh für den nützlichen Beitrag:

    ducati (18.01.2013)

  4. #3
    Registriert seit
    25.06.2008
    Ort
    Blomberg/Lippe
    Beiträge
    1.293
    Danke
    51
    Erhielt 130 Danke für 124 Beiträge

    Standard

    Also ich stehe in Kontakt mit der TU Dresden. Dort setzen sie z.B. die Steuerungen von Phoenix ein für ihre Versuchsaufbauten.
    Eine SPS kann auch weniger abstürzen als Windoof. Der Zugriff auf die Steuerung von einem PC z.B. ist auch relativ einfach über OPC, HTTP-Request oder halt ein eigenes TCP-Protokoll.
    Gruß
    Mobi


    „Das Einfache kompliziert zu machen ist alltäglich. Das Komplizierte einfach zu machen –
    das ist Kreativität“ (Charles Mingus).

  5. Folgender Benutzer sagt Danke zu Mobi für den nützlichen Beitrag:

    ducati (18.01.2013)

  6. #4
    Registriert seit
    12.09.2006
    Beiträge
    125
    Danke
    26
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo ,
    ich denke da an stabilität wenn ich deinen Beitrag so lese. Die frage die ich mir stelle ist die Laufzeit am Tag dieser Anlage wird häufig ein oder ausgeschaltet Betriebsstunden etc. Beim CAN Bus so wie ich ihn kenne kommt es auch auf die Umgebung an . Hatte schon des öfteren Probleme mit Hochfrequenten Subsystemen. Und du hast geschrieben relativ stabil das ist Auslegungssache . In der Endlosschleife vermute ich eine Prozessor Auslastung von 99% je nach OS. Dies bedeutet wieder wärme etc.... Also sind wir wieder beim Thema Betriebsstunden. Würde ich jetzt rein so aus dem Bauchgefühl herraus sagen. Wenn es akzeptabel und störungsfrei funktioniert; dies ist eben vorraussetzung ; würde ich es wieder so machen. Kommt eben auf die Probleme an die es bisher gab. Aber eine sehr interessante Sache ...
    Geändert von spqr76 (16.01.2013 um 19:35 Uhr) Grund: Tippfehler

  7. #5
    Registriert seit
    23.07.2003
    Beiträge
    209
    Danke
    22
    Erhielt 14 Danke für 12 Beiträge

    Standard

    Moin Moin,

    Da es ja an der Uni ist, ist bestimmt eines der folgenden Projekte interessant ... Indirekt hängen die beiden eh zusammen ...

    http://www.beremiz.org/

    Bzw. CanFestival als CanOpen Master. Arbeitet mit den meisten passiven CAN Karten zusammen !

    Beremiz ist eine Art SoftSPS unter Linux und komplett Open Source.

    Vielleicht einen Versuch Wert ?

    Gruß,
    Michael

  8. #6
    clumsi ist offline Benutzer
    Themenstarter
    Registriert seit
    30.10.2011
    Beiträge
    93
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke erstmal für Eure Antworten! Die Anlage gehört primär nicht zu einem Projekt, in dem es darum geht, Programmieren zu lernen. Teile produzieren ist das Hauptziel.

    Zitat Zitat von spqr76 Beitrag anzeigen
    Die frage die ich mir stelle ist die Laufzeit am Tag dieser Anlage wird häufig ein oder ausgeschaltet Betriebsstunden etc.
    Die Laufzeit der Anlage ist relativ gering. Einige Wochen garnicht, und dann ab und zu mal 8 Stunden für wenige Tage.

    In der Endlosschleife vermute ich eine Prozessor Auslastung von 99% je nach OS.
    Mit Endlosschleife ist eine Schleife gemeint, die den einzelnen Produktionsablauf ständig nacheinander durchführt. CPU-Auslastung ist nicht besonders hoch. Es wird übrigens auch Ereignisgesteuert gearbeitet. Bei stehender Anlage gibt es also nur Heartbeat- und ähnliche Frames.

    Ich habe mich mal ein bisschen über verschiedene Steuerungen informiert und bin erstmal bei einem "SPS-programmierbaren Feldbuscontroller" von Wago hängen geblieben. In diesem Controller würde ich dann wichtige Ablauffunktionen ausgliedern. Das Grundsystem könnte dann weiterhin mit PC bestehen bleiben, der PC hat dann hauptsächlich übergeordnete Auslöse- Einstell- und Visualisierungsfunktionen.

    beremiz und CANFestival ist noch relativ neu für mich. Auch das werde ich mir mal genauer angucken.

  9. #7
    Registriert seit
    12.09.2006
    Beiträge
    125
    Danke
    26
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo,
    ich kenne viele Appliaktionen die durch eine Schleife sehr hohe CPU Auslastungen verursachen. Ein Kollege von mir befasst sich sehr intensiv mit Prozessorkennlinien in zusammenhang mit Betriebstemperatur und Lebensdauer. Da gibt es erstaunliche Erkenntnisse mit guten Kühlsystemen. Desewegen auch meine fragen und Anmerkungen zu deinem Projekt. Ich finde es grundsätzlich erstmal gut was eigenes zu schaffen , als auf vorhandenes zurück zu greifen ( in der Entwicklung ). Aber die stabilität ist eben sehr wichtig . Da die Anlage sehr überschaubar betrieben wird kann man auch gern etwas neues testen etc.... Viel Erfolg

  10. #8
    Registriert seit
    09.08.2006
    Beiträge
    3.638
    Danke
    912
    Erhielt 661 Danke für 543 Beiträge

    Standard

    Zitat Zitat von clumsi Beitrag anzeigen
    Teile produzieren ist das Hauptziel
    Dann schmeiss den Quatsch weg und nimm ne richtige SPS!.

    Ansonsten stehe ich auf dem Standpunkt, dass man auch an der Uni die Dinge so lehren sollte, wie sie in der Praxis üblich sind. Und in der Praxis nimmt man für ne Industriesteuerung eine SPS, und kein irgendwie zusammengebasteltes C-Programm auf nem PC.

    Und wenns ums C-programmierenlernen geht, da gibts so viele Möglichkeiten, aber bitte nicht am Beispiel einer Maschinensteuerung!

    Gruß.

  11. #9
    Registriert seit
    10.01.2013
    Ort
    Oldenburg
    Beiträge
    6
    Danke
    1
    Erhielt 2 Danke für 1 Beitrag

    Standard

    Hallo,
    interessantes Projekt. Ich wuerde fuer Ablaufsteuerungen eigentlich immer eine SPS vorziehen, bzw. die Arbeitsweise einer Handelsueblichen SPS, sprich zyklische Stapelverarbeitung. Es macht ein Programm einfacher und uebersichtlicher und dadurch auch robuster. Einen Event gesteuertem Ablauf stelle ich mir gerade sehr komplex vor, kann natuerlich falsch liegen . Da man sich schnell in Endlosschleifen verhackt wenn ein Event auf das naechste warten muss etc.pp. Dieses Problem der "Gleichzeitigkeit" hat man so in er Stapelverarbeitung nicht. Signale werden Zyklisch abgefragt und verarbeitet. Die Prioritaet stelle die Stelle im Programm fest (Oben wichtig unten weniger wichtig). So ist eine Aenderung von hoher Prioritaet "sofort" bei den weniger wichtigen Teile "angekommen" und man muss sich keinen Kopf um Ausnahmen aus der Reihe machen. Jeder untergeordneter Ablauf kuemmert sich gleich mit um die Ausnahme.
    Bei der Hardware ist eine getestete. ausgereifte SPS wahrscheinlich auch robuster als jeder Handelsuebliche x86 PC (ob mit Windows oder *NIX).

    Gruss Rio

  12. #10
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier sprechen alle von Problemen, Robustheit, Schwierigkeiten usw. - ich glaube ja nicht das es auf der Ebene entscheidend ist ob C, VB, SPS oder sonstiges zum Einsatz kommt - der Bedarf scheint ja gedeckt zu sein und schätze zu weit geringeren Kosten in Hardware als die SPS-Lösung - Studenten kosten ja sonst nix

    btw: Der eine Thread mit zyklischem Ablauf drinnen ist bis auf die "fehlende" Echtzeit auch nicht mehr viel anders als eine SPS - wer C programmieren kann schreibt auch damit ein stabiles produktives System (ja klar die Fehlermoeglichkeiten sind deren mehr - darauf muss man eben achten - aber das bedeutet definitiv nicht das es automatisch schlechter ist)

Ähnliche Themen

  1. Siemens SIMATIC S7 v5.4 unter Windows 7
    Von Xylen.C4 im Forum Simatic
    Antworten: 135
    Letzter Beitrag: 05.02.2013, 11:59
  2. Antworten: 3
    Letzter Beitrag: 28.05.2012, 18:55
  3. NAT unter Windows XP
    Von Neals im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 20.01.2010, 10:13
  4. libnodave unter windows ce 5.0???
    Von Jochen Kühner im Forum HMI
    Antworten: 1
    Letzter Beitrag: 26.06.2007, 09:57
  5. Antworten: 4
    Letzter Beitrag: 02.06.2004, 17:45

Stichworte

Lesezeichen

Berechtigungen

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