added more debug output

This commit is contained in:
Boernsman 2021-02-04 16:15:43 +01:00
parent ad511fc498
commit c08565cf46
5 changed files with 30 additions and 37 deletions

View File

@ -1032,8 +1032,8 @@ bool IntegrationPluginUniPi::neuronDeviceInit()
m_modbusTCPMaster = new QModbusTcpClient(this);
m_modbusTCPMaster->setConnectionParameter(QModbusDevice::NetworkPortParameter, port);
m_modbusTCPMaster->setConnectionParameter(QModbusDevice::NetworkAddressParameter, ipAddress.toString());
m_modbusTCPMaster->setTimeout(1000);
m_modbusTCPMaster->setNumberOfRetries(3);
m_modbusTCPMaster->setTimeout(200);
m_modbusTCPMaster->setNumberOfRetries(1);
connect(m_modbusTCPMaster, &QModbusTcpClient::stateChanged, this, &IntegrationPluginUniPi::onModbusTCPStateChanged);
@ -1067,8 +1067,8 @@ bool IntegrationPluginUniPi::neuronExtensionInterfaceInit()
m_modbusRTUMaster->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, baudrate);
m_modbusRTUMaster->setConnectionParameter(QModbusDevice::SerialDataBitsParameter, 8);
m_modbusRTUMaster->setConnectionParameter(QModbusDevice::SerialStopBitsParameter, 1);
//m_modbusRTUMaster->setTimeout(100);
//m_modbusRTUMaster->setNumberOfRetries(1);
m_modbusRTUMaster->setTimeout(400);
m_modbusRTUMaster->setNumberOfRetries(1);
connect(m_modbusRTUMaster, &QModbusRtuSerialMaster::stateChanged, this, &IntegrationPluginUniPi::onModbusRTUStateChanged);

View File

