第二章 Python 横河功率计谐波数据读取

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
第二章 Python 横河功率计谐波数据读取


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

逆变器测试经常需要测试谐波数据,机构多用横河功率计测试。谐波测试较为简单,可设定后自动测试、处理数据判断测试结果。数据生成csv文件,后续文章会继续讲解如何基于EXCEL的VBA快速处理生成报告。


一、需要准备什么?

WT系列功率计的类定义代码可翻看另一篇文章。

二、使用步骤

1.引入库

代码如下(示例):

import WT
import time

2.读入数据

代码如下(示例):

import WT
import time
try:
    Output_Channel=["4","5","6"]
    Output_Channel_int=[4,5,6]
    Input_Channel=["1"]
    Save_path="D:\\"             
    WT=WT.WT()
    if WT.answer.find("YOKOGAWA,WT")==-1 :
        print("error, can not find WT,please be sure WT can be connected")
        exit(0)
    WT.WT_Integrate(Status="reset")
    WT.WT_HarSet(PLL="U" + Output_Channel[0],Order="1,50")
    WT.WT_Range(Channel='all',Auto='1',Type="Voltage")
    WT.WT_Range(Channel='all',Auto='1',Type="Current")
    WT.WT_Update()      #设置功率计记录数据间隔,即更新率
    WT.SaveUpdate=200       #设置记录数据的时间间隔,WT类定义中,记录数据为电脑端不断读入,不是WT自己生成CSV。该参数不影响功率计的updateRate
    WT_SaveItem1=["Urms","Irms","P","S","Q","PF","Idc","FreqU","I(k)","Ihdf(k)","Ithd","U(k)","Uthd"]
    WT_SaveItem2=["F1","F2","F3","F4","F5","F6"]
    ##以下为设置功率计单/三相的接线方式,同时设置逆变器输入接线通道
    if len(Input_Channel)==1:
        WT.WT_UDF(1, "UDC(E"+Input_Channel[0]+")", "UDC"+Input_Channel[0], "V")
        WT.WT_UDF(2, "IDC(E"+Input_Channel[0]+")", "IDC"+Input_Channel[0], "A")
        WT.WT_UDF(3, "P(E"+Input_Channel[0]+")", "P"+Input_Channel[0], "W")
        if len(Output_Channel)==1:
            WT.WT_UDF(4, "WH(E"+Output_Channel[0]+")", "WH"+Output_Channel[0], "%")
            WT.WT_UDF(5, "WH(E"+Input_Channel[0]+")", "WH"+Input_Channel[0], "%")
            WT.WT_UDF(6, "WH(E"+Output_Channel[0]+")/"+"WH(E"+Input_Channel[0]+")", "EFF", "%")
        elif len(Output_Channel)==3:
            WT.WT_UDF(4, "WH(E"+Output_Channel[0]+")+"+"WH(E"+Output_Channel[1]+")+"+"WH(E"+Output_Channel[2]+")", 'WHSIGMA', "%")
            WT.WT_UDF(5, "WH(E"+Input_Channel[0]+")", "WH"+Input_Channel[0], "%")
            WT.WT_UDF(6, "(WH(E"+Output_Channel[0]+")+"+"WH(E"+Output_Channel[1]+")+"+"WH(E"+Output_Channel[2]+"))/"+"WH(E"+Input_Channel[0]+")", 'EFF', "%")
            if "1" in Output_Channel[0]:
                WT.WT_Wiring("P3W4,P1W2")
                WT.WT_Wiring("P3W4,P1W2,P1W2,P1W2")
            elif "2" in Output_Channel[0]:
                WT.WT_Wiring("P1W2,P3W4")
                WT.WT_Wiring("P1W2,P3W4,P1W2,P1W2")
            elif "3" in Output_Channel[0]:
                WT.WT_Wiring("P1W2,P1W2,P3W4,P1W2")
            elif "4" in Output_Channel[0]:
                WT.WT_Wiring("P1W2,P1W2,P1W2,P3W4")
    elif len(Input_Channel)==2:
        WT.WT_UDF(1, "UDC(E"+Input_Channel[0]+")", "UDC"+Input_Channel[0], "V")
        WT.WT_UDF(2, "IDC(E"+Input_Channel[0]+")+"+"IDC(E"+Input_Channel[1]+")", "IDC"+Input_Channel[0]+"+IDC"+Input_Channel[1], "A")
        WT.WT_UDF(3, "P(E"+Input_Channel[0]+")+"+"P(E"+Input_Channel[1]+")", "P"+Input_Channel[0]+"+P"+Input_Channel[1], "W")
        if len(Output_Channel)==1:
            WT.WT_UDF(5, "WH(E"+Input_Channel[0]+")+"+"WH(E"+Input_Channel[1]+")", "WH"+Input_Channel[0], "%")
            WT.WT_UDF(6, "WH(E"+Output_Channel[0]+")/"+"(WH(E"+Input_Channel[0]+")+"+"WH(E"+Input_Channel[1]+"))", "EFF", "%")
            WT.WT_UDF(4, "WH(E"+Output_Channel[0]+")", "WH"+Output_Channel[0], "%")
        elif len(Output_Channel)==3:
            WT.WT_UDF(5, "WH(E"+Input_Channel[0]+")+"+"WH(E"+Input_Channel[1]+")", "WH"+Input_Channel[0], "%")
            WT.WT_UDF(6, "(WH(E"+Output_Channel[0]+")+"+"WH(E"+Output_Channel[1]+")+"+"WH(E"+Output_Channel[2]+"))/"+"(WH(E"+Input_Channel[0]+")+"+"WH(E"+Input_Channel[1]+"))", 'EFF', "%")
            WT.WT_UDF(4, "WH(E"+Output_Channel[0]+")+"+"WH(E"+Output_Channel[1]+")+"+"WH(E"+Output_Channel[2]+")", 'WHSIGMA', "%")
            if "1" in Output_Channel[0]:
                WT.WT_Wiring("P3W4,P1W2")
                
                WT.WT_Wiring("P3W4,P1W2,P1W2,P1W2")
            elif "2" in Output_Channel[0]:
                WT.WT_Wiring("P1W2,P3W4")
                WT.WT_Wiring("P1W2,P3W4,P1W2,P1W2")
            elif "3" in Output_Channel[0]:
                WT.WT_Wiring("P1W2,P1W2,P3W4,P1W2")
            elif "4" in Output_Channel[0]:
                WT.WT_Wiring("P1W2,P1W2,P1W2,P3W4")
    

    WT.SavePath=Save_path                                                       #文件保存路径
    
                    
    WT.WT_SaveSetting(Output_Channel_int, WT_SaveItem1, WT_SaveItem2, 40)       # Output_Channel_int设置记录channel,WT_SaveItem1为常规数据存储设定,WT_SaveItem2为谐波数据设定,40为设置的最大记录谐波次数
    WT.WT_Range(Channel='all',Auto='0',Type="Voltage")
    time.sleep(5)
    WT.WT_Range(Channel='all',Auto='0',Type="Current")
    WT.Save_Name="谐波数据"
    WT.Save_Stop=False
    WT.WT_SaveFile()
    WT.Save_Stop=True           #用来给多线程测试用的标志,单线程设定False,可不管
                
except Exception as e:   
    print("异常退出:"+str(e)+"    \n"+str(e.__traceback__.tb_lineno))


该代码只提供了类WT的一个使用思路,代码未验证。


总结

提示:这里对文章进行总结:

使用功率计仪器时,需先设置仪器的一系列参数,如谐波同步源、量程、连线方式、自定义参数、需要记录哪些数据等等。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值