S7 Get Fehler

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe bei einem Get-Baustein den Fehler 25, aber was bedeutet das, in der Hilfe steht ja nur 20 und dann geht es auch schon mit 27 weiter :-(


Habe es gerade weiter oben in der Fehlerliste gefunden, dort steht Auftrag angestoßen und in bearbeitung. Beudeutet es also, dass ich eigentlich in dem Sinne gar keinen Fehler habe?
 
Lifebit zu langsam

Also aufgefallen ist es mir, dass sich werte, die toggeln, wie zB ein lifebit fast garnicht ändern. dh. die kommunikation läuft nur alle 2 sekunden. aber warum ist das so? kann mir da jemand auf die sprünge helfen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
25 ist beim Get kein Fehler, sondern zeigt an dass der Auftrag gerade läuft.
Du bekommst so oft einen neuen Wert, so oft du auch den Get Baustein antriggerst. Vor einem erneuten Antriggern musst du aber abfragen ob der vorige Auftrag auch abgeschlossen ist. Wenn du das nicht machst dann bekommst du Status 11 ausgegeben.

Wie wird dein Get denn aufgerufen, hast du dir die Siemens Beispiele angesehen?
 
Ok

Danke schon mal für die Auskunft, also ich habe es genauso wie im Siemensbeispiel gemacht. er überträgt ja auch alles, aber irgendwie nicht so schnell. bei 3 maschinen funktioniert es, bei 2 anderen nicht. weis nicht mehr, wass ich machen soll, die pings sind auch ok.
Im Siemens beispiel wird auch bei einem error geresettet, das müsste ich dann ja noch un verknüpfen mit status = 25, denn wenn es die 25 bringt, bringt er auch das error bit
 
Moment :)

Habe gerade gesehen, dass bei den "OK" Maschinen nur der status 25 ist und kein error anliegt. bei den anderen steht die 8 an. ("Zugrifsfehler auf der Partner CPU") aber die any pointer passt. was kann das denn noch sein? wieviel byte kann ein get block? 160, oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe gerade gesehen, dass bei den "OK" Maschinen nur der status 25 ist und kein error anliegt. bei den anderen steht die 8 an. ("Zugrifsfehler auf der Partner CPU") aber die any pointer passt. was kann das denn noch sein? wieviel byte kann ein get block? 160, oder?

160 gehen immer, bei einer aktuellen 300er CPU geht mit einem Get Aufruf auch ein Block von 222 Bytes.
Ist der Datenbaustein in der Partner-CPU denn lang genug oder überhaupt vorhanden? Wenn nicht (zu kurz oder nicht da) gibt es nämlich den Status 8.
 
Achso, ein Lebensbit welches z.B. im Sekundentakt blinkt ist manchmal nicht besonders hilfreich um den Datenaustausch zu beobachten. Mal angenommen dein Datenaustausch läuft zufällig im gleichen Takt wie der des Blinktaktes siehst du nämlich kein Lebensbit blinken.
 
Ok

Ja der baustein ist genauso lang und auch online vorhanden.
OK mit dem takt gebe ich dir recht. funktioniert aber ja bei den anderen Maschinen
 
auch bei kleinen mengen

Der fehler tritt auch auf, wenn ich einen ANY zeigen z.B. DB161.dbx0.0 Byte 2 auf beide adressen lege. kann aber doch nicht sein. Was könnte denn da noch falsch sein? oder was könnte den Fehler veruhrsachen?
 
Fehler eingegrenzt

Wenn ich den 2. Getaufruf weglasse, dann funktioniert es, es sieht auch so aus, als würde der länger anstehen. habe es wie gesagt, wie im siemens beispiel gemacht. weis keiner mehr Rat? :-(
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich den 2. Getaufruf weglasse, dann funktioniert es, es sieht auch so aus, als würde der länger anstehen. habe es wie gesagt, wie im siemens beispiel gemacht. weis keiner mehr Rat? :-(

Wo kommt denn jetzt auf mal der 2. Get-Aufruf her? Zeig doch mal den entsprechenden Programmcode, wer weiß was du da sonst noch so alles drin hast.
 
Fehler gefunden

Habe heute Mittag noch den Fehler gefunden, war ein copy paste fehler, da der 1. und der 2. get befehl den gleichen instanz db benutzten. man konnte es durch den EN eingang tricksen, aber ich denke ich werde einen multiinstanz fb erstellen
 
Zurück
Oben