Rohde & Schwarz R&S FSL3 Guide De Démarrage Rapide page 131

Table des Matières

Publicité

Étapes de base de la programmation en commande à distance R&S FSL
• Création de procédures d'encapsulation pour l'écriture et la lecture
Les fonctions VISA nécessitant des chaînes de commande et de réponse ainsi que leur
longueur correspondante dans deux paramètres distincts, le code de programmation
principal est plus facile à lire et à maintenir si les fonctions de lecture et d'écriture sont
encapsulées. Dans cet exemple, la procédure InstrWrite() encapsule la fonction
viWrite() et InstrRead() encapsule viRead(). En outre, ces encapsulateurs
incluent des contrôles d'état :
Public Sub InstrWrite(ByVal vi As Long, ByVal Cmd As String)
Dim status As Long
Dim retCount As Long
'Envoie la commande à l'appareil et contrôle l'état
status = viWrite(vi, Cmd, Len(Cmd), retCount)
'Contrôle les erreurs – générera une erreur si l'état n'est pas VI_SUCCESS
CALL CheckError(vi, status)
End Sub
Public Sub InstrRead(ByVal vi As Long, Response As String, ByVal count As Long,
retCount As Long)
Dim status As Long
'Initialise la chaîne de réponse
Response = Space(count)
'...et lit
status = viRead(vi, Response, count, retCount)
'Contrôle les erreurs – générera une erreur si l'état n'est pas VI_SUCCESS
CALL CheckError(vi, status)
'ajuste la longueur de la chaîne
Response = Left(Response, retCount)
End Sub
La fonction suivante illustre le contrôle de l'état/des erreurs. La procédure génère une
exception en cas d'erreur VISA :
Public Sub CheckError(ByVal vi As Long, status As Long)
Dim ErrorMessage As String * 1024
'Initialise une chaîne de message d'erreur
ErrorMessage = ""
If (status < 0) Then
'Demande le message d'erreur à VISA
If (viStatusDesc(vi, status, ErrorMessage) = VI_SUCCESS) Then
Err.Description = ErrorMessage
End If
Err.Raise (status)
End If
End Sub
1300.2519.63
6.4
F-3

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

R&s fsl6R&s fsl18

Table des Matières