ModMultiSim help v3.04 - E. Release Notes

Download manual: HTML

E. Release Notes

E.1.1. ModMultiSim 3.04

Fix for a problem loading serial library. Minor changes.

E.1.2. ModMultiSim 3.03

Minor changes.

E.1.3. ModMultiSim 3.02

Fix for a communication problem with multiple masters.

E.1.4. ModMultiSim 3.01

Additions include:

  • The ability to log modbus messages to a file as well as to a window dialog. Logging options have also been extended to include the option to log messages as raw data (in Hex), and the option to log register values that have been read, or written to, by a master.
  • Inclusion of simulation examples in the download, which can now be loaded from the file menu.
  • The option to automatically load a settings file passed on the command line. This also sets the default directory for configuring settings.
  • The option to provide and save a title for a simulation and a name for each slave.

E.1.5. ModMultiSim 2.10

Fix for an issue with reinstating tracing from a settings file.

E.1.6. ModMultiSim 2.09

Inclusion of new serial communications library. This now handles 64-bit as well as 32-bit systems.

E.1.7. ModMultiSim 2.08

Inclusion of more simulations and techniques in the documentation.

E.1.8. ModMultiSim 2.07

Minor changes.

E.1.9. ModMultiSim 2.06

Most of the changes in this version are changes that make easier configuration of slaves and registers and some improve the viewing of register values. The main changes are:

  • Configuring identical slaves. The export of slave registers to a CSV file now includes the controlling statement and radix for each register. This enables identical slaves to be duplicated by importing the registers from the CSV file.

  • Configuring registers whose values should change in a similar way. The ModMultiSim language now includes the symbol $$ to refer to 'this register' (i.e. the register associated with the statement). This symbol can be used instead of naming the register, for example, in the statement for register 42, $$ can be used instead of $42. So when a block of similar registers have values that need to change in the same way, using a self-reference, the statement for each need only be entered once. In the following example, statement 1 can be entered once for a block, but in statement 2 the register address would have to be modified for each register.

        statement 1: if $$ >= 2000 then 0 else $$ + 1.5
        statement 2: if $42 >= 2000 then 0 else $42 + 1.5
    
  • Addition of true Discrete Inputs and Coils. Register types now include 1-bit Discrete Inputs and Coils. This faciliates address-mapping where devices use true 1-bit registers, instead of Holding or Input registers, to store 1-bit values. It also eases programming of Discrete Inputs and Coils since the registers can be accessed directly without the need for bit-manipulation.

  • Addition of Unsigned 16-bit and Unsigned 32-bit Integers . Register types now include Uint16 and Uint32, which can be viewed in any radix. The signed types (int16, int32) are restricted to decimal radix. Note that when reading in legacy XML configuration files, registers with signed ints that have non-decimal radixes will be converted to unsigned ints.