Přeskočit obsah

Osciloskop

Popis funkce struktury Oscilloscope

Oscilloscope je sofistikovaný nástroj pro záznam až 32 kanálů - hodnot až 32 různých registrů v závislosti na čase. V určitém časovém intervalu detekuje a ukládá do sdílené paměti TGM_Oscilloscope hodnoty zvolených registrů. S daty pak lze pracovat v jiných částech PLC nebo ve Windows aplikacích. Sdílená paměť TGM_Oscilloscope má zpravidla velikost 1 048 576 bytů. Skutečnou velikost je nutno zjistit z hodnoty registru TGM_System.HEADER.Mem_Size_OSC. Paměť TGM_Oscilloscope je společná pro data všech zaznamenávaných kanálů. Při záznamu hodnot jednoho kanálu je jemu vyhrazena celá paměť, při záznamu dat více kanálů je paměť rovnoměrně rozdělena mezi jednotlivé kanály. Rozložení zaznamenávaných dat v paměti TGM_Oscilloscope a jejich offsety určuje TG Motion; tyto parametry uloží do příslušných registrů.

Poznámka

Rovnoměrnost rozdělení paměti TGM_Oscilloscope je vztažena k počtu bytů potřebných k záznamu hodnot jednotlivých registrů. Např. při záznamu dvou registrů, jednoho typu Long Integer (4 byty) a druhého typu Double (8 bytů), rozdělí TG Motion sdílenou paměť TGM_Oscilloscope v poměru 1:2, aby u obou kanálů mohl být zaznamenán stejný počet vzorků.

Upozornění

Se zvyšujícím se počtem zaznamenávaných kanálů klesá čas záznamu

Na úrovni TG Motion se načtení a záznam dat utilitou Oscilloscope do sdílené paměti TGM_Oscilloscope provádí po vykonání Program_04. Tím je zaručena časová synchronizace zaznamenaných hodnot. Načtení a záznam však nemusí proběhnout každý Cycle_Time; počet Cycle_Time, během nichž dojde k jednomu záznamu, určuje registr Number_Periods.

Vliv registru Number_Periods na četnost záznamů Oscilloscope

Poznámka

Na úrovni Windows nabízí Control Observer utilitu Oscilloscope, v níž lze zaznamenaná data zobrazit formou grafu, uložit do souboru, zpětně načíst, měnit parametry záznamu i zobrazování, případně provádět vlastní záznam.

Upozornění

Oscilloscope funguje jako jedna instance, která může být využívána z PLC i Control Observeru. Nelze ji však používat současně z PLC, Control Observeru, případně z jiných aplikací.

Utilita Oscilloscope obsažená v Control Observeru

Poznámka

Podrobný popis utility Oscilloscope Control Observeru se nachází v kapitole Control Observer.

Registry Oscilloscope a jejich význam

Registry, kterými se utilita Oscilloscope řídí, nebo kam ukládá svá nastavení, se nacházejí ve sdílené paměti TGM_System od offsetu 4736. Pro přehlednost je lze rozdělit do tří skupin:

  • obecné registry – týkají se nastavení utility Oscilloscope jako celku
  • registry kanálů – platí pouze pro konkrétní kanály
  • pomocné registry – obsahují informace o záznamu

Obecné registry Oscilloscope

Obecné registry slouží k celkovému nastavení a ovládání utility Oscilloscope.

Parametr Popis
Control Slouží k ovládání struktury Oscilloscope.
- 0: Neprobíhá záznam nebo slouží k zastavení záznamu.
- >0: Aktivace záznamu; spouští záznam nebo čekání na Trigger (podle registru Status).
Status Zobrazuje stav struktury Oscilloscope.
- 0: Neprobíhá záznam ani čekání na Trigger.
- 1: Probíhá záznam.
- 2: Čekání na Trigger.
Number_Periods Počet servotiků na jeden vzorek. Určuje počet Cycle_Time, za něž se provede jeden záznam dat Oscilloscope.
Number_Channels Počet zaznamenávaných nebo zaznamenaných kanálů.
Memory_Type_Trigger Typ sdílené paměti, v níž se nachází triggerovací registr.
- 0: TGM_System
- 1: TGM_Data
- 2: TGM_Cam_Profile
- 3: TGM_Oscilloscope
- 4: TGM_Servo
- 5: TGM_Dio
- 6: TGM_Interpolator
- 7: InterpolatorWriteMemory
- 8: InterpolatorReadMemory
- 9: TGM_ODS
- 10: TGM_CNCEX
- 11: TGM_GCODE
Offset_Trigger Offset triggerovacího registru v paměti dané registrem Memory_Type_Trigger.
Mode_Trigger Mód triggerovacího algoritmu.
- 0: Triggerování neaktivní.
- 1: Triggerování na náběžnou hranu.
- 2: Triggerování na sestupnou hranu.
Type_Trigger Datový typ triggerovacího registru.
Level_Trigger Hodnota triggerovacího registru, při níž se spustí záznam.

Poznámka

Triggerovacím registrem může být jakýkoli registr sdílených pamětí.

Upozornění

Přesto, že načtené hodnoty triggerovacího registru nemusejí být spojité, triggerovací algoritmus spojitost předpokládá. Např. při Level_Trigger = 20, Mode_Trigger = 1 a načtených po sobě jdoucích hodnotách triggerovacího registru 17 a 22 se předpokládá, že hodnoty 20 již bylo dosaženo a záznam Oscilloscope se spustí.

Princip fungování utility Oscilloscope

