Fehler 3740 unbekannte Typ ´´FbDPT_TimeOfDay´´

KNX_tn

Level-2
Beiträge
37
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,
ich habe viele verschieden .Libs in der Bibliothek hinzufügt in der Hoffnung den Fehler zu beheben, trotzdem hat es nichts gebracht. Habe ich bereits in dem Forum nach einer Lösung gesucht, habe ich aber leider keine gefunden, deswegen habe ich mein Problem als Neues Thema erstellt.
Wie Würd ihr den Fehler beheben?
WAGO Controller : 750 889
ich freue auf jeden Tipp.
Lg
Screenshot (2).png
 
Die Lib für den 750-889 benötigt normalerweise die SysLibGetAddress. Wird normalerweise automatisch mit installiert wenn die Lib selber hinzugefügt wird. Keine Ahnung warum die bei dir fehlt. Einen FbDPT_TimeOfDay und einen FbDPT_Date finde ich zwar nicht, aber einen FbDPT_TimeOfDay_pro und einen FbDPT_Date_pro. Wo hast du die KNX_02 her? Dem Datum nach wäre sie ja von gestern? Aktuell wäre sie vom 27.1.2021
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen lieben Dank für die Antwort, ich entschuldige mich für die späte Antwort.
Ich habe alle SysLib... benutzt, erfolglos!!
Mein Ziel war die FbSwitch_actuator_8 auszuprobieren, (wollte nur eine Netzwerk/ein Baustein 8x Separate Eingänge und 8x separate Ausgänge ansteuern) , dafür habe ich die KNX_Applikations_02.Lib in der Bibliothek hinzufügt, dann kam den Fehler. da ich keine Lösung gefunden habe, habe ich mich entschieden die KNX_Applikations_02.Lib zu löschen und dagegen habe ich die KNX_02 Hinzufügt und den FbDPT_Switch verwendet da ich keine FbSwitch_actuator_8 habe . es ist halt sehr umständlich da ich für jede Ein/Aug ein Netzwerk und einen Baustein verwenden muss stattdessen ein Baustein für alle 8x Eingänge und ein für alles Ausgänge.
Ich bin Neu in der WAGO IO Welt, ich werde mich über jeden Tipp freuen
LG
 
Kannst du mal ein archiviertes Projekt mit der KNX_Applikations_02.Lib (mit dem Fehler) hochladen?
Danke für die Antwort,
In dem Projekt wirst du nicht viel finden außer den Fehler. ich freue mich schon über diene Lösung.
lg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast da Libs kombiniert, die nicht zusammen passen.

zur KNX_IP_750_889_02.lib gehört die KNX_02.lib, aber nicht die KNX_Applikations_02.lib, das ist eine ältere Generation.

Du kannst ja mehrere FbDPT_Switch in einen Fb packen wenn du das öfters brauchst.
 
Du hast da Libs kombiniert, die nicht zusammen passen.

zur KNX_IP_750_889_02.lib gehört die KNX_02.lib, aber nicht die KNX_Applikations_02.lib, das ist eine ältere Generation.

Du kannst ja mehrere FbDPT_Switch in einen Fb packen wenn du das öfters brauchst.
Gut zu wissen, ich habe einfach alle Libs die mit KNX zu tun habe einfach hinzufügt.
Ich finde es unpraktisch dass ich für Jede Eingang eine 1x Netzwerk und 1x Fb verwenden muss wenn z.B für 8x Eingänge muss ich 8x Netzwerke und 8 Bausteine (oder Fb) benutzen.
Du kannst ja mehrere FbDPT_Switch in einen Fb packen wenn du das öfters brauchst. ? Wie kann ich das machen?
Auf dem Bild kannst du sehen wie ich zur Zeit arbeite.
LG
 

Anhänge

  • Screenshot (5).png
    Screenshot (5).png
    141 KB · Aufrufe: 6
