Simatic Rechenaufgabe

datasys

Level-1
Beiträge
58
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Liebe Leute bin neu hier und hab mal ne Frage

Ich habe die Aufgabe bekommen ein "kleines Programm" zu entwickeln.
Und zwar es handelt sich dabei um folgendes

Ich bekomme aus einer Visu zwischen 7 und 10 Werte und muss daraus Positionen für einen Servo berechnen ( Max 120 Pos. Real)
Steuerung dabei ist S7 und visu Weis ich noch nicht so genau
Entweder Win CC oder Wenn Möglich WinCC Flex
Und das endprodukt sollte möglichst kostengünstig sein hier ist also die rede von den Powertags bei der Visu
Dazu Kommt noch das dieses in mm sowie auch in Inch mit 3 kommastellen möglich sein sollte.

Nun meine Frage was meint ihr sollte mann bezüglich der Software Verwenden und wer sollte das Rechnen Übernehmen die Visu eine Tabelle/Datenbank oder die Steuerung was macht hier Sinn.

freue mich schon auf eure Antworten und vielen Dank im Voraus
 
Hallo,

mal zusammengefasst:

Es gibt eine Visu, eine Steuerung (CPU) und einen Servoumrichter.
In der Visu werden Werte eingegeben, irgendwas soll daraus was berechnen und der Servo soll ds dann fahren.

Soweit richtig?



MfG
 
Hallo TE,
ich hänge mich da jetzt mal an Sockenralf ... da du den Ball da ja noch nicht aufgenommen hattest : Was war die Frage ? Was soll berechnet werden ...?
Gruß
Larry
 
es Handelt sich dabei um eine komplexe Berechnung die im Nachher servopositionen ergeben ein beispiel

ein benutzer gibt ein er möchte in einer säge 10 holzbretter mit einer dicke von 10 mm schneiden oben und unten ein brett mit 7 mm die säge steht im einenm winkel von 10° zum baum daraus errechnen sich jetzt servoposition wo die sägen hingehören um diese bretter zu schneiden hinzu kommt noch das sich die sägen auf 2 Rahmen befinden sägen 1,3,5 usw Rahmen 1 und Säge 2,4,6 usw auf Rahmen 2 und dies möchte ich gerne als positionen mit in zwei dbs in der steuerung jeweils alle pos für rahmen 1 im ersten db und im zweiten das selbe für Rahmen 2 so

So und nun wo sollte man so was rechnen bzw wenn in der Visu dann mit welchem Programm ist so was Möglich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So und nun wo sollte man so was rechnen bzw wenn in der Visu dann mit welchem Programm ist so was Möglich

Einfach in der SPS, wird ja vermutlich eine reine plus-minus-mal-durch Rechnung werden.
Dann ist der FB halt ein bissel länger.

Oder meinst Du die Bererchnung ist so kompliziert?
 
OK ... fast hatte ich schon mit so etwas gerechnet ... :rolleyes:

Ich persönlich würde sehr wahrscheinlich die Koordinatenpunkte von der Visu an die SPS übergeben und in der dann die weiteren Koordinaten ausrechnen. Die Vorgehensweise wird hierbei ja durch die dahinter liegende Formal bestimmt und die wird sicherlich auch in der SPS zu realisieren sein.

Es geht natürlich auch über den Weg, es in der Visu in einem Script zu berechnen und dann die Werte der SPS zuzuweisen. Hierfür würdest du dann eine Scriptfähige Visu (also z.B. Flex-Runtime) benötigen. Da ich bei solchen sachen in der vergangenheit oft das Problem hatte, das die Daten nicht konsistent der SPS übergeben wurden wäre dieses Vorgehen nicht meine erste Wahl (sondern eher wie oben geschildert).

