Wie prog. man einen direkten Zugriff auf Eingänge? (AG135/155U CPU 928B)

kraut

Level-1
Beiträge
23
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wir haben ein großes Problem mit der Platinen Stapelvorrichtung an einer großen Beschichtungsanlage. Die Platinen werden nach der Schlagschere auf einem Band mit ca.50m/min befördert. Nach ein paar Sekunden wird das Band durch den ersten Sensor auf ca. 2m/min abgebremst, ca. 20cm später kommt der Stopp Sensor. Beim erreichen des Stopp Sensors wird das Band gestoppt und die Platine wird von einem Leger aufgenommen und auf einer Palette abgelegt.
Nun ist das Problem das zwischen den einzelnen Platinen oft ein Versatz von ca. 5cm ist und manchmal sogar ca. 20cm. Man sieht, dass der Punkt wo die Platine abbremst stark schwankt. Manchmal ist ein abbremsen der Platine garnicht mehr erkennbar, d.h. das Band wechselt direkt von Schnell zu Stopp. Dann ist der Versatz auch am größten.
Da die Anlagen im Verlauf der Jahre immer schneller gemacht wurde und weil wir das Problem bei beiden Anlagen mit jeweils 2 Legern haben vermute ich, dass die Zykluszeit das Problem ist. Man kann auch nicht einfach die Sensoren weiter auseinander stellen weil der Zeitverlust durch den dann längeren Schleichgang zu groß wäre.
Nun habe ich versucht die Eingänge für langsam E89.6 und den für Stopp E89.7 mit dem OB11 (Weckalarm OB 20ms) einzulesen. Im nächsten Schritt wollte ich dann den PB der die Sensoren auswertet ebenfalls per OB11 aufrufen. Leider hat das einlesen nicht funktioniert. Ich habe es mit folgendem Code versucht:

OB11

L PY89
T MB200


(AG135/155U CPU 928B)

Das Bitmuster von PY89 entsprach aber leider nicht dem vom EB89 und ich weiß nicht warum. Im Handbuch und auch hier im Forum habe ich leider nicht die Ursache gefunden. Kann es daran liegen das die Eingangskarte vom EB89 an einer E100U Anschaltbaugruppe hängt?

Gruß
kraut
 
ET100U ? das ist ein langsamer bus (max. 375kbit/s).
wie schnell läuft der bus bei euch. evtl die busgeschwindigkeit erhöhen.
am besten aber die signale direkt auf eine eingangskarte im cpu-rack ziehen und dann dort auswerten.
das sollte dann auch mit dem L PY funktionieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Soweit ich noch weiss, greift man mit L PY ... direkt auf die P-Peripherie ohne PAE oberhalb der Peripherie mit PAE zu (abs. Adresse im Bereich F000-F07F). Die Peripherie mit PAE liegt im abs. Bereich EF00-EF7F.

Über die Anschaltungen IM 304, IM 307 und IM 308 kann man mit dem Programm auch auf dezentrale Adreßbereiche zugreifen. Das sind neue, dem Q-Bereich gleichwertige Adreßbereiche (abs. Bereich F100-F1FF)
Ein Zugriff auf diese Bereiche ist aber im Gegensatz zum Q-Bereich nur über absolute Adressierung oder mit dem FB 196 aus dem Softwarepaket "Grundfunktionen" möglich.

 
Positionieren über SPS das ist so'ne Sache. Wenn man keine schnelle SPS hat (Zykluszeit < 1ms incl. Aktuallisierung aller E/A), dann wird's i.d.R. schwierig.

In so einem Fall würde ich die Eingänge der Stop-Sensoren parallel (evtl. Entkoppeln mit Optokoppler) auf den Umrichter verdrahten. Die SPS löst dann den nur Start aus und der Umrichter stoppt, sobald die Sensoren belegt sind. Wenn Ihr keinen Umrichter habt, kann man so eine Art Selbsthalteschaltung bauen. So wäre man Bus- und SPS-Zyklus unabhänig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da die Anlagen im Verlauf der Jahre immer schneller gemacht wurde und weil wir das Problem bei beiden Anlagen mit jeweils 2 Legern haben vermute ich, dass die Zykluszeit das Problem ist.

Wie schnell ist das Band und welche Zykluszeit ist aktuell?
Denn zwischen 5 und 20 cm, das ist doch eine Welt :confused:
Warum soll die Zykluszeit eigentlich schwanken?
Bei zyklischer Bearbeitung sind normal plus minus 10ms, wenn vernünftig programmiert wurde.
Schwankt die sehr, würde ich da zuerst ansetzen.