Also du machst einen neuen FB mit dem Namen "Aktor8" und der Programmiersprache ST.

In den Deklarationsteil kommt dann:

Code:
FUNCTION_BLOCK Aktor8

VAR_INPUT
    bSwitch1 : BOOL;
    bSwitch2 : BOOL;
    bSwitch3 : BOOL;
    bSwitch4 : BOOL;
    bSwitch5 : BOOL;
    bSwitch6 : BOOL;
    bSwitch7 : BOOL;
    bSwitch8 : BOOL;
    iSwitchStart: INT;
    bKnxMaster: BYTE;
END_VAR
VAR_OUTPUT
    bSwitchOut1: BOOL;
    bSwitchOut2: BOOL;
    bSwitchOut3: BOOL;
    bSwitchOut4: BOOL;
    bSwitchOut5: BOOL;
    bSwitchOut6: BOOL;
    bSwitchOut7: BOOL;
    bSwitchOut8: BOOL;
    bUpdatePlc1 : BOOL;
    bUpdatePlc2 : BOOL;
    bUpdatePlc3 : BOOL;
    bUpdatePlc4 : BOOL;
    bUpdatePlc5 : BOOL;
    bUpdatePlc6 : BOOL;
    bUpdatePlc7 : BOOL;
    bUpdatePlc8 : BOOL;
END_VAR
VAR
    iLoop: INT;
    abSwitch : ARRAY[1..8] OF BOOL;
    abSwitchOut : ARRAY[1..8] OF BOOL;
    abUpdatePlc : ARRAY[1..8] OF BOOL;
    mySwitches : ARRAY[1..8] OF FbDPT_Switch;
END_VAR

In den Programmteil kommt dann:

Code:
abSwitch[1] := bSwitch1;
abSwitch[2] := bSwitch2;
abSwitch[3] := bSwitch3;
abSwitch[4] := bSwitch4;
abSwitch[5] := bSwitch5;
abSwitch[6] := bSwitch6;
abSwitch[7] := bSwitch7;
abSwitch[8] := bSwitch8;


FOR iLoop := 1 TO 8 DO

mySwitches[iLoop](
    xSwitch_IN:=abSwitch[iLoop] ,
    xUpdate_KNX:= ,
    dwIndex_DPT:= (iSwitchStart+iLoop-1),
    bKNX_Master:=bKnxMaster ,
    xSwitch_OUT=>abSwitchOut[iLoop] ,
    xUpdate_PLC=> abUpdatePlc[iLoop]);

END_FOR;

bSwitchOut1 := abSwitchOut[1];
bSwitchOut2 := abSwitchOut[2];
bSwitchOut3 := abSwitchOut[3];
bSwitchOut4 := abSwitchOut[4];
bSwitchOut5 := abSwitchOut[5];
bSwitchOut6 := abSwitchOut[6];
bSwitchOut7 := abSwitchOut[7];
bSwitchOut8 := abSwitchOut[8];

bUpdatePlc1 := abUpdatePlc[1];
bUpdatePlc2 := abUpdatePlc[2];
bUpdatePlc3 := abUpdatePlc[3];
bUpdatePlc4 := abUpdatePlc[4];
bUpdatePlc5 := abUpdatePlc[5];
bUpdatePlc6 := abUpdatePlc[6];
bUpdatePlc7 := abUpdatePlc[7];
bUpdatePlc8 := abUpdatePlc[8];
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also du machst einen neuen FB mit dem Namen "Aktor8" und der Programmiersprache ST.

In den Deklarationsteil kommt dann:

Code:
FUNCTION_BLOCK Aktor8

VAR_INPUT
    bSwitch1 : BOOL;
    bSwitch2 : BOOL;
    bSwitch3 : BOOL;
    bSwitch4 : BOOL;
    bSwitch5 : BOOL;
    bSwitch6 : BOOL;
    bSwitch7 : BOOL;
    bSwitch8 : BOOL;
    iSwitchStart: INT;
    bKnxMaster: BYTE;
