MODBUS device versions
This document contains version information for the Modbus device.
To do:
Ideas and known bugs:
- Support for fast MODBUS TCP mode
- Allready working by settting the correct bit with KC2000 - but some stability checks and limits needed. If posisble, the fastTCP option may also be set by the device.
- Reading of status and control registers for floating point modules
- Allready read - but needs to be supported in address map/database conversion setup
- Detect change of size in data areas - reset values loaded from persistent storage if changed (data may be wrong due to the change of modules).
Version 1.26.125.28 (070310-TW)
PLC07 has 4 input bit. This is not enough to fill a complete byte. Sometimes
these 4 bits cannot read.
061219: It seems at present that they cannot be read if the PLC has been turned
off for "long" time. They are reactivate if the device is restarted. It is
unknown how long time "long" time is. Just turning it off and on does not
deactivate the bits.
The idea was to try the varios reset (from the Console), but as I could not make
it fail ...
Tried to remotely upgrade PLC07 to firmware version BB00, but it failed.
061220: It is also a problem with PLC09, which has 8 bit (there are though 4
additional bit assigned to PLC). It does ot help to do any reset from the
console (resetModBus, enable/disable, ResetComm), but a restart of the kernel
solves the problem.
070305: Also seen in stockholm (on BK9000) , 16 bit input, restart device makes
the bits work).
Previously belived error:
For PLC07 there was a configuration error on the first output bit, which had
been configured as ProcMem (a1=4), instead of Bit Out (a1=3). This had the
effect that the 4 input bit did not work in ConSys. There are 4 output bit (note
it was only the first bit which was set wrongly.
There might be an error in the code regarding the need to read bits.
Problem/Solution: When connection was restarted, the image sizes was reset
and new control values send to the device. The request for the image size needed
to restart the reading of the bits was i reinitialize code - but as writing of
control values was set at the same time, the repond was sometimes (most often)
mixed up, and image sizes not set correctly. Solution: Code rearranged, so
reading of the image sizes takes place in the UpdateStatus method.
Version 1.25.107.21 (060207-TW)
ModBus start delays made shorter - should be tested and optimized later
Version 1.25.107.20 (0601??-TW)
Corrected bug: Support for Three state word address was not fully implemented (range checks was wrong)
Version 1.25.105.16 (051222-TW)
New Feautures:
Support for
Corrected bugs:
Moved m_dataMonitor from CCrateConvBase::
m_dataMonitor: Was defined in CModBusTCPCrate as well as in CModBusTCPCrate <=> no protection of data from CCrateConvBase.
Version 1.24.102.10 (050714-TW)
* Implemented reading of Process Image Size's from the PLC during initialisation.
Status bits are now read together with the floating point values. The implementation is made, so it reading mode can be made optional - controlled by the attribute m_readBinaryWithAnalogue - now hardwired to TRUE.
Version 1.24.102.9 (050712-TW)
Initialisation changed, Reset ModBus during start and setting of Watch timer is now optional (set in configuration file).
Version 1.16.66.3
Initial version:
CREATED AS MFC Extension dll (Using shared dll)
Base code structure for empty crate device type implemented. (Base on the CCrateConvBaseDevice, CCrateConvBase classes)
Last Modified 28 April 2020