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

Ergebnis 1 bis 3 von 3

Thema: Beckhoff TwinCAT PLC - Zyklus - Programmabarbeitung

  1. #1
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo TwinCAT Profis

    Ich habe bereits ein wenig Erfahrung mit TwinCAT-Programmierung in ST.

    Meine Frage ist:
    Wie arbeitet die Soft-PLC das Anwenderprogramm ab und wie wird die Peripherie aktualisiert?
    Ist das mit einer SPS S7 zu vergleichen?

    Die Frage kam auf also ich in einer FOR-Schleife einen instanzierten FB aufgerufen habe.
    Der FB braucht z.B. 30ms um eine Aufgabe zu erledigen.
    Die Zykluszeit liegt bei z.B. 5ms.
    D.h. meine FOR-Schleife ist schon beim nächsten Index und ruft den FB nochmals auf befor er fertig ist.

    Ist das grundsätzlich die falsche Art zu Programmieren oder nur ein Verständisproblem?

    Bin grad verwirrt...

    Danke Mike
    Zitieren Zitieren Beckhoff TwinCAT PLC - Zyklus - Programmabarbeitung  

  2. #2
    Registriert seit
    19.10.2009
    Beiträge
    194
    Danke
    8
    Erhielt 50 Danke für 44 Beiträge

    Standard

    Die PLC arbeitet zyklisch. Am Ende der Bearbeitung der Task werden die Daten auf das Ausgangs-Prozessabbild geschrieben und die Hardware angetriggert. 30ms Ausführungszeit in einer 5ms Task sind zu lang und dann auch noch x-mal in einer Schleife, das wird zu Zykluszeitüberschreitungen führen und zu Kommunikationsausfällen von deterministischen Bussen wie Profibus oder EtherCAT.

    Die FOR Schleife ist nicht grundsätzlich falsch aber die gesamte Schleife sollte in dem SPS - Zyklus fertig werden, wenn man die Zykluszeitüberschreitungen vermeiden möchte. Ist die Zielplattform PC-basiert? Dann kann man diesen Programmpart in einer zweiten niederprioren Task aufrufen , die keinen Datenaustausch mit der Hardware durchführt. Dann tun die Zykluszeitüberschreitungen evtl. nicht weh. Die Task braucht dann vielleicht mehrere 100ms, die FOR-Schleife wird aber sauber durchgearbeitet. Die hochpriore 5ms Task unterbricht alle 5ms die langsame Task und darf natürlich nicht die Daten überschreiben, solange die langsame Task rechnet - also die Tasken müssen sich irgendwie synchronisieren.

    Gruß,
    witkatz

  3. #3
    mike_roh_soft ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    also ich habe das Programm geändert... hatte irgendwie Bauchschmerzen damit wenn FBs direkt in der FOR-Schleife aufgerufen werden

    Jetzt rufe ich meine FBs zyklisch in separaten Aktionen auf und triggere nur die StartBits der FBs in der FOR-Schleife.
    Über BusyBits frage ich ab ob die FBs fertig sind und damit bin ich ausm Schneider.

    Das Ganze ist nun sauber strukturiert und übersichtlicher!

    Danke!

Ähnliche Themen

  1. Beckhoff Twincat
    Von AdrianS im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 09.01.2012, 19:33
  2. Wie funktioniert Programmabarbeitung bei 2 vernetzten SPS'en?
    Von DanielDorn im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 30.09.2011, 08:20
  3. Beckhoff TwinCat ADS OCX und VB.net
    Von Parallax im Forum CODESYS und IEC61131
    Antworten: 36
    Letzter Beitrag: 06.04.2009, 15:31
  4. Profibus-DP-Zyklus mit OB1-Zyklus synchronisieren?
    Von Supervisor im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 08.06.2006, 13:09
  5. ? -> TwinCAT mit Beckhoff NOV/DP-RAM
    Von Kurt im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 29.09.2005, 13:27

Lesezeichen

Berechtigungen

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