Avatar billede Mogens Juniormester
26. oktober 2024 - 22:47 Der er 2 kommentarer og
1 løsning

Sende SCPI kommandoer til USB-port (Com-port)

Hej.

Jeg har et måleinstrument, som jeg gerne vil kommunikere med via en App i VB..
Iflg. manualen til måleinstumentet, skal jeg kommunikere med SCPI-kommandoer, men her går jeg i stå. Jeg mangler noget code eller andet VB, der kan skrive/læse SCPI-kommandoer til/fra måleinstrumentet.

Jeg kan godt åbne en port (USB) (og lukke den igen) med flg. VB-code:

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Me.SerialPort1.PortName = "COM5"
        Me.SerialPort1.Open()
        RichTextBox1.Text = ("Open")

    End Sub

Så langt så godt, men hvordan kommer jeg igang med at sende SCPI-kommandoer fra min port til mit måleinstrument?
Er måske et omfattende spørgsmål? Er det nemmere i C# måske?

Nogen, der kan hjælpe?

Mogens
Avatar billede arne_v Ekspert
27. oktober 2024 - 00:46 #1
Du kan bruge Me.SerialPort1.WriteLine("noget) til at skrive og Me.SerialPort1.ReadLine()  til at læse.

Det måleinstrument burde have noget dokumentation som fortæller hvad du kan skrive og hvad du vil få tilbage.

SCPI er dokumenteret https://www.ivifoundation.org/downloads/SCPI/scpi-99.pdf men 819 sider er meget.

C# og VB.NET er forskellig syntax, men er ellers stort set ekvivalente.
Avatar billede Mogens Juniormester
27. oktober 2024 - 11:48 #2
Hej Arne.

Tak for dit svar.

Jo, der er også det jeg er kommet frem til (writeline og readline, men jeg kan ikke få det til at virke.
I dokumentationen for instrumentet skriver de flg:
2)    WMF: Set main waveform frequency
  Format: WMFxxxxxxxxxxxxxx+0x0a
  Which "xxxxxxxxxxxxxx" represents the frequency value of the 14 digits, the frequency value is fixed to uHz as a unit, for example 
    WMF1000000000 indicates that the setting frequency is 100Hz

Jeg skriver så flg. i VB:
SerialPort1.WriteLine("WMF1000000000")
Men instrumentet reagerer ikke...
Avatar billede Mogens Juniormester
27. oktober 2024 - 13:10 #3
Det var Baudrate, der ikke var korrekt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester