fixed unrecognized register debug warning

master
Boernsman 2021-02-04 17:56:54 +01:00
parent c08565cf46
commit 250ce52fd1
2 changed files with 24 additions and 19 deletions

View File

@ -460,24 +460,26 @@ bool Neuron::modbusReadRequest(const QModbusDataUnit &request)
circuit = m_modbusUserLEDRegisters.key(modbusAddress);
emit userLEDStatusChanged(circuit, unit.value(i));
} else {
qCWarning(dcUniPi()) << "Neuron: Received unrecorgnised modbus register" << modbusAddress;
qCWarning(dcUniPi()) << "Neuron: Received unrecorgnised coil register" << modbusAddress;
}
break;
case QModbusDataUnit::RegisterType::HoldingRegisters:
if(m_modbusAnalogOutputRegisters.values().contains(modbusAddress)){
circuit = m_modbusAnalogOutputRegisters.key(modbusAddress);
emit analogOutputStatusChanged(circuit, (unit.value(i) << 16 | unit.value(i+1)));
emit analogOutputStatusChanged(circuit, unit.value(i));
} else {
qCWarning(dcUniPi()) << "Neuron: Received unrecognised modbus register" << modbusAddress;
qCWarning(dcUniPi()) << "Neuron: Received unrecognised holding register" << modbusAddress;
}
break;
case QModbusDataUnit::RegisterType::InputRegisters:
if(m_modbusAnalogInputRegisters.values().contains(modbusAddress)){
circuit = m_modbusAnalogInputRegisters.key(modbusAddress);
// Analog inputs consist out of 2 registers
emit analogInputStatusChanged(circuit, (unit.value(i) << 16 | unit.value(i+1)));
i++;
} else {
qCWarning(dcUniPi()) << "Neuron: Received unrecognised modbus register" << modbusAddress;
qCWarning(dcUniPi()) << "Neuron: Received unrecognised input register" << modbusAddress;
}
break;
case QModbusDataUnit::RegisterType::DiscreteInputs:
@ -686,12 +688,12 @@ bool Neuron::getDigitalInput(const QString &circuit)
bool Neuron::getAnalogOutput(const QString &circuit)
{
int modbusAddress = m_modbusAnalogInputRegisters.value(circuit);
qDebug(dcUniPi()) << "Neuron: Reading analog input" << circuit << modbusAddress;
//qDebug(dcUniPi()) << "Neuron: Reading analog input" << circuit << modbusAddress;
if (!m_modbusInterface)
return false;
QModbusDataUnit request = QModbusDataUnit(QModbusDataUnit::RegisterType::HoldingRegisters, modbusAddress, 2);
QModbusDataUnit request = QModbusDataUnit(QModbusDataUnit::RegisterType::HoldingRegisters, modbusAddress, 1);
if (m_readRequestQueue.isEmpty()) {
//return modbusReadRequest(request);
} else if (m_readRequestQueue.length() > 100) {

View File

@ -77,7 +77,7 @@ NeuronExtension::NeuronExtension(ExtensionTypes extensionType, QModbusRtuSerialM
NeuronExtension::~NeuronExtension()
{
qCDebug(dcUniPi()) << "Neuron Extension: Deleting extension";
qCDebug(dcUniPi()) << "Neuron Extension: Deleting extension" << m_extensionType;
}
bool NeuronExtension::init()
@ -210,16 +210,16 @@ bool NeuronExtension::loadModbusMap()
QString circuit = list[3].split(" ").last();
if (list[3].contains("Digital Input", Qt::CaseSensitivity::CaseInsensitive)) {
m_modbusDigitalInputRegisters.insert(circuit, list[0].toInt());
qDebug(dcUniPi()) << "Found input register" << circuit << list[0].toInt();
qDebug(dcUniPi()) << "Neuron Extension: Found input register" << circuit << list[0].toInt();
} else if (list[3].contains("Digital Output", Qt::CaseSensitivity::CaseInsensitive)) {
m_modbusDigitalOutputRegisters.insert(circuit, list[0].toInt());
qDebug(dcUniPi()) << "Found output register" << circuit << list[0].toInt();
qDebug(dcUniPi()) << "Neuron Extension: Found output register" << circuit << list[0].toInt();
} else if (list[3].contains("Relay Output", Qt::CaseSensitivity::CaseInsensitive)) {
m_modbusDigitalOutputRegisters.insert(circuit, list[0].toInt());
qDebug(dcUniPi()) << "Found relay register" << circuit << list[0].toInt();
qDebug(dcUniPi()) << "Neuron Extension: Found relay register" << circuit << list[0].toInt();
} else if (list[3].contains("User Programmable LED", Qt::CaseSensitivity::CaseInsensitive)) {
m_modbusUserLEDRegisters.insert(circuit, list[0].toInt());
qDebug(dcUniPi()) << "Found user programmable led" << circuit << list[0].toInt();
qDebug(dcUniPi()) << "Neuron Extension: Found user programmable led" << circuit << list[0].toInt();
}
}
}
@ -278,10 +278,10 @@ bool NeuronExtension::loadModbusMap()
QString circuit = list[5].split(" ").at(3);
if (list[5].contains("Analog Input Value", Qt::CaseSensitivity::CaseInsensitive)) {
m_modbusAnalogInputRegisters.insert(circuit, list[0].toInt());
qDebug(dcUniPi()) << "Found analog input register" << circuit << list[0].toInt();
qDebug(dcUniPi()) << "Neuron Extension: Found analog input register" << circuit << list[0].toInt();
} else if (list[5].contains("Analog Output Value", Qt::CaseSensitivity::CaseInsensitive)) {
m_modbusAnalogOutputRegisters.insert(circuit, list[0].toInt());
qDebug(dcUniPi()) << "FNeuron Extension: Found analog output register" << circuit << list[0].toInt();
qDebug(dcUniPi()) << "Neuron Extension: Found analog output register" << circuit << list[0].toInt();
}
}
}
@ -330,16 +330,14 @@ bool NeuronExtension::modbusReadRequest(const QModbusDataUnit &request)
if(m_modbusDigitalInputRegisters.values().contains(modbusAddress)){
circuit = m_modbusDigitalInputRegisters.key(modbusAddress);
emit digitalInputStatusChanged(circuit, unit.value(i));
}
if(m_modbusDigitalOutputRegisters.values().contains(modbusAddress)){
} else if(m_modbusDigitalOutputRegisters.values().contains(modbusAddress)){
circuit = m_modbusDigitalOutputRegisters.key(modbusAddress);
emit digitalOutputStatusChanged(circuit, unit.value(i));
}
if(m_modbusUserLEDRegisters.values().contains(modbusAddress)){
} else if(m_modbusUserLEDRegisters.values().contains(modbusAddress)){
circuit = m_modbusUserLEDRegisters.key(modbusAddress);
emit userLEDStatusChanged(circuit, unit.value(i));
} else {
qCWarning(dcUniPi()) << "Neuron Extension: Received unrecorgnised coil register" << modbusAddress;
}
break;
@ -347,12 +345,17 @@ bool NeuronExtension::modbusReadRequest(const QModbusDataUnit &request)
if(m_modbusAnalogInputRegisters.values().contains(modbusAddress)){
circuit = m_modbusAnalogInputRegisters.key(modbusAddress);
emit analogInputStatusChanged(circuit, ((unit.value(i) << 16) | unit.value(i+1)));
i++;
} else {
qCWarning(dcUniPi()) << "Neuron Extension: Received unrecorgnised input register" << modbusAddress;
}
break;
case QModbusDataUnit::RegisterType::HoldingRegisters:
if(m_modbusAnalogOutputRegisters.values().contains(modbusAddress)){
circuit = m_modbusAnalogOutputRegisters.key(modbusAddress);
emit analogOutputStatusChanged(circuit, unit.value(i));
} else {
qCWarning(dcUniPi()) << "Neuron Extension: Received unrecorgnised holding register" << modbusAddress;
}
break;
case QModbusDataUnit::RegisterType::DiscreteInputs: