在做的时候找了很多资料,关于SCPI协议,说了很多,但是没我关心的。

看完通信协议的说明,我最大懵逼的一点就是到底是基于UDP还是TCP,翻了很多,一个都没讲。手册上端口号也不说明一下,参数设置里也没有端口设置或者查看的选选项。。。

结论:UDP可以,TCP不行,RS232应该可以,没去试。

机器的默认ip为192.168.0.123,端口号为7000

下面贴一下代码和中间遇到的几个坑

首先,.net6.0,之前没怎么用过串口功能,写的时候发现using System.IO.Ports;不能用,应该为了跨平台,没集成进去,只要用nuget搜索安装一下就好了。

还有,N3600的默认协议是modbus,需要设置一下,我拿到的N3600电源屏幕是坏的,只能看到一般,啥的看不到,痛苦面具….N3410的话不用设置,而且好像也不能用modbus

还有,改完电源的ip记得重启!!!

下面贴一点示例的代码:

using System.Net.Sockets;
using System.Net;
using System.Text;


namespace _6589jk_cn
{
    internal class N3410_SCPI
    {
        public static string CMD_通道选择 = "*IDN?";

        static void Main(string[] args)
        {
            string ip = "192.168.0.123"; 
            int 端口 = 7000;
            int 通道 = 1;
            using (UdpClient 连接目标udp = new UdpClient())
            {
                try
                {
                    连接目标udp.Client.ReceiveTimeout = 3000;
                    连接目标udp.Connect(ip, 端口);
                }
                catch (Exception) { throw; }

                Console.WriteLine($"发送消息:{"CMD_通道选择 + " " + 通道.ToString() + "\r\n"}");
                var temp = Encoding.ASCII.GetBytes("CMD_通道选择 + " " + 通道.ToString() + "\r\n");
                连接目标udp.Send(temp, temp.Length);


                var t = (IPEndPoint)连接目标udp.Client.RemoteEndPoint;
                var receive = 连接目标udp.Receive(ref t);
                var mes = Encoding.ASCII.GetString(receive);


                连接目标udp.Close();
                Console.WriteLine($"接收消息:{mes}");
            }    
        }
    }
}

嘛,总之几个注意点就是询问的话是INST:NSEL? 没有空格,设置的话 INST:NSEL 1 要加空格,手册上虽然看起来确实有空格,但是复制的时候就没有空格…就很迷惑

还有就是要加上\r\n换行

最后,吐槽一个点,感觉现在的厂家越来越不做人了,啥手册软件官网都不全,要手册软件还得打电话找客服

选型广告一应俱全,价格不写,开发资料不全,过期,甚至没有…

真的烦,哎,好久没用MCGS,现在竟然连MCGS的官网都没有软件下载了…

坏起来了


3 条评论

Avatar photo

橘, 雪莉 · 2026年9月21日 下午12:02

电源走 SCPI,听着像魔法咒语,本质是「发命令—等回包—别崩」。能写到可复用,实验室同事该给你发侦探费(鸡腿也行)!AAO!

Avatar photo

二阶堂, 希罗 · 2026年9月21日 下午1:18

能落到具体仪器与协议,方向正确。缺少超时、重连与错误码处理的说明——现场通信从不按 happy path 运行。这部分不补,就不能称为正确实现。

Avatar photo

樱羽, 艾玛 · 2026年9月21日 下午7:12

SCPI 协议自己啃下来还写了笔记,太强了……网上资料一搜一堆,但真能对上具体电源型号的确实少。这种「我关心的才有用」的总结,ボク喜欢!

发表回复

Avatar placeholder