# Motion Control Library



## Draco Malfoy (12 Juni 2014)

Hallo allesamt. 

Wo gibts / wo kriegt man irgendwelche freie Bausteine für Motion Control und Positionierungsaufgaben ? Geld an SIEMENS für deren streng geschützte nicht übersetzungsfähige Bausteine wo man auch nicht an den Quellcode rankommt, möchte ich ausnahmsweise nicht bezahlen. Den Laden klick mich habe ich auch noch entdeckt, aber das ist wohl die reinste Verarsche. 1h danach gesucht, wo man diese tollen Bausteine downloaden kann, die da so aufwendig beschrieben sind - aber man kann sie überhaupt nicht downloaden, es gibt nur Anforderungsprofil. Wozu dieses Fake gut sein soll, bleibt mir schleierhaft. Hier klang mal aber ne Info durch, daß es angeblich so was geben würde wie freie Postionierungs-Bausteine bzw. Regelschleifen zum Positionieren. Wo gibt es das ??


----------



## Ralle (12 Juni 2014)

Verstehe ich nicht?
Du kannst doch in TIA V13 ein Technologieobjekt anlegen (z.Bsp. über Analogwert zu steuernder Servo) und dann mit den Open_PLC-Bausteinen aus der Library darauf zugreifen und arbeiten?
Was mußt du da extra bezahlen? 
Oder hat man die erst im Projekt, wenn man StartDrive installiert hat? Aber das ist dich auch beim TIA-Paket dabei, zumindest bei meiner Version.


----------



## ChristophD (12 Juni 2014)

Hallo,

für welche CPU's darfs den sein?
Dein Link zeig auf ein Organisation die den Standard beschreibt, die implementieren nix weil das nicht deren Aufgabe ist!
Implementierung ist dann Aufgabe des Herstellers nach der eben dort definierten Norm/Richtlinie, so ist das PROFIBIS, PROFINET, PROFIsafe,PROFIdrive auch.
Sowas nennt sich Normungsgremium und arbeitet Herstellerunabhängig.
Im TIA Portal z.B sind diese Bausteine implementiert und können genutzt werden (_MC_Power, _MC_Move; _MC_POS etc.)

Gruß
Christoph


----------



## Ralle (12 Juni 2014)

Argh, das ist wohl nur bei der 1500 mit dabei, für die 300-er soll man bezahlen?????
Ist das so?
Da komm ich aus dem Kopfschütteln nicht mehr raus.


----------



## Draco Malfoy (12 Juni 2014)

Nene, nicht TIA Portal sondern für Step 7 v5.4 brauche ich was. Is ne 300er CPU die geht nicht mit TIA.


> Open_PLC-Bausteinen aus der Library


Was meinst Du jetzt genau ? Wo kriegt man den Quellcode für diese Bausteine aus der "Open Library" her und von welcher "Open Library" reden wir überhaupt ? Ich kenne noch gar keine. Nur diese Spezifikationen, wo es aber keine Steine zu gibt.


----------



## Draco Malfoy (12 Juni 2014)

@Ralle: ja genau, und in beiden Fällen brauchst Du aber ne Lizenz, im TIA sogar jeweils eine RT- Lizenz pro Steuerung / pro Maschine.


----------



## zako (12 Juni 2014)

