0

I would like help to interpret the DataBank. If there was an update. I don't know how to apply it.

from servidormodbus2 import ServidorMODBUS


s = ServidorMODBUS('127.0.0.1',502)
s.run()
from pyModbusTCP.server import DataBank, ModbusServer
from time import sleep
import random


class ServidorMODBUS():
    """
    Classe Servidor MODBUS
    """
    def __init__(self, host_ip,port):
        """
        Construtor
        """
        self._server =  ModbusServer(host=host_ip, port=port, no_block=True)
        self._db = DataBank
    
    def run(self):
        """
         Execução do servidor
        """
        self._server.start()
        setpoint = self._db.set_words(2000,25)
        print("Servidor em execução")
        while True:
            if self._db.get_bits(1000,[0]):
                setpoint = self._db.get_words(2000,0)
            self._db.set_words(1000,[random.randrange(int(0.95*setpoint),int(1.05*setpoint))])
            print('=====================')
            print(f'Tabela MODBUS')
            print(f'Holding Registers\r\n R1000: {self._db.get_words(1000)}\r\n R2000: {self._db.get_words(2000)}')
            print(f'Coils \r\n R1000: {self._db.get_bits(1000)}')
            print('=====================')
            sleep(1)

The error TypeError: unsupported operand type(s) for *: 'float' and 'NoneType' was expected. But, DataBank says it is obsolete.

0 Answers0