Hallo Allemaal,
Op dit moment maken wij gebruik van een zelf geschreven programma die ons in staat stelt een apparaat via een GPIB-bus te besturen. De commando's worden vanuit het programma rechtstreeks op de bus gezet en als zodanig werkt het programma keurig.
Het probleem wat zich nu voordoet is dat er een ander apparaat aangekocht is die, helaas, een net wat andere commandoset gebruikt. We willen onze software hiervoor geschikt maken en, met het oog op de toekomst, wellicht ook voor meerdere apparaten.
Het huidige ervaringsniveau is vooral gekomen door "trial and error", het gebruik van VB zelf aangeleerd.
Onze vraag is of we dit probleem het beste kunnen oplossen door gebruik te gaan maken van een setting bestand waarbij we de commando's generaliseren en dan met een init bestand de correcte commando's inlezen of dat wellicht gebruik van een DLL of Class beteer/makkelijk is?
Een voorbeeld van de huidige code:
Het apparaat "FSP" wordt hier rechtstreeks benaderd. De nieuw(ere) FSV is er echter ook al en de software dient o.a. hierop te worden aangepast maar de commando's zijn net even wat anders.
Hebben jullie tips/trucs/leesvoer om ons op de goede weg te helpen?
Op dit moment maken wij gebruik van een zelf geschreven programma die ons in staat stelt een apparaat via een GPIB-bus te besturen. De commando's worden vanuit het programma rechtstreeks op de bus gezet en als zodanig werkt het programma keurig.
Het probleem wat zich nu voordoet is dat er een ander apparaat aangekocht is die, helaas, een net wat andere commandoset gebruikt. We willen onze software hiervoor geschikt maken en, met het oog op de toekomst, wellicht ook voor meerdere apparaten.
Het huidige ervaringsniveau is vooral gekomen door "trial and error", het gebruik van VB zelf aangeleerd.
Onze vraag is of we dit probleem het beste kunnen oplossen door gebruik te gaan maken van een setting bestand waarbij we de commando's generaliseren en dan met een init bestand de correcte commando's inlezen of dat wellicht gebruik van een DLL of Class beteer/makkelijk is?
Een voorbeeld van de huidige code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| Private Sub doFreqRange(ByVal highest As Boolean) clearSettings() setRefLvlOffset() fsp.Write("BAND:AUTO OFF") ' Resolution bandwidth 100 kHz fsp.Write("BAND 100 kHz") fsp.Write("BAND:VID:AUTO OFF") ' Video bandwidth 100 kHz fsp.Write("BAND:VID 100 kHz") fsp.Write("SWE:TIME:AUTO OFF") ' Sweep time 1 minute fsp.Write("SWE:TIME 60s") fsp.Write("DET RMS") ' Detector Peak If highest Then fsp.Write("FREQ:CENT 2483.5 MHz") ' Center frequency = 2483.5 Else fsp.Write("FREQ:CENT 2400 MHz") ' Center frequency = 2400 End If fsp.Write("FREQ:SPAN 50 MHz") ' Span fsp.Write("CALC:DLIN1:STAT ON") ' Limit line on fsp.Write("CALC:DLIN1 -30 dBm") ' Limit line -30 dBm fsp.Write("DISP:WIND:TRAC:MODE MAXH") ' Trace max hold fsp.GoToLocal() MsgBox("Hit enter when sweep is ready") |
Het apparaat "FSP" wordt hier rechtstreeks benaderd. De nieuw(ere) FSV is er echter ook al en de software dient o.a. hierop te worden aangepast maar de commando's zijn net even wat anders.
Hebben jullie tips/trucs/leesvoer om ons op de goede weg te helpen?