Přeskočit obsah

Profile generator

Základní popis

Generátor žádané polohy. Umožňuje jednoduchým způsobem polohovat z bodu do bodu a rychlostně řídit servopohon. Výstupem generátoru je proměnná 64 bitová poloha, která se skládá ze dvou 32 bitových proměnných APosAngle a APosRevol a dále proměnné ASpeed určující aktuální žádanou hodnotu rychlosti. Parametry generátoru jsou Acc a Dec, které určují akceleraci resp. deceleraci pohonu, parametr Type určuje průběh rychlosti při akceleraci a deceleraci (viz. schéma níže). Dalším parametrem je PosSpeed, který určuje maximální rychlost při zapolohování, parametry DPosAngle a DposRevol určují cílovou polohu a parametr Speed určuje žádanou hodnotu rychlosti. Pomocí proměnných Mode a Rdy se realizuje vlastní ovládání generátoru. Proměnná Mode určuje režim PG (hodnota 0 udává rychlostní režim, hodnota 1 udává polohový režim). Pokud je polohování úspěšně dokončeno a výstupní poloha je shodná se žádanou, pak je tento stav signalizován hodnotou proměnné Rdy = 1. Generátor pracuje tak, že v každé periodě na základě parametrů (Acc, Dec, Type, PosSpeed, DPosAngle a DPosRevol) a stavu proměnných Mode a Speed vypočítá aktuální žádanou hodnotu polohy APosAngle a APosRevol a aktuální žádanou hodnotu rychlosti ASpeed. Výpočet generátoru probíhá s interním rozlišením daným parametrem BitsPerRevol. Tento parametr pak udává vnitřní počet inkrementů na otáčku.

TGZ servo ramp type

  • (a) Polohový mód
  • (b) rychlostní režim
  • (c) typ náběžných a sestupných ramp

Následující parametry pracují s tímto rozlišením:

Parameter Jednotka
Acc, Dec [Inc/s²]
ASpeed, DSpeed, Speed [Inc/s]

Polohové parametry jsou 64 bitové a jsou složeny ze dvou 32 bitových registrů:

  • Registr Angle udává polohu v rámci jedné otáčky s rozlišením 32 bitů
  • Registr Revol je rozšíření o 32 bitů (počet celých otáček):
    • DPosRevol, DPosAngle
    • APosRevol, APosAngle

V uživatelském programu je možno pro zjednodušení práce s generátorem profilu využívat tyto vestavěné funkce:

  • Relativní polohování - jedná se o přejezd o polohu:
    int PosRel(int axis, int Acc, int Dec, int Speed, long long Pos, int AddGear);
  • Absolutní polohování - jedná se nájezd do absolutní polohy:
    int PosAbs(int axis, int Acc, int Dec, int Speed, long long Pos, int AddGear);
  • Rychlostní přejezd - pohon se roztočí danou rychlostí.
    int RunSpeed(int axis, int Acc, int Speed, int AddGear);

Popis parametrů: axis - 0 -> osa 1; axis 1 - osa 2 Acc,Dec ... Ve stejném významu jako parametry PG popsané výše Speed ... Maximální rychlost polohového přejezdu nebo rychlost rychlostního přejezdu AddGear ... zatím není implementován (bude určovat spolupráci s modulem Gear - převod)

Příklady řízení motoru prostřednictvím Profil Generátoru

Následující tabulky poskytují příklady použití profilu generátoru, který je nastaven na různé režimy řízení motoru. Ve sloupci Základní skupiny je uveden název stránky. Přepínání mezi jednotlivými stránkami je povoleno v levém horním rohu grafického uživatelského rozhraní TGZ.

Poznámka

V prvním kroku je důležité nastavit / načíst správné parametry pohonu. Nahrávání parametrů je umožněno pomocí modré obálky v pravém horním rohu (LOAD PARAMETERS FROM FILE), viz. Návod k TGZ GUI

Řízení polohy motoru (TGZ GUI)

Krok Základní skupina Parametr Hodnota Popis
1 - - - Načíst parametry pohonu.
2 Drive D-mode 7 Generátor profilů - režim polohy.
3 Command K-Command 1 SW enable. Lze jej také zapnout pomocí tlačítka enable pro příslušnou osu na spodní liště. Motor generuje točivý moment.
4 PG Acc 5 000 000 1 [inc/s²] Požadovaná akcelerace.
5 PG Dec 5 000 000 1 [inc/s²] Požadované zpomalení.
6 PG PosSpeed 1 000 000 1 [inc/s] Požadovaná rychlost pohybu v pozičním režimu.
7 PG Mode 1 Poziční režim.
8 PG Type 1 Požadovaný typ rampy. Viz Obrázek 1.
9 PG DPosAngle 0 [inc] Požadovaná poloha v rozsahu jedné otáčky. Po zadání hodnoty a stisknutí klávesy Enter se motor otočí do požadované polohy.
10 PG DPosRevol 20 1 [inc] Požadovaná poloha v rozsahu víceotáčkového pohybu. Po zadání hodnoty a stisknutí klávesy Enter se motor otočí do požadované polohy.

