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

Ergebnis 1 bis 6 von 6

Thema: Probleme beim Starten des Programms

  1. #1
    Registriert seit
    25.10.2007
    Beiträge
    32
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    betreibe ein WAGO 758-870 mit Codesys, und habe das Problem, dass nach einem Programmstart das Programm losläuft aber noch nicht alle Eingänge eingelesen sind. Ich bekomme dann natürlich erstmal unzählige Störmeldungen und Fehlfunktionen.
    Sollte das Programm nicht eigentlich erst automatisch loslaufen nachdem alle Eingänge eingelesen wurden ?
    Also so: Eingänge einlesen -> Programmzyklus -> Ausgänge schreiben, u.s.w. ...
    Nach einem Power off/on ist es immer ganz schlimm. Was mache ich falsch ?

    Grüsse,
    Dieter
    Zitieren Zitieren Probleme beim Starten des Programms  

  2. #2
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Also ich finde das jetzt nicht gerade ungewöhnlich.
    Wir programmieren immer einen "Verzögerungsmerker", der vom 1. Zyklus nach z.B. 15 Sekunden (unsere Anlagen haben viel Zeit) auf high gesetzt wird und anzeigt, dass jetzt alles da sein müsste.

    Wie du den ersten Zyklus erkennst, ist hardwareabhängig.

    Bedenke, dass ja nicht nur die SPS und ihre Peripherie Zeit zum Booten braucht, auch externe prozessorgesteuerte Auswertegeräte brauchen mitunter mehrere Sekunden zum Hochfahren.

  3. #3
    Registriert seit
    25.10.2007
    Beiträge
    32
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Da hast du schon recht.
    Aber bei mir ist nichts was hochlaufen muss. Alle Ein- und Ausgabegeräte hängen an 11 verschiedenen Profibuscontrollern, und diese werden nicht ausgeschaltet. Also bleiben alle Eingänge doch statisch unverändert, oder ?
    Oder werden die Profibuscontroller bei einem Programmstart auch automatisch mit zurückgesetzt ?

    Wie machst du das mit dem Verzögerungsmerker ?
    Ich kann beim Event 'Programmstart' eine Flag setzen. Mit dieser Flag dann eine Task starten, die einen Timer ablaufen lässt, und dann den Verzögerungsmerker auf high setzt, und dann die eigentlichen Programmtasks erst starten mit dem Event 'Verzögerungsmerker=high'.
    Ist das so in etwa richtig gedacht ?

    Grüsse,
    Dieter

  4. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    Ich vermute mal, das der Profibus-Zyklus ebenfalls wie bei anderen Herstellern AZyklisch zum normalen Zyklus ist,
    was heißt, das der Zyklus mit Sicherheit schon starten wird, bevor alle Profibus-EA's eingelesen sind.

    Mit dem Event "Start" setzt du einen Merker, dieser Merker unterbindet dann in deinem "normalen" Programm,
    einfach so Sachen wie div. Störmeldungen, ebenfalls ist er in Startbedingungen von irgendwelchen Automatik-Abläufen enthalten...
    Und wird halt im normalen SPS-Zyklus nach X Sekunden wieder zurückgesetzt.

    Außerdem: Der Tasktyp "Ereignis" ist nur eine einmalige Geschichte, also im Grunde die Auswertung einer Flanke,
    von irgend einer Variable.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #5
    Registriert seit
    25.10.2007
    Beiträge
    32
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Mit dem Event "Start" setzt du einen Merker, dieser Merker unterbindet dann in deinem "normalen" Programm,
    einfach so Sachen wie div. Störmeldungen, ebenfalls ist er in Startbedingungen von irgendwelchen Automatik-Abläufen enthalten...
    Und wird halt im normalen SPS-Zyklus nach X Sekunden wieder zurückgesetzt.
    D.h. ja ich kann nicht die ganze Task erst später starten, sondern muss den Merker an allen kritischen Stellen im Programm abfragen, richtig ?

  6. #6
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dann bist du halt am flexibelsten mit der Verzögerungszeit.

    Du kannst auch den Task unterbinden, bzw. erstellst ein PRG von dem aus du alle sonstigen Programme,
    in entsprechender Reihenfolge startest, und gewisse Programmteile halt einfach im Aufruf unterbindest.

    Den kompletten Task zu unterbinden, würde ich persönlich eher vermeiden.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

Ähnliche Themen

  1. Wie beim Starten von WinCC Merker setzen?
    Von Holcapone im Forum HMI
    Antworten: 10
    Letzter Beitrag: 10.11.2009, 15:38
  2. Antworten: 3
    Letzter Beitrag: 12.08.2009, 21:13
  3. Hilfe!!!!!!!!! Probleme beim laufen des Programms.
    Von leonardo im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 28.04.2009, 19:56
  4. Fehler beim Einspielen eines Programms
    Von dietere im Forum Sonstige Steuerungen
    Antworten: 0
    Letzter Beitrag: 15.02.2008, 11:49
  5. Probleme beim speichern beim Symatic Manager
    Von Anonymous im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 10.06.2005, 06:36

Lesezeichen

Berechtigungen

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