This repository has been archived on 2025-01-02. You can view files and clone it, but cannot push or open issues or pull requests.
torsion/User/test/test_master.py

262 lines
10 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'''
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()