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

Ergebnis 1 bis 3 von 3

Thema: Konkurrierende Zugriffe

  1. #1
    Registriert seit
    12.02.2016
    Beiträge
    13
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    in CodeSys 2.3 gibt es den Menüpunkt Projekt überprüfen/Konkurrierender Zugriff. Ich erhalte dann z. B. diese Ausgabe:

    %QD500..%QW1027 wird in folgenden Tasks referenziert:
    Tontraktur - LOOP_KEYBOARD.SEND_TO_MIDI (5): lMODBUS_MIDI_OUT AT %QW1000 [Schreib-Zugriff]
    Registertraktur - LOOP_KEYBOARD.SEND_TO_MIDI (5): lMODBUS_MIDI_OUT AT %QW1000 [Schreib-Zugriff]
    Reader - LOOP_KEYBOARD.SEND_TO_MIDI (5): lMODBUS_MIDI_OUT AT %QW1000 [Schreib-Zugriff]
    Event - LOOP_KEYBOARD.SEND_TO_MIDI (5): lMODBUS_MIDI_OUT AT %QW1000 [Schreib-Zugriff]

    Diese Warnung wird normalerweise angezeigt, wenn ich sowas mache wie:

    Code:
    IF a THEN
        %QW1000 := ...;
    ELSE
        %QW1000 := ...;
    END_IF
    Schreibe ich:

    Code:
    IF a THEN
        x := ...;
    ELSE
        x := ...;
    END_IF
    %QW1000 := x;
    verschwindet die Warnung. Also achte ich darauf, dass Adressen wirklich nur an einer Stelle im Programm gelesen bzw. beschrieben werden. Trotzdem erscheinen für manche Adressen immer noch die Warnungen. Was muss ich machen, damit der Compiler sich nicht mehr beschwert?

    Vielen Dank für die Antworten im Voraus!

    Viele Grüße Michael
    Geändert von m.hoeft (17.08.2016 um 08:25 Uhr)
    Zitieren Zitieren Konkurrierende Zugriffe  

  2. #2
    Registriert seit
    21.02.2011
    Ort
    Deutschland, Baden-Würtemberg
    Beiträge
    962
    Danke
    110
    Erhielt 119 Danke für 96 Beiträge

    Standard

    Hallöchen,

    also ich habe hier gerade ein etwas größeres Programm mit haufenweise gleichartiger IF Abfragen wie deiner und ich bekomme keine Fehlermeldungen/Warnungen beim Überprüfen auf Konkurierende Zugriffe.
    #
    Aber das hört sich doch so an, als würdest du die gleichen Variablen (QW1000) in 4 verschiedenen Tasks beschreiben.
    Also sollten diese 4 Tasks nicht ereingnisgesteuert sein, sodass immer nur einer der 4 Tasks aktiv ist, dann würden diese ja um das Beschreiben der Variable kämpfen.
    Sowas würde sich dann je nach Zustand der Variable in den einzelnen Tasks als "Flackern" der Variablen zeigen.


    Sollte aber eigentlich nichts mit der IF-Anweisung zu tun haben....

    Kann es leider nicht reproduzieren :/

    Gruß,
    Flo

  3. #3
    m.hoeft ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.02.2016
    Beiträge
    13
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Flo,

    vielen Dank für Deine schnelle Antwort. Mein Codebeispiel ist vielleicht nicht besonders gut, prinzipiell gilt aber das Adressen nur an einer Stelle und von einer Task beschrieben werden dürfen. In dem aktuellen Projekt wird die Variable lMODBUS_MIDI_OUT definitiv nur in einer Task benutzt und auch nur an einer Stelle beschrieben, nämlich in der Task "Tontraktur", Baustein "LOOP_KEYBOARD", Aktion "SEND_TO_MIDI". Für die anderen Tasks wird derselbe Baustein genannt, der tatsächlich nur in der ersten Task aufgerufen wird. Also eigentlich kann nichts schiefgehen oder habe ich da etwas übersehen?

    Gruß Michael

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 11.04.2014, 15:37
  2. Gleichzeitige Zugriffe auf WebVisu XC201
    Von Rene Forster im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 14.01.2010, 20:50
  3. Antworten: 5
    Letzter Beitrag: 09.04.2009, 10:17
  4. Antworten: 10
    Letzter Beitrag: 30.04.2007, 09:39
  5. SQL-Zugriffe auf WinCC User-Archiv
    Von jogi im Forum HMI
    Antworten: 1
    Letzter Beitrag: 19.10.2004, 01:04

Stichworte

Lesezeichen

Berechtigungen

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