Herunterladen Inhalt Inhalt Diese Seite drucken

JÄGER ADwin-Pro II Systembeschreibung Seite 73

Programmierung in adbasic
Vorschau ausblenden Andere Handbücher für ADwin-Pro II:
Inhaltsverzeichnis

Werbung

ADwin
Beispiel
#Include
ADWINPRO_ALL.Inc
#Define
module
4
#Define
samples
500000
#Define
channels
4
#Define
frq_Hz
5000
#Define
mem_idx
Par_1
#Define
count
Par_2
#Define
overflow
Par_3
Dim
Data_1[samples], Data_2[samples]
Dim
Data_3[samples], Data_4[samples]
Dim
i, prev_mem_idx,
LowInit:
For
i
=
1
To
samples
Data_1[i] =
0
: Data_2[i] =
Next
i
Init:
Processdelay
=
300000000
P2_Set_LED(module, 1)
Rem Kont. Burst-Messreihe, Kanäle 1...4, 100ns Periodendauer
P2_Burst_Init(module, 15, 0, samples, 5, 2)
P2_Burst_Start(Shift_Left(1,
start_idx
=
1
prev_mem_idx
=
0
overflow
=
0
Event:
Rem Aktuelle Speicheradresse
mem_idx
= P2_Burst_Read_Index(module)
Rem Anzahl neuer Messwerte/Kanal seit dem letzten Zyklus
count
=
(mem_idx
- prev_mem_idx) *
If
(count
> 0)
Then
Rem Messwerte aus dem F8/14 Modul auslesen
P2_Burst_Read_Unpacked4(module, count, prev_mem_idx,
Data_1, Data_2,
Rem Start-Index für den nächsten Zyklus
start_idx
=
start_idx
Rem Index im F8/14 Modul merken
prev_mem_idx
=
mem_idx
Endif
If
(count
< 0)
Then
Rem Anzahl der Messwerte bis zum Data Ende
count
=
samples
-
Rem Messwerte aus dem F8/14 Modul auslesen
P2_Burst_Read_Unpacked4(module, count, prev_mem_idx,
Data_1, Data_2,
Rem Start-Index im Data für den nächsten Zyklus
start_idx
=
1
Rem Index im F8/14 Modul für den nächsten Zyklus
prev_mem_idx
=
0
Inc(overflow)
Endif
Finish:
P2_Set_LED(module, 0)
ADwin-Pro II Software, Handbuch Version 1.6, Januar 2010
As Long
As Long
start_idx
As Long
0
: Data_3[i] =
/
frq_Hz
'LED einschalten
module
- 1))
2
/
Data_3, Data_4, start_idx, 0)
+
count
prev_mem_idx
*
2
/
channels
Data_3, Data_4, start_idx, 0)
'Überlaufzähler erhöhen
'LED ausschalten
0
: Data_4[i] =
channels
Pro II: Eingangsmodule
P2_Burst_Read_Index
0
69

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis