# Wer hat interesse: "OPEN MOTION CONTROL"



## Markus (3 Juli 2008)

hallo leute,

von siemens gibs ja nette FB´s für das system "Easy Motion Control"

http://www.automation.siemens.com/simatic/regelsysteme/html_00/produkte/sb-easymotcontr.htm


Der Preis für die Software an sich ist recht fair, aber leider lässt sich Siemens auch alle RT´s bezahlen.

MC, gibt es in der OSCAT-LIB noch nicht, das wäre doch eine sinnvolle erweiterung dafür.

Wer hätte interesse mitzubasteln?


----------



## PeterEF (3 Juli 2008)

Kennst du die 'Task Force Motion Control' der PLCOpen: http://www.plcopen.org/pages/tc2_motion_control/index.htm

Ich hab noch nicht geschafft, mir alles reinzuziehen aber es sieht sehr interessant aus.
Auch die Siemens-Bibliothek sollte weitgehend danach gebaut worden sein.


----------



## Markus (7 Juli 2009)

habe mich gestern wieder ein wenig damit auseinandergesetzt, deshlab nochmla hoch damit...

@peter
wie komme ich an die bausteine oder sourcecodes dieser taskforce?
wer verkauft oder verschenkt das?

hat dei oscat-fraktion schonmal über das thema nachgedacht?


----------



## rostiger Nagel (7 Juli 2009)

Hallo Markus, 
so etewas wäre schon sehr intressant, ich habe auch schon
einmal mit dem Gedanken gespielt Easy-Motion Control einzusetzen,
habe dann aber immer irgendetwas selber gebastelt.

Wie könnte das überhaubt aussehen, da die Siemens Software ja auch
die Siemens Hardware voraussetzt. An was hast du da gedacht....?

gruß helmut


----------



## PeterEF (8 Juli 2009)

Markus schrieb:


> @peter
> wie komme ich an die bausteine oder sourcecodes dieser taskforce?
> wer verkauft oder verschenkt das?


 
Bausteine und/oder Code gibs da denk ich nicht oder evt. für Mitglieder, nach Registrierung (Angabe EMail reicht) kann man PDF-Dokumente einsehen, 
darin wiederum sind exakt die Schnittstellen und Funktion genormter Bausteine beschrieben, quasi als Programmiervorlage.

Praktisch alle relevanten Hersteller von Programmierumgebungen für SPS haben am Entwurf mitgewirkt und wenn sich dann auch alle dran halten, 
ist das doch schonmal ein großer Schritt in Richtung hardwareunabhängiger SPS-Programmierung (für Antriebe).

aus dem Vorwort:


> This specification shall be seen as an open framework without hardware dependencies.
> It provides openness in the implementation on different platforms such as fully integrated, centralized or distributed systems.
> The actual implementation of the Function Blocks themselves is out of the scope of this MC standard.​


----------



## gravieren (9 Juli 2009)

Hi


Wie ist der Stand.


Gruss


----------



## Markus (9 Juli 2009)

na dass was hier steht...

die pdf mit der schnittstellen bzw. funktionsbeschreibung kann quasi jeder haben.

den code für die bausteine muss man selber schreiben.
schön wäre es natülich wenn sich ein paar freiwillige finden und das ganze zb als zusatz für die oscat lib entwickeln...


----------



## Markus (10 Juli 2009)

also ich habe mir jetzt mal easy mc von siemens mal angesehen, weil ich den ansatz ja im prinzip ganz gut finde...

es ist logisch das die eingangs- und ausgangstreiber und natürlich der fahr-fb im gleichen zyklus bzw. möglischst schnell und am besten taktsynchron aufgerufen werden müssen.
bei dem baustein der den getriebegleichlauf macht, da sehe ich da auch noch sinn drinn.

aber warum ein (eigentlich doofer) "move-absolute" oder "move-relativ" in dem selben (schnellen) zyklus aufgerufen werden müssen...
da diese bausteine dafür dass sie eigentlich recht "doof" sind sehr groß sind bin ich mal ein wenig neugierig geworden und habe mir die genauer angesehen. und meine vermutung hat sich bestätigt, tatata: die geben im positionierbetrieb nicht einach nur einen positionssollwert an den lageregler, die rechnen selber die sollgeschwindigkeit aus!
der "mc-control" der das eigentlich laut doku und plcopen machen sollte, der rechnet lediglich die schnellstoprampe.

