Problem mit TC 3.1.4024.35

msauerpb

Level-2
Beiträge
203
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe auf meinem Testsystem jetzt mal die 3.1.4024.35 installiert. Bei der Compilierung meines bestehenden Projektes kommt seit dem an der Stelle

Code:
    // Regler 1 - Heizung
    StartUp_FPGA[14].ValUDI         := stPERS.If_CAL.udiFPGA_ActualK;
    StartUp_FPGA[15].ValUDI         := stPERS.If_CAL.usFPGA_ActualD._UDI;
    
    // Regler 2 - Wehnelt
    StartUp_FPGA[21].ValUDI         := stPERS.Uw_CAL.udiFPGA_ActualK;
    StartUp_FPGA[22].ValUDI         := stPERS.Uw_CAL.usFPGA_ActualD._UDI;

    // Regler 3 - HV
    StartUp_FPGA[27].ValUDI         := stPERS.Ua1_HVA_CAL.udiFPGA_ActualK;
    StartUp_FPGA[28].ValUDI         := stPERS.Ua1_HVA_CAL.usFPGA_ActualD._UDI;

Die folgende Fehler meldung:

Code:
Severity    Code    Description    Project    File    Line    Suppression State
Error        'StartUp_FPGA[14].ValUDI' is no valid assignment target    HV    P:\HV-Generator\TwinCat\HV_TC3_HMI_DSW_ELabor\HV\POUs\Funktions Bausteine\PersDaten\FB_CheckPers.TcPOU    65   
Error        'StartUp_FPGA[15].ValUDI' is no valid assignment target    HV    P:\HV-Generator\TwinCat\HV_TC3_HMI_DSW_ELabor\HV\POUs\Funktions Bausteine\PersDaten\FB_CheckPers.TcPOU    66   
Error        'StartUp_FPGA[21].ValUDI' is no valid assignment target    HV    P:\HV-Generator\TwinCat\HV_TC3_HMI_DSW_ELabor\HV\POUs\Funktions Bausteine\PersDaten\FB_CheckPers.TcPOU    69   
Error        'StartUp_FPGA[22].ValUDI' is no valid assignment target    HV    P:\HV-Generator\TwinCat\HV_TC3_HMI_DSW_ELabor\HV\POUs\Funktions Bausteine\PersDaten\FB_CheckPers.TcPOU    70   
Error        'StartUp_FPGA[27].ValUDI' is no valid assignment target    HV    P:\HV-Generator\TwinCat\HV_TC3_HMI_DSW_ELabor\HV\POUs\Funktions Bausteine\PersDaten\FB_CheckPers.TcPOU    73   
Error        'StartUp_FPGA[28].ValUDI' is no valid assignment target    HV    P:\HV-Generator\TwinCat\HV_TC3_HMI_DSW_ELabor\HV\POUs\Funktions Bausteine\PersDaten\FB_CheckPers.TcPOU    74

Das Array wird in einer GVL mit 92 Einträgen intialisiert.

Hat einer von Euch eine Idee wo das Problem herkommen könnte?

Danke für Eure Hilfe.

gruss
martin
 
Hab den Fehler selber gefunden.

StartUp_FPGA war in einer VAR_GLOBAL CONSTANT definiert.

Hat das CONSTANT die 3.1.4024.22 ignoriert oder einfach nur keine Meldung ausgegeben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da Du nur diesen kurzen Codeausschnitt geschickt hast, können wir nicht genau erkennen was da abläuft. Du hättest uns schon auch die entsprechenden Deklarationen schicken müssen. Mich würde dieses "Phänomen" nämlich auch interessieren.
 
Die Variable StartUp_FPGA war in einer GVL als CONSTANT definiert. Der Fehler ist direkt an der Codezeile entstanden an der ich auf diese Variable geschrieben habe.
Interessanterweise hat die TC 3.1.4024.22 kein Fehler angezeigt.
 
