Skip to main content

Compilerfehler C0165

Meldung: Variable ‚<variable name>‘, welche auf Adresse ‚<address>‘ gemappt ist, wird in verschiedenen Tasks geschrieben.

Mögliche Fehlerursache: Die Geräteeinstellung codegenerator\\check-multiple-task-output-write ist gesetzt und mehrere Tasks greifen auf den gleichen Ausgang zu.

Fehlerbehebung: Schreiben Sie einen Ausgang nur in einer festen Task. Sollen mehrere Tasks Daten für einen Ausgang berechnen, sollten Sie versuchen diese Information mittels globaler Variablen an eine feste Task zu übertragen, die die Daten dann auf einen Ausgang schreibt.

Beispiel 407. Beispiel für den Fehler:
_cds_img_error_c0165.png
PROGRAM PLC_PRG_1
VAR
    Output AT %QB7 : BYTE;
END_VAR
Output := 0;

PROGRAM PLC_PRG_2
VAR
    Output AT %QB7 : BYTE;
END_VAR
Output := 1;

Meldung:

C0165: Variable Output, welche auf Adresse QB7 gemappt ist, wird in verschiedenen Tasks geschrieben.