wenn man dann noch bedenkt dass der komplette achsdatensatz an einen IN_OUT struct an jeden abustein anparametriert wird, aber in den bausteinen dennoch mit pointern auf den achs db gerabeitet wird, dann muss man sichs chon fast fragen ob die das absichtlich langsam machen wollten...

die brems und beschleunigungsrampen werden einfach linear gemacht, die steigung hängt dabei von den sollwerten mm/s², und dem aufrufintervall ab. ich persönlich habe mir hier im forum vor ca. einem jahr das hier abgeschaut: http://www.sps-forum.de/showthread.php?t=20723
hat zwar ne weile gedauert bis ich es begriffen habe (  ) aber jetzt im nachhineine habe ich eigentlich nur positive erfahrugnen mit dieser rampenform gemacht! was denkt ihr darüber?

auserhalb der rampen wird die solldrehzal über einen einfachen p-regler gemacht, was ja vollkommen ok ist. ich habe lediglich schon berlegt ob ich noch einen einfach en i-regler mit reinbasteln sollte, der dann greift wenn der schleppastand zu groß wird. wenn z.b. der sollwert kurz vor dem ziehl zu klein ist damit der motor noch genug moment aufbringen kann um sich überhaupt zu bewegen. was haltet ihr von dem ansatz?


also da finde ich das was ich bisher selber gemacht habe eigentlich besser - was bausteingröße bzw. laufzeit betrifft. was mir aber dennoch an easy-mc bzw. an der norm gefällt ist die sache mit den schnittstellen bzw. die logic der bausteine und ihrer modularität...
...diesbezüglich muss ich meinen kram wohl nochmal überarbeiten.


----------



## gravieren (10 Juli 2009)

Hi



> ...diesbezüglich muss ich meinen kram wohl nochmal überarbeiten.


Äh, heisst das, dass du die 0.1beta fast fertig hast.  

O.K.  Will ich auch haben.  


Gruss Karl


----------



## Markus (10 Juli 2009)

ich habe ein paar bausteinchen, aber die haben weder den umfang der emc bib, noch haben sie irgendwas mit der schnittstelle zu tun...


----------



## dalbi (11 Juli 2009)

Hallo Markus,

EMC scheint ja wirklich gebraucht zu werden, ich selbst habe damit wenig am Hut. Hauptsächlich nur HLK, mit Wasser panschen usw., Maschinenbau eigentlich weniger. Hast Du die Sachen von der PLCOpen schon, würde mich auch Interessieren, ansonsten werde ich mir die mal selber besorgen.

Gruss Daniel 
OSCAT.lib S7


----------



## Ralle (11 Juli 2009)

Mich würde das durchaus auch interessieren, wobei ich bisher bei Positionierungen lieber gleich Servos oder IPOS-Umrichter von SEW genutzt habe.

@Markus
Wenn du Unterlagen hast, kannst du die vielleicht mal zusammenpacken?


----------



## rostiger Nagel (11 Juli 2009)

Ich stell mal die Unterlagen von Siemens für Easy Motion Control rein, damit man sieht um was es geht.

Anhang anzeigen EasyMotionControl_GS_d[1].pdf


Anhang anzeigen EasyMotionControlHB_d.pdf


----------



## dalbi (13 Juli 2009)

Hallo,

ha ha ha ... wollte mich als Member bei dieser PLCOPEN Organisation anmelden. Heute bekam ich eine Email wo die doch glatt 450 Euro dafür haben wollen. Also werden wir uns doch was selber basteln müssen.

Gruss Daniel


----------



## gravieren (14 Juli 2009)

Hi

Was bekommt man für die 450 Euro.


Den kompletten Quellcode  ?


Falls ja, finde ich bestimmt einen Sponsor dafür.
(Ich selbst bin bereit, dafür mich mit 50 Euro zu beteiligen)


Falls nein, WUCHER für irgendwelches Papier.


----------



## Markus (14 Juli 2009)

gravieren schrieb:


