-> Hier kostenlos registrieren
Hallo Leute,
ich habe hier eine SPS 1511 und Programmiere im TIA V13 (ich weiß, ich bin masochistisch!).
Die 1500er unterstützen den Befehl Bloc_DB_To_Word nicht.
Dafür muss man jetzt DB_ANY_TO_UINT nehmen.
Gibt es eigentlich eine Tabelle, in der solche 300er auf 1500er Bausteinänderungen drinstehen? Für TOF auf TOF_TIME hab ich nämlich auch ein graues Haar dazu bekommen.
Nun die Frage:
Dies hier wird übersetzt:
Beim zweiten wird DB_Parkdeck unterkringelt und diese Fehlermeldung ausgegeben:
2,Eine implizite Konvertierung von Datentyp 'Block_DB' nach 'DB_ANY' ist nicht möglich.,1,0,09:52:06
Ich bin etwas ratlos. DB_Fehler und DB_Parkdeck DBs sind ganz normale DBs.
Woran liegt das?
Gruß,
Aksels
ich habe hier eine SPS 1511 und Programmiere im TIA V13 (ich weiß, ich bin masochistisch!).
Die 1500er unterstützen den Befehl Bloc_DB_To_Word nicht.
Dafür muss man jetzt DB_ANY_TO_UINT nehmen.
Gibt es eigentlich eine Tabelle, in der solche 300er auf 1500er Bausteinänderungen drinstehen? Für TOF auf TOF_TIME hab ich nämlich auch ein graues Haar dazu bekommen.
Nun die Frage:
Dies hier wird übersetzt:
Code:
[
#T_Ret := ATTR_DB(REQ := "M_True", DB_NUMBER := DB_ANY_TO_UINT("DB_Fehler"), DB_LENGTH => #T_Temp, ATTRIB => #T_Attri);
#T_DB_Len:=WORD_TO_INT(#T_Temp);
#T_FDBs:=(#T_DB_Len / 38)-1;
/CODE]
Dies hier nicht:
[CODE]
#T_Ret := ATTR_DB(REQ := "M_True", DB_NUMBER := DB_ANY_TO_UINT("DB_Parkdeck"), DB_LENGTH => #T_Temp, ATTRIB => #T_Attri);
//#T_Ret:=TEST_DB(DB_NUMBER:=BLOCK_DB_TO_WORD("DB_Fehler"), DB_LENGTH=>#T_Temp, WRITE_PROT=>#T_DB_RO);
#T_DB_Len := WORD_TO_INT(#T_Temp);
#T_FDBs := (#T_DB_Len / 38);
Beim zweiten wird DB_Parkdeck unterkringelt und diese Fehlermeldung ausgegeben:
2,Eine implizite Konvertierung von Datentyp 'Block_DB' nach 'DB_ANY' ist nicht möglich.,1,0,09:52:06
Ich bin etwas ratlos. DB_Fehler und DB_Parkdeck DBs sind ganz normale DBs.
Code:
DATA_BLOCK "DB_Fehler"
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
STRUCT
Fehler : Array[0..7] of "DT_Fehler";
END_STRUCT;
BEGIN
END_DATA_BLOCK
Code:
DATA_BLOCK "DB_Parkdeck"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
NON_RETAIN
VAR
Nr : Array[1..7] of Struct
AnzFZ : Int;
MaxAnzFZ : Int;
AnzFZAmpelRot : Int;
I_BewMeld : Bool;
I_LichtStufe : Int;
LichtStufe : Array[1..2] of Struct
LichtImmerAn : Bool;
LichtAnAbFzAnz : Int;
LichtAnAbFzAnzUndLF : Int;
LichtAnBewMeld : Bool;
LichAnBewMeldZeit : Int;
LichtAnSpindel : Bool;
LichtAnSpindelZeit : Int;
LichtAnVorhSpindel : Bool;
LichtAnVorhSpindelZeit : Bool;
Q_LichtIstAn : Bool;
END_STRUCT;
END_STRUCT;
END_VAR
BEGIN
END_DATA_BLOCK
Woran liegt das?
Gruß,
Aksels