Python在工业自动化测试的一个应用

本文介绍了Python在工业自动化测试领域的应用,通过参与一个测试程序项目,详细阐述了Python在Windows和Linux环境下用于控制测试的过程。主要内容包括:1) GUI上位机程序与Python测试程序的配合;2) Python串口驱动、测试仪表控制和测试结果检查的实现;3) 对GPIB和SCPI命令的简要说明。通过这个项目,展示了Python在非传统领域的强大功能。
摘要由CSDN通过智能技术生成

     以前一直以为python是用做大数据处理,网络爬虫的。但是暑假在一家IT公司实习,了解到python也可以用在工业测试领域。大开眼界,收获颇丰。

      自己跟着一个师傅参与了一个测试程序项目的开发。因为测试环境原因(需要在Windows  和LINUX 上 运行),所以用python 来实现。我参与了其中的几个模块的代码。

先介绍下这个测试程序windows平台的主模块:
           1、 windows上的GUI上位机程序(C#),它负责界面显示及和后台服务器的数据交互。  

           2、 windows具体执行测试的程序(python); 具体测试控制部分(windows、linux共用)

           3、测试板上的程序(c语言/mcu)

 python程序又分为几个模块:

           1 主测试程序(封装的)  2 串口驱动 3 测试仪表控制 4 测试结果检查

          大致的逻辑是,python程序通过UART口和测试板通信,测试板进入特定信号模式,然后python程序控制测试仪表读取测试板功率,分析测试数据,把测试结果返回给C#写的主控程序。

       这部分最核心的代码当然是是主测试程序,整个测试过程的逻辑流程,串口数据的交互都在里面。这当然不是我写的。嗯嗯。 我写了串口驱动,测试仪表控制,测试结果检查这三部分。

       下面我就把我写的代码做下记录说明。当然因为这是人家正式的代码,不便展示的部分就略过了。我就把我自己写的的贴出来,供大家参考。

首先是主程序:这是自己后来写的。

#this is the main function of the app
#this python app is called by another C# & C exe in windows and linuxe 
def zhj_demo():

    print('[zhj_log] zhj_demo start')     
        
    try:
        parser = argparse.ArgumentParser(description='zhj demo test function ')
        
        parser.add_argument('-de', '--Debug',  default=False, action='store_true', help='print DeBug flag') #是否打印调试信息,主要是串口
        
        parser.add_argument('-pp', '--PiUartPort', help='test device uart str') #串口端口
        parser.add_argument('-br', '--BaudRate', help='uart baudrate str')#串口波特率
        parser.add_argument('-pg', '--PowerMeterGpib', help='power meter gpib str')  #功率计的GPIB 字符串
        parser.add_argument('-jf', '--JsonFile',help='Json file need check')#生成的json 文件格式
        parser.add_argument('-po', '--PowerOffset', help='test path loss str') #线损,测试设备功率计测量会有损耗,硬件工程师会实际测试到一个值,设置到仪表上,作为补偿

        #
        args = parser.parse_args() #this line displayt the help contents

               
        #get the uart dev obj    
        uart_dev = UartDev(args.PiUartPort,args.BaudRate)#       

        
        #get the power meter obj     
        power_meter = PowerMeter(addr= args.PowerMeterGpib, ofs=args.PowerOffset) 

        
        #start 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值