Ablauf einer Steuerung



  • Man ganz naiv gefragt - Aber wird sowas nicht mit SPS gemacht, die ihre eigene Programmiersprache haben (ich kann mich aus meinem Praktikum bei der AEG-Modicom dunkel an paar Dinge erinnern)?



  • Hallo

    sowas habe ich mal gemacht
    Eine Nachbildung einer Steuerung am PC
    (war mit Phoenix-PC)

    Was machst du denn da genau
    Kannst du noch Details nennen um dir weiterzuhelfen

    MfG
    Klaus



  • Hallo,

    Also lasse ich die Katze aus dem Sack. @KlausB, du hast den Nagel auf dem Kopf getroffen. Bin dabei eine "Prozeß-Steuerung" zu programmieren, die alle Funktionen in einem PC unter Windows2000 läuft. Als Hardware wird keine SPS eingesetzt. Hardware besteht aus reinen IO-Karten ohne zusätzliche Controller. Das auswerten von Eingänge und schalten der Ausgänge soll nur vom PC erledigt werden. Ich sehe darin eine größere Flexilibität des Programms.

    Gruß Siegfried 🙂



  • Hallo

    wie schon gepostet habe ich sowas schon gemacht.
    Dein groesstes Problem ist, das du keine Zulassung fuer eine Prozessteuerung
    hast (wie zB eine SPS).

    Wenn du damit eine echte Prozessteuerung bauen willst kannst du fuer
    die Sicherheit nicht garantieren.

    Kennst du dich mit SPSen aus (zB Siemens S5/7)

    MfG
    Klaus



  • Wo ein Windows-PC doch so geil Echtzeitfähig ist 😃
    An die Sicherheit mag ich gar nicht erst denken. Das ganze noch von jemandem realisiert, der nicht den geringsten Plan hat 😃
    Prost Mahlzeit ! 😃



  • Hallo,

    mit SPS habe ich einige Erfahrung. Auch eine SPS gleich welcher Hersteller hängt sich auf. Somit können diese keine 100% Sicherheit leisten.

    Wenn man an ein solches Projekt herangeht, muß man doch ein Plan habe. Wa der Auffassung, einige nützliche Info's zu bekommen.

    Gruß Siegfried 🙂



  • KlausB schrieb:

    Dein groesstes Problem ist, das du keine Zulassung fuer eine Prozessteuerung hast (wie zB eine SPS).

    Wenn du damit eine echte Prozessteuerung bauen willst kannst du fuer
    die Sicherheit nicht garantieren.

    Kann man so pauschal nicht sagen. Früher mußten Sicherheitskreise immer noch per Hardware abgesichert sein, heute sind auch sicherheitskritische Softwareinterlocks zulässig. Die Normen diesbezüglich wurden mehrfach aufgeweicht.



  • Mahlzeit schrieb:

    Wo ein Windows-PC doch so geil Echtzeitfähig ist

    Echtzeitfähigkeit ist kein absoluter Begriff. Angenommen man erstellt eine langsame Temperaturregelung mit Zeitkonstanten im Minutenbereich, ist ein PC-Betriebssystem (egal ob Windows oder Linux) durchaus als echtzeitfähig zu betrachten.

    Echtzeit bezieht sich ja auf den zu steuernden Prozess, und wie lange eine Reaktion dauert.

    Weiterhin gibt's für Windows auch Libs (z.B. Kithara), mit denen man direkt auf Hardwareereignisse (IO, Com, Timer) reagieren kann, mit <1ms Latenzzeit. Dito gibt's auch modifizierte Kernels für Linux.

    Damit sind Steuerungen im Bereich bis zu 20 ms Zykluszeit kein Problem.



  • Beppo schrieb:

    Bin dabei eine "Prozeß-Steuerung" zu programmieren, die alle Funktionen in einem PC unter Windows2000 läuft. Als Hardware wird keine SPS eingesetzt. Hardware besteht aus reinen IO-Karten ohne zusätzliche Controller. Das auswerten von Eingänge und schalten der Ausgänge soll nur vom PC erledigt werden. Ich sehe darin eine größere Flexilibität des Programms.

    Du solltest das genauso aufziehen wie es eine SPS auch tut:

    Alles erfolgt in einem festen Zeitzyklus.

    1. Zyklusstart: alle Eingänge lesen und in Objekten speichern (sogenanntes Prozessabbild der Eingänge, PAE)

    2. Verknüpfungslogik auf den Objekten bearbeiten, alle Ausgangswerte im Prozessabbild der Ausgänge (PAA) speichern

    3. aus den Objekten alle Werte in die Ausgänge schreiben (PAA auf Ausgänge kopieren)

    4. warte, bis Zykluszzeitende erreicht

    Zwischen PAE und PAA werden keine IO-Operationen asynchron durchgeführt. Andernfalls bekommt man nämlich allzu leicht "Glitches" auf den Ausgängen, d.h. Dinge die gleichzeitig geschaltet werden sollen erfolgen mit leichter Zeitverzögerung, das muß man vermeiden.

    Zum Thema Flexibilität: ich bezweifle aber grundsätzlich, daß Du mit dem PC eine größere Flexibilität hinbekommst, als sie eine moderne SoftSPS wie z.B. TwinCAT PLC von Beckhoff besitzt, vor allem wenn es um möglichst flexible Hardware-IOs geht.

    Es hat sicherlich seinen Reiz, wenn man nach dem PAE über eine Objektschnittstelle z.B. ein C++-Verarbeitungsobjekt für die Logik aufruft, und danach über dieses die Werte des PAA erhält. Trotzdem geht da bei mir die Warnlampe "Spielerei. Overkill." an.



  • Marc++us schrieb:

    Alles erfolgt in einem festen Zeitzyklus.

    Eben das verstehe ich unter Echtzeitfähigkeit und das ist bei Windows nunmal nicht möglich lieber Marcus! Einmal dauert ein Zyklus 20ms, das nächste mal 21, weil jemand die Maus bewegt hat (Beispiel). Für extrem langsame Prozesse ok, aber darum geht es hier ja nicht.



  • Falls ich ein kleines bisschen Werbung machen darf, sowas gibt's natürlich schon fertig und auch echtzeitfähig für Windows.

    www.3s-software.com



  • Muelli schrieb:

    Eben das verstehe ich unter Echtzeitfähigkeit und das ist bei Windows nunmal nicht möglich lieber Marcus! Einmal dauert ein Zyklus 20ms, das nächste mal 21, weil jemand die Maus bewegt hat (Beispiel). Für extrem langsame Prozesse ok, aber darum geht es hier ja nicht.

    Es gibt zahllose kaufbare Steuerungstools, mit denen man trotz Mausbewegung entsprechend arbeiten kann, und außerdem läßt sich dies auch selbst programmtechnisch über die Prozesspriorisierung erreichen.

    Ohne größere Klimmzüge kann man 10ms +- 1 ms anwenden, das ist für viele Anwendungen völlig ausreichend.

    Und wie gesagt, wer einen kleineren Jitter von sagen wir mal 10µs braucht, nimmt sowas wie Kithara dafür her.

    Apropos, selbst mit 20ms +- 1 ms wie in Deinem Beispiel kann man Prozesse schalten, die Zykluszeiten >= 50ms haben. 50ms ist für viele Steuerungsanwendungen in der Verfahrenstechnik ausreichend schnell und genau.

    Mit einem System wie von ihm beschrieben wird er ja kaum eine Roboterarmsteuerung mit unterlagerter Stromregelung schreiben... da ist auch eine schnelle CPU ohne jegliches OS rasch überfordert.



  • Sogar die Chinesen kaufen solche 'Spielereien', die laut 'Mahlzeit' ja gar nicht existieren können 🙄

    Beppo, trag' mal eine e-mail-Adresse in Dein Profil ein.
    Hier über sowas zu diskutieren resultiert komischerweise immer in unflätigen Postings. (Möglicherweise gibt's hier Mitarbeiter einer recht großen deutschen Firma die SPS herstellt, die Angst um den Absatz haben...) ( 😃 )


Anmelden zum Antworten