END_VAR
VAR_OUTPUT
    bSwitchOut1: BOOL;
    bSwitchOut2: BOOL;
    bSwitchOut3: BOOL;
    bSwitchOut4: BOOL;
    bSwitchOut5: BOOL;
    bSwitchOut6: BOOL;
    bSwitchOut7: BOOL;
    bSwitchOut8: BOOL;
    bUpdatePlc1 : BOOL;
    bUpdatePlc2 : BOOL;
    bUpdatePlc3 : BOOL;
    bUpdatePlc4 : BOOL;
    bUpdatePlc5 : BOOL;
    bUpdatePlc6 : BOOL;
    bUpdatePlc7 : BOOL;
    bUpdatePlc8 : BOOL;
END_VAR
VAR
    iLoop: INT;
    abSwitch : ARRAY[1..8] OF BOOL;
    abSwitchOut : ARRAY[1..8] OF BOOL;
    abUpdatePlc : ARRAY[1..8] OF BOOL;
    mySwitches : ARRAY[1..8] OF FbDPT_Switch;
END_VAR

In den Programmteil kommt dann:

Code:
abSwitch[1] := bSwitch1;
abSwitch[2] := bSwitch2;
abSwitch[3] := bSwitch3;
abSwitch[4] := bSwitch4;
abSwitch[5] := bSwitch5;
abSwitch[6] := bSwitch6;
abSwitch[7] := bSwitch7;
abSwitch[8] := bSwitch8;


FOR iLoop := 1 TO 8 DO

mySwitches[iLoop](
    xSwitch_IN:=abSwitch[iLoop] ,
    xUpdate_KNX:= ,
    dwIndex_DPT:= (iSwitchStart+iLoop-1),
    bKNX_Master:=bKnxMaster ,
    xSwitch_OUT=>abSwitchOut[iLoop] ,
    xUpdate_PLC=> abUpdatePlc[iLoop]);

END_FOR;

bSwitchOut1 := abSwitchOut[1];
bSwitchOut2 := abSwitchOut[2];
bSwitchOut3 := abSwitchOut[3];
bSwitchOut4 := abSwitchOut[4];
bSwitchOut5 := abSwitchOut[5];
bSwitchOut6 := abSwitchOut[6];
bSwitchOut7 := abSwitchOut[7];
bSwitchOut8 := abSwitchOut[8];

bUpdatePlc1 := abUpdatePlc[1];
bUpdatePlc2 := abUpdatePlc[2];
bUpdatePlc3 := abUpdatePlc[3];
bUpdatePlc4 := abUpdatePlc[4];
bUpdatePlc5 := abUpdatePlc[5];
bUpdatePlc6 := abUpdatePlc[6];
bUpdatePlc7 := abUpdatePlc[7];
bUpdatePlc8 := abUpdatePlc[8];
Vielen vielen Dank, nun muss ich die Fb ausprobieren.
 
Vielen vielen Dank, nun muss ich die Fb ausprobieren.
So ich habe beide Codes eingetragen, es sah alles gut aus, dann habe die Fb (ST) als Lib gespeichert dann die Lib Datei in der Bibliothek hinzufügt. leider funktioniert die Fb noch nicht, mir ist auch aufgefallen dass die Fb hat keine dwIndex_DPT, ist es nicht wichtig?
Wofür ist die iSwitchStart ?
 

Anhänge

  • Screenshot (7).png
    Screenshot (7).png
    114,6 KB · Aufrufe: 4
Hi OberChefe, ich habe eine Lösung gefunden und zwar meine eigene Fb zu erstellen (Bearbeiten ;) )
Lg
 

Anhänge

  • Screenshot (8).png
    Screenshot (8).png
    129,4 KB · Aufrufe: 7
  • Screenshot (9).png
    Screenshot (9).png
    129,9 KB · Aufrufe: 8
Zurück
Oben