TIA Techniker Projekt

Patrick_

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Community,

wir sind eine Techniker Gruppe bestehend aus 3 Personen und alle noch sehr unerfahrend mit der programmierung einer SPS. Unsere Aufgabe ist es ein Programm zu entwickeln, welches die Geschwindigkeit und Beschleunigung eines RBG (Regalbediengerät) messen soll. An Geräten benutzen wir eine SPS S7 - 1214 DC/DC/DC, ein Compfort Panel KTP-400 und ein Leuze Sensor ams 348i.
Zunächst haben wir eine Gerätekonfiguration vorgenommen und den Leuze Sensor anhand der GSL-Datei eingebunden. Anschließend noch die benötigten Modul (Positionswert und Geschwindigkeit) des Sensors. Die Daten der Module haben wir über einen FB-Baustein in Variablen kopiert, mit denen wir die Geschwindigkeit und Beschleunigung in einem FC-Baustein berechnen möchten.
Nun stehen wir vor dem großem Fragezeichen und wissen nicht so recht, wie wir weiter vorgehen sollen. Wir wissen, dass wir unteranderem ein schieberegister erstellen müssen, dort sollen ca 20 zeichen gepuffert werden und anschließend auf das KTP400 übertragen. Sobald die Übertragung beendet ist, soll das Schieberegister resetet werden und neu "zählen" bis 20 Zeichen.

Hat jmd. eine Idee wie man das umsetzen kann?

Danke für jede Antwort.

LG Variablen.jpgGerätekonfiguration.jpgEingänge lesen.jpgAMS 348i.jpg
 
Ich habe zwar die Fragestellung nicht ganz verstanden, jedoch versucht ihr (im 3. Bild) Eingangswerte in der SPS zu beschreiben. Das ist denke ich nicht so gewollt...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Bild 3 geht gar nicht. Ihr schreibt die Lokale Adresse der Eingänge in die Eingänge. Das heißt die Adressen werden für den Rest des Programmes die Werte 270 und 282 haben.
Die Position und Geschwindigkeit könnt Ihr direkt aus ED68 und ED72 lesen.
Im ED68 steht die aktuelle Position und in ED72 die aktuelle Geschwindigkeit.

Aus diesen beiden werten könnt Ihr euch die Beschleunigung berechnen. Die geforderte Geschwindigkeit bekommt Ihr ja bereits direkt vom Sensor.


Was Ihr mit einen Schieberegister mit 20 Zeichen wollt erschließt sich mir nicht.


Stefan
 
Vielleicht soll die Geschwindigkeit bzw Beschleunigung aufgezeichnet werden und es soll sich um einen Ringspeicher später handeln?
 
Vielleicht soll die Geschwindigkeit bzw Beschleunigung aufgezeichnet werden und es soll sich um einen Ringspeicher später handeln?

Dann wäre zu klären in welchem Zeittakt diese Daten geloggt werden sollen. Weiterhin müsste man klären, welche Daten man am HMI anzeigen will. Erstellt man jetzt ein FIFO mit den 20 Positionen, loggt die Daten jede Sekunde und zeigt nur diese am HMI an, kann man eben nur maximal die letzten 20 sek sehen, wobei jede Sekunde der 20. und 1. Wert eben verloren geht.
Da würde ich schon fast ein Variablenarchiv auf dem Panel starten und einfach eine Variable am Hmi anzeigen und diese "bei Wertänderung" loggen. Für das Technikerprojekt sicherlich völlig ausreichend.

Wollen die drei allerdings einen Mittelwert aus 20 Messungen bilden, ist das natürlich was anderes.


-chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also das was ihr im Bild 3 auf die Eingänge schiebt, könnt ihr doch direkt verwenden. Dafür habt ihr es in der Geräteübersicht doch eingestellt mit dem Adressbereich.
Also einfach ED68 anwenden, da steht der Positionswert schon drin. Den ED68 könnt ihr dann beispielsweise auf ein Array of DWORD [0..19] verschieben. ZB move ED68 -> Positionsarray . und das i dann einfach immer um 1 erhöhen bis der Stack voll ist.
 
