type
status
date
slug
summary
tags
category
icon
password
本人购买了一台LCR数字电桥,我想通过电脑上位机实时接收测量数据并绘制曲线,该数字电桥的通讯协议是SCPI协议。通过使用串口通讯的方式,使用pyserial包读取,保存,并绘制了测量数据图。

SCPI协议

什么是SCPI协议

SCPI(Standard Commands for Programmable Instruments)是一种标准命令集,于1990与IEEE 488.2协议一起面世,定义了一套用于控制可编程测试测量仪器的标准语法和命令。一种建立在现有标准IEEE488.1和IEEE488.2基础上的标准化仪器编程语言。通过使用标准化的编程信息、仪器响应和数据格式来保证编程环境的兼容性。

SCPI协议能干什么

使用SCPI可以远程与仪器交互,如配置仪器参数、获取仪器数据等。SCPI中所有命令都以ASCII码字符串形式存在,用户发送字符串给仪器后,仪器返回的数据也是字符串,然后用户需要自己解析返回字符串的含义。兼容各种通信方式如以太网、GPIB和串口等,同时无论用户使用C++、Java,Python等哪种编程语言,用户发送的SCPI命令字符串也都是相同的。

一些SCPI协议的语法要求

每个SCPI命令都需要一个结束字符,支持“\0”、“\n”两者中任意一个作为结束字符,建议使用“\n”作为命令结束符,这样每次发送命令时,字符串结尾都要附加一个“n” 同一个命令,一般都有设置和查询两种类型。比如:RATE? ,这是查询更新率的命令,其中?表示该命令为查询命令,:RATE 1,这是设置更新率的命令,其中1表示要设置更新率为1s SCPI命令字符串不区分大小写 SCPI命令集小写可省略、大写不能省略当命令 带有参数时,用一个英文空格将命令和参数分隔。 命令中间不允许用空格分隔。 命令带有多参数时,用逗号将不同参数分隔。

使用pyserial,通过SCPI协议串口读取,保存(txt与csv文件),并实时绘制测量曲线图

尽管该仪器所使用的通信协议是SCPI协议,但是利用其RS485接口仍然可以使用串口通讯的方式进行交互。
而要想在Python中读取串口信息,需要使用PySerial模块。PySerial是Python的串口通信库,可以让你在Python应用程序中访问串口。通过使用PySerial,我们可以轻松地与串口设备进行通信,例如Arduino、树莓派等设备。这个是pyserial官网,遇到问题请自行查阅。
 
以下是开源代码

参考资料

 
 
solidworks升级,从卸载到安装2023-7 柔性传感器领域的进展
Wender Feng
Wender Feng
慢慢地迈向听朝,静静地怀念昨日
Announcement
Hello, there!
This is Steve, a PhD candidate from City University of Hong Kong currently. Welcome to my personal website!

Welcome all kinds of sharing and discussions from life to research, please feel free to contact through E-mail!