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

Ergebnis 1 bis 6 von 6

Thema: TC3: Frage zur Aktualisierungszeit gemappter I/O-Variablen

  1. #1
    Registriert seit
    13.12.2011
    Beiträge
    956
    Danke
    88
    Erhielt 95 Danke für 92 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich möchte gerne über eine schnellere Task (<<10ms) auf einen Eingang zugreifen. Welcher das sein wird weiß diese Task jedoch nicht, eine langsamere Task, in der dieser Eingang mit "AT %I*" angelegt ist, übergibt der schnellen Task über eine globale Variable einen Pointer auf diese Variable. Da ich nicht genau weiß was beim Mapping alles passiert würde mich jetzt mal interessieren, mit welcher Geschwindigkeit die dereferenzierte Variable in der schnellen Task aktualisiert wird, mit der Zykluszeit der I/O-Task oder mit der Zykluszeit der langsamen Task? Das das Programm der schnellen Task die Variable natürlich nur so schnell auswertet wie ihre Zykluszeit ist, ist mir dabei klar.

    Gruß

    Oliver
    Geändert von oliver.tonn (09.09.2016 um 12:06 Uhr)
    Zitieren Zitieren TC3: Frage zur Aktualisierungszeit gemappter I/O-Variablen  

  2. #2
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    661
    Danke
    60
    Erhielt 112 Danke für 80 Beiträge

    Standard

    Das sollte die "langsamere" Task sein.

    Frage ist natürlich noch, wie bekommt diese Task die Daten selber?

    Hardware I/O, irgendein Bus mit im Spiel, z.B. CAN oder EtherCat?

    Dann wird das noch komplizierter mit der Beurteilung.
    Als Freelancer immer auf der Suche nach interessanten Projekten.

  3. #3
    Registriert seit
    13.12.2011
    Beiträge
    956
    Danke
    88
    Erhielt 95 Danke für 92 Beiträge

    Standard

    Hallo RobiHerb,
    Zitat Zitat von RobiHerb Beitrag anzeigen
    Das sollte die "langsamere" Task sein.
    die Antwort war richtig.
    Ich hatte heute ein Gespräch mit Beckhoff und da kam genau das bei raus, allerdings kann man daran etwas ändern. Es gibt das Attribut Pragma "TcContextName", übergibt man diesem eine andere Task wird die Variable in der Zykluszeit dieser Task aktualisiert.


    Beispiel:
    Code:
    {attribute 'TcContextName':='Task2'}
    b_Test AT %I* : BOOL;
    Die Variable b_Test wird in der Zykluszeit der Task "Task2" aktualisiert.
    Ein großes Dankeschön an Herrn Hansmann von Beckhoff.

    Allerdings läuft das Ganze nicht mit jeder Version. Ich habe es mit der 4018.44 und der 4020.14 erfolgreich getestet.

  4. #4
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.240
    Danke
    193
    Erhielt 201 Danke für 185 Beiträge

    Standard

    In TC2 kann man im Systemmanager per Drag&Drop die Variablen den Task's zuordnen. So wie ich die entsprechenden Dokumente verstanden habe, wird die Variable dann im jeweiligen Zyklus aktualisiert. Praktisch konnte ich das nachvollziehen, da ich einen durch eine schnelle Task gut ausgelasteten CX9010 am laufen habe. In der schnellen Task sieht man die Auswirkungen dann deutlich, je nachdem an welche Task man die E/A's dranhängt. Das ist dann völlig egal, wo die im Programm definiert sind (global, lokal).
    Per Pragma ist bei umfangreichen Mappings natürlich bequemer. Geht m.W bei TC2 leider nicht.
    Geändert von weißnix_ (12.09.2016 um 22:28 Uhr)

  5. #5
    Registriert seit
    11.07.2011
    Beiträge
    65
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    @weissnix
    Du hast vollkommen recht. Bei TC2 ist es so wie Du es sagst.
    Hier geht es jedoch um TC3 und da kann man es per Attribut übersteuern.

  6. #6
    Registriert seit
    27.11.2009
    Beiträge
    182
    Danke
    1
    Erhielt 28 Danke für 27 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von oliver.tonn Beitrag anzeigen

    Beispiel:
    Code:
    {attribute 'TcContextName':='Task2'}
    b_Test AT %I* : BOOL;
    In Ergänzung dazu: Das Attribute kann man auch über eine ganze Globale Variablen-Liste schreiben um das Verhalten für alle Variablen zu erzwingen und kann dennoch innerhalb der GVL das Attribute nochmal verwenden um es für einzelne Teilnehmer dann doch wieder anders zu machen..

  7. Folgender Benutzer sagt Danke zu KGU für den nützlichen Beitrag:

    oliver.tonn (20.09.2016)

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 01.12.2014, 10:57
  2. Frage zur Weiterbildung
    Von Gast_tar im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.04.2011, 10:11
  3. Frage zur Regelung
    Von ETim im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 26.08.2009, 09:45
  4. Antworten: 15
    Letzter Beitrag: 09.04.2009, 20:57
  5. Aktualisierungszeit
    Von breno im Forum HMI
    Antworten: 3
    Letzter Beitrag: 25.02.2009, 20:22

Lesezeichen

Berechtigungen

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