added more debug output
This commit is contained in:
parent
ad511fc498
commit
c08565cf46
@ -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);
|
||||
|
||||
|
||||
@ -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()) {
|
||||
|
||||
@ -63,6 +63,7 @@ public:
|
||||
L523,
|
||||
L533
|
||||
};
|
||||
Q_ENUM(NeuronTypes)
|
||||
|
||||
explicit Neuron(NeuronTypes neuronType, QModbusTcpClient *modbusInterface, QObject *parent = nullptr);
|
||||
~Neuron();
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -56,6 +56,7 @@ public:
|
||||
xS11,
|
||||
xS51
|
||||
};
|
||||
Q_ENUM(ExtensionTypes)
|
||||
|
||||
explicit NeuronExtension(ExtensionTypes extensionType, QModbusRtuSerialMaster *modbusInterface, int slaveAddress, QObject *parent = nullptr);
|
||||
~NeuronExtension();
|
||||
|
||||
Reference in New Issue
Block a user