-> Hier kostenlos registrieren
Hallo zusammen,
ich bin gerade dran den Datenaustausch zwischen einer 840D, NC <---> PLC zu programmieren. Hier speziell die GUDs.
Leider is dies ziemlich schwierig und die Siemens Hotline hat das wohl
auch net im Griff. Ich hoffe hier im Board sind echte Profis die mir weiterhelfen können. Ich habe folgendes Problem:
Die Datenübertragung von der NC zur PLC, sprich die GUDs lesen funktioniert so weit mal. Nur andersrum, Guds schreiben funzt net so richtig. Ich kann zwar die einzelnen GUDs z.b. MGUD oder GUD4 einzeln beschreiben, aber sobald ich mehrere GUDs beschreiben möchte gehts nimmer. Ich stell mal den Lese FB und den schreib FB hier rein. Wäre echt Klasse wenn jemand ne Idee hat.
Mit diesem FB schreibe ich den MGUD. Wenn ich nun dieselb für den UGUD anlege funktioniert das beschreiben der GUDs nicht mehr.
Mit diesem FB lese ich die GUDs, dies funktioniert auch einwandfrei.
Besten Dank schon mal an euch für die Mühen.
Gruss
ich bin gerade dran den Datenaustausch zwischen einer 840D, NC <---> PLC zu programmieren. Hier speziell die GUDs.
Leider is dies ziemlich schwierig und die Siemens Hotline hat das wohl
auch net im Griff. Ich hoffe hier im Board sind echte Profis die mir weiterhelfen können. Ich habe folgendes Problem:
Die Datenübertragung von der NC zur PLC, sprich die GUDs lesen funktioniert so weit mal. Nur andersrum, Guds schreiben funzt net so richtig. Ich kann zwar die einzelnen GUDs z.b. MGUD oder GUD4 einzeln beschreiben, aber sobald ich mehrere GUDs beschreiben möchte gehts nimmer. Ich stell mal den Lese FB und den schreib FB hier rein. Wäre echt Klasse wenn jemand ne Idee hat.
Mit diesem FB schreibe ich den MGUD. Wenn ich nun dieselb für den UGUD anlege funktioniert das beschreiben der GUDs nicht mehr.
HTML:
UN #Freigabe
R #DoneSchr
R #StartSchr
SPB M001
UN "M 0.7"
UN #StartSchr
S #StartSchr
S #SchreibAktiv
M001: CALL "PUT" , DB47
Req :=#StartSchr
NumVar :=8
Addr1 :=DB52.MGUD_INT
Unit1 :=
Column1:=W#16#B
Line1 :=
Addr2 :=DB52.MGUD_INT
Unit2 :=
Column2:=W#16#C
Line2 :=
Addr3 :=DB52.MGUD_INT
Unit3 :=
Column3:=W#16#D
Line3 :=
Addr4 :=DB52.MGUD_INT
Unit4 :=
Column4:=W#16#E
Line4 :=
Addr5 :=DB52.MGUD_INT
Unit5 :=
Column5:=W#16#19
Line5 :=
Addr6 :=DB52.MGUD_INT
Unit6 :=
Column6:=W#16#1A
Line6 :=
Addr7 :=DB52.MGUD_INT
Unit7 :=
Column7:=W#16#1B
Line7 :=
Addr8 :=DB52.MGUD_INT
Unit8 :=
Column8:=W#16#1C
Line8 :=
Error :=#Error
Done :=#DoneSchr
State :=#StateSchr
SD1 :=P#DB200.DBX 100.0 DWORD 1
SD2 :=P#DB200.DBX 100.0 DWORD 1
SD3 :=P#DB200.DBX 100.0 DWORD 1
SD4 :=P#DB200.DBX 100.0 DWORD 1
SD5 :=P#DB200.DBX 100.0 DWORD 1
SD6 :=P#DB200.DBX 100.0 DWORD 1
SD7 :=P#DB200.DBX 100.0 DWORD 1
SD8 :=P#DB200.DBX 100.0 DWORD 1
U #DoneSchr
O #Error
R #StartSchr
R #SchreibAktiv
Mit diesem FB lese ich die GUDs, dies funktioniert auch einwandfrei.
HTML:
UN #Freigabe
SPB M010
UN #DoneLesen1
UN #DoneLesen2
UN #Vorb1
S #LesenAktiv
U #Vorb1
UN #Gelesen1
S #StartLesen1
U #Vorb2
UN #Gelesen2
S #StartLesen2
U #Vorb3
UN #Gelesen3
S #StartLesen3
U #Vorb4
UN #Gelesen4
S #StartLesen4
U #ENDE
M010: R #Gelesen1
R #Gelesen2
R #Gelesen3
R #Gelesen4
R #StartLesen1
R #StartLesen2
R #StartLesen3
R #StartLesen4
R #Vorb1
R #Vorb2
R #Vorb3
R #Vorb4
R #ENDE
R #LesenAktiv
BEB
UN #ENDE
S #Vorb1
U #Gelesen1
S #Vorb2
U #Gelesen2
S #Vorb3
U #Gelesen3
S #ENDE
UN #Vorb1
O #Gelesen1
SPB M002
CALL "GET" , DB46
Req :=#StartLesen1
NumVar :=8
Addr1 :="S-Gud".SGUD_REAL
Unit1 :=
Column1:=W#16#4
Line1 :=
Addr2 :="S-Gud".SGUD_REAL
Unit2 :=
Column2:=W#16#5
Line2 :=
Addr3 :="S-Gud".SGUD_REAL
Unit3 :=
Column3:=W#16#6
Line3 :=
Addr4 :="S-Gud".SGUD_REAL
Unit4 :=
Column4:=W#16#7
Line4 :=
Addr5 :="S-Gud".SGUD_REAL
Unit5 :=
Column5:=W#16#8
Line5 :=
Addr6 :="S-Gud".SGUD_REAL
Unit6 :=
Column6:=W#16#C
Line6 :=
Addr7 :="S-Gud".SGUD_REAL
Unit7 :=
Column7:=W#16#D
Line7 :=
Addr8 :="S-Gud".SGUD_REAL
Unit8 :=
Column8:=W#16#E
Line8 :=
Error :=#Error1
NDR :=#DoneLesen1
State :=#StateLes
RD1 :=P#DB200.DBX 200.0 REAL 1
RD2 :=P#DB200.DBX 204.0 REAL 1
RD3 :=P#DB200.DBX 208.0 REAL 1
RD4 :=P#DB200.DBX 212.0 REAL 1
RD5 :=P#DB200.DBX 216.0 REAL 1
RD6 :=P#DB200.DBX 220.0 REAL 1
RD7 :=P#DB200.DBX 224.0 REAL 1
RD8 :=P#DB200.DBX 228.0 REAL 1
U #DoneLesen1
O #Error1
R #StartLesen1
S #Gelesen1
BEA
M002: UN #Vorb2
O #Gelesen2
SPB M003
CALL "GET" , DB46
Req :=#StartLesen2
NumVar :=8
Addr1 :="S-Gud".SGUD_REAL
Unit1 :=
Column1:=W#16#F
Line1 :=
Addr2 :="S-Gud".SGUD_REAL
Unit2 :=
Column2:=W#16#10
Line2 :=
Addr3 :=DB52.MGUD_INT
Unit3 :=
Column3:=W#16#4
Line3 :=
Addr4 :=DB52.MGUD_INT
Unit4 :=
Column4:=W#16#5
Line4 :=
Addr5 :=DB52.MGUD_INT
Unit5 :=
Column5:=W#16#6
Line5 :=
Addr6 :=DB52.MGUD_INT
Unit6 :=
Column6:=W#16#7
Line6 :=
Addr7 :=DB52.MGUD_INT
Unit7 :=
Column7:=W#16#12
Line7 :=
Addr8 :=DB52.MGUD_INT
Unit8 :=
Column8:=W#16#13
Line8 :=
Error :=#Error2
NDR :=#DoneLesen2
State :=#StateLes
RD1 :="GUD Daten".Reset_Standzeit_null
RD2 :=P#DB100.DBX212.0 DWORD 1
RD3 :=P#DB100.DBX216.0 DWORD 1
RD4 :=P#DB100.DBX220.0 DWORD 1
RD5 :=P#DB100.DBX224.0 DWORD 1
RD6 :=P#DB100.DBX228.0 DWORD 1
RD7 :=P#DB100.DBX232.0 DWORD 1
RD8 :=P#DB100.DBX236.0 DWORD 1
U #DoneLesen2
O #Error2
R #StartLesen2
S #Gelesen2
BEA
M003: UN #Vorb3
O #Gelesen3
SPB M005
CALL "GET" , DB46
Req :=#StartLesen3
NumVar :=7
Addr1 :=DB52.MGUD_INT
Unit1 :=
Column1:=W#16#14
Line1 :=
Addr2 :=DB52.MGUD_INT
Unit2 :=
Column2:=W#16#15
Line2 :=
Addr3 :=DB53.UGUD_INT
Unit3 :=
Column3:=W#16#4
Line3 :=
Addr4 :=DB53.UGUD_INT
Unit4 :=
Column4:=W#16#5
Line4 :=
Addr5 :=DB53.UGUD_INT
Unit5 :=
Column5:=W#16#6
Line5 :=
Addr6 :=DB53.UGUD_INT
Unit6 :=
Column6:=W#16#7
Line6 :=
Addr7 :=DB53.UGUD_INT
Unit7 :=
Column7:=W#16#8
Line7 :=
Addr8 :=
Unit8 :=
Column8:=
Line8 :=
Error :=#Error3
NDR :=#DoneLesen3
State :=#StateLes
RD1 :=P#DB100.DBX240.0 DWORD 1
RD2 :=P#DB100.DBX244.0 DWORD 1
RD3 :=P#DB100.DBX248.0 DWORD 1
RD4 :=P#DB100.DBX252.0 DWORD 1
RD5 :=P#DB100.DBX256.0 DWORD 1
RD6 :=P#DB100.DBX260.0 DWORD 1
RD7 :=P#DB100.DBX264.0 DWORD 1
RD8 :=
U #DoneLesen3
O #Error3
R #StartLesen3
S #Gelesen3
BEA
M005: UN #Vorb4
O #Gelesen4
SPB M006
CALL "GET" , DB46
Req :=#StartLesen4
NumVar :=6
Addr1 :=DB54.GUD4_INT
Unit1 :=
Column1:=W#16#4
Line1 :=
Addr2 :=DB54.GUD4_INT
Unit2 :=
Column2:=W#16#5
Line2 :=
Addr3 :=DB54.GUD4_INT
Unit3 :=
Column3:=W#16#6
Line3 :=
Addr4 :=DB54.GUD4_INT
Unit4 :=
Column4:=W#16#7
Line4 :=
Addr5 :=DB54.GUD4_INT
Unit5 :=
Column5:=W#16#8
Line5 :=
Addr6 :=DB54.GUD4_INT
Unit6 :=
Column6:=W#16#12
Line6 :=
Addr7 :=
Unit7 :=
Column7:=
Line7 :=
Addr8 :=
Unit8 :=
Column8:=
Line8 :=
Error :=#Error4
NDR :=#DoneLesen4
State :=#StateLes
RD1 :=P#DB100.DBX268.0 DWORD 1
RD2 :=P#DB100.DBX272.0 DWORD 1
RD3 :=P#DB100.DBX276.0 DWORD 1
RD4 :=P#DB100.DBX280.0 DWORD 1
RD5 :=P#DB100.DBX284.0 DWORD 1
RD6 :=P#DB100.DBX288.0 DWORD 1
RD7 :=
RD8 :=
U #DoneLesen4
O #Error4
R #StartLesen4
S #Gelesen4
BEA
M009: NOP 0
Besten Dank schon mal an euch für die Mühen.
Gruss