以前一直以为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