... welchen Antrieb hast Du eigentlich - SINAMICS S oder G?
Welche Steuerung?
Wieviele Achsen?
Willst Du auch externen Geber positionieren, oder Motorgeber?
Willst Du über TO`s in der Steuerung arbeiten, oder hast Du einen Antrieb mit EPos (für diese Variante gibt es ja jetzt auch die neuen Bausteine SINA_POS und SINA_PARA (zur azyklischen Kommunikation)).


----------



## ChristophD (12 Juni 2014)

Für die 300-er stehen die Bausteine auch zur Verfügung , bei den 3xxT Baugruppen.
Weil nur die auch entsprechend von der FW/HW in der Lage sind sowas zu verarbeiten.

Der PLCOpen Standard definiert die Anwenderinterfaces der Funktionen, die Umsetzung auf der CPU ist dann Sache des Herstellers und das du vom Hersteller den Sourcecode und die Algorithmen bekommst glaube ich eher nicht.


----------



## Draco Malfoy (12 Juni 2014)

So, nochmal zusammengefasst:

- Steuerung: S7-317er CPU, eine wo kein TIA geht bzw. ich nicht mit TIA arbeiten will;
- Antriebe - Danfoss VLT FC102, also reine Geschwindigkeitsregelung über Bus oder Analogwertevorgabe;
- Keine Motorgeber, nur Anlagengeber und Asynchromaschinen; 
- Geber ist PROFINET angebunden also man kriegt den direkten Lageistwert in INKR;
- Kein EPOS, alle Rampen müssen in der Steuerung laufen.



> Für die 300-er stehen die Bausteine auch zur Verfügung , bei den 3xxT Baugruppen.
> Weil nur die auch entsprechend von der FW/HW in der Lage sind sowas zu verarbeiten.


Wieso das denn, von der Zykluszeit - angenommen es sind etwa 20mS - müsste es ja auch mit normalen CPUs gehen ?


----------



## zako (12 Juni 2014)

... willst Du damit arbeiten?
http://w3.siemens.com/mcms/simatic-...logie/easy-motion-control/seiten/default.aspx


----------



## ChristophD (12 Juni 2014)

Das hat nix mit der Zykluszeit zu tun.
Für den Regler brauchst du die Regel-Algorithmen, Du brauchst zyklische Systemebenen zum lesen und schreiben der Buswerte, Berechnung der Sollwerte,, korrekturwert , zur Fehlerauswertung , zum umrechnen der Rohdaten auf Positionsdaten etc.
Du kannst das auch ganz klar auf Anwenderebene selber ausprogramieren, also deinen eigene Lageregler schreiben, ob du da aber Ausfallsicher bist und von der Zykluszeit her noch bei 20ms arbeitest sei mahl dahingestellt.
20ms und Motion Control das ist was um nen Schweinestalllüfter zu betreiben.
Gängige Zykluszeiten bei Motion Control liegen bei <3ms und > 6 Achsen.
Du kannst mal schauen ob dir der FB283 weiterhelfen könnte .


----------



## Draco Malfoy (12 Juni 2014)

> ... willst Du damit arbeiten?
> http://w3.siemens.com/mcms/simatic-c...n/default.aspx ​


Würde ich ja gern, nur kostet ja wieder Geld. Und die Bibliothek ist auch geschützt, nehme ich mal an. Daher war meine Frage nach offenen Bausteinen.


> Du kannst mal schauen ob dir der FB283 weiterhelfen könnte .


ist es nicht der SINA-FB ? Der ist doch nur ausschließlich für die Kommunikation mit S 120 und G 120 gedacht ? Aber die S 120 können ja selber positionieren, dafür bräuchte ich doch keine Regelschleifen in der CPU. Ich habe wie gesagt keine Siemens Antriebe.


> Für den Regler brauchst du die Regel-Algorithmen, Du brauchst zyklische  Systemebenen zum lesen und schreiben der Buswerte, Berechnung der  Sollwerte,, korrekturwert , zur Fehlerauswertung , zum umrechnen der  Rohdaten auf Positionsdaten etc.
> Du kannst das auch ganz klar auf Anwenderebene selber ausprogramieren,  also deinen eigene Lageregler schreiben, ob du da aber Ausfallsicher  bist und von der Zykluszeit her noch bei 20ms arbeitest sei mahl  dahingestellt.


Aber ich denke mal, eine ganz einfache Regelschleife, die mir quasi eine 3-Punkt Sollwertrampe aufbaut und in per Geschwindigkeitsregelung die Soll-Position anfährt wird doch keine 20mS brauchen ?
Da müssten ja mindestens 30-40 gut gefüllte FCs und FBs sein, um auf solche Zykluszeit-Werte zu kommen ? Ich könnte außerdem möglicherweise ne 19er CPU auftreiben. Die is noch deutlich fiter.


----------



## Ralle (12 Juni 2014)

Oh, ich verstehe.
Da wollte Markus mal was bauen, aber ich glaube der Aufwand war dann so groß, dass er das hat einschlafen lassen, bzw. nur soweit entwickelt hat, wie er das für sich nutzen konnte. Sowas kann/will man ja u.U. noch nicht veröffentlichen, weil viele Dinge noch nicht wirklich vorzeigbar sind.
Das mit den Lizenzen ist echt typisch, kein Wunder dass BigS immer mehr ins Abseits gerät, die erkennen einfach nicht, was sie ihren guten Kunden schulden und was nicht. Software und Hardware sind ja keine Schnäppchen und statt dass sie einen dann auch umfangreich ausstatten, darf man immer wieder irgendwas extra zahlen. Das schadet BigS mehr als es nutzt, aber leider...


----------



## ChristophD (12 Juni 2014)

Hi,

ähm ich kann die Verärgerung/Statements aus Post #13 prinzipell nachvollziehen, ABER!
Siemens bietet genau deswegen auch ein breites Spektrum an HW SW an um eben alle Anwendungsfälle abdecken zu können.
Wenn jetzt jemand eine S7-300 SPS nimmt um MotionControl zu realisieren dann ist das unklug weil genau dafür gibt es ja das Spektrum der MotionControl PLC's.
Um eben genau dies komfortabel für den Kunden zu ermöglichen.
Der Benötigten Bausteine gibt es ja "kostenlos" dazu für die entsprechenden Geräte.
Die Verlinkte EasyMotion ist ist z.B. bei einer 31xxT CPU nicht verwendbar, die Baugruppe hat ihre eigene MotionControl FW dafür und die PLCOpen Bausteine eben als Anwenderschnittstelle.

Zu den Lizenzkosten:
Nun die SW wurde ja von Siemens Geschrieben / Entwickelt etc. und jeder Programmierer möchte ja auch für die Arbeit die er macht bezahlt werden.
Es verbietet niemand das der Anwender sich hinsetzt und die komplette MotionControl selber als Anwenderprogramm schreibt für seine Bedürfnisse.
Aber dafür muss er Zeit investieren und wer bezahlt ihm die dann?

Gruß
Christoph


----------



## Draco Malfoy (12 Juni 2014)

Wie gesagt, ich habe gehört, daß es solche Regelschleifen-Bausteine irgendwo als Open Source gibt, deswegen frage ich nach.


----------



## ChristophD (12 Juni 2014)

zu post #12

der FB eignet sich nicht nur für SINAMICs.
Da es über die Standardtelegramme abgewickelt wird und der PROFIdrive Norm unterliegt sollte das auch mit anderen herstellern laufen.
Der FB283 (hieß glaube mal SINAMICS Toolbox) wurde entwicklt als es noch gar keinen Epos im Antrieb gab.

Alternativ kannst du mal bei Siemens in den Applikation schauen ob es da was für MM4 gibt das du zweckentfremden kannst für dich.
Code umschreiben ist ja erstmal nicht verboten.


----------



## Draco Malfoy (12 Juni 2014)

> Alternativ kannst du mal bei Siemens in den Applikation schauen ob es da  was für MM4 gibt das du zweckentfremden kannst für dich.
> Code umschreiben ist ja erstmal nicht verboten.


Verzeih mir, ich weiß nicht was MM4 ist ?


> Da es über die Standardtelegramme abgewickelt wird und der PROFIdrive  Norm unterliegt sollte das auch mit anderen herstellern laufen.
> Der FB283 (hieß glaube mal SINAMICS Toolbox) wurde entwicklt als es noch gar keinen Epos im Antrieb gab.


Ja gut, aber Kommunikation und Positionsregelung sind ja primär verschiedene Sachen. Der SINA FB ist super nützlich, aber nur solange ich die entsprechenden Profiles von und Telegramme nutze, und nur solange die Antriebe über Bus angesprochen werden. Ich wollte für die dezietige eher einfache Aufgabe meine Danfoss erst mal mit Analogwerten ansprechen. Und der SINA FB macht ja keine Postionsregelung.


----------



## Ralle (12 Juni 2014)

Ich denk mal er meint einen Micromaster, ein FU von Siemens.

@ChristophD
Klar wollen auch die Siemens-Programmierer Geld verdienen. Die T-CPU hab ich mit V1.0 das erste Mal eingesetzt und nie wieder. Es gab nur Ärger mit der Starter- und Technologiepaketen. Braucht man das Eine, mußte man das Andere erst deinstallieren usw. Das war noch ohne VMWare, also nicht wirklich gut. Außerdem braucht man, wie im Falle von Draco nicht immer eine T-CPU oder eine Simotion, um mal eine Achse zu regeln. Ich setze dann gleich einen FU/Servo ein, der das von sich aus kann und dem ich nur den Sollwert übergeben muß. Aber dafür gibt es ja auch Easy Motion und andere Hersteller haben das durchaus in ihrer Standard Library dabei. 

/Ironie on
Wundert mich ja manchmal, dass die Scale-Bausteine in der Standard Library sind, denn soviel Nachfragen, wie es hier dazu gibt, könnte man die doch auch zu einer Kauf-Library machen. 
/Ironie off

Aber solche Dinge entscheiden i.d.R. BWL-er und nicht wir und die haben eine völlig andere Sicht auf ihre Produkte.


----------



## Draco Malfoy (12 Juni 2014)

Gibt es möglicherweise unter PCS 7 in der Advanced Library etwas, was a) mit ner 300er Steuerung geht und b) der Fragestellung nahe kommt ?


----------



## ChristophD (12 Juni 2014)

genau der gute alte MicroMaster 4 war gemeint der wurde wie schon der MM3 auch oft über die Analogklemmen angesteuert.
Vielleicht findest Du hier was brauchbares bei den bausteinen ? http://www.goetz-automation.de/FAQ.htm

Oh ja das Lied STARTER/SCOUT/S7T-Config kenne ich nur zu gut da kann ich Deinen Unmut verstehen.
Ich will auch auf keinen Fall eine Empfehlung an den TE in Richtung T-CPU oder SIMOTION abgeben, erst recht nicht nachdem gesagt wurde was genau gemacht werden soll 
Der Eingangspost war halt wieder zu allgemein für mich, ich würde die Aufgabe nicht mal bei MotionControl einordnen.

PCS7 würde ich jetzt sagen nein da gibt es nix was für die Anwendung in Frage käme.


----------



## Markus (12 Juni 2014)

Ralle schrieb:


> Oh, ich verstehe.
> Da wollte Markus mal was bauen, aber ich glaube der Aufwand war dann so groß, dass er das hat einschlafen lassen, bzw. nur soweit entwickelt hat, wie er das für sich nutzen konnte. Sowas kann/will man ja u.U. noch nicht veröffentlichen, weil viele Dinge noch nicht wirklich vorzeigbar sind.



Wir haben da vor einigen Jahren was gebaut, und das wird heute immer noch eingesetzt.

Es ist aber nicht 100% PLC_OPEN Konform.
Easy Motion Control von Siemens habe ich mir damals auch angeschaut aber das hat mir nicht gefallen.

Wir haben das so ähnlich umgesetzt:
Alle Achsdaten liegen in einem UDT, dieser wird mit jedem Baustein der mit der Achse zu tun hat verschaltet.
Es gibt Eingangstreiber z.B. für 1COUT24, SSI, Analog, aber auch für Spezielle Geber wie z.B. T&R Laser
Es gibt den MC Baustein, der (bzw. der UDT) wird komplett über ein Bild in der HMI Parametriert, es können als jederzeit auch ohne PG SW-Limits, Regler, Rampen,... angepasst werden.
Es gibt für jede Achse nur eine Störmeldung die Projektiert werden muss, die wird dynamisch und Automatisch aus Textlisten und Konfiguration generiert.
Es gibt Ausgangstreiber für SEW, S120, Propentile,... A-Treiber für DANOFOS oder so wäre kein Hexenwerk... (Copy&Paste, Steuerwort Anpassen, textliste mit Störungen anpassen)
Es gibt Befehlsbausteine MOVE_ABSOLUT, MOVE_RELATIV, MOVE_JOG, SYNC,...

Der MC, berechnet die Bahn und generiert abhängig von ihr die Rampen (Rampen im FU sind praktisch 0).
Den Baustein nutzen wir eigentlich für jeden Antrieb, auch wenn es nur ein Band ist, so ist die ganze Antriebstechnik durchgängig - auch was die Diagnose betrifft.
Wenn z.B. später ein Teil auf dem Band positioniert werden soll: E-Treiber dran, Parameter in Visu einstellen, und schon kann Referenziert, Positioniert oder sonst was werden...


Auf einer 319er oder einem Panel PC mit Soft SPS sind Zykluszeiten <5ms kein Problem.
Die CPU kostet vielleicht etwas mehr, dafür kann man viele Servoantrieb durch einfach ASM ersetzen.
Aber auch auf 315er mit >20ms klappt das noch gut - je nach Applikation...
Es muss natürlich klar sein das das dann keine 840D gibt... Aber für die meisten einfachen Postionier- oder auch Gleichlaufaufgaben tut es das gut.
Und ich bin halt in der PLC extrem flexibel um Gegensatz zum Antrieb (wer einmal im DCC vom S120 einen Gleichlauf oder ähnliches machen musste weiß das)


Was wir derzeit noch nicht können (weil wir es noch nie gebraucht haben) ist Taktsynchron.
Aber das zu implementieren wäre kein Hexenwerk: Einen Sprung in jeden Treiber mit einem andere Zugriff aufs Prozessabbild über diesen OB???

Für uns hat sich das definitiv gelohnt, aber das ganze herausgeben wollen wir eigentlich nicht.
Zumindest die Maschinenbauer für die wir arbeiten profitieren davon... ;-)


----------



## Draco Malfoy (12 Juni 2014)

> Für uns hat sich das definitiv gelohnt, aber das ganze herausgeben wollen wir eigentlich nicht.
> Zumindest die Maschinenbauer für die wir arbeiten profitieren davon... :wink:


Hm. Nun, verständlich. Aber möglicherweise wollt ihr diese Bausteine mit einer "Volumenlizenz" entgeltlich zu Verfügung stellen, sodaß ich sie, im Gegensatz zu den Siemens Steinchen, zumindest auf mehreren Anlagen ohne Einzellizensierung verwenden darf ?


----------



## offliner (12 Juni 2014)

Ich verstehe nicht, was gegen Easy Motion Control spricht. Klar, das Paket kostet Geld und die Bausteine sind zu, aber dafür sind die Bausteine auch Systemgetestet und damit auch offiziell supported, was bei offenen Bausteinen gar nicht möglich ist. Für die Lizenzen gibt es stückzahlabhängige Staffelpreise. Die Bausteine funktionieren perfekt, auch wenn sie etwas angestaubt sind. So fehlt z.B. eine Ruckbegrenzung. Das Handling ist am Anfang etwas gewöhnungsbedürftig und man muss die Normierung der Soll- und Istwerte richtig einstellen, sonst funktioniert die Regelung nicht sauber. Ich habe schon mehrere Anlagen mit EMC gemacht und alle laufen bis heute fehlerfrei. Teilweise nur Positionierung, teilweise Gleichlauf zwischen zwei Achsen. Wenn nötig kann das Ganze auch taktsynchron erfolgen und ist damit im Gleichlauf hochgenau.


----------



## Draco Malfoy (12 Juni 2014)

offliner schrieb:


> Ich verstehe nicht, was gegen Easy Motion Control spricht.


Nun, im Wesentlichen


> Für die Lizenzen gibt es stückzahlabhängige Staffelpreise


 - ganz genau das. Wenn ich Bausteine kaufe, möchte ich 1) Zugriff auf den Quellcode haben und 2) keine "stückzahlabhängigen Staffelpreise" zahlen.


----------



## Markus (12 Juni 2014)

Draco Malfoy schrieb:


> Nun, im Wesentlichen
> - ganz genau das. Wenn ich Bausteine kaufe, möchte ich 1) Zugriff auf den Quellcode haben und 2) keine "stückzahlabhängigen Staffelpreise" zahlen.



Wie machst du das eigentlich immer wenn du bei Microsoft einkaufst?


----------



## Draco Malfoy (12 Juni 2014)

Wüsste nicht, daß Microsoft auch S7 Bausteine vertreibt ... meine Mail mittlerweile angekommen ?


----------



## offliner (16 Juni 2014)

Ich sehe das so:

Wenn ich eine perfekt funktionierende Software habe, brauche ich keinen Zugriff auf die Bausteine!

Wenn ich eine perfekt funktionierende Software habe, dann darf die auch Geld kosten! 

Ausserdem ist die Lizenz in diesem Falle nur ein Stück Papier und kein Key auf der Steuerung, was das Handling mehr als einfach macht (z.B. bei Austausch der Steuerung, etc.).

Bei EMC kann zwischen Istwerterfassung und Sollwertausgabe auch in die Regelstruktur eingegriffen werden (z.B. Ventilkennlinie einbauen bei hydraulischen Achsen), 
ohne dass die Bausteine offen sein müssen...


----------



## Draco Malfoy (16 Juni 2014)

offliner schrieb:


> Ich sehe das so:
> Wenn ich eine perfekt funktionierende Software habe, brauche ich keinen Zugriff auf die Bausteine!


Ich sehe das nicht so, deswegen habe ich auch dieses Thema hier erstellt. Es kommt immer mal vor, daß man etwas geändert haben möchte. Das mit der Ruckbegrenzung hast Du ja schon erwähnt.


> Wenn ich eine perfekt funktionierende Software habe, dann darf die auch Geld kosten!


Das bestreite ich nicht. Aber mich nervt diese Geheimniskrämerei bei der Firma Siemens, und deren Bestreben die komplette Kontrolle über den Anwender auch nach dem Überlassen der gekauften Ware zu behalten.


> Ausserdem ist die Lizenz in diesem Falle nur ein Stück Papier und kein  Key auf der Steuerung, was das Handling mehr als einfach macht (z.B. bei  Austausch der Steuerung, etc.).


Soll das ne Anstiftung zum Hintergehen des Lizenzkonzeptes der Fa. Siemens sein ? Klar kann ich die auf meherere Steuerungen mit nur 1x Lizenz rüberkopieren, aber mir gefällt das nicht. Und bei 1500er ist des dann nicht mehr so einfach.
Den Quellcode eines SPS-Programms, welches ich dem Kunden verkaufe, möchte ich dann auch gerne selber besitzen. Das ist dann sonst halt so ne Sache, mit der Verantwortung für die Arbeitsergebnisse.


----------



## offliner (17 Juni 2014)

Das war keinesfalls der Aufruf das Lizenzkonzept zu hintergehen. Es ging nur darum, darzustellen, dass die Lizenz keine Einschränkung im Ablauf der Software darstellt und das das Handling mit den Lizenzen keinen Aufwand bedeutet!

Ich kann es durchaus nachvollziehen, wenn ein gekaufter Baustein geschützt ist, da es sich um ein Produkt handelt, welches von Siemens auch im Rahmen der Gewährleistung betreut wird. Wenn nun jeder in den Bausteinen rumfummeln kann, dann ist ein Support überhaupt nicht mehr möglich, weil eine Hotline gar nicht mehr wissen kann, ob der Baustein nicht verändert wurde.

Es gibt seitenes Siemens etliche frei zur Verfügung stehende Bausteine, die nicht geschützt sind. Für diese wird aber auch keine Haftung übernommen. Also kann von Geheimniskrämerei und Kontrolle überhaupt keine Rede sein.

Bei der 1500er stellt sich die Frage gar nicht, da dort die Funktionalitäten in der Firmware abgelegt sind und somit keine Lizenz erforderlich ist.


----------

