Difference between revisions of "Using SimpleMotion scope capture feature"

From Granite Devices Knowledge Wiki
Jump to: navigation, search
[checked revision][checked revision]
(Created page with "This page is written in Finnish. Translation work in progress. If you need it now, please inquire at Granite Devices support. === Initialization of parameters === *SMP_CA...")
 
Line 1: Line 1:
 
This page is written in Finnish. Translation work in progress. If you need it now, please inquire at [[Granite Devices support]].
 
This page is written in Finnish. Translation work in progress. If you need it now, please inquire at [[Granite Devices support]].
  
=== Initialization of parameters ===
+
==Alustus, asetetaan skoopin parametrit==
*SMP_CAPTURE_BUF_LENGHT - montako samplea kaapataan 1-2048
+
 
*SMP_CAPTURE_SAMPLERATE - näytteistystaajuus (tai sen jakaja). IONIllla/ATOMIlla taajuus on 20kHz/(arvo+1), eli 0=20kHz, 1=10kHz, 2=6.66kHz jne. ARGONilla taajuus alkaa 17.5kHz:stä.
+
    SMP_CAPTURE_BUF_LENGHT - montako samplea kaapataan 1-2048
*SMP_CAPTURE_SOURCE - päälläolevat bitit tässä parametrissa määräävät mitä signaaleja bufferiin kaapataan, seuraavat on saavatilla kaikissa firmisversioissa (samat mitä granityssä valittavissa):  
+
    SMP_CAPTURE_SAMPLERATE - näytteistystaajuus (tai sen jakaja). Taajuus on 20kHz/(arvo+1), eli 0=20kHz, 1=10kHz, 2=6.66kHz jne
+
    SMP_CAPTURE_SOURCE - päälläolevat bitit tässä parametrissa määräävät mitä signaaleja bufferiin kaapataan, seuraavat on saavatilla kaikissa firmisversioissa (samat mitä granityssä valittavissa):
**    #define CAPTURE_TORQUE_TARGET 1     #define CAPTURE_TORQUE_ACTUAL 2     #define CAPTURE_VELOCITY_TARGET 3     #define CAPTURE_VELOCITY_ACTUAL 4     #define CAPTURE_POSITION_TARGET 5     #define CAPTURE_POSITION_ACTUAL 6     #define CAPTURE_FOLLOW_ERROR 7     #define CAPTURE_OUTPUT_VOLTAGE 8     #define CAPTURE_BUS_VOLTAGE 9     #define CAPTURE_DEBUG1 19     #define CAPTURE_DEBUG2 20
+
            #define CAPTURE_TORQUE_TARGET 1
**Esim arvoksi tulee 68 (bitit 2 & 6) kanavilla CAPTURE_TORQUE_ACTUAL ja CAPTURE_POSITION_ACTUAL.
+
            #define CAPTURE_TORQUE_ACTUAL 2
+
            #define CAPTURE_VELOCITY_TARGET 3
*SMP_CAPTURE_TRIGGER - triggeri mikä käynnistää kaappauksen, vaihtoehdot (samat mitä granityssä valittavissa):  
+
            #define CAPTURE_VELOCITY_ACTUAL 4
+
            #define CAPTURE_POSITION_TARGET 5
**    #define TRIG_NONE 0    #define TRIG_INSTANT 1    #define TRIG_FAULT 2    #define TRIG_TARGETCHANGE 3    #define TRIG_TARGETCHANGE_POS 4    #define TRIG_EXTERNAL_INPUT 5
+
            #define CAPTURE_POSITION_ACTUAL 6
+
            #define CAPTURE_FOLLOW_ERROR 7
*SMP_CAPTURE_BEFORE_TRIGGER_PERCENTS - tämä tuli vasta FW versiossa 1.6.0. asettaa kaappauksen aloituksen ennen triggausta. arvo prosentteina -1000000...100. Granityt 1.13.0 voi testailla tämän toimintaa.  
+
            #define CAPTURE_OUTPUT_VOLTAGE 8
+
            #define CAPTURE_BUS_VOLTAGE 9
=== Reading scope data ===
+
            #define CAPTURE_DEBUG1 19
*Pollataan arvoa SMP_CAPTURE_STATE, arvot:
+
            #define CAPTURE_DEBUG2 20
**0 - idle (kaappaus valmis tai ei vielä aloitettukaan)
+
        Esim arvoksi tulee 68 (bitit 2 & 6) kanavilla CAPTURE_TORQUE_ACTUAL ja CAPTURE_POSITION_ACTUAL.
**1 - odottaa triggeriä
+
 
**2 - kaappaus käynnissä
+
    SMP_CAPTURE_TRIGGER - triggeri mikä käynnistää kaappauksen, vaihtoehdot (samat mitä granityssä valittavissa):
*Kun kaappaus valmis (käynyt arvoissa !=0 ja sitten 0), ladataan data talteen:  
+
            #define TRIG_NONE 0
+
            #define TRIG_INSTANT 1
**asetetaan SMP_CAPTURE_BUFFER_GET_ADDR = 0
+
            #define TRIG_FAULT 2
