Ajout plus de traces pour debug Modbus

This commit is contained in:
jfmartel 2025-11-17 14:05:08 -05:00
parent cec26f952b
commit 9cc2c4d16b

View File

@ -168,7 +168,7 @@ int CModbusBackend::AnalyzeModbusRequest(CModbusTransaction Transaction)
//Validate data range
if(!mModbusRepo->IsHRValid(StartAdress,1))
{
qDebug("Reg invalid");
CEngLog::instance()->AddLogString(QString().sprintf("Slave invalid register in Rx Write Single Register req. Address: %d",StartAdress));
//Send negative response
SendErrorResponse(Transaction,MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS);
ModbusRequestException(MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS,MODBUS_WRITE_SINGLE_REGISTER);
@ -180,10 +180,7 @@ int CModbusBackend::AnalyzeModbusRequest(CModbusTransaction Transaction)
//Write register data
mModbusRepo->WriteHRData(StartAdress,1,data);
if(StartAdress == 2000)
{
qDebug("debug... 2000");
}
CEngLog::instance()->AddLogString(QString().sprintf("Slave Rx Write Single Register. Address: %d, Value: 0x%s",StartAdress, data.toHex().data()));
CEngLog::instance()->AddLogString(QString().sprintf("Data: %s\n",data.toHex().data()));
@ -213,7 +210,7 @@ int CModbusBackend::AnalyzeModbusRequest(CModbusTransaction Transaction)
//Validate nb of registers
if(NbRegisters < 1 || NbRegisters > 0x7D || ByteCount != (NbRegisters*2))
{
qDebug("Invalid register number or byte count ");
CEngLog::instance()->AddLogString(QString().sprintf("Slave invalid register nb or byte count in multiple registers write req. ByteCount: %d, Nb Reg: %d",ByteCount, NbRegisters));
SendErrorResponse(Transaction,MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE);
ModbusRequestException(MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE,MODBUS_FCT_WRITE_MULTIPLE_REGISTERS);
return 0;
@ -222,7 +219,7 @@ int CModbusBackend::AnalyzeModbusRequest(CModbusTransaction Transaction)
//Validate data range
if(!mModbusRepo->IsHRValid(StartAdress,NbRegisters))
{
qDebug("Reg invalid");
CEngLog::instance()->AddLogString(QString().sprintf("Slave invalid register in multiple registers write req. Address: %d, Nb Reg: %d",StartAdress, NbRegisters));
//Send negative response
SendErrorResponse(Transaction,MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS);
ModbusRequestException(MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS,MODBUS_FCT_WRITE_MULTIPLE_REGISTERS);