python仪表控制代码一(公共+电源+数字万用表)

news/2024/11/24 2:04:19/

仪表公共

新建一个py文件,命名为InsPublic,用于后续其他仪表导入

from pyvisa import *__author__ = 'Bob'class InsPublicVisa():def __init__(self):self.rm = ResourceManager()def insOpen(self,insAddr):insAddr = 'TCPIP::%s::inst0::INSTR' % insAddrtry:self.insX = self.rm.open_resource(insAddr)except:print('insOpen failed,pls check insAddr')def insID(self):return self.insX.query('*IDN?')def insClose(self):self.insX.close()if __name__ == '__main__':insAddr = '192.168.52.190'ps = InsPublicVisa()ps.insOpen(insAddr)print(ps.insID())if ps.insID().find('36311A'): # 以一台keysight电源为例进行测试print('yes')ps.insClose()

电源

from InsPublic import InsPublicVisa__author__ = 'Bob'class InsDCPSTriple(InsPublicVisa):def __init__(self):super(InsDCPSTriple, self).__init__()passdef setVolt(self,chanel,volt):'''设置指定通道电压'''self.insX.write('APPL CH%d, %f, %d' % (chanel,volt,chanel))def setVoltandON(self,chanel,volt):'''设置通道电压并同时开启通道'''self.insX.write('APPL CH%d, %f, %d' % (chanel,volt,chanel))self.insX.write('OUTP ON,(@%d)' % chanel)def setVoltandOFF(self,chanel,volt):'''设置通道电压并同时关闭通道'''self.insX.write('APPL CH%d, %f, %d' % (chanel,volt,chanel))self.insX.write('OUTP OFF,(@%d)' % chanel)def setCurrMax(self,chanel,currmax):'''设置通道电流上限值'''self.insX.write('CURR %f, (@%d)' % (currmax,chanel))def getVolt(self,chanel):'''查询指定通道电压,当通道关闭时,查询电压为0,当通道开启时,查询电压为当前值'''volt = self.insX.query('MEAS:VOLT? (@%d)' % chanel) # 和下面两行代码等效# self.insX.write('MEAS:VOLT? (@%d)' % chanel)# volt = self.insX.read()return voltdef getCurr(self,chanel):'''查询指定通道电流'''curr = self.insX.query('MEAS:CURR? (@%d)' % chanel)return currdef chanelON(self,chanel):'''开启指定通道'''self.insX.write('OUTP ON,(@%d)' % chanel)def chanelOFF(self,chanel):'''关闭指定通道'''self.insX.write('OUTP OFF,(@%d)' % chanel)if __name__ == '__main__':ipAddr = '192.168.52.190'ps = InsPublicVisa()# ps = InsDCPSTriple()ps.insOpen(ipAddr)# 实例化对象和电源型号匹配的电源类if ps.insID().find('36311A'):ps = InsDCPSTriple()# elif ps.insID().find('xxx'):#     passelse:passps.insOpen(ipAddr)ps.setVoltandON(1, 1.2)ps.setVoltandOFF(2, 1.5)ps.setVoltandON(3, 1.8)ps.setCurrMax(1,2)print(ps.getVolt(1))print(ps.getCurr(1))print(ps.getVolt(3))print(ps.getCurr(3))ps.insClose()

数字万用表

(带温度测试功能)