> Hi
> 
> Was bekommt man für die 450 Euro.
> 
> ...


 

die frage ist halt wie das mit den lizenzen ist... ;-)
wenn es zulässig wäre, das wir den code gemeinsam kaufen (was ich bei dem preis bezweifle), dann würde ich da auch was beitragen.

ich bin mir sehr sicher das es dafür keinen code gibt, bestenfalls algorythmen. immerhin hat ja jeder anwender/hersteller eine andere hardwareplattform und ggf. einen anderen befehlsumfang.

ausserdem habe ich ja bereits mal einen flüchtigen blick auf einen code geworfen, der mir gezeigt hat wie ich es eigentlich nicht gerne machen würde...


ich habe in einigen wochen ein projekt mit relativ viel mc die nicht sehr dynamisch sein muss und grobe toleranzen mit +/-2mm zulässt, gut möglich dass wir das in dem fall so realisieren...


----------



## dalbi (14 Juli 2009)

gravieren schrieb:


> Hi
> 
> Was bekommt man für die 450 Euro.
> 
> ...



Hallo,

das geht aus dem Schreiben nicht hervor. So wie ich das verstehe darf man als Mitglied an dem Standard mitwirken und ein dickes Logo auf der Seite platzieren.

Gruss Daniel


----------



## gravieren (15 Juli 2009)

Hi

Sieht so aus, als ob das selbst geprogt werden muss.


Ich denke, das könnte der "Renner" werden.

Für die CoDeSys und Step7  Umgebung.




Wäre schön, wenn es sowas schon gäbe.


----------



## bike (15 Juli 2009)

Markus schrieb:


> ausserdem habe ich ja bereits mal einen flüchtigen blick auf einen code geworfen, der mir gezeigt hat wie ich es eigentlich nicht gerne machen würde..


Was hälst du davon, ein  Projekt zu starten, 
Regel für die Programmierung festlegen und dann die Aufgabe in verschiedene Teile zerlegen?
Hier wirst du bestimmt Mitschreiber finden!


bike


----------



## Markus (15 Juli 2009)

ja sehr gerne, aber....

1. ich habe nicht die zeit mich darum zu kümmern...
2. gehen die ansichten über die art und weise der programmierung hier sicher recht weit auseinader...


wenn sich jemand von euch drum kümmern will, dann kann ich gerne was beisteuern.



vorschläge meinerseits:

- programmeirt wird in AWL besser aber in SCL
(SCL wäre meiner meinung nach geeigneter und vor allem leichter portierbar auf andere system)

- die fahr fbs werden "doof" sein, die können nicht mehr als dem control-fb einen positionssollwert zu schicken - also nicht so wie es bei emc gelöst wurde. d.h. fahr fbs können zu einen normalen sps-zyklus aufgerufen werden.

- ausnahme hier ist der fb für den gleichlauf, dieser muss natürlich ebenfalls im schnellen zyklus bzw. taktsynchron bearbeitet werden.

- es gibt verschiedene eingangstreiber, diese müssen natürlich auch im schnellen zyklus bzw. taktsynchron bearbeitet werden.

- eingentlich würde es sinn machen die gleichlauffunktion in die familie der eingangstreiber anstelle der fahr-fbs zu packen.

- für die ausgangstreiber sollten wir und sehr viel gedanken über eine praktikable schnittstelle machen! den hier sollte jeder die möglichkeit haben ausgangstreiber für die von ihm eingesetzten motoren, servoventile oder was weiß ich was zu bauen und anschliessend der lib zu verfügung zu stellen.

- meinetwegen müssen wir uns nicht an diese norm halten, solange etwas sinnvolles modulares rauskommt. lieber ist der code laufzeitoptimiert anstatt das irgendwelcher quatsch mehrfach gerechnet wird...


aber wie gesagt, ich kann und will mich nicht um die koordination kümmern!


----------



## rostiger Nagel (15 Juli 2009)

Bei der Koordination mit zu Arbeiten sehe ich bei mir keine Problemme. Später mal auch ein Stück Hardware aus der Ecke zu nehmen und das ganze mal zu testen, wird mir auch keine Probleme bereiten. 
Aber dazu müssten sich natürlich hier ein paar Erfahrene bereit erklären mit zu Arbeiten.


