Minor changes
This commit is contained in:
parent
2df8f31eb7
commit
7b08b19840
2 changed files with 12 additions and 22 deletions
|
@ -169,15 +169,15 @@ void OnModbusReadRegistersSuccess(struct ModbusResReceiveRegisters mbres, struct
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method gets called when a bit was set successfully.
|
// This method gets called when a bit was set successfully.
|
||||||
void OnModbusWriteBitSuccess(struct ModbusResConfirmSingle mbc){}
|
void OnModbusWriteBitSuccess(struct ModbusResConfirmSingle mbres){}
|
||||||
// This method gets called when a register was set successsfully.
|
// This method gets called when a register was set successsfully.
|
||||||
void OnModbusWriteRegisterSuccess(struct ModbusResConfirmSingle mbc){}
|
void OnModbusWriteRegisterSuccess(struct ModbusResConfirmSingle mbres){}
|
||||||
// This method gets called when multiple bits were set successfully.
|
// This method gets called when multiple bits were set successfully.
|
||||||
void OnModbusWriteBitsSuccess(struct ModbusResConfirmMultiple mbc){}
|
void OnModbusWriteBitsSuccess(struct ModbusResConfirmMultiple mbres){}
|
||||||
// This method gets called when multiple registers were set successfully.
|
// This method gets called when multiple registers were set successfully.
|
||||||
void OnModbusWriteRegistersSuccess(struct ModbusResConfirmMultiple mbc){}
|
void OnModbusWriteRegistersSuccess(struct ModbusResConfirmMultiple mbres){}
|
||||||
// This method gets called when a mask was applied successfully.
|
// This method gets called when a mask was applied successfully.
|
||||||
void OnModbusWriteMasksSuccess(struct ModbusResConfirmMasks mbc){}
|
void OnModbusWriteMasksSuccess(struct ModbusResConfirmMasks mbres){}
|
||||||
|
|
||||||
|
|
||||||
// This method gets called when the Modbus Client panics (saying a fatal error occured).
|
// This method gets called when the Modbus Client panics (saying a fatal error occured).
|
||||||
|
|
|
@ -386,11 +386,7 @@ void ModbusWriteBits(word address, long count, byte values[])
|
||||||
dataLength = _ceil(curCount / 8.0);
|
dataLength = _ceil(curCount / 8.0);
|
||||||
overallLength = maxLength - gMaxBitsPerWrite/8 + dataLength;
|
overallLength = maxLength - gMaxBitsPerWrite/8 + dataLength;
|
||||||
}
|
}
|
||||||
if (curCount == 1)
|
|
||||||
{
|
|
||||||
ModbusWriteBit(address+offset, values[offset/8]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_ModbusMakeHeader(mbreq.Header, overallLength, funcCode);
|
_ModbusMakeHeader(mbreq.Header, overallLength, funcCode);
|
||||||
|
|
||||||
mbreq.Address = address+offset; // [2] Output address
|
mbreq.Address = address+offset; // [2] Output address
|
||||||
|
@ -500,12 +496,6 @@ void ModbusWriteRegisters(word address, long count, word values[])
|
||||||
dataLength = 2 * curCount;
|
dataLength = 2 * curCount;
|
||||||
overallLength = maxLength - 2*gMaxRegsPerWrite + dataLength;
|
overallLength = maxLength - 2*gMaxRegsPerWrite + dataLength;
|
||||||
|
|
||||||
if (curCount == 1)
|
|
||||||
{
|
|
||||||
ModbusWriteRegister(address, values[offset]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_ModbusMakeHeader(mbreq.Header, overallLength, funcCode);
|
_ModbusMakeHeader(mbreq.Header, overallLength, funcCode);
|
||||||
|
|
||||||
mbreq.Address = address+offset; // [2] Output address
|
mbreq.Address = address+offset; // [2] Output address
|
||||||
|
@ -514,8 +504,8 @@ void ModbusWriteRegisters(word address, long count, word values[])
|
||||||
|
|
||||||
for (i = 0; i < curCount; i++)
|
for (i = 0; i < curCount; i++)
|
||||||
mbreq.Data[i] = values[i+offset];
|
mbreq.Data[i] = values[i+offset];
|
||||||
for ( ; i < gMaxRegsPerWrite; i++) // do we need this?
|
//for ( ; i < gMaxRegsPerWrite; i++) // do we need this?
|
||||||
mbreq.Data[i] = 0;
|
// mbreq.Data[i] = 0; // I'd say that the Modbus server will stop when it has read curCount values
|
||||||
|
|
||||||
memcpy_h2n(buffer, mbreq);
|
memcpy_h2n(buffer, mbreq);
|
||||||
_ModbusSend(buffer, overallLength, mbreq.Header.TxID);
|
_ModbusSend(buffer, overallLength, mbreq.Header.TxID);
|
||||||
|
@ -767,15 +757,15 @@ void _OnModbusReceive2OnePacket(byte buffer[], int offset, struct ModbusApHeader
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//write("Received TxID: %d", mbap.TxID);
|
//write("Received TxID: %d", mbap.TxID);
|
||||||
memcpy(gQueueAck[mbap.TxID], gQueueSent[mbap.TxID]);
|
memcpy(gQueueAck[mbap.TxID], gQueueSent[mbap.TxID]); // Move to acknowledge queue
|
||||||
gQueueSent.Remove(mbap.TxID);
|
gQueueSent.Remove(mbap.TxID);
|
||||||
|
|
||||||
if (mbap.FuncCode > 0x80) // Oh no, we got a exception!
|
if (mbap.FuncCode > 0x80) // Oh no, we got a exception!
|
||||||
_OnModbusReceive2Exceptions(buffer[offset+08], mbap);
|
_OnModbusReceive2Exceptions(buffer[offset+08], mbap);
|
||||||
else // Ok, everything is alright
|
else // Ok, everything is alright
|
||||||
_OnModbusReceive2Success(buffer, mbap, offset, length);
|
_OnModbusReceive2Success(buffer, mbap, offset, length);
|
||||||
|
|
||||||
gQueueAck.Remove(mbap.TxID); // Remove from acknowledge queue
|
gQueueAck.Remove(mbap.TxID); // Remove from acknowledge queue
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <-OnModbusReceive>
|
/// <-OnModbusReceive>
|
||||||
|
|
Loading…
Reference in a new issue