Offenbar ist/war Build 4024 sehr fehlertolerant, nach dem Motto "Wenn ich schon selbst so viele Fehler habe, lasse ich dem Anwender auch welche durchgehen".:D
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Martin
Ja das hatte ich alles verstanden. Aber um herauszufinden, wieso es bei 4024.22 vielleicht funktioniert hat, muss ich schon wissen, was hier genau was zugeordnet wird. Denn ich konnte ja an diesen wenigen Zeilen die Du da reingestellt hast nicht erkennen, was für ein Array "StartUp_FPGA[]" genau ist. Ein Array einer Struktur, eines Unions, ...

Aber ich habe es kurz mit einem kleinen Bsp. nachgestellt (Array einer Struktur). Es scheint wirklich so, als dass es bei der 2024.22 möglich war, in ein als konstant definiertes Array etwas reinzuschreiben. Und das verrückte daran: Der neue Wert wird sogar übernommen!
 
Ja das ist bei mir eine Struktur als Array mit ca. 90 Einträgen. Nachdem ich beim Abgleich unseres Systems da immer Werte eintrage und es fehlerfrei funktioniert hat ist mir das nie aufgefallen.

Code:
TYPE ST_StartUpEntry :
STRUCT
    Index           : WORD;             // Index im CoE-Interface
    SubIndex        : BYTE;             // Sub Index
    DataType        : BYTE;             // 0: BOOL, 1: LREAL, 2: REAL, 3: DINT, 4: UDINT, 5: INT, 6: UINT, 7: Byte
    ValB            : BOOL;             // Wert Bool;
    ValDI           : DINT;             // Wert DInt
    ValUDI          : UDINT;            // Wert UDInt
    ValI            : INT;              // Wert Int
    ValUI           : UINT;             // Wert UInt
    ValBy           : BYTE;             // Wert Byte
END_STRUCT
END_TYPE

Code:
VAR_GLOBAL {CONSTANT}
    
    StartUp_FPGA        : ARRAY [0 .. MAX_StartUpList] OF ST_StartUpEntry := [  // StartUp Tabelle
// HVA Config
        (Index := CfgLwl+2, SubIndex := 16#36, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=       16, ValBy := 0),              // LWL Out 53 - HVA0 CONVSTART
        (Index := CfgLwl+2, SubIndex := 16#37, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=       17, ValBy := 0),              // LWL Out 54 - HVA0 Clk
        (Index := CfgLwl+0, SubIndex := 16#0C, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=       17, ValBy := 0),              // LWL In  11 - HVA0 Data
        (Index := 16#80E0, SubIndex := 16#01, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=        0, ValBy := 0),              // HVA Main Enable
        (Index := 16#80E0, SubIndex := 16#0A, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=      127, ValBy := 0),              // HVA Number same Value, 15.09.2021 von 18 auf 50 erhöht, da bei 18 ca. 1 Mal/h Fehler HVA Communication Error aufgetreten ist       
        (Index := 16#80E0, SubIndex := 16#07, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=      166, ValBy := 0),              // HVA Chan 0 Filter Type       
        (Index := 16#80E0, SubIndex := 16#08, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=      166, ValBy := 0),              // HVA Chan 1 Filter Type       
        (Index := 16#80E0, SubIndex := 16#09, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=        0, ValBy := 0),              // HVA Chan 2 Filter Type       
        (Index := 16#80E0, SubIndex := 16#03, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=        6, ValBy := 0),              // HVA Clock Ticks       
        (Index := 16#80E0, SubIndex := 16#05, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=    32896, ValBy := 0),              // HVA External Delay       
        (Index := 16#80E0, SubIndex := 16#01, DataType := 6, ValB := 0, ValDI := 0, ValUDI :=           0, ValI := 0, ValUI :=        1, ValBy := 0),              // HVA Main Enable       
    ];
 
Zurück
Oben