----------



## dalbi (15 Juli 2009)

Helmut_von_der_Reparatur schrieb:


> Bei der Koordination mit zu Arbeiten sehe ich bei mir keine Problemme. Später mal auch ein Stück Hardware aus der Ecke zu nehmen und das ganze mal zu testen, wird mir auch keine Probleme bereiten.
> Aber dazu müssten sich natürlich hier ein paar Erfahrene bereit erklären mit zu Arbeiten.



Hallo,

ich bin auf jeden Fall auch mit dabei.

Gruss Daniel 
"OSCAT S7"


----------



## rostiger Nagel (15 Juli 2009)

dalbi schrieb:


> Hallo,
> 
> ich bin auf jeden Fall auch mit dabei.
> 
> ...



Klasse....


----------



## dalbi (15 Juli 2009)

Anbei noch die PDFs von PLCOpen. Diese sollten als Grundlage dienen.

Gruss Daniel


----------



## rostiger Nagel (15 Juli 2009)

dalbi schrieb:


> Anbei noch die PDFs von PLCOpen. Diese sollten als Grundlage dienen.
> 
> Gruss Daniel



ok, dann wird morgen erst mal gelesen...!


----------



## gravieren (16 Juli 2009)

Hi

Wie ist das Passwort   ?


----------



## Markus (16 Juli 2009)

gravieren schrieb:


> Hi
> 
> Wie ist das Passwort   ?



1. Dateiname lesen
2. gehirn auf ca. 35% betreiben
3. juhu


----------



## gravieren (16 Juli 2009)

Hi




> 2. gehirn auf ca. 35% betreiben


Scheisse, war mit 95% am versuchen.

Übers Ziel hinausgeschossen.   *ROFL*



Aber mit 28% hat es geklappt.


----------



## dalbi (16 Juli 2009)

So hat es geklappt? 
Habe mich nicht getraut das hier so offen hineinzustellen da zum Download Email usw. erforderlich ist.

Gruss Daniel


----------



## bike (17 Juli 2009)

Markus schrieb:


> ja sehr gerne, aber....
> 2. gehen die ansichten über die art und weise der programmierung hier sicher recht weit auseinader...




Da hast du recht.
Doch so wie du es geschildert hast könnte es passen.

Wenn ich am WE Zeit habe, werde ich die Doku von Siemens und PLC Open in vernüftige Sücke zu zerlegen.

Dann kann unabhängig von einander jemand das Tippen beginnen.


bike



P.S: Ich weiss wie schwer es ist verschiedene Künstler dazu zubringen an einem Bild zu arbeiten.


----------



## gravieren (9 August 2009)

Hi Bike

Hi All


Wurden schon Fortschritte gemacht  ?


----------



## Oerw (13 August 2009)

Hi all


gibt es bereits einen Arbeitskreis der daran arbeitet ?

Würde dies gerne in ST nutzen oder auch daran mitarbeiten


----------



## dalbi (13 August 2009)

Oerw schrieb:


> Hi all
> 
> 
> gibt es bereits einen Arbeitskreis der daran arbeitet ?
> ...



Hallo,

im Moment ist Urlaub angesagt, die Frau motzt bloß wenn ich die ganze zeit vorm Rechner hänge. Habe mir aber fest vorgenommen nach meinen Urlaub daran weiter zu basteln. Bin zur Zeit allerdings immer noch damit beschäftigt die Doku von PLC-Open zu lesen und wie man es flexibel für alle mögliche Hardware gestalten kann.

@Helmut_von_der_Rep... hasst Du vielleicht schon neue Erkenntnisse?

Gruss Daniel


----------



## rostiger Nagel (13 August 2009)

dalbi schrieb:


> Hallo,
> 
> ... Doku von PLC-Open zu lesen und wie man es flexibel für alle mögliche Hardware gestalten kann.
> 
> ...


 
Die Doku habe ich schon einmal überflogen und habe das eher aus
der Hardwarebasis Siemens betrachtet.

Ich bin mir überhaubt noch nicht in klaren was wir alles brauche
was ich mir noch alles wünschen würde. 
Gerne würde ich zum beispiel eine Interpolation von vielleicht 3 Achsen
haben. Wie könnte eine Geber- bzw. Achssimulation aussehen.
Wie kann mann die Regler optimieren, das sollte ja auch so gestaltet
werden das Automatisch geht.
Berücksichtigt mann die Visualliesierung sofort mit und erstellt
WinCCflexible-Bibliothek?

Viele Fragen....

gruß Helmut


----------



## dalbi (13 August 2009)

Helmut_von_der_Reparatur schrieb:


> Berücksichtigt mann die Visualliesierung sofort mit und erstellt WinCCflexible-Bibliothek?
> 
> Viele Fragen....


Na da bin ich aber Froh das es nicht nur mir so geht "Viele Fragen...".

Eine WinCCflexible Lib wäre auf jeden Fall sinnvoll, aber erst sollte mal das Grundkonzept stehen. Ich werde mir die ganze Sache in 3 Wochen mal richtig zu Gemüt führen und ein Konzept erarbeiten melde mich dann noch mal bei Dir wenn es so weit ist.

3 Wochen Urlaub ROFLMAO

Gruss Daniel


----------



## rostiger Nagel (13 August 2009)

dalbi schrieb:


> 3 Wochen Urlaub ROFLMAO


 
das sei dir gegönnt Daniel, erhol dich gut und mach dir
eine schöne Zeit mit deiner Frau / Familie.

schönen Urlaub :sc1:

Helmut


----------



## Markus (29 September 2009)

hallo,

also ich habe mich etwas an das thema rangemacht - habe grad ein projekt wo das schön reipasst...

was ich weiter vorne über die regelung von siemens geschrieben habe, war falsch - ich habe das damals falsch verstanden...

also ich habe mich nochmal intensiv mit dem thema auseinandergesetzt...


es ist so, das die "fahr-fb´s" nicht einfach nur einen drehzalsollwert generieren. in erster linie generieren sie eine sollposition und errechnen eine dafür benötigte solldrehzahl.

der control-fb errechnet aber eine neue drehzahl abhängig vom schleppanstand (abstand zwischen den vorgegebene sollposition des fahr-bf und der istposition) und einem p-faktor.

mit sollposition ist dabei nicht die zielposition gemeint, sondern die position die der antrieb zur aktuellen zeit haben sollte damit er der vorgegebenen bahn (rampe) folgt.

dennoch will ich es anders machen als in der norm.

ich möchte das die fahr-fbs doof bleiben, und sämtliche zeitkritische berechnung in dem control-fb gemacht wird.

und einen PI regler halte ich für sinnvoller als den P regler.
falls ein antrieb im unteren drehzahlbereich nicht genug moment hat um die achse zu bewegen.


----------



## mathgi (5 Oktober 2012)

Hallo,

ich weiß ein ziemlich alter Beitrag den ich hier aufwärme, aber die Frage wäre ob sich im Thema OpenMotionControl schon was getan hat?

Hintergrund ist, wir setzten seit einem Jahr EMC (Siemens Easy Motion Control) und sind mehr oder minder glücklich darüber. Prinzipiell kommt man damit zurecht, für unsere Positionier Anwendung hat es kleine Hacken, und den Quellcode hat man ja auch nicht. Was mich als Programmierer Ärgert wenn ich nicht genau weiß was jetzt wirklich passiert und man Umständlich mache Eigenheiten von EMC ausbügeln muss.

Ich habe versucht das EMC selber nachzubilden, da die Baustein- & Schnittstellenstruktur ja Sinnig sind, was sehr aufwendig ist und bis jetzt noch nicht zu einem funktionierend Ergebnis geführt hat. :-(


----------



## Markus (5 Oktober 2012)

Hi,

wir haben uns was recht umfangreiches gebaut ähnlich EMC.
läuft seid einigen Jahren in einigen Anlagen...
Lässt sich auch komplett über HMI parametrieren.

Aber da steckt soviel Geld und Arbeit drin dass wir das eigentlich nicht offen legen wollen...


----------



## mathgi (5 Oktober 2012)

Hi Markus,

schade, aber voll nachvollziehbar.

Dann kämpf ich mal weiter an meinem EMC nachbau.


----------

