Python实现 通过RS232 SCPI 命令控制Tektronix DMM4050@TOC

import serial
import matplotlib.pyplot as plt
import time

def test_connect(ser): ##连接检查
ser.write("*IDN?\n".encode())
msg = ser.read(42)
print(msg.decode())

def meter_read(ser): ##读取测量数据
ser.write(“READ?\n”.encode())
buff = ser.read(17)
buff = float(buff.decode())
return buff

def left_insert(data,result): ##在数组最左端插入数据
data.pop()
data.insert(0, result)

def init_config():##初始配置

ser = serial.Serial('COM24',9600,bytesize=8,parity="N",stopbits=1) ##串口号:24 波特率:9600
ser.write("*RST\n".encode())  ##复位
ser.write("*CLS\n".encode())
ser.write("SYST:REM\n".encode()) ##使得万用表处于操控模式
ser.write("CONF:VOLT:DC 10,0.0002\n".encode()) ##配置测量,模式 DC直流 10V量程 0.0002分辨率
return ser

def plot_signal(data,time):##画图配置
plt.ion()
plt.clf()
plt.plot(data)
plt.pause(time)

def trig_meas(ser):##触发测量
ser.write(“TRIG:SOUR IMM\n”.encode())
ser.write(“SAMP:COUN 1000\n”.encode())
ser.write(“INIT\n”.encode())
ser.write(“FETC?\n”.encode())

def byte2float(buff):
buff = buff.decode()
buff = buff.replace(’,’, ‘’)
result = float(buff)
return result

def main1():##监测

npoint = 200
data = [0]*npoint
ser = init_config()
test_connect(ser)
print("Start Measure")
while True:for i in range(npoint):result = meter_read(ser)left_insert(data,result)time.sleep(0.01)plot_signal(data,0.1)

def main2():##触发

npoint = 1000
data = [0] * npointser = init_config()
test_connect(ser)
trig_meas(ser)
for i in range(npoint):buff = ser.read(16)result = byte2float(buff)data[i] = resultplot_signal(data,1000)

if name == “main”:
main1() #实时监测
#main2() #内部触发

Python实现 通过RS232 SCPI 命令控制Tektronix DMM4050相关推荐

  1. C语言 scpi命令解释器,基于Python的SCPI命令解释器的设计

    基于Python的SCPI命令解释器的设计 目前可编程仪器标准命令(SCPI)依然被广泛使用,因此设计一个高效通用的SCPI命令解释器很重要.常用的SCPI命令解释器多以C语言开发,采用链式二叉树等存 ...

  2. python rs232_使用Python進行RS-232通信返回垃圾信息

    我最近試圖通過RS-232連接控制OceanOptics HR4000光譜儀.我已經使用串行控制檯Termite測試了串行命令(這裏提供:http://www.oceanoptics.com/tech ...

  3. python常用命令汇总-Python爬虫框架Scrapy常用命令总结

    本文实例讲述了Python爬虫框架Scrapy常用命令.分享给大家供大家参考,具体如下: 在Scrapy中,工具命令分为两种,一种为全局命令,一种为项目命令. 全局命令不需要依靠Scrapy项目就可以 ...

  4. python、中循环功能可通过什么命令实现_python定时执行指定函数的方法 Python如何定时循环执行命令?...

    python中如何定时执行某一个函数 = =怎么连接..先调用注册函数 然后调用登录函数就行.顺序执行.至于如果你说注册失败不进行登录的话 直接在注册函数里面处理 注册失败 return def si ...

  5. 命令控制之Telegram

    文章前言 使用涉交网络作为C2 Server有两个好处,一方面是因为社交网络的服务器稳定,另一个方面是因为在于其通信的数据可以隐藏在正常的流量中,不容易被发现,本节主要是"站在巨人的肩膀&q ...

  6. 拓达TSDA-C21B,通过单片机串口发命令控制电机转向

    拓达TSDA-C21B,通过单片机串口发命令控制电机转向 前言 驱动器的参数配置 一.硬件准备 二.软件的设计 1.看官方的数据手册确定写软件的方案 (1).控制模式.与控制来源的选择的选择 (2). ...

  7. python:warnings —— 警告信息的控制

    python:warnings -- 警告信息的控制 警告类别 通常以下情况会引发警告:提醒用户注意程序中的某些情况,而这些情况(通常)还不值得触发异常并终止程序.例如,当程序用到了某个过时的模块时, ...

  8. scpi指令转换c语言,SCPI 命令表

    SCPI 命令表 4.3.1 IEEE488.2 共同命令 *CLS *ESE *ESE? *ESR? *IDN? *OPC *OPC? *PSC *PSC? *RST *SRE *SRE? *STB ...

  9. scpi指令转换c语言,[转载]SCPI 命令表

    SCPI 命令表 4.3.1 IEEE488.2 共同命令 *CLS *ESE *ESE? *ESR? *IDN? *OPC *OPC? *PSC *PSC? *RST *SRE *SRE? *STB ...

最新文章

  1. shardingjdbc全局表_Sharding-JDBC 分库分表概述
  2. 循环更新数据库java_java – 无限循环数据库检查
  3. php.ini文件找不到
  4. 与html相关的知识点整理
  5. pynlpir.LicenseError: Your license appears to have expired. Try running pynlpir update.
  6. 【树莓派学习笔记】一、烧录系统、(无屏幕)配置Wifi和SSH服务
  7. 没错!现在搞 Python 越来越难了!!
  8. 正面管教php_佛山市第三中学正面管教家长工作坊PHP分享会
  9. 【基础】二分算法学习笔记
  10. acrobat支持日文粘贴复制
  11. matlab画空间点的运动轨迹,MATLAB画三维空间小球沿给定轨迹曲线运动~
  12. 在群晖Docker上搭建自己项目管理工具Focalboard
  13. Tampermonkey安装与简单编写自定义脚本,以及实用脚本分享
  14. BPDU保护与边缘端口、RLDP防环
  15. 永磁同步电机矢量控制中的双闭环是什么意思_【百问百答】ST 电机控制实战问答合辑 | 连载之二...
  16. 文件为只读模式,且无法更改权限
  17. Excel:制作下拉选项
  18. Catia软件 如何将3dxml零件转化为可编辑格式的实体
  19. 网络显示连接,但是无法打开网页的解决方法
  20. java护士排班 test 根据 1天24小时分成6班,一个护士一天上8个小时,一周上40小时,进行一周排班安排!拷贝,直接运行。

热门文章

  1. telnet远程管理(思科)
  2. 百度地图显示的超详细过程介绍
  3. datawhale-吃瓜教程(西瓜书+南瓜书)-支持向量机
  4. 走出信任风波阴影后,变保守的积木盒子怎么重新起航?
  5. 【Java】学习笔记2——从小白到入门(技术提升篇)
  6. 微信小程序开发day01——小程序的页面基本认识和属性
  7. Java byte转换为int
  8. 读《我是一个网卡》有感
  9. JS自动缩放页面图片
  10. 计算机网络应用电竞方向,学电子竞技专业可以找什么工作