Wenn deine Berechnungen etwas komplexer sein sollten und du den 1. Vorschlag verfolgen wolltest, so würde es sich hier anbieten, auf der SPS-Seite den Baustein mit SCL zu erstellen - das macht das Ganze wesentlich übersichtlicher und beim Arbeiten mit Indexen (also Array's etc.) hast du es erheblich einfacher ...

Hilft dir das weiter ?

Gruß
Larry
 
Hallo,

meiner Meinung nach:

Visu --Ein/Ausgabe

CPU--Berechnung der Positionen- Steuern/Status von/zu Servo abwickeln. Daten von/für Visu bereitstellen/auswerten


Servo: Positionierung ausführen, Status und aktuelle Positionen zur CPU.


LG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ausserdem wird ja sehr warscheinlich die SPS diejenige sein, die den Servoantrieb steuert (FM-Baugruppe o.Ä.), und nicht die VISU.
@datasys: Satzzeichen stören sicher nicht das Lesen deiner Posts.
 
Sorry der Satzzeichen hatte voher etwas Stress.

Ganz zufrieden bin ich aber denn noch nicht glaubt ihr nicht das solche Berechnungen mit fast ausschlieslich Real Zahlen für die CPU/Zykluszeit etwas schädlich ist.

Was ist denn mit dem Lösungsansatz so was in eine Excel Tabelle zu übertagen und dort zu berechnen. Und anschließend wieder dort abzuholen habe gelesen da gibt es ein Plugin von Simatic.

Bzw. Denkt ihr dass, dies mit Win CC Flexible überhaupt machbar ist?
 
Sorry der Satzzeichen, hatte voher etwas Stress.

Ganz zufrieden bin ich aber dennoch nicht- glaubt ihr nicht, dass solche Berechnungen mit fast ausschliesslich Real Zahlen für die CPU/Zykluszeit etwas schädlich ist?

Was ist denn mit dem Lösungsansatz, so was in eine Excel Tabelle zu übertagen und dort zu berechnen. Und anschließend wieder dort abzuholen- habe gelesen da gibt es ein Plugin von Simatic.

Bzw. Denkt ihr, dass dies mit Win CC Flexible überhaupt machbar ist?

Ich glaube die CPU wird das schon aushalten mit der Zykluszeit, es hängt aber von den Erfordernissen ab.

Ich würde sowas, wie eine Exceltabelle nicht verwenden, viel zu unsicher- die geht dann "zu" und Ende ist mit rechnen.

Fang einfach mal mit einem FB an (oder wenn möglich einem SCL-Baustein), wirst eh sehen wo es hakt.
Abgesehen davon- vielleicht brauchst Du die Rechnung woanders nochmal, da ist es in der SPS viel besser gelöst.

lG
Karl
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Übringens der Servoantrieb ist keine FM anschaltung sondern eine Simocom 611U.

Danke schonmal für eure Antworten und sollte noch jemandem was einfallen dann sagt mir das bitte auch wenn jemand Programmteile von so was ähnlichen schon hat schickt sie mir bitte.

MFG Daniel
 
Zum Thema Belastung der CPU:

Brauchst Du denn alle Deine 120 Posi's in einem Zyklus?
Bei meinen Portalen errechne ich die Startposi und dann immmer wenn notwendig die nächsten Werte (Posis) für mehrere Servoachsen.

Mann könnte z. B. auch alle Berechnungen auf 16 / 32 SPS-Zyklen aufteilen, ein Merkerwort nehmen und jeden Zyklus um ein Bit verschieben (rotieren) und mit dem jeweils aktiven Merkerbit einen Teil der Berechnungen durchführen!

Grüße
Michael
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... zum Thema Zykluszeit-belastung würde ich mir hier auch keinen Kopf machen - einfach so wie Borromeus vorschlägt nur bei einer Änderung neu berechnen. Das könnte z.B. auch durch ein entsprechendes Bit von der Visu signalisiert werden.

... zum Thema etwas Fertiges : erstmal ist das schon von daher Quatsch, da deine Anwendung ja etwas Spezielles ist und zweitens hast du bisher noch mit keinem Wort erwähnt, wie das Berechnen überhaupt funktionieren soll. Grundsätzlich würde ich es hier aber gar nicht erst versuchen, etwas Vorgefertigtes zu finden ...

Gruß
Larry
 
Na den Änderungserkennprogrammcode kann man ja zum Besten geben:

Code:
L "SW1" //Sollwert 1
L "AltW1" //Altwert 1 
<>R
= M10.0 //Änderungsmerker
L "SW1" //Sollwert 1
T "AltW1" //Altwert 1 
 
L "SW2" //Sollwert 2
L "AltW2" //Altwert 2 
<>R
S M10.0 //Änderungsmerker
L "SW2" //Sollwert 2
T "AltW2" //Altwert 2
 
usw.

lG
Karl
 
Wir kennen ja nicht seine wilden Berechnungen!

Erstmal die Formeln aufschreiben und dann die passende Strategie festlegen!
 
Zurück
Oben