Řízení polohy motoru (UDP)

D-mode
Popis: Nastavení módu servozesilovače: Profil Generátor – polohový režim.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x03 0x03 0x07 0x00 0x00 0x00
Telegram: Odpověď
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 (Byte 6, 10 = 0 : žádný Error)
0x47 0x54 0x02 0x03 0x03 0x00

PG – Acc, Dec, PosSpeed, Type, Mode, DPosAngle, DPosRevol
Popis: Nastavení požadovaného zrychlení, zpomalení, žádané rychlosti (do najetí do nulové polohy), typu rampy (viz Obrázek 1Obrázek 1), módu Profil Generátoru a nulové požadované hodnoty polohy (počáteční stav).

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x00 0x02 0x40 0x4B 0x4C
Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17
0x00 0x40 0x4B 0x4C 0x00 0x02 0x19 0x07 0x40
Byte 18 Byte 19 Byte 20 Byte 21 Byte 22 Byte 23 Byte 24 Byte 25 Byte 26
0x42 0x0F 0x00 0x02 0x19 0x0B 0x01 0x00 0x00
Byte 27 Byte 28 Byte 29 Byte 30 Byte 31 Byte 32 Byte 33 Byte 34 Byte 35
0x00 0x02 0x19 0x09 0x01 0x00 0x00 0x00 0x04
Byte 36 Byte 37 Byte 38 Byte 39 Byte 40 Byte 41 Byte 42 Byte 43 Byte 44
0x19 0x04 0x02 0x00 0x00 0x00 0x00 0x00 0x00
Byte 45 Byte 46
0x00 0x00
Telegram: Odpověď (Byte 6, 10 = 0 : no Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x00 0x00 0x02 0x02 0x19
Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17
0x07 0x00 0x02 0x19 0x0B 0x00 0x02 0x19 0x09
Byte 18 Byte 19 Byte 20 Byte 21 Byte 22 Byte 23
0x00 0x04 0x19 0x04 0x00 0x02

K – Command
Popis: SW enable. Po zadání tohoto příkazu je motor pod momentem a provede natočení do požadované polohy z předchozího požadavku.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x11 0x00 0x01 0x00 0x00 0x00
Telegram: Odpověď (Byte 6, 10 = 0 : no Error)
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6
0x47 0x54 0x02 0x11 0x00 0x00

Řízení rychlosti motoru (TGZ GUI)

Krok Základní skupina Parametr Hodnota Popis
1 - - - Načíst parametry pohonu.
2 Drive D-mode 7 Generátor profilů - režim polohy.
3 Command K-Command 1 SW povolení. Lze jej také zapnout pomocí aktivačního tlačítka na spodní liště. Motor generuje točivý moment.
4 PG Acc 5 000 000 1 [inc /s²] Požadovaná akcelerace.
5 PG Dec 5 000 0001 [inc /s²] Požadovaná dekcelerace.
6 PG Mode 0 Rychlostní režim.
7 PG Type 1 Požadovaný typ rampy. Viz Obrázek 1.
8 PG PosSpeed ±1 000 000 1 [inc /s] Požadovaná rychlost pohybu v pozičním režimu. Po zadání hodnoty a stisknutí klávesy Enter se motor bude točit požadovanou rychlostí.

Řízení rychlosti motoru (UDP)

D-Mode
Popis: Nastavení módu servozesilovače: Profil Generátor – polohový režim.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x03 0x03 0x07 0x00 0x00 0x00
Telegram: Odpověď (Byte 6, 10 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
0x47 0x54 0x02 0x03 0x03 0x00

PG – Acc, Dec, PosSpeed, Type, Mode
Popis: Nastavení požadovaného zrychlení, zpomalení, rychlosti, typu ramp (viz obr) a módu Profil Generátoru. Znaménko u rychlosti PosSpeed rozhoduje o směru otáčení motoru.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x00 0x02 0x40 0x4B 0x4C
Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17
0x00 0x40 0x4B 0x4C 0x00 0x02 0x19 0x08 0x40
Byte 18 Byte 19 Byte 20 Byte 21 Byte 22 Byte 23 Byte 24 Byte 25 Byte 26
0x42 0x0F 0x00 0x02 0x19 0x0B 0x01 0x00 0x00
Byte 27 Byte 28 Byte 29 Byte 30 Byte 31 Byte 32 Byte 33 Byte 34
0x00 0x02 0x19 0x09 0x00 0x00 0x00 0x00
Telegram: Odpověď (Byte 5= 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x00 0x00 0x02 0x02 0x19
Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17
0x08 0x00 0x02 0x19 0x0B 0x00 0x02 0x19 0x09
Byte 18
0x00

K – Command
Popis: SW enable. Po zadání tohoto příkazu je motor pod momentem a zahájí otáčení v požadovaném směru s požadovanou rychlostí.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x11 0x00 0x01 0x00 0x00 0x00
Telegram: Odpověď (Byte 5 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
0x47 0x54 0x02 0x11 0x00 0x00

SW limity při rychlostním řízení (TGZ GUI)

Krok Základní skupina Parametr Hodnota Popis
1 - - - Načíst parametry pohonu.
2 Drive D-mode 7 Generátor profilů -režim polohy.
3 Command K-Command 1 SW povolení. Lze jej také zapnout pomocí aktivačního tlačítka na spodní liště. Motor generuje točivý moment.
4 PG Acc 5000000 1 [inc /s2]Požadovaná akcelerace.
5 PG Dec 5000000 1 [inc /s2]Požadované zpomalení.
6 PG PosSpeed 1000 000 1 [inc /s] Požadovaná rychlost pohybu vpozičním režimu.
7 PG Mode 1 Poziční režim.
8 PG Type 1 Požadovaný typ rampy
9 PG DPosAngle 0 [inc]Požadovaná poloha v rozsahu jedné otáčky. Po zadání hodnoty astisknutí klávesy Enter se motor otočí do požadovaného úhlu.
10 PG DPosRevol 0 [inc]Požadovaná poloha v rozsahu víceotáčkového pohybu. Pozadání hodnoty a stisknutí klávesy Enter se motor otočí do polohy 0. Počkejte, až se motor otočí.
11 PG PosSpeed 0 [inc /s] Požadovaná rychlost pohybu vpozičním režimu.
12 PG Mode 0 Rychlostní režim.
13 PG PosLimitAnglePosit 0 1 Limit kladné polohy v rámci jedné otáčky vrozsahu od -216do 216
14 PG PosLimitRevolPosit 20 1 [± počet otáček] Horní mez polohy v rámci otáček v rozsahu od -216do 216
15 PG PosLimitAngleNegat 0 1 Limit záporné polohy v rámci jedné otáčky v rozsahu od -216do 216
16 PG PosLimitRevolNegat -20 1 [± počet otáček] Dolní mez polohy v rámci otáček v rozsahu od -216do 216
17 PG PosSpeed ± 5000 000 1 [inc /s] Po zadání hodnoty se motor bude otáčet rychlostí PosSpeed do polohy PosLimitRevolPosit nebo PosLimitRevolNegat. Směr otáčení je dán znaménkem parametru PosSpeed.

SW limity při rychlostním řízení (UDP)

D-Mode
Popis: Nastavení módu servozesilovače: Profil Generátor – rychlostní režim.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x03 0x03 0x07 0x00 0x00 0x00
Telegram: Odpověď (Byte 6, 10 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
0x47 0x54 0x02 0x03 0x03 0x00

PG – Acc, Dec, PosSpeed, Type, Mode, DPosAngle, DPosRevol
Popis: Nastavení požadovaného zrychlení, zpomalení, rychlosti a typu ramp Profil Generátoru. V posledním kroku je zadána nulová požadovaná poloha (výchozí stav).

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x00 0x02 0x40 0x4B 0x4C
Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17
0x00 0x40 0x4B 0x4C 0x00 0x02 0x1A 0x07 0x00
Byte 18 Byte 19 Byte 20 Byte 21 Byte 22 Byte 23 Byte 24 Byte 25 Byte 26
0x00 0x00 0x00 0x02 0x19 0x0B 0x01 0x00 0x00
Byte 27 Byte 28 Byte 29 Byte 30 Byte 31 Byte 32 Byte 33 Byte 34 Byte 35
0x00 0x02 0x19 0x09 0x01 0x00 0x00 0x00 0x04
Byte 36 Byte 37 Byte 38 Byte 39 Byte 40 Byte 41 Byte 42 Byte 43 Byte 44
0x19 0x04 0x02 0x00 0x00 0x00 0x00 0x00 0x00
Byte 45 Byte 46
0x00 0x00
Telegram: Odpověď (Byte 6, 10, 14, 18, 22 = 0 : no Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x00 0x00 0x02 0x02 0x19
Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17
0x07 0x00 0x02 0x19 0x0B 0x00 0x02 0x19 0x09
Byte 18 Byte 19 Byte 20 Byte 21 Byte 22 Byte 23
0x00 0x04 0x19 0x04 0x00 0x02

K – Command
Popis: SW enable. Po zadání tohoto příkazu je motor pod momentem a otočí se do požadované polohy (tj. do polohy 0). Je nutné vyčkat než se motor dotočí.

Telegram Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x11 0x00 0x01 0x00 0x00 0x00
Telegram Odpověď (Byte 5 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
0x47 0x54 0x02 0x11 0x00 0x00

PG – PosSpeed
Popis: Nastavení požadovanou rychlost na nulovou hodnotu.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x19 0x07 0x00 0x00 0x00 0x00
Telegramm Odpověď (Byte 5 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
0x47 0x54 0x02 0x19 0x07 0x00

PG – Mode
Popis: Nastavení Profil Generátoru do rychlostního režimu.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x19 0x09 0x00 0x00 0x00 0x00
Telegram: Odpověď (Byte 5 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
0x47 0x54 0x02 0x19 0x09 0x00

PG – PosLimitAnglePosit, PosLimitRevolPosit, PosLimitAngleNegat, PosLimitRevolNegat
Popis: Nastavení pozičních limitů v rámci jedné otáčky a v rámci více otáček.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x04 0x02 0x40 0x4B 0x4C
Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17
0x00 0x40 0x4B 0x4C 0x00 0x04 0x1A 0x04 0x02
Byte 18 Byte 19 Byte 20 Byte 21 Byte 22 Byte 23 Byte 24 Byte 24
0x42 0x0F 0x00 0x02 0x19 0x0B 0x01 0x01
Telegram: Odpověď (Byte 5,10 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x04 0x19 0x04 0x00 0x02 0x04 0x1A
Byte 9 Byte 10 Byte 11
0x04 0x00 0x02

PG – PosSpeed
Popis: SW enable. Po zadání tohoto příkazu je motor pod momentem a provede natočení do požadované polohy z předchozího požadavku.

Telegram: Požadavek
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
0x47 0x54 0x02 0x11 0x00 0x01 0x00 0x00 0x00
Telegram: Odpověď (Byte 5 = 0 : žádný Error)
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
0x47 0x54 0x02 0x11 0x00 0x00

Rozšířený popis parametrů Generátoru profilů

Název parametru Popis
Acc Požadované zrychlení pohonu
Dec Požadované zpomalení pohonu
APosAngle Aktuální pozice pohonu v rámci jedné otáčky
APosRevol Aktuální pozice pohonu v rámci počtu otáček
DPosAngle Požadovaná pozice pohonu v rámci jedné otáčky
DPosRevol Požadovaná pozice pohonu v rámci počtu otáček
ASpeed Aktuální rychlost pohonu
PosSpeed Požadovaná rychlost pohybu v polohovém módu
Speed Požadovaná rychlost pohybu v rychlostním módu
Mode Mód profil generátoru. 0 = rychlostní, 1 = poziční, 2 (onlyread) = signalizace zpomalovací rampy v pozičním módu
Rdy Signalizace dokončení pohybu pohonu. 1 = Poloha byla dosažena
Type Typ profilu rychlosti 0 = harmonické nesymetrické, 1 = harmonické symetrické, 2 = plně harmonické, 3 = lichoběžníkové
BitsPerRevol Počet bitů na otáčku pro profil generátorů
RotaryMode Speciální režim polohování v rámci jedné otáčky s přejezdem kratší cestou - využití pro přímé motory. 1 = Rotary mód, 0 = standardní mód
PosOffsetAngle Poziční offset v rámci jedné otáčky
PosOffsetRevol Poziční offset v rámci počtu otáček
PosLimitAnglePosit Kladný poziční limit v rámci jedné otáčky v rozsahu od -216 do 216
PosLimitRevolPosit Kladný poziční limit v rámci počtu otáček v rozsahu od -216 do 216
PosLimitAngleNegat Záporný poziční limit v rámci jedné otáčky v rozsahu od -216 do 216
PosLimitRevolNegat Záporný poziční limit v rámci počtu otáček v rozsahu od -216 do 216
DPosAngleRotary V režimu „RotaryMode = 1“ tento parametr určuje požadovanou polohu v rámci jedné otáčky
AccMaxCurrentFeedForward Proudová předkorekce

  1. Uvedené hodnoty jsou pouze orientační. Lze je libovolně měnit.