Ajout plus de traces pour debug Modbus
This commit is contained in:
parent
cec26f952b
commit
9cc2c4d16b
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user