Positionierung

earl_mobile

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

ich moechte mit einer S7-224xp neben anderen Aufgaben eine Positionierung mit einem Schrittmotor durchfuehren. Der Treiber ist fertig, die SPS gibt nur den Impuls und die Drehrichtung raus. Der Motor soll 7 Positionen anfahren die mit Photosensoren bestueckt sind. Die neue Position kommt ueber 7 Eingaenge in die SPS (digital). D.h ich habe 7 dig. Eingaenge fuer die jetzige Pos und 7 Eingaenge fuer die neue Position (diese stammt aus Messwerten)
Meine Idee ist die aktuelle Position zu nutzen um daraus zusammen mit der neuen Zielposition die Drehrichtung zu ermitteln. Die SPS gibt solange den Impuls bis das Ziel erreicht ist (Sensor).Wenn ich nun die Wahrheitstabelle aufstelle benoetige ich ganze Menge Operatoren.
Gibt es die Moeglichkeit die jeweils 7 Inputs in ein Bitwort zu wandeln, dann die Beiden Bitfolgen zu vergleichen, um daraus die Drehrichtung zu ermitteln?

Bsp. jetzige Pos: 3
neue Pos: 5
Rechtslauf wenn E>I, Linksslauf wenn E<I

E1 E2 E3 E4 E5 E6 E7=(0 0 1 0 0 0 0)
I1 I2 I3 I4 I5 I6 I7 = (0 0 0 0 1 0 0)
-->E>I also rechtslauf

Kann da jemand helfen oder gibt es fuer sowas elegantere Loesungen


Danke
 
Hallo,
wenn Du ein Eingangsbyte (EB) verwendest geht das, das störende Eingangsbit kannst Du ausblenden indem Du z.B. einmal rechts schiebst und danach wieder links wenn e0.0 nicht gebraucht wird. Na dann brauchst Du nur noch auf größer und kleiner zu vergleichen, dann hast Du die Drehrichtung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schoenen Dank,

ja, ich kann das Byte so ansprechen und die Eingaenge vergleichen.Jedoch sind die Eingaenge ueber versch. Byte verteilt-

EingaengeE: 1.0-1.5 und 2.7
EingaengeI: 2.0-2.6
Lassen sich einzelne Bit "manuell" zu einem Wort zusammenfassen und danach vergleichen?
Oder muss ich die Eingaenge umverteilen und entsprechende nichtzugehoerige Bit ignorieren (verschieben-zurueck schieben).
 
Zurück
Oben