# Achsen - Treiber  - SPS



## ThomasAdler (16 Dezember 2010)

Hallo,

www.*festo*.com

http://www.jat-gmbh.de/

weiß jemand, ob es für SPS'en fertige funktionsbasierte Treiber gibt.
Evtl. mit Beispielen.

Wie 
    MoveReference()
    MovePos(doube value)
Wenn das Ziel erreicht ist, soll ein Eingang, Event gesetzt werden.
    OnRef
    OnPos

Die obigen bieten OpenCAN Protokolle an, indem man müssig die 2 Funktionen selbstständig schreiben muss.

Welche SPS unterstützen solche Treiber?

   Beckhoff
   B&R
  Siemens
Viele Grüße  Thomas


----------



## Larry Laffer (16 Dezember 2010)

Hallo,
ich kann da jetzt nur für die Siemens-Welt sprechen.
Etwas wie einen Treiber gibt es generell gar nicht - es sei denn du verstehst eine GSD-Datei für die Bus-Kommunikation als etwas in der Art.
Für das Betreiben der Einheiten gibt es von dem einen oder anderen Hersteller durchaus Funktionsbausteine geliefert, die man benutzen könnte - ich muß dir hier allerdings gestehen, dass ich mit diesen mitgelieferten Konstrukten bislang eigentlich nie etwas habe anfangen können. Ich bin allerdings auch der Typ, der nicht um etwas Unpassendes erst noch umständlich etwas drumherum programmiert sondern es sich gleich lieber so baut, wie er es braucht.

Worum geht es dir denn genau ? Was willst du erreichen ?

Gruß
Larry


----------



## ThomasAdler (16 Dezember 2010)

*Achsen - Treiber - SPS*



> Worum geht es dir denn genau ? Was willst du erreichen ?


 
Ich habe eine x,y Liste

Pos   x    y
1     10, 10
2     30, 10
3     70, 90
4     100,90
5     200,33
6     232,22

Diese Positionen möchte ich anfahren.
Idealerweise, Eingabe über VS2008,.NET, C#
  Die Achsen sollen sichc bewegen, 
  Rückinfo, Event, wenn Pos erreicht

Mehr will ich nicht.

Grüße Thomas


----------



## bits'bytes (16 Dezember 2010)

Hallo,
also z.B. für B&R: du kannst (falls du eine ESD Datei hast) deinen Regler als CAN Knoten einbinden. 

Dann wählst du aus, welche Parameter aus der ESD Datei du in der zyklischen Kommunikation zwischen Regler <-> SPS dabei haben willst.

Diese Parameter verbindest du mit Prozess-variablen.

Diese Prozess-variablen beschreibst du über PVI mit einem C# Programm

Dann brauchst du in der SPS eigentlich nicht mehr viel programmieren.

z.B. notwendige Variablen wären da

- SET(PC -> SPS -> Regler)  Position, Geschwindigkeit, Steuerwort.
- IST(Regler -> SPS -> PC)   Position, Geschwindigkeit, Statuswort

Die kannst du dann quasi durch die SPS "durchschleifen". 

Im Statuswort hast du in der Regel die Info z.B. "Ziel erreicht", ...

Das setzt natürlich voraus dass der Regler vorher entsprechend parametriert wurde (z.B. mit einem mitgelieferten Tool). Da gibts ja dann ganz schön viele Parameter wie z.B. Beschleunigung, Bremsrampe, Referenzfahrt, bla, bla....

bg
bb


----------



## ThomasAdler (16 Dezember 2010)

*Achsen - Treiber - SPS*



> Diese Prozess-variablen beschreibst du über PVI mit einem C# Programm
> 
> Dann brauchst du in der SPS eigentlich nicht mehr viel programmieren.
> 
> ...


Hallo,
ja genau, hast Du hierfür konkret ein Beispiel?

Wie sieht dann so eine Statemachine aus?
Dann könnte ich die Logik doch in C# programmieren incl. HMI

Danke im Voraus.


Grüße Thomas


----------



## bits'bytes (16 Dezember 2010)

Leider nein, habe nur ein bisschen Erfahrung mit dem Feldbus Konfigurator und wie man eben diese zyklische Kommunikation aufbaut. 

Nachdem diese Kommunikation aufgebaut ist, kann man z.B. schon über den Monitor des AS Positionieren ohne auch nur irgend was zu programmieren 

Es gibt dann einige Faktoren welche das ganze entscheidend beeinflussen:

- welche Regler sollen zum Einsatz kommen ?

- der Regler hat ja selber eine State-Machine. Diese wird unter bestimmten Bedingungen und Signalzuständen weitergeschaltet. Da wird es dir nicht erspart bleiben dich mit dem Teil auseinander zu setzen und die Statemachine am PC irgendwie daran anzulehnen.

- Ich nehme an das ganze wird irgend so eine Demo Sache, ansonsten würde ich dir nämlich davon abraten das so direkt über den PC zu lösen. In Real Life würdest du deine X,Y Tabelle zur SPS schreiben und von dort aus den Ablauf steuern. Es gibt ja dann normalerweise noch einige Signale aus der Umgebung welche zum Beispiel abschalten sollten. 

Aber für Demo-Anlage denke ich sollte es auch über Steuern vom PC gehen.

bg
bb


----------



## Ralle (16 Dezember 2010)

Festo hat für seine Servos Step7-Bausteine, die funktionieren problemlos. Man kann entweder im Servo Position und Geschwindigkeit in Fahrsätzen hinterlegen (auch verketten) oder man kann direkt am Baustein Postion und Geschwindigkeit vorgeben, die Positionierung starten. Zurück kommt dann die Meldung, Position erreicht, die Istposition und einiges mehr.


----------



## Markus (17 Dezember 2010)

ich denke was du suchst sind motion control bausteine, die fast alle hersteller anbieten und die idr alle nach der norm plcopen sind.

bei siemens kann man sowas kaufen, heißt "easy motion control"

bei vielen anderen herstellern sind die biblioteken dabei.

das mit der tabelelnpositionierung mit x und y sieht etwas nach kurvenscheibe aus, dafür haben viele hersteller auch fertige sachen inkl grafischen editoren... sew z.b. macht sowas recht schön mit ihrer moviplc bzw. moviaxis, aber auch bei beckhoff oder simens (simotion oder t-cpu) gibts solche fuktionen...

hier mal ne grobe richtung:

http://www.plcopen.org/pages/tc2_motion_control/

http://www.automation.siemens.com/m...logie/easy-motion-control/Seiten/Default.aspx

http://www.sew-eurodrive.de/produkt/kurvenscheibe.htm


----------



## ThomasAdler (17 Dezember 2010)

*Achsen - Treiber - SPS*



> hier mal ne grobe richtung:
> 
> http://www.plcopen.org/pages/tc2_motion_control/
> 
> ...


ok, ich schau's mir mal an.

Gibt es auch so eine Art WebCasts? Video? Auf Deutsch?
Tutorial
  .NET C# -- SPS

Grüße Thomas


----------