@ -40,6 +40,7 @@ Neuron::Neuron(NeuronTypes neuronType, QModbusTcpClient *modbusInterface, QObje
m_modbusInterface(modbusInterface),
m_neuronType(neuronType)
{
qCDebug(dcUniPi()) << "Neuron: Creating Neuron connection" << neuronType;
m_inputPollingTimer = new QTimer(this);
connect(m_inputPollingTimer, &QTimer::timeout, this, &Neuron::onInputPollingTimer);
m_inputPollingTimer->setTimerType(Qt::TimerType::PreciseTimer);
@ -57,12 +58,14 @@ Neuron::Neuron(NeuronTypes neuronType, QModbusTcpClient *modbusInterface, QObje
connect(m_modbusInterface, &QModbusDevice::stateChanged, this, [this] (QModbusDevice::State state) {
if (state == QModbusDevice::State::ConnectedState) {
qCDebug(dcUniPi()) << "Neuron: Starting polling timer";
if (m_inputPollingTimer)
m_inputPollingTimer->start();
if (m_outputPollingTimer)
m_outputPollingTimer->start();
emit connectionStateChanged(true);
} else {
qCDebug(dcUniPi()) << "Neuron: Stopping polling timer";
if (m_inputPollingTimer)
m_inputPollingTimer->stop();
if (m_outputPollingTimer)
@ -72,32 +75,25 @@ Neuron::Neuron(NeuronTypes neuronType, QModbusTcpClient *modbusInterface, QObje
});
}
Neuron::~Neuron(){
if (m_inputPollingTimer) {
m_inputPollingTimer->stop();
m_inputPollingTimer->deleteLater();
m_inputPollingTimer = nullptr;
}
if (m_outputPollingTimer) {
m_outputPollingTimer->stop();
m_outputPollingTimer->deleteLater();
m_outputPollingTimer = nullptr;
}
Neuron::~Neuron()
{
qCDebug(dcUniPi()) << "Neuron: Deleting Neuron connection" << m_neuronType;
}
bool Neuron::init()
{
qCDebug(dcUniPi()) << "Neuron: Init";
if (!loadModbusMap()) {
return false;
}
if (!m_modbusInterface) {
qWarning(dcUniPi()) << "Modbus TCP interface not available";
qWarning(dcUniPi()) << "Neuron: Modbus TCP interface not available";
return false;
}
if (m_modbusInterface->connectDevice()) {
qWarning(dcUniPi()) << "Could not connect to modbus TCP device";
qWarning(dcUniPi()) << "Neuron: Could not connect to modbus TCP device";
return false;
}
return true;
@ -166,7 +162,7 @@ QList<QString> Neuron::userLEDs()
bool Neuron::loadModbusMap()
{
qCDebug(dcUniPi()) << "Neuron Extension: load modbus map";
qCDebug(dcUniPi()) << "Neuron: Load modbus map";
QStringList fileCoilList;
QStringList fileRegisterList;
@ -628,7 +624,7 @@ bool Neuron::getCoils(QList<int> registerList)
bool Neuron::getAllDigitalInputs()
{
if (!m_modbusInterface) {
qCWarning(dcUniPi()) << "Neuron: ;Ḿodbus interface not initialized";
qCWarning(dcUniPi()) << "Neuron: Ḿodbus interface not initialized";
return false;
}
return getCoils(m_modbusDigitalInputRegisters.values());
@ -646,7 +642,7 @@ bool Neuron::getAllDigitalOutputs()
bool Neuron::getAllAnalogInputs()
{
if (!m_modbusInterface) {
qCWarning(dcUniPi()) << "Neuron modbus interface not initialized";
qCWarning(dcUniPi()) << "Neuron: Modbus interface not initialized";
return false;
}
foreach(QString circuit, m_modbusAnalogInputRegisters.keys()) {

View File

@ -63,6 +63,7 @@ public:
L523,
L533
};
Q_ENUM(NeuronTypes)
explicit Neuron(NeuronTypes neuronType, QModbusTcpClient *modbusInterface, QObject *parent = nullptr);
~Neuron();

View File

@ -42,6 +42,7 @@ NeuronExtension::NeuronExtension(ExtensionTypes extensionType, QModbusRtuSerialM
m_slaveAddress(slaveAddress),
m_extensionType(extensionType)
{
qCDebug(dcUniPi()) << "NeuronExtension: Creating extension" << extensionType;
m_inputPollingTimer = new QTimer(this);
connect(m_inputPollingTimer, &QTimer::timeout, this, &NeuronExtension::onInputPollingTimer);
m_inputPollingTimer->setTimerType(Qt::TimerType::PreciseTimer);
@ -74,32 +75,25 @@ NeuronExtension::NeuronExtension(ExtensionTypes extensionType, QModbusRtuSerialM
});
}
NeuronExtension::~NeuronExtension(){
if (m_inputPollingTimer) {
m_inputPollingTimer->stop();
m_inputPollingTimer->deleteLater();
m_inputPollingTimer = nullptr;
}
if (m_outputPollingTimer) {
m_outputPollingTimer->stop();
m_outputPollingTimer->deleteLater();
m_outputPollingTimer = nullptr;
}
NeuronExtension::~NeuronExtension()
{
qCDebug(dcUniPi()) << "Neuron Extension: Deleting extension";
}
bool NeuronExtension::init() {
bool NeuronExtension::init()
{
qCDebug(dcUniPi()) << "Neuron Extension: Init";
if (!loadModbusMap()) {
return false;
}
if (!m_modbusInterface) {
qWarning(dcUniPi()) << "Modbus RTU interface not available";
qWarning(dcUniPi()) << "Neuron Extension: Modbus RTU interface not available";
return false;
}
if (m_modbusInterface->connectDevice()) {
qWarning(dcUniPi()) << "Could not connect to RTU device";
qWarning(dcUniPi()) << "Neuron Extension: Could not connect to RTU device";
return false;
}
return true;
@ -134,6 +128,7 @@ int NeuronExtension::slaveAddress()
void NeuronExtension::setSlaveAddress(int slaveAddress)
{
qCDebug(dcUniPi()) << "Neuron Extension: Set slave address" << slaveAddress;
m_slaveAddress = slaveAddress;
}
@ -164,7 +159,7 @@ QList<QString> NeuronExtension::userLEDs()
bool NeuronExtension::loadModbusMap()
{
qCDebug(dcUniPi()) << "Neuron Extension: load modbus map";
qCDebug(dcUniPi()) << "Neuron Extension: Load modbus map";
QStringList fileCoilList;
QStringList fileRegisterList;
@ -490,7 +485,7 @@ bool NeuronExtension::getDigitalOutput(const QString &circuit)
if (m_readRequestQueue.isEmpty()) {
return modbusReadRequest(request);
} else if (m_readRequestQueue.length() > 100) {
qCWarning(dcUniPi()) << "Neuron extension: too many pending read requests";
qCWarning(dcUniPi()) << "Neuron extension: Too many pending read requests";
return false;
} else {
m_readRequestQueue.append(request);

View File

@ -56,6 +56,7 @@ public:
xS11,
xS51
};
Q_ENUM(ExtensionTypes)
explicit NeuronExtension(ExtensionTypes extensionType, QModbusRtuSerialMaster *modbusInterface, int slaveAddress, QObject *parent = nullptr);
~NeuronExtension();