Diskussion:Drive Unit

Aus CANopen-Lift
Version vom 20. August 2007, 16:21 Uhr von MForrer (Diskussion | Beiträge) (Einheit 'car position unit')
Zur Navigation springen Zur Suche springen

Hier kann die Diskussion zur Ansteuerung der Umrichter stattfinden.

PDO-Mapping

Mapping gemäss aktuellem Stand DSP-417:

1. RPDO: 'Controlword' und 'Target position'
1. TPDO: 'Statusword' und 'Control effort'
2. RPDO: 'Controlword' und 'Target velocity'
2. TPDO: 'Statusword' und 'Velocity actual value'
3. RPDO: 'Car position value' (kommt vom virtual device 'car position unit')

Das PDO-Mapping ist in meinen Augen nicht sehr sinnvoll gelöst. 'Statusword' und 'Controlword' sind in zwei PDO's gemapped und müssen je nach aktuellem Mode ('profile position mode' oder 'velocity mode') aktiviert bzw. inaktiviert werden. Dieses Umschalten im 'mode operational' halte ich für sehr gefährlich, da der Zeitpunkt für das Umschalten nicht spezifiziert ist. Im Zeitraum zwischen Umschalten (SDO-Zugriff auf 'Modes of operation' bis Aktivieren/Deaktivieren PDO's) kann es zu unkontrollierten PDO's (unkontrolliertes Verhalten) kommen.


Deshalb hier meine zwei alternativen Vorschläge:

Vorschlag 1:


1. RPDO: 'Controlword' und 'Modes of operation'
1. TPDO: 'Statusword' und 'Modes of operation display'
2. RPDO: 'Target position' und 'Target velocity'
2. TPDO: 'Velocity actual value'
3. RPDO: 'Car position value' (kommt vom virtual device 'car position unit')


Vorschlag 2 (PDO's für 'profile position mode' und 'velocity mode' getrennt):


1. RPDO: 'Controlword' und 'Modes of operation'
1. TPDO: 'Statusword' und 'Modes of operation display'
2. RPDO: 'Target position' und 'profile velocity' (profile position mode)
3. RPDO: 'Target velocity' (velocity mode)
3. TPDO: 'Velocity actual value'
4. RPDO: 'Car position value' (kommt vom virtual device 'car position unit')

Control effort

Über das Objekt 'Control effort' liefert der Umrichter im 'profile position mode' den Verzögerungspunkt (aktueller Restweg) zurück. Im DCP-Protokoll wird diese Information dazu verwendet, um zu ermitteln, ob einem Aufzug eine neue 'target position' mitgeteilt werden kann.

Bei DSP-417 gibt es ein komfortables Handshake über Bit 12 des Statusword:

Beispiel-Ablauf:

- Kabine ist in Etage 1, Kommando Etage 5
- Kabine fährt nach Etage 5 (target position: Etage 5)
- irgendwann kommt Kommando Etage 3
- falls aktuelle Position kleiner als Etage 3: Steuerung schickt an Umrichter neue target position Etage 3
- falls der Umrichter bremsen kann (Bit 12 im Statuswort), weiss die Steuerung, dass die Etage 3 angefahren wird, sonst hat es für Etage 3 nicht gereicht

Einheit 'car position unit'

Die Einheit des virtual device 'car position unit' kann in diversen Einheiten (Inkremente, Millimeter, ...) dem 'car drive unit' mitgeteilt werden. Die genaueste Einheit wäre Inkremente, da von den meisten Positionsgebern mehrere Inkremente pro Millimeter erwartet werden können.

Für einen Aufzug stellt sich jedoch die Frage, ob Millimeter nicht genügend genau sind. Das hätte den Vorteil, dass sich die Konfiguration der 'car drive unit' vereinfachen würde. Zudem sind Positionswerte auf dem Bus besser interpretierbar.

Deshalb ein möglicher Vorschlag, wie das virtual device 'car position unit' konfiguriert werden könnte:

"Die car position unit muss so konfiguriert werden, dass der 'car position value' in Aufwärtsrichtung kontinuierlich steigend ist und keine Sprünge und Überläufe aufweist. Die Einheit des car position value ist Millimeter"