Moved device information into structure
PollingModbusClient.can
Use device structure
ModbusClient.cin
Use device structure and enum ModbusFuncCode
ModbusEil.cin
ModbusTcp.cin
Fixes
Introduced loops to automatically split requests that are too large for Modbus
ModbusClient.can
Modified Modbus events so that the split requests (see above) will be written at the correct position in sys vars
ModbusFunctions.cin
DeviceInformation.cin
Introduced new file that will handle most device specific things
ModbusStructs.cin
Introduced new constants with maximum Modbus values
MakeConfig.can
Increment IP address with swapDWord
Moved detection stuff to DeviceInformation.cin
Changed timer to support EilDll
ModbusStructs.cin
Removed header from all structs
ModbusProtocol.cpp
Fixed data length issue (l. 353)
More precise info in InspectProtocol()
New getter: GetAddrNCount()
Write values to struct
MakeConfig.can
Detect devices via IP port scan
Analyze devices and generate sysVars appropriately
ModbusClientUDP.can
Don't analyze devices because this has to be done in MakeConfig.can
fixed decoding bits in OnModbusReceiveBits()
Modbus/ModbusClientUDP.can
Enhanced client
Timer that automatically refreshes the status
Save received data in sysvars
Removed the 9 seperate times
Introduced pending, sent and ack stacks to allow concurrent requests
Introduced timer gtRobin that monitors the stacks, sends the packets and checks for timeouts
Modbus/include/ModbusCommonStructs.cin
added enum ModbusFuncCode
Modbus/include/ModbusFunctions.cin
fixed analog modules
Modbus/include/TcpCommon.cin
don't use local ip anymore
Modbus/ModbusClientUDP.can
no state machine for reading configuration :)
Added hbin_to_strhex and dbin_to_strhex
ModbusClientCommon.cin
Introduced timers to watch for timeouts
Enhanced OnModbusReceive
Added exception handling
Added ModbusReadWriteRegisters and ModbusWriteMasks