Difference between revisions of "Using SimpleMotion scope capture feature"
From Granite Devices Knowledge Wiki
| [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...") (Tag: VisualEditor) |
|||
| 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]]. | ||
| − | == | + | ==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. | ||
| + | |||
[[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.