TC3: VS markiert Fehler (z.B. BOOL nicht in UINT konvert.), übersetzt aber Fehlerfrei

Beiträge
5.697
Reaktionspunkte
1.182
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
mein VS verhält sich etwas seltsam. Im Editor werden viele Stellen als Fehlerhaft markiert (rote Wellenlinie) das Projekt lässt sich aber fehlerfrei übersetzen und einspielen. Zum Beispiel habe ich viele Bitzugriffe, diese spreche ich nicht über Nummern (z.B. Variable.1) an, sondern ich habe dafür Konstanten in einer GVL angelegt und nutze diese (z.B. Variable.Bit1). Weise ich einem Bit einer Variable (Struktur) einen Wert zu und nutze zur Wahl des Bits die Konstante erhalte ich zwei Fehlermeldungen. Befindet sich der Mauszeiger über dem Variablennamen meldet VS, dass die Variable keine Struktur sei:
VS_Fehler_Konstante01.png
Befindet sich der Mauszeiger jedoch über der Konstanten meldet VS es könne ein BYTE nicht in BOOL konvertieren:
VS_Fehler_Konstante02.png

Bei einer If-Abfrage hat VS dann auf einmal keine Probleme mehr mit der Konstanten, denn diese wird nicht mehr angemeckert, dafür aber mit anderen Variablen/Strukturen. Bei folgenden Beispiel werden auch nicht vorhanden Fehler gemeldet:
VS_Fehler_Konstante03.png
Bei der ersten Bedingung meldet VS er könne ein BOOL nicht in UINT konvertieren, die Zweite ist (mal wieder) angeblich keine Struktur und bei der Dritten kann er von BOOL nicht in USINT konvertieren.
 
Zuletzt bearbeitet:
Scheint ein grundsätzliches Problem von Visual Studio zu sein, auf jeden Fall ist dieser Effekt bei mehreren Versionen (Auch VS 2017) zu beobachten. Kopiert man z.B. die Deklaration einer Variable und ändert dann den Variablennamen der Kopie wird teilweise trotzdem noch eine mehrfache Variablendeklaration mit dem alten Namen angemeckert. Nachdem Erstellen verschwindet die Markierung dann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Oliver,
Haben hier das gleiche Problem, nur sind die Strukturen weit weniger verschachtelt. Ich bin mir mittlerweile nicht mehr sicher ob das überhaupt von Beckhoff gelöst werden kann.
Hast du schon mal probiert ein Ticket bei Codesys zu lösen? Auch als Beckhoff Anwender kannst du solche Dinge bei Codesys melden und sollte es deren Softwareteile betreffen, werden die das auch fixen (zumindest wurde mir das am Codesys Stand auf der Messe so erklärt). Dauert dann halt ein wenig bis Beckhoff das durch den regelmäßigen Releasezyklus einpflegt.
Ich hab letztens mal über das Kontaktformular bei Codesys was gemeldet, bisher aber noch keine Rückmeldung bekommen.
Sg
M.
 
Zurück
Oben