SendSCPI "ROUTE:SCAN:SIZE?"
scrutation et
numberChannels = Val(GetSCPI())
SendSCPI "FORMAT:READING:CHAN ON" ' Retourne le numéro de voie avec chaque lecture
SendSCPI "FORMAT:READING:TIME ON" ' Retourne l'horodatage avec chaque lecture
' Règle le retard (en secondes) entre la fermeture du relais et la mesure
SendSCPI "ROUT:CHAN:DELAY " & Str$(channelDelay) & "," & scanList
' Réglez les paramètres de déclenchement de la scrutation après avoir configuré la liste
' de scrutation à l'aide de la commande CONFigure. Les commandes suivantes configurent
' l'intervalle entre les scrutations.
SendSCPI "TRIG:COUNT " & Str$(numberMeasurements)
SendSCPI "TRIG:SOUR TIMER"
SendSCPI "TRIG:TIMER " & Str$(ScanInterval)
Cells(2, 1) = "Start Time"
Cells(4, 1) = "Channel"
' Lance la scrutation et récupère son heure de début
SendSCPI "INIT;:SYSTEM:TIME:SCAN?"
replyString = GetSCPI()
' Convertit le temps au format Excel et le place dans les cellules B2 et C2
Cells(2, 2) = ConvertTime(replyString)
Cells(2, 3) = Cells(2, 2)
Cells(2, 3).NumberFormat = "d-mmm-yy"
Cells(2, 2).NumberFormat = "hh:mm:ss"
Range("a1:ba1").ClearContents
' Incrémente le nombre de balayages de la scrutation
For columnIndex = 1 To numberScans
Do ' Attend que l'instrument place une autre lecture dans la mémoire
SendSCPI "DATA:POINTS?"
points = Val(GetSCPI())
Loop Until points >= 1
' Supprime une lecture de la mémoire à la fois
For Channel = 1 To numberChannels
SendSCPI "DATA:REMOVE? 1" ' Demande une lecture de la mémoire
Application.ScreenUpdating = False
' Recueille les lectures du tampon et les enregistre dans la cellule A1
Cells(1, 1) = GetSCPI()
' Découpe la chaîne de la cellule A1 et la place dans la ligne '1'
Range("a1").TextToColumns Destination:=Range("a1"), comma:=True
' Appelle la routine pour organiser les données de la ligne 1 dans un tableau
makeDataTable Channel, columnIndex
Range("a1:ba1").ClearContents
Application.ScreenUpdating = True
Do ' Attend que l'instrument place une autre lecture dans la mémoire
SendSCPI "DATA:POINTS?"
points = Val(GetSCPI())
Loop Until points >= 1 Or Channel >= numberChannels
Next Channel
Next columnIndex
ClosePort
End Sub
Chapitre 6 Programmes d'application
Exemples de programmes pour Excel 7.0
' Demande le nombre de voies de la liste de
' règle la variable égale au nombre de voies
' Place des en-têtes sur la feuille de calcul
' Place des en-têtes sur la feuille de calcul
' Place le temps dans une variable de chaîne
' Ferme le port de communication GPIB
248
' Format pour la date
' Format pour l'heure
'Vide la ligne 1
' Début des données de la scrutation
' Recueille le nombre de lectures enregistrées
' Vide la ligne 1
' Recueille le nombre de lectures enregistrées
Suite à la page suivante