Kurz und knapp:
Ich denke die Herren angehende Techniker sind sich kaum selber bewust, was ihre Aufgabenstellung ist.
Das sieht man daran, das sie uns nicht verständlich mitteilen können, was zu tun ist.
Ich glaube, wenn sie sich die Aufgabenstellung mal richtig selber klar machen, kommen viele Antworten von selbst.

Detail kann man sich dann ja hier noch erfragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Community,

wir sind eine Techniker Gruppe bestehend aus 3 Personen und alle noch sehr unerfahrend mit der programmierung einer SPS. Unsere Aufgabe ist es ein Programm zu entwickeln, welches die Geschwindigkeit und Beschleunigung eines RBG (Regalbediengerät) messen soll. An Geräten benutzen wir eine SPS S7 - 1214 DC/DC/DC, ein Compfort Panel KTP-400 und ein Leuze Sensor ams 348i.
Zunächst haben wir eine Gerätekonfiguration vorgenommen und den Leuze Sensor anhand der GSL-Datei eingebunden. Anschließend noch die benötigten Modul (Positionswert und Geschwindigkeit) des Sensors. Die Daten der Module haben wir über einen FB-Baustein in Variablen kopiert, mit denen wir die Geschwindigkeit und Beschleunigung in einem FC-Baustein berechnen möchten.
Nun stehen wir vor dem großem Fragezeichen und wissen nicht so recht, wie wir weiter vorgehen sollen. Wir wissen, dass wir unteranderem ein schieberegister erstellen müssen, dort sollen ca 20 zeichen gepuffert werden und anschließend auf das KTP400 übertragen. Sobald die Übertragung beendet ist, soll das Schieberegister resetet werden und neu "zählen" bis 20 Zeichen.

Hat jmd. eine Idee wie man das umsetzen kann?

Danke für jede Antwort.

LG Anhang anzeigen 40669Anhang anzeigen 40670Anhang anzeigen 40671Anhang anzeigen 40672


Unabhängig von dem was Ihr bisher gemacht habt und alle anderen geantwortet haben:

Wenn Ihr die Aufgabe habt die Geschwindigkeit und Beschleunigung zu ermitteln, dann müssen Euch die Faktoren wie Weg, Zeit, etc. ja bekannt sein. Dafür der Sensor. Hieraus leitet Ihr auf dem Papier nun eine Formel ab mit der man genau das berechnen kann. Anschließend schaut Ihr das Ihr die Werte in der SPS zumindest schon einmal lesen und in einem Merker, besser DB ablegen könnt.
Dann müsst Ihr nur noch Eure Formel in der SPS berechnen lassen und in einem Merker, besser DB ablegen. Dabei hilft, je nachdem wie komplex sie wird, eventuell SCL als Programmiersprache in der 1200er, da diese Formeln einfacher darstellen kann und sich dahingehend übersichtlicher programmieren lässt.

Jetzt, nachdem die SPS die Werte alle hat und korrekt berechnet, erst müsst Ihr das Panel programmieren:
Textfelder erstellen als Beschriftungen, EA-Felder lesend aus der SPS für die Messergebnisse, und gemäß Eurem Aufgabenzettel dann eventuell auch gleich ein Diagramm.

Falls noch weitere Fragen bestehen, dann bitte konkretisieren woran genau es hapert. Das Forum ist kein guter Weg um die Aufgabe einer Technikerlerngruppe vollständig zu lösen, auch wenn es einigen schon in den Fingern juckt und die eben das 10-Minuten Programm einstellen wollen.

Den groben Werdegang habt ihr ja nun schon.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

kurze Info: Das Projekt kam von uns. Leider haben die angehenden Techniker (die, soweit ich weiß jetzt tatsächlich welche geworden sind), die Aufgabenstellung nicht verstanden bzw. unklare Punkte nicht bei uns nachgefragt. Da jetzt die Hardware vorhanden ist, wird es vielleicht ein Projekt für eine nachfolgende Technikergruppe oder wir machen es schnell selbst.

Also: Thema ist durch.

VG

MFreiberger
 
Zurück
Oben