bike
 
Hallo bike,

niemand schreibt, das die Zykluszeit stark schwankt. Ich dachte, dass ich vielleicht was übersehen habe und habe das nochmal mit der Volltextsuche überprüft. Das Einzige was schwankt ist die Position der Platine.

Aber selbst, wenn die Zykluszeit nicht schwankt, ergeben sich Positionsschwankungen schon bereits daraus, das ein Zyklus existiert und die Sensoren nicht synchron zum Zyklus arbeiten wollen. Mal schaltet der Sensor kurz vor Zyklusbeginn mal am Ende mal mittendrin. Der TE versucht das betreits dadurch zu umgehen, das er den Zustand des Eingangs ausserhalb vom PAE einzulesen und zu auserhalb des SPS-Zyklus zu verarbeiten. Das Ergebniss hat er hier dokumentiert.

Erschwerend kommt noch hinzu, das hier ein 2. wahrsch. noch langsamerer Buszyklus mitläuft. Das Ganze Asynchron - Da kann schon einiges zusammenkommen.

Positionierschwankungen von 5-20cm sind in der Tat extrem, da stimme ich Dir zu insbesondere bei einer Geschwindigkeit von 83 cm/sec.

@kraut: Das ist wiklich sehr extrem. Die Aktuallisierungsrate scheint bei 250ms zu liegen, das heist 4x je Sekunde. Wahrscheinlich ist die CPU schon am Ende. Ich würde das auf jeden Fall direkt machen, so wie ich es oben beschrieben habe.
 
Zuletzt bearbeitet:
Kannst du den nicht grundsätzlich an den Einstellungen etwas ändern:
- Eilgang auf Schleichgang Strecke vegrößern
- Schleichgangstrecke vergrößern
- Positoniergeschwindigkeiten herabsetzten

Das ist ja gerade nicht eine neue Steuerung die ihr da habt, hat das den
jemals schon gelaufen oder rüstest du das nach?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo bike,

niemand schreibt, das die Zykluszeit stark schwankt. Ich dachte, dass ich vielleicht was übersehen habe und habe das nochmal mit der Volltextsuche überprüft. Das Einzige was schwankt ist die Position der Platine.

Aber selbst, wenn die Zykluszeit nicht schwankt, ergeben sich Positionsschwankungen schon bereits daraus, das ein Zyklus existiert und die Sensoren nicht synchron zum Zyklus arbeiten wollen. Mal schaltet der Sensor kurz vor Zyklusbeginn mal am Ende mal mittendrin. Der TE versucht das betreits dadurch zu umgehen, das er den Zustand des Eingangs ausserhalb vom PAE einzulesen und zu auserhalb des SPS-Zyklus zu verarbeiten. Das Ergebniss hat er hier dokumentiert.

Erschwerend kommt noch hinzu, das hier ein 2. wahrsch. noch langsamerer Buszyklus mitläuft. Das Ganze Asynchron - Da kann schon einiges zusammenkommen.

Positionierschwankungen von 5-20cm sind in der Tat extrem, da stimme ich Dir zu insbesondere bei einer Geschwindigkeit von 83 cm/sec.

@kraut: Das ist wiklich sehr extrem. Die Aktuallisierungsrate scheint bei 250ms zu liegen, das heist 4x je Sekunde. Wahrscheinlich ist die CPU schon am Ende. Ich würde das auf jeden Fall direkt machen, so wie ich es oben beschrieben habe.

Danke dass du mir die PLC erklärst.

Wenn die Position so stark schwankt und der TE denkt es liegt an der Zykluszeit, dann ist doch das Naheliegendste zu fragen, wie groß die Zykluszeit ist und ob diese und in welchem Rahmen schwankt.
Dass der Bus diese Differenzen verursacht klingt auch nicht ganz schlüssig.
Daher der Versuch die Umgebung zu erfassen, um einen sinnvollen Hinweis geben zu können.
Es ist nach meiner Erfahrung der falsche Weg etwas zu versuchen ohne die Ursache geklärt zu haben.


bike
 
Also ich stimme bike da zu.
als erstes zykluszeit messen. dann schauen wie lange der eingang ansteht. der sollte 3-4 mal länger anstehen als die zykluszeit.
wenn die zykluszeit zu lang ist, bleibt dir noch der ob11. oder cpu tauschen.

Code:
ob 11
L PYxx
t mb xx

das sollte eigentlich funktionieren. tut es auf jeden fall bei der cpu 945/948. ich hoffe du hast dir das mb200 nicht in der variablentabelle (oder wie heist das bei S5?) angeschaut. siemens nutzt diesen merkerbereich als schmiermerker. daher könnten die unterschiede kommen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
erstmal Danke für die zahlreichen Antworten. Folgendes noch zur Hardware: Die Bänder werden von Siemens Servomotoren angetrieben. Im Schaltschrank sitzt für jeden Motor ein Servomodul, das analog von der SPS angesteuert wird, deshalb wird eine direkte Ansteuerung der Servomotoren schwierig. Simodrive schimpft sich das System wenn ich mich nicht irre, jedenfalls ist es ca. 20 Jahre alt. Ich bin erst wieder am Dienstag auf Arbeit, außer das Bereitschaftstelefon klingelt vorher :sad:. Der Anlagenteil hat schon immer Probleme gemacht wegen der unterschiedlichen Platinen (Material, Oberfläche, Farbe). Anfangs hat man Sonar-Sensoren verwendet, seit ein paar Jahren werden Licht-Sensoren verwendet und zu allem Überfluss schüsseln manche Produkte, was die Sache nicht einfacher macht. Bei der dritten Anlage soll jetzt auch noch eine Stapelvorrichtung kommen, aber mehrere Maschinenbauer haben bereits abgewunken:razz:. Aber das Problem ist eben auch bei den Platinen, die flach wie ein Brett auf dem Band liegen.

Die genaue Zykluszeit kenne ich nicht. In der CPU ist zwar ein Siemens-OB/FB (bin mir jetzt nicht sicher) für die Auswertung der Zykluszeit aber da steht nix drinn. Wie kann man die Zykluszeit am schnellsten ermitteln? Ich bin jetzt nicht sooo fit auf der S5 ......
-Wie schnell der Bus ist weiß ich leider nicht, wo lässt sich das einsehen bzw. einstellen?
-spezielle Software Pakete wie die "Grundfunktionen" haben wir glaube ich nicht, aber ich werde am Dienstag mal nachsehen ob es einen FB 196 gibt
-die Position der Sensoren sowie die Geschwindigkeit für Schleichgang und Positionierung sind eigentlich ausgereizt. Da kommt es auf jede Sekunde an. Wenn wir da mehr Zeit durch ein langsameres Band bzw. einen längeren Schleichweg verlieren, dann müsste die Liniengeschwindigkeit reduziert werden und das wollen die Verantwortlichen ums verrecken nicht. :sad:
-die Signale der Sensoren stehen so lange an, bis die Platinen vom Leger aufgenommen werden, es könnte höchstens sein das sie mal flattern. Wäre vielleicht nicht verkehrt die Signale auf ein S/R Glied zu führen.....
-ich habe mir bei meinem Versuch den OB11 im Bausteinstatus angesehen. Ein Bit in der Zeile L PY89 war recht flatterhaft die anderen immer 0. In der Zeile T MB200 wurde dies dann 1:1 abgebildet. Beim EB89 waren aber mehrere Bits permanent 1. Laut der E/A/M Belegung bzw. Querverweis war MB200 nicht verwendet aber wenn die SPS intern den Bereich verwendet :sad:. Wie kann ich denn sicher gehen, dass ein MBxy auch nicht durch interne Prozesse verwendet wird?
Aber selbst, wenn die Zykluszeit nicht schwankt, ergeben sich Positionsschwankungen schon bereits daraus, das ein Zyklus existiert und die Sensoren nicht synchron zum Zyklus arbeiten wollen. Mal schaltet der Sensor kurz vor Zyklusbeginn mal am Ende mal mittendrin. Der TE versucht das betreits dadurch zu umgehen, das er den Zustand des Eingangs ausserhalb vom PAE einzulesen und zu auserhalb des SPS-Zyklus zu verarbeiten. Das Ergebniss hat er hier dokumentiert.
Genau das ist meine Vermutung.
 
]-spezielle Software Pakete wie die "Grundfunktionen" haben wir glaube ich nicht, aber ich werde am Dienstag mal nachsehen ob es einen FB 196 gibt

