Ausgänge lassen sich forcen, werden aber vom Programm nicht beschrieben?

controlmyhome

Level-1
Beiträge
74
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Freunde,

neuer Tag neues Problem...

Ich habe die I/Os der Haus-Etagen mit LightBus Buskopplern BK2000 realisiert.

Die I/Os im Erdgeschoss am ersten Slave funktionieren offenbar (Rolladensteuerung mit OSCAT BLIND_INPUT und BLIND_CONTROL_S).

Die im 1.OG irgendwie nicht.

Ich kann im System Manager online die physikalischen Eingänge sehen und kann auch die Ausgänge forcen.

Im CFC Programm sieht es online so aus, als ob die Ausgänge der Bausteine nicht auf die Ausgangsvariablen geschrieben werden.

Den Eingang S1 bzw. S2 kann ich forcen (wird blau mit roter Schrift). Das Signal geht durch alle Bausteine, der letzte FB Ausgang (kurze Linie hinter dem FB und auch die interne Variable) wird TRUE und damit Blau, der Variablenname jedoch nicht.

Das Löschen der Ausgänge, Neuerstellung derselben, Speichern, Alles übersetzen und Online Einloggen brachte keinen Erfolg.

Woran kann das liegen?

Es scheint ein Programmfehler zu sein, der aber nicht beim ersten Slave auftritt.
 
Ich hab grad nochmal nachgesehen, ob die Bausteine im CFC in der richtigen Reihenfolge abgearbeitet werden.


Das stimmt soweit alles...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kontrolliere mal, ob der Ausgang mehrfach beschrieben wird.
Im Codesys oben auf Projekt, überprüfen, mehrfach schreiben auf Output.

Hatte ich auch mal... Passiert häufiger durch kopieren und nicht alle Variablen umschreiben.
 
Wieder ein Volltreffer- 'n Haufen gute Jungs hier... :ROFLMAO:

Ich hatte schon so ein Gefühl, als ob die Variable (z.B. Motor_1OG_SZ_Auf) irgendwo im Programm eins drübergebügelt bekommt.

Deshalb habe ich penibel überprüft, ob ich beim kopieren des Rollo Programms für die weiteren Räume vielleicht die Variablen nicht konsequent umbenannt habe.

War aber alles Richtig.

Der Fehler liegt im Deklarationsteil - wie ich durch den obigen Tip nun herausfand.

Ich habe die Variablen fürs Erdgeschoss getippt und dann mit Copy&Paste auch fürs erste Obergeschoss.

Dann überall aus "EG" ein "1OG" gemacht und die Raum-Kürzel angepasst.

Was ich nicht angepasst habe waren die "AT %QXxyz".

Das hat zu Doppelbelegungen geführt.


An den Variablennamen hätte ich mir ein Dreijähriges (Jubiläum) suchen können...



Danke nochmal!


P.S.: Wie excessiv wird hier im Forum im allgemeinen der "Danke" Button benutzt?

Der Tip war ein Volltreffer - genau wie die Schriftart von vorhin oder gestern oder so.
 
Du kannst bei den Variablenaddressen für die E/As auch AT %I* oder AT%Q* schreiben. Dann legt der Kompiler die Adressen fest und du hast keine Probleme mit Doppelbelegungen. Ausserdem hält der Kompiler automatisch die Fragmentierung gering.
 
Zurück
Oben