|
|
|
|
@ -114,7 +114,12 @@ def writePropertyUpdateMethodImplementationsTcp(fileDescriptor, className, regis
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
writeLine(fileDescriptor, ' connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString();' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' QModbusResponse response = reply->rawResult();')
|
|
|
|
|
writeLine(fileDescriptor, ' if (reply->error() == QModbusDevice::ProtocolError && response.isException()) {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode());' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' } else {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString();' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' }')
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor, '}')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
@ -177,7 +182,12 @@ def writeBlockUpdateMethodImplementationsTcp(fileDescriptor, className, blockDef
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
writeLine(fileDescriptor, ' connect(reply, &QModbusReply::errorOccurred, this, [reply] (QModbusDevice::Error error){')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString();' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' QModbusResponse response = reply->rawResult();')
|
|
|
|
|
writeLine(fileDescriptor, ' if (reply->error() == QModbusDevice::ProtocolError && response.isException()) {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode());' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' } else {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString();' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' }')
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor, '}')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
@ -317,7 +327,15 @@ def writeTestReachabilityImplementationsTcp(fileDescriptor, className, registerD
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
writeLine(fileDescriptor, ' connect(m_checkRechableReply, &QModbusReply::errorOccurred, this, [this] (QModbusDevice::Error error){')
|
|
|
|
|
writeLine(fileDescriptor, ' qCDebug(dc%s()) << "Modbus reply error occurred while verifying reachability by reading \\"%s\\" register" << error << m_checkRechableReply->errorString();' % (className, checkReachableRegister['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' QModbusResponse response = m_checkRechableReply->rawResult();')
|
|
|
|
|
writeLine(fileDescriptor, ' if (m_checkRechableReply->error() == QModbusDevice::ProtocolError && response.isException()) {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while verifying reachability by reading \\"%s\\" register" << error << m_checkRechableReply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode());' % (className, checkReachableRegister['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' // Note: if we get an exception on the reachability register, the modbus server is probably not ready')
|
|
|
|
|
writeLine(fileDescriptor, ' // For some reasons on some devices the reply will never be finished on exception response. A reconnect might fix it.')
|
|
|
|
|
writeLine(fileDescriptor, ' QTimer::singleShot(2000, m_modbusTcpMaster, &ModbusTcpMaster::reconnectDevice);')
|
|
|
|
|
writeLine(fileDescriptor, ' } else {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCDebug(dc%s()) << "Modbus reply error occurred while verifying reachability by reading \\"%s\\" register" << error << m_checkRechableReply->errorString();' % (className, checkReachableRegister['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' }')
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor, '}')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
@ -398,7 +416,12 @@ def writeInitMethodImplementationTcp(fileDescriptor, className, registerDefiniti
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
writeLine(fileDescriptor, ' connect(reply, &QModbusReply::errorOccurred, m_initObject, [this, reply] (QModbusDevice::Error error){')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while reading \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString();' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' QModbusResponse response = reply->rawResult();')
|
|
|
|
|
writeLine(fileDescriptor, ' if (reply->error() == QModbusDevice::ProtocolError && response.isException()) {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while reading \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode());' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' } else {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while reading \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString();' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' }')
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
|
|
|
|
|
# Read init blocks
|
|
|
|
|
@ -465,7 +488,12 @@ def writeInitMethodImplementationTcp(fileDescriptor, className, registerDefiniti
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
writeLine(fileDescriptor, ' connect(reply, &QModbusReply::errorOccurred, m_initObject, [reply] (QModbusDevice::Error error){')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString();' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' QModbusResponse response = reply->rawResult();')
|
|
|
|
|
writeLine(fileDescriptor, ' if (reply->error() == QModbusDevice::ProtocolError && response.isException()) {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode());' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' } else {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString();' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' }')
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
|
|
|
|
|
@ -546,7 +574,12 @@ def writeUpdateMethodTcp(fileDescriptor, className, registerDefinitions, blockDe
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
writeLine(fileDescriptor, ' connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while reading \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString();' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' QModbusResponse response = reply->rawResult();')
|
|
|
|
|
writeLine(fileDescriptor, ' if (reply->error() == QModbusDevice::ProtocolError && response.isException()) {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while reading \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode());' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' } else {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while reading \\"%s\\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString();' % (className, registerDefinition['description']))
|
|
|
|
|
writeLine(fileDescriptor, ' }')
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
|
|
|
|
|
# Read init blocks
|
|
|
|
|
@ -613,7 +646,12 @@ def writeUpdateMethodTcp(fileDescriptor, className, registerDefinitions, blockDe
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
writeLine(fileDescriptor, ' connect(reply, &QModbusReply::errorOccurred, this, [reply] (QModbusDevice::Error error){')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString();' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' QModbusResponse response = reply->rawResult();')
|
|
|
|
|
writeLine(fileDescriptor, ' if (reply->error() == QModbusDevice::ProtocolError && response.isException()) {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode());' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' } else {')
|
|
|
|
|
writeLine(fileDescriptor, ' qCWarning(dc%s()) << "Modbus reply error occurred while updating block \\"%s\\" registers" << error << reply->errorString();' % (className, blockName))
|
|
|
|
|
writeLine(fileDescriptor, ' }')
|
|
|
|
|
writeLine(fileDescriptor, ' });')
|
|
|
|
|
writeLine(fileDescriptor)
|
|
|
|
|
|
|
|
|
|
|