from InsPublic import InsPublicVisa__author__ = 'Bob'class InsDmm(InsPublicVisa):def __init__(self):super(InsDmm, self).__init__()passdef getVoltAuto(self):# volt = self.insX.query('READ?')'''DC电压测量范围和测量精度根据测试对象自动调整,每次自动调整的代价就是牺牲一定的测试速度'''volt = self.insX.query('MEAS:VOLT:DC?')return voltdef getVoltManual(self,range,resolution):'''手动设置DC电压测量范围和测量精度,为了兼顾测量速度和精度,一般推荐以下范围精度的组合range:10V,resolution:0.0001V(0.1mV)range:1V,resolution:0.00001V(0.01mV)'''volt = self.insX.query('MEAS:VOLT:DC? %d, %f'% (range, resolution))return voltdef getTemp(self):'''利用DMM的温度测试功能,获取配套热电偶的温度(34461一般不配热电偶,需要自购)此处选用华控方壳PT100 18B20铂热电阻温度传感器探头(A级)与34461进行配套该PT100铂热电阻温度传感器性能可靠,价格便宜,值得推荐'''temp = self.insX.query('MEAS:TEMP? RTD')return temppass
if __name__ == '__main__':'''DCV test'''insAddr = '192.168.52.163'dmm1 = InsDmm()dmm1.insOpen(insAddr)print(dmm1.getVoltAuto())print(dmm1.getVoltManual(10, 1e-4))dmm1.insClose()'''Temp test'''insAddr = '192.168.52.191'dmm2 = InsDmm()dmm2.insOpen(insAddr)print(dmm2.getTemp())dmm2.insClose()

(以上所有代码经仪表实测OK)


http://www.ppmy.cn/news/188719.html

相关文章

很不错的国产指针表-MF63

我的MF47万用表不行了,精度超差,线性更是糟糕。用两个“金蛋”可调把50uA满量程调准,结果满盘只有满量程压线。于是想找个靠谱的指针表换代。考虑sanwa 的张丝表,网上评论表针慢的“老年痴呆”。国产新表品质一言难尽,…

万用表在计算机检测中的应用,浅析计算机在智能仪器仪表中的应用

随着计算机技术的发展,自动测量技术有了进一步的发展,许多以微处理器或微计算机为主体的测试用仪器仪表也相继出现,并且在人们的生产生活中得到广泛应用。智能仪器仪表,简单地讲就是将微处理器或微计算机用于测量设备或仪器仪表中,智能仪器是将人工智能的策略、理论…

3.7V升压9V方案对比---万用表改装

最近在X宝上搜索3.7V升压9V关键词,结果搜索出来很多升压板(大部分采用PL2628)。还记得在2016年时搜索类似关键字,却很少有卖,当时买了一家使用SD6271的升压方案,这些年一直在万用表里用着,一年充…

福禄克为什么那么贵的这几个原因你要知道

如果要对比国产品牌,第一感觉就是福禄克的设备为什么这么贵,有的甚至比国产品牌贵了几倍的价格,在小编还没有接触福禄克的时候,确认是认为太贵了,比如一个福禄克的万用表便宜的几百块,而国产的才几十块&…

安安猜价格聪明机器人_2021年智慧树APP不动产估价第八单元章节测试答案

此作业为选做,包含2个独立程序的实践指导,使用了不同的方法分别实现笨笨模式猜价格和聪明模式猜价格。要求见如下附件: 0229安安猜价格扩展(选做).pdf 完成后,应上传2个程序的.aia项目文件附件。 程序参考效果见以下两个程序&…

常用光纤测试仪类型及性能介绍

光纤测试仪是一种用于物理学、电子与通信技术领域的物理性能测试仪器,于1996年11月1日启用。常用光纤测试表有:光功率计、光万用表、稳定光源、光时域反射仪(OTDR)和光故障定位仪。 光功率计:用于测量绝对光功率或通过一段光纤的光功率相对损…

vectorvn1610报价_VECTOR VN1610 CAN Network 通讯模块

VECTOR VN1610 CAN Network 通讯模块 VECTOR VN1610 CAN Network 通讯模块 壹侨优势品牌 *价格 假一罚十 速来抢购 Vector 07114 VN1640A CAN/LIN 壹侨优势品牌 *价格 假一罚十 速来抢购 Vector 50100 CANalyzer PRO 壹侨优势品牌 *价格 假一罚十 速来抢购 …

什么数字万用表可以测量噪声?

数字万用表是测量电信号的有力助手。虽说是“万”用表,其实常见的功能只有测量电压、电流、电阻。电压、电流还包括有交直流档。除此之外,部分万用表包含有测量电感、电容、通断、二极管导通电压、三极管电流放大系数、计数和频率、温度等。 常见到的手持…