**luetaan parametria SMP_CAPTURE_BUFFER_GET_VALUE yhtä monta kertaa kuin alustuksessa asetettu parametrin arvo SMP_CAPTURE_BUF_LENGHT on  
+
            #define TRIG_TARGETCHANGE 3
+
            #define TRIG_TARGETCHANGE_POS 4
***tämän luku palauttaa kaapatut samplet. jos asetettiin kaapattavaksi kanavat a, b ja c, niin luetut arvot tulevat järjestyksesä a0,b0,c0,a1,b1,c1,a2,b2,c2,a3,b3,c3.
+
            #define TRIG_EXTERNAL_INPUT 5
+
 
 +
    SMP_CAPTURE_BEFORE_TRIGGER_PERCENTS - tämä tuli vasta FW versiossa 1.6.0. asettaa kaappauksen aloituksen ennen triggausta. arvo prosentteina -1000000...100. Granityt 1.13.0 voi testailla tämän toimintaa.
 +
 
 +
==Skoopin luku==
 +
 
 +
    Pollataan arvoa SMP_CAPTURE_STATE, arvot:
 +
        0 - idle (kaappaus valmis tai ei vielä aloitettukaan)
 +
        1 - odottaa triggeriä
 +
        2 - kaappaus käynnissä
 +
    Kun kaappaus valmis (käynyt arvoissa !=0 ja sitten 0), ladataan data talteen:
 +
        asetetaan SMP_CAPTURE_BUFFER_GET_ADDR = 0
 +
        luetaan parametria SMP_CAPTURE_BUFFER_GET_VALUE yhtä monta kertaa kuin alustuksessa asetettu parametrin arvo SMP_CAPTURE_BUF_LENGHT on
 +
            tämän luku palauttaa kaapatut samplet. jos asetettiin kaapattavaksi kanavat a, b ja c, niin luetut arvot tulevat järjestyksesä a0,b0,c0,a1,b1,c1,a2,b2,c2,a3,b3,c3.
 +
 
 
[[Category:SimpleMotion]]
 
[[Category:SimpleMotion]]

Revision as of 10:39, 25 August 2017

This page is written in Finnish. Translation work in progress. If you need it now, please inquire at Granite Devices support.

Alustus, asetetaan skoopin parametrit

   SMP_CAPTURE_BUF_LENGHT - montako samplea kaapataan 1-2048
   SMP_CAPTURE_SAMPLERATE - näytteistystaajuus (tai sen jakaja). Taajuus on 20kHz/(arvo+1), eli 0=20kHz, 1=10kHz, 2=6.66kHz jne
   SMP_CAPTURE_SOURCE - päälläolevat bitit tässä parametrissa määräävät mitä signaaleja bufferiin kaapataan, seuraavat on saavatilla kaikissa firmisversioissa (samat mitä granityssä valittavissa):
           #define CAPTURE_TORQUE_TARGET 1
           #define CAPTURE_TORQUE_ACTUAL 2
           #define CAPTURE_VELOCITY_TARGET 3
           #define CAPTURE_VELOCITY_ACTUAL 4
           #define CAPTURE_POSITION_TARGET 5
           #define CAPTURE_POSITION_ACTUAL 6
           #define CAPTURE_FOLLOW_ERROR 7
           #define CAPTURE_OUTPUT_VOLTAGE 8
           #define CAPTURE_BUS_VOLTAGE 9
           #define CAPTURE_DEBUG1 19
           #define CAPTURE_DEBUG2 20
       Esim arvoksi tulee 68 (bitit 2 & 6) kanavilla CAPTURE_TORQUE_ACTUAL ja CAPTURE_POSITION_ACTUAL.
   SMP_CAPTURE_TRIGGER - triggeri mikä käynnistää kaappauksen, vaihtoehdot (samat mitä granityssä valittavissa):
           #define TRIG_NONE 0
           #define TRIG_INSTANT 1
           #define TRIG_FAULT 2
           #define TRIG_TARGETCHANGE 3
           #define TRIG_TARGETCHANGE_POS 4
           #define TRIG_EXTERNAL_INPUT 5
   SMP_CAPTURE_BEFORE_TRIGGER_PERCENTS - tämä tuli vasta FW versiossa 1.6.0. asettaa kaappauksen aloituksen ennen triggausta. arvo prosentteina -1000000...100. Granityt 1.13.0 voi testailla tämän toimintaa.

Skoopin luku

   Pollataan arvoa SMP_CAPTURE_STATE, arvot:
       0 - idle (kaappaus valmis tai ei vielä aloitettukaan)
       1 - odottaa triggeriä
       2 - kaappaus käynnissä
   Kun kaappaus valmis (käynyt arvoissa !=0 ja sitten 0), ladataan data talteen:
       asetetaan SMP_CAPTURE_BUFFER_GET_ADDR = 0
       luetaan parametria SMP_CAPTURE_BUFFER_GET_VALUE yhtä monta kertaa kuin alustuksessa asetettu parametrin arvo SMP_CAPTURE_BUF_LENGHT on
           tämän luku palauttaa kaapatut samplet. jos asetettiin kaapattavaksi kanavat a, b ja c, niin luetut arvot tulevat järjestyksesä a0,b0,c0,a1,b1,c1,a2,b2,c2,a3,b3,c3.