262 lines
10 KiB
Python
262 lines
10 KiB
Python
'''
|
||
Author: shenghao.xu
|
||
Date: 2023-04-04 08:24:17
|
||
LastEditors: Please set LastEditors
|
||
LastEditTime: 2023-10-16 15:47:14
|
||
Description:
|
||
email:545403892@qq.com
|
||
Copyright (c) 2023 by shenghao.xu, All Rights Reserved.
|
||
'''
|
||
import unittest
|
||
import entity
|
||
from ctypes import *
|
||
from ctypes import cdll
|
||
|
||
from pkg.common import print_hex_space
|
||
import pkg.common as common
|
||
case_count = 0
|
||
|
||
|
||
class TestMasterCases(unittest.TestCase):
|
||
|
||
def init(cls):
|
||
cls.dll = cdll.LoadLibrary('./epm.dll')
|
||
cls.handle = entity.agreement_init()
|
||
cls.handle.set_master()
|
||
cls.dll.pbuf_initz()
|
||
ret = cls.dll.agreement_init(byref(cls.handle))
|
||
cls.assertTrue(bool(ret), "agreement_init failed")
|
||
pass
|
||
|
||
def uart_reg(self):
|
||
# ret = self.dll.uart1_init(self.dll.agreement_master_rsp)
|
||
# self.assertTrue(bool(ret), "uart_init failed")
|
||
pass
|
||
|
||
@classmethod
|
||
def setUpClass(cls) -> None:
|
||
cls.init(cls)
|
||
print('[TestMasterCases] Master模块开始测试...')
|
||
print('----------------------------------------------------')
|
||
pass
|
||
|
||
@classmethod
|
||
def tearDownClass(cls) -> None:
|
||
print('[TestMasterCases] 结束测试,测试用例%d个' % case_count)
|
||
print('----------------------------------------------------')
|
||
pass
|
||
|
||
def setUp(self) -> None:
|
||
global case_count
|
||
case_count += 1
|
||
pass
|
||
|
||
def tearDown(self) -> None:
|
||
# print("\r")
|
||
pass
|
||
|
||
# def testMasterHandle(self):
|
||
|
||
# pass
|
||
|
||
# def testMasterCommand0(self): # 复位设备
|
||
# print('Command 0 复位设备', end=" : ")
|
||
# self.handle.request.set_command(0x00)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand0 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand1(self): # 查询IP输入电流
|
||
# print('Command 1 查询IP输入电流', end=" : ")
|
||
# self.handle.request.set_command(0x01)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand1 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand2(self): # 调节IP输入电流
|
||
# print('Command 2 调节IP输入电流', end=" : ")
|
||
# self.handle.request.set_command(0x02)
|
||
# self.handle.request.data.adjust_ip_input_current.set(0.1)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand2 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand3(self): # 查询状态
|
||
# print('Command 3 查询状态', end=" : ")
|
||
# self.handle.request.set_command(0x03)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand3 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand4(self): # 查询流程
|
||
# print('Command 4 查询流程', end=" : ")
|
||
# self.handle.request.set_command(0x04)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand4 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand5(self): # 配置流程
|
||
# print('Command 5 配置流程', end=" : ")
|
||
# ret = self.dll.mock_command_req_config_process()
|
||
# self.assertTrue(bool(ret), "testMasterCommand5 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand6(self): # 执行流程
|
||
# print('Command 6 执行流程', end=" : ")
|
||
# self.handle.request.set_command(0x06)
|
||
# self.handle.request.data.execute_process.process_index = 0x00
|
||
# self.handle.request.data.execute_process.plan_index = 0x01
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand6 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand7(self): # 停止流程
|
||
# print('Command 7 停止流程', end=" : ")
|
||
# self.handle.request.set_command(0x07)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand7 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand8(self): # 查询数据
|
||
# print('Command 8 查询数据', end=" : ")
|
||
# self.handle.request.set_command(0x08)
|
||
# self.handle.request.data.query_data.count = 2
|
||
|
||
# d1 = entity.query_data_t.query_data_sensor_t()
|
||
# d1.sensor_class = entity.SENSOR_PRESSURE
|
||
# d1.sensor_1 = 1
|
||
# d1.sensor_2 = 1
|
||
# d1.sensor_3 = 1
|
||
|
||
# d2 = entity.query_data_t.query_data_sensor_t()
|
||
# d2.sensor_class = entity.SENSOR_PT100_TEMPERATURE
|
||
# d2.sensor_1 = 1
|
||
# d2.sensor_2 = 1
|
||
# d2.sensor_3 = 1
|
||
# self.handle.request.data.query_data.set_data((d1, d2))
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand8 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand9(self): # 配置地址
|
||
# print('Command 9 配置地址', end=" : ")
|
||
# self.handle.request.set_command(0x09)
|
||
# self.handle.request.data.config_address.set_address("0002")
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand9 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand10(self): # 查询地址
|
||
# print('Command 10 查询地址', end=" : ")
|
||
# self.handle.request.set_command(0x0a)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand10 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand11(self): # 标定传感器
|
||
# print('Command 11 标定传感器', end=" : ")
|
||
# self.handle.request.set_command(0x0b)
|
||
# self.handle.request.data.calibration_sensor.state = 0 # 0:零位 1:满值
|
||
# sensor = entity.query_data_t()
|
||
# sensor.count = 2
|
||
# d1 = entity.query_data_t.query_data_sensor_t()
|
||
# d1.sensor_class = entity.SENSOR_PRESSURE
|
||
# d1.sensor_1 = 1
|
||
# d1.sensor_2 = 1
|
||
# d1.sensor_3 = 1
|
||
|
||
# d2 = entity.query_data_t.query_data_sensor_t()
|
||
# d2.sensor_class = entity.SENSOR_FLOW
|
||
# d2.sensor_1 = 1
|
||
# d2.sensor_2 = 1
|
||
# sensor.set_data((d1, d2))
|
||
|
||
# self.handle.request.data.calibration_sensor.sensor_data = sensor
|
||
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand11 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand12(self): # 设置阀门状态
|
||
# print('Command 12 设置阀门状态', end=" : ")
|
||
# self.handle.request.set_command(0x0C)
|
||
# self.handle.request.data.set_valve.unit = 0x10
|
||
# self.handle.request.data.set_valve.status = 1
|
||
# self.handle.request.data.set_valve.index = 1
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand12 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand13(self): # 查询比例阀
|
||
# print('Command 13 查询比例阀', end=" : ")
|
||
# self.handle.request.set_command(0x0D)
|
||
# self.handle.request.data.query_valve_ratio.no = 1
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand13 failed")
|
||
# pass
|
||
|
||
def testMasterCommand14(self): # 设置比例阀
|
||
print('Command 14 设置比例阀', end=" : ")
|
||
self.handle.request.set_command(0x0E)
|
||
self.handle.request.data.set_valve_ratio.value_no = 1
|
||
self.handle.request.data.set_valve_ratio.value = 1000
|
||
self.handle.request.data.set_valve_ratio.pid_sensor_class = entity.SENSOR_PRESSURE
|
||
self.handle.request.data.set_valve_ratio.pid_sensor_no = 1
|
||
ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
self.assertTrue(bool(ret), "testMasterCommand14 failed")
|
||
pass
|
||
|
||
# def testMasterCommand15(self): # 设置步进电机
|
||
# print('Command 15 设置步进电机', end=" : ")
|
||
# self.handle.request.set_command(0x0F)
|
||
# self.handle.request.data.stepper_motor.dir = 1
|
||
# self.handle.request.data.stepper_motor.angle = 90
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand15 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand16(self): # 查询I/P 输入PWM占空比
|
||
# print('Command 16 查询I/P 输入PWM占空比', end=" : ")
|
||
# self.handle.request.set_command(0x10)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand16 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand17(self): # 调节I/P 输入PWM占空比
|
||
# print('Command 17 调节I/P 输入PWM占空比', end=" : ")
|
||
# self.handle.request.set_command(0x11)
|
||
# self.handle.request.data.adjust_ip_pwm_duty.percent = 0.5
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand17 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand18(self): # 设置I/P 模式
|
||
# print('Command 18 设置I/P 模式', end=" : ")
|
||
# self.handle.request.set_command(0x12)
|
||
# # print("设置I/P 模式为:电流")
|
||
# # self.handle.request.data.ip_mode.mode = 1
|
||
# # self.handle.request.data.ip_mode.data_length = 0
|
||
# # self.handle.request.data.ip_mode.data = 0
|
||
# # ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# # self.assertTrue(bool(ret), "testMasterCommand18 failed")
|
||
|
||
# print("设置I/P 模式为:PWM")
|
||
# self.handle.request.data.ip_mode.mode = 2
|
||
# self.handle.request.data.ip_mode.data_length = 1
|
||
# self.handle.request.data.ip_mode.data = 9 # 1-32 khz
|
||
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand18 failed")
|
||
# pass
|
||
|
||
# def testMasterCommand19(self): # 查询I/P 模式
|
||
# print('Command 19 查询I/P 模式', end=" : ")
|
||
# self.handle.request.set_command(0x13)
|
||
# ret = self.dll.agreement_master_req(byref(self.handle.request))
|
||
# self.assertTrue(bool(ret), "testMasterCommand19 failed")
|
||
# pass
|
||
|
||
|
||
if __name__ == '__main__':
|
||
unittest.main()
|