def __init__(self, client: ClientInterface) -> None:
self.__protocol = DatatypesProtocol(client, SJP1FU_COILS, SJP1FU_REGISTERS)
- async def set_parameters(self) -> None:
- # AA115 = 01, 14-43
- await self.__protocol.write_register(12015, 1)
- # AC120 = 0.5 s, 14-44
- await self.__protocol.write_register(12220, 1)
- # bA122 = 02, 14-53
- await self.__protocol.write_register(13022, 2)
- # bA123 = 50 A, 14-53
- await self.__protocol.write_register(13023, 50)
- # bA124 = 5 s, 14-53
- await self.__protocol.write_register(13024, 5)
- # Cb40 = 01, 14-58
- await self.__protocol.write_register(14140, 1)
- # Hb102 = 11 kW, 14-64
- await self.__protocol.write_register(15102, 11)
- # Hb103 = 4, 14-64
- await self.__protocol.write_register(15103, 4)
- # bC110 = 22.5A Motorschutz ???
+ parameters = [(12015, 1), (12220, 90), (13022, 2), (13023, 50), (13024, 5),
+ (13110, 2), (14140, 1), (15102, 11), (15103, 4)]
+
+ async def check_parameters(self) -> None:
+ for (register, value) in self.parameters:
+ current = int(await self.__protocol.read_register(register))
+ if current != value:
+ print(f"Register {register} is {current} instead of {value}.")
+
+ async def correct_parameters(self) -> None:
+ for (register, value) in self.parameters:
+ current = int(await self.__protocol.read_register(register))
+ if current != value:
+ print(f"Register {register} is {current} instead of {value}.")
+ await self.__protocol.write_register(9002, 1)
+ await self.__protocol.write_register(register, value)
async def set_frequency(self, frequency: int) -> None:
- # Page 532 / 14-41
await self.__protocol.write_register(10502, frequency)
async def get_frequency(self) -> int:
- # Page 532 / 14-41
return int(await self.__protocol.read_register(10502))
async def start_inverter(self) -> None:
- # Page 518 / 14-27
await self.__protocol.write_coil(1, True)
async def stop_inverter(self) -> None:
- # Page 518 / 14-27
await self.__protocol.write_coil(1, False)
@property
},
15103: {
'code': 'Hb103',
- 'name': 'Selection of number of firs IM motor poles',
+ 'name': 'Selection of number of first IM motor poles',
'rw': 'rw',
'type': 'uint16',
'conf': {