-ich habe mir bei meinem Versuch den OB11 im Bausteinstatus angesehen. Ein Bit in der Zeile L PY89 war recht flatterhaft die anderen immer 0. In der Zeile T MB200 wurde dies dann 1:1 abgebildet. Beim EB89 waren aber mehrere Bits permanent 1.

Laut der E/A/M Belegung bzw. Querverweis war MB200 nicht verwendet aber wenn die SPS intern den Bereich verwendet :sad:. Wie kann ich denn sicher gehen, dass ein MBxy auch nicht durch interne Prozesse verwendet wird?

Offenbar greifst du mit PY89 nicht auf den richtigen Speicherbereich zu. Aber statt mit FB 196 geht es auch über die Register:
Code:
Laden des QW 0 in das Merkerwort 100
L KH F100   <--- hier den Speicherbereich einfügen, in dem deine erweiterte Peripherie liegt
LIR 0
T MW 100   <--- nimm mal ein anderes MW !

oder
Laden des QW 2 in das Datenwort 0 im Datenbaustein 10
A DB 10
L KH F102   <--- Anfang Datenbereich + 2
LIR 0
T DW 0

Um sicherzugehen, das dein MW 200 nicht noch irgendwo benutzt wird, nimm doch ein anderes freies oder nutze das 2. Beispiel und transferiere in ein DB !
 
Zuletzt bearbeitet:
6es5 432

Hallo,

eigentlich hat tnt369 im Beitrag #2 schon alles gesagt, also die Stop-Endschalter zum Positionieren
direkt zum Zentralgerät führen. Dort sollte man diese Eingänge auf eine interruptfähige DE-Baugruppe
(z.B. 6ES5 432-xxx) legen. Man kann dann interruptgesteuert in dem zugehörigen OB2 usw. die
Antriebe abschalten und die Positionierungsprobleme abhaken.

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Offenbar hat er nicht vor, in der HW etwas zu ändern, da er auf Beitrag#2 nicht reagiert hat.

Auch deine Alarm-DE-Baugruppe ist mit einem HW-Umbau verbunden, mal sehen, ob er überhaupt die Möglichkeit dazu hat.
 
Hallo,

SoftMachine schrieb:
Offenbar hat er nicht vor, in der HW etwas zu ändern, da er auf Beitrag#2 nicht reagiert hat.

Man kann ein Problem sehr lange durch Ratlosigkeit und Untätigkeit pflegen, zu einer Lösung führt das im allgemeinen nicht..

SoftMachine schrieb:
Auch deine Alarm-DE-Baugruppe ist mit einem HW-Umbau verbunden, mal sehen, ob er überhaupt die Möglichkeit dazu hat.

Wenn man das Problem lösen will, dann ist der HW-Umbau zwingend erforderlich. Ob der TE die von mir vorgeschlagene Lösung realisiert oder nicht, ist mir eigentlich piepegal. Es ist nur ein Vorschlag, das Problem zu lösen und auch weitere Möglichkeiten zur Beschleunigung des Materialdurchsatzes aufzuzeigen. Alternativ kann man weiter rätseln, Meetings veranstalten (da gibt es meistens guten Kaffe und Kekse) und darauf hoffen, das die Mittel für den Umbau in 1 bis 2 Jahren genehmigt werden.:ROFLMAO:

Gruß

Question_mark
 
soweit ich weiß wird bei et100u die busgeschwindigkeit über dip-schalter an der anschaltung eingestellt. google mal nach et100u, da bekommts du einiges an info dazu...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Iss nicht wahr, oder

Hallo,

tnt369 schrieb:
busgeschwindigkeit über dip-schalter an der anschaltung eingestellt.

Wie Du schon in Deinem Beitrag #2 richtig festgestellt hast, geht es es hier eher darum, den Flaschenhals ET100 Bus zu überwinden und eine echte, interruptgesteuerte Abschaltung der Antriebe zu realisieren. Warum stellst Du deinen Beitrag #2 wieder in Frage, der Bus, egal mit welcher Geschwindigkeit, verbleibt als Flaschenhals ... ?

Gruß

Qiuestion_mark
 
Zuletzt bearbeitet:
Nun, da wir dem TE mehrere Möglichkeiten aufgezeigt haben, sein Problem anzugehen, sollten wir es ihm auch überlassen, eine Lösung daraus auszuwählen :)

Nur er selbst kann klären und entscheiden, welche Lösung unter seinen Randbedingungen angebracht ist.

Ich denke, er wird hier nochmal berichten.
 
Zurück
Oben