Je-li Mode_Trigger = 0, pak při nastavení registru Control > 0 spustí utilita Oscilloscope záznam dat. Záznam lze ukončit nastavením registru Control = 0. Je-li Mode_Trigger > 0, pak při nastavení registru Control > 0 aktivuje utilita Oscilloscope triggerovací algoritmus, který každý Cycle_Time testuje a vyhodnocuje hodnoty triggerovacího registru. Při splnění triggerovací podmínky se spustí záznam dat. Záznam Oscilloscope lze ukončit nastavením registru Control = 0.

Poznámka

Jestliže během záznamu Oscilloscope dojde k zaplnění vyhrazené paměti TGM_Oscilloscope, dojde automaticky k zastavení záznamu a registry Control a Status jsou nastaveny na hodnotu 0.

Poznámka

Kompletní výčet všech registrů Oscilloscope včetně popisu viz. Apendix.

Registry kanálů

Tyto registry určují parametry týkající se jednotlivých kanálů. Jedná se o umístění zaznamenaných dat v paměti TGM_Oscilloscope, určení zdroje dat (typ paměti a offset) a datový typ zaznamenávaného registru. Každému kanálu náleží následující čtveřice registrů.

Paramet r Popis
Offset Offset zaznamenávaných dat kanálu v paměti TGM_Oscilloscope (přidělený systémem TG Motion).
Memory_Type_Value Typ sdílené paměti, v níž se nachází zaznamenávaný registr.
- 0: TGM_System
- 1: TGM_Data
- 2: TGM_Cam_Profile
- 3: TGM_Oscilloscope
- 4: TGM_Servo
- 5: TGM_Dio
- 6: TGM_Interpolator
- 7: InterpolatorWriteMemory
- 8: InterpolatorReadMemory
- 9: TGM_ODS
- 10: TGM_CNCEX
- 11: TGM_GCODE
Offset_Value Offset zaznamenávaného registru v paměti dané hodnotou Memory_Type_Value.
Type_Value Datový typ zaznamenávaného registru.
- 0–3: Integer 32 bitů
- 4–7: Integer 64 bitů
- 8: Double (číslo v plovoucí řádové čárce o velikosti 64 bitů)
- 9: Float (číslo v plovoucí řádové čárce o velikosti 32 bitů)

Pomocné registry

Pomocné registry informují o parametrech záznamu utility Oscilloscope.

  • Number_Samples – počet vzorků k dispozici
  • Actual_Samples – aktuální počet zaznamenaných vzorků
  • Sample_Time - časový interval vzorkování (Sample_Time = Cycle_Time × Number_Periods) [μs]

Poznámka

Registr Actual_Samples se při probíhajícím záznamu s každým vzorkem zvyšuje o 1. Při zastavení vzorkování (např. při nastavení registru Control = 0) označuje hodnota registru Actual_Samples poslední provedený vzorek.

Přehled a popis registrů Oscilloscope

Obecné registry Oscilloscope

název přístup offset popis
Control RW 4736 slouží k ovládání struktury Oscilloscope
0 – neprobíhá záznam nebo zastavení záznamu
>0 – aktivace záznamu Oscilloscope (spouští záznam nebo čekání na Trigger)
Status R 4740 stav struktury Oscilloscope 0 – neprobíhá záznam
1 – záznam
2 – čekání na trigger
Number_Periods RW 4744 počet servotiků na jeden vzorek. Určuje počet Cycle_Time, za něž se provede jeden záznam
dat Oscilloscope
Number_Channels RW 4748 počet zaznamenávaných kanálů
Memory_Type_Trigger RW 4752 typ sdílené paměti, v níž se nachází triggerovací registr
Offset_Trigger RW 4756 offset triggerovacího registru v paměti dané registrem Memory_Type_Trigger
Mode_Trigger RW 4760 mód triggerovacího algoritmu 0 – triggerování neaktivní
1 – náběžná hrana 2 – sestupná hrana
Type_Trigger RW 4764 datový typ proměné triggerovacího registru
Level_Trigger RW 4768 hodnota triggerovacího registru, při níž se spustí záznam

registry kanálu OSC -> CHANNEL_00

název přístup offset popis
Offset R 4776 offset zaznamenávaných dat kanálu v paměti TGM_Oscilloscope
Memory_Type_Value RW 4780 typ sdílené paměti, v níž se nachází zaznamenávaný registr 0 – TGM_System
1 – TGM_Data
2 – TGM_Cam_Profile
3 – TGM_Oscilloscope
4 – TGM_Servo
5 – TGM_Dio
6 – TGM_Interpolator
7 – InterpolatorWriteMemory
8 – InterpolatorReadMemory
9 – TGM_ODS
10 – TGM_CNCEX
11 – TGM_GCODE
Offset_Value RW 4784 offset zaznamenávaného registru v paměti dané hodnotou Memory_Type_Value
Type_Value RW 4788 datový typ zaznamenávaného registru 0–3 – integer 32 bitů
4–7 – integer 64 bitů
8 – double (číslo v plovoucí řádové čárce o velikosti 64 bitů) 9 – float (číslo v plovoucí řádové čárce o velikosti 32 bitů)

registry ostatních kanálů OSC -> CHANNEL_01 - CHANNEL_31

název offset popis
CHANNEL_01 4792 registry náležející kanálu 01
CHANNEL_02 4808 registry náležející kanálu 02
׀ ׀ ׀
CHANNEL_31 5272 registry náležející kanálu 31

pomocné registry

název přístup offset popis
Number_Samples R 5288 počet vzorků k dispozici
Actual_Samples R 5292 aktuální počet zaznamenaných vzorků
Sample_Time R 5296 časový interval vzorkování (Sample_Time = Cycle_Time × Number_Periods) [μs]