-> Hier kostenlos registrieren
Hallo,
ich habe ein FB Baustein geschrieben der durch SFC14 Daten einlesen soll von KEB Umrichter Aber er will nicht funktionieren! Vielleicht sieht einer den Fehler auf Anhieb.
ich habe ein FB Baustein geschrieben der durch SFC14 Daten einlesen soll von KEB Umrichter Aber er will nicht funktionieren! Vielleicht sieht einer den Fehler auf Anhieb.
Code:
FUNCTION_BLOCK FB 122
TITLE =
VERSION : 0.1
VAR_INPUT
NR_ACHS_DB : INT ; //Achs-DB
AchsDB : BLOCK_DB ;
LADDR : INT ; //Übergabe-Adresse
WR_PZD : ANY ; //Any-Zeiger auf zu schreibende Prozessdaten
RD_PZD : ANY ; //Any-Zeiger auf zu lesende Prozessdaten
Reset : BOOL ;
END_VAR
END_VAR
VAR
Sy50 : STRUCT
END_STRUCT ;
Sy41 : STRUCT
END_STRUCT ;
END_VAR
VAR_TEMP
wrz : ANY ; //Anyzeiger Write Prozessdaten
rdz : ANY ; //Anyzeiger Read Prozessdaten
hexadr : WORD ; //E/A Anfangsadresse Parameterdaten
hexadr2 : WORD ; //E/A Anfangsadresse Prozessdaten
hilf_zsw : BYTE ;
fill : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =berechnung LADDR
L #LADDR; // EA-Adresse int-Format
T #hexadr; // daten im hexformat
NETWORK
TITLE =
TAR1 ;
T #ar1; // AR1 retten
TAR2 ;
T #ar2; // AR2 retten
LAR1 P##rdz;
L W#16#1002; // type byte
T LW [AR1,P#0.0];
L 8; // Anzahl Bytes
T LW [AR1,P#2.0];
L DINO; // Quell-DB NR
T LW [AR1,P#4.0];
L P##RD_PZD; // Anfang der Quelle
TAR2 ; // Ar2 in Akku -AdressOffset Multiinstanz
UD DW#16#FFFFFF; // Bereichscodierung ausblenden
+D ; // Offset dazuaddieren
T LD [AR1,P#6.0];
LAR2 #ar2; // Adressregister wiederherstellen
LAR1 #ar1;
CALL "DPRD_DAT" (
LADDR := #hexadr,
RET_VAL := #ret1,
RECORD := #rdz);
END_FUNCTION_BLOCK