What's new in MBLogic
2009-11-07: Release 15.
- This release adds minor updates to the soft logic system. The COPY
instruction has been improved for faster performance. It is now uses
the faster copy method in more cases, and it has improved error
detection.
- A copy of the Nevow library is now packaged with the MS Windows
version for convenience. This is the original version from the Nevow
web site which has been repacked in a "zip" file for easier unpacking.
Linux uses are advised to still use their distro's package manager to
obtain and install Nevow.
2009-10-27: Release 14.
- This release concentrates on HMI improvements. This includes the
improvements which were previously released with HMIServer, as well as
many new improvements. MBLogic and HMIServer are being released
simultaneously with the same HMI features.
- MBLogic now uses the standard Python JSON library for HMI communications
if it is present. (This was added to the standard Python library in version
2.6). It falls back on the old bundled library if the standard one is not
present. The installation instructions no longer refer to installing
SimpleJSON.
- The demo HMI web pages now automatically detect the address and port
they were loaded from (by using a standard Javascript feature). This
simplifies writing web clients and eliminates the need to hard code this
configuration. This is described in the documentation. Existing user
created web pages should not be affected by this change.
- The standard HMI Javascript libraries have been moved out of the
"hmipages" directory and into their own directory called "hmilib".
If you are upgrading an existing application, be sure to
not copy the old Javascript libraries with
your web pages. These files are: "json2.js", "libhmiclient.js",
"libmbevents.js", "libmbhmi.js" Don't copy
these files from your old version to the new one.
If the old libraries are present in
the "hmipages" directory, the new version will continue use the old
libraries. You HMI web pages will continue to work, but you won't be
able to take advantage of new features. In addition, future versions
may not be compatible with old libraries.
- The demo web pages have been upgraded with improved artwork and
new features. A new demo web page has been added to show different
page layouts. These may be used as user application templates.
- The documentation has been updated to show new artwork and additional
HMI library functions.
- The HMI demo web pages include a "help" section to explain the details
of each demo.
- New HMI graphics samples have been added for things such as selector
switches and 7 segment LED displays. This includes changes to the standard
Javscript libraries.
- Push buttons, pilot lights, numeric displays, etc. have all been
upgraded with improved artwork.
- The HMI SVG now uses "xlink" statements to allow references to SVG
"libraries" (which are still part of the web page). This avoids the need
to cut and paste SVG XML for each instance. Instead, a simple reference to
the library is used. This makes creating HMI web pages easier.
2009-09-25: Release 13.
- There are no new features in this release. This is a bug fix
release only.
- This release fixes a bug in the Modbus/TCP server involving an
incorrect message length calculation which may have affected some
users when used in combination with some functions on some clients.
- If you have not experiencing any problems, there is no need to
upgrade.
- Thanks to Brandon McLean for finding this problem and providing the
information necessary to solve it.
2009-09-08: Release 12.
- The main new feature in this release is on-line editing for the
soft logic system. This consists of a web based integrated IL editor
which has been added to the status monitoring server.
- The help system has been integrated into the status monitoring
system. Help is now accessed via the status monitoring system instead
of using a separate server. Web browser bookmarks in existing
applications may need to be updated.
- The previous system help server is now available for user created
web pages for application specific web pages. These can be equipment
manuals, procedures, etc.
- The HMI and soft logic IO reload operations have been moved to
their respective status configuration web pages. This is intended
to accomodate future changes.
- Numerous internal changes have been made to accomodate both the
on-line editing and revised help system. These internal changes should
not be user visible however.
- Documentation has been updated.
- The system now uses the package release number as the software
version number (e.g. Release 12).
2009-07-20: Release 11.
- The main new feature in this release is the soft logic program can
now be displayed in ladder format as well as in IL.
- The IL display option has been revised to match that used for ladder.
- Soft logic data table address cross reference has been added.
- Soft logic instruction cross reference has been added.
- The status system has been revised to accomodate the addition of
ladder and cross references. This involves minor changes to the menu
and page heirarchy.
- The help pages for the status system have been revised to incorporate
the new changes.
- The main help pages have been revised to show the ladder
representation for each instruction, and to add ladder examples for each
instruction.
- The main help system has been changed so that the documenatation for
each instruction is split into separate pages (one page for each
instruction class).
- The additional help files will cause a noticable increase in the size
of the downloaded package.
- The soft logic system was extensively revised to accomodate creating
ladder diagrams. This should not cause any user visible changes to the
soft logic instructions or performance.
- The soft logic demo program has been revised to demonstrate the
new features.
2009-06-20: Release 10.
- Added extended data types to the HMI and soft logic systems. This adds
the ability to read and write 32 bit integers, single and double precision
floating point, and strings. These extended data types are spread over
several system data table addresses, so they are still compatible with
Modbus and other typical PLC type protocols. However, the HMI and
soft logic systems can automatically assemble several registers into
the extended types. This is managed through the HMI and soft logic
systems, and does not require any special programming in the HMI web
client (web page) or in the soft logic (PLC) program.
- Copied the new HMI features from the previous release of HMIServer into
MBLogic. These include simple strip charts, numeric data entry keypad,
numeric increment/decrement device, and text data display (for string data).
- The configuration status display now shows a value of N/A for any
values which do not apply to that data type. Previous versions showed
numeric defaults.
- The alarm and event zone systems have been modified to separate the
alarm zones and event zones. Existing web clients will need to be modified
to maintain compatibility. This should be a simple change. This is a change
in the Javascript libraries and not the server itself, so unmodified
client web pages will still work with the new server provided the old
Javascript libraries are used. See the documentation, or the new clients
demos for details.
- The HMI documentation has been greatly expanded.
- The demo client, soft logic program, and configurations have been updated
to use the new HMI widgets.
- The size of floating point values which the soft logic system will accept
has been increased from 3.5E37 to 1.5E307.
2009-05-18: Release 9.
- Fixed a bug in the date display for the HMI for the protocol time stamp.
The conversion to UTC was incorrect. This would show in the demo web page
when displaying errors on the "System Status" web page.
- A new function has been added to the HMI Client Display Library.
MB_NumericFloatDisplay provides the display of numeric values while
allowing the number of decimal places to be specified. The demo web
page has been modified to use this function when displaying the
tank levels. Documentation has been added to the corresponding help
web page.
- The demo HMI configuration has been modified to show the use of
scaling. The tank levels on the HMI demo web page have been used
to display this feature. Scaling is an existing feature. This just
adds a demonstration.
- A sample has been added to the demo HMI web page showing how to
create an illuminated push button using existing features. This
is PB5.
- A sample has been added to the demo HMI web page showing how to
create an increment and decrement graphical object. This controls the
pump speed. This is located next to the "Reverse" push button and
is controlled by clicking on the up and down triangles.
- The help web page attached to the "About" help menu was missing
in the last release. This has been restored.
2009-04-26: Release 8.
- Selected soft logic data table values can now be automatically
backed up to a database and restored when the system restarts. This is
enabled through the soft logic I/O configuration. Existing soft logic
I/O configuration files must be updated to incorporate the new parameters
whether this feature is used or not. The soft logic configuration display
web page has been updated to incorporate the new parameters.
- The status summary report web page has been improved. As well as
reporting 'Ok' and 'fault' conditions, it will also report 'warnings'.
If a user attempts to load an invalid configuration or soft logic
program while the system is running, the status summary page will
display a warning state. This indicates that while the new
configuration or soft logic program was rejected and not being used,
it is also not correct. The default warning colour is yellow.
- The soft logic COPY instruction has been optimised and is now
approximately 5 times faster when copying constants or registers
of compatible types.
- The implementation of the decimal math exponent operator has been
improved which may result in marginally faster program load times.
There should be no user visible change in behaviour.
2009-04-14: Release 7.
- The HMI system has been changed to support a new alarm format.
"libmbevents.js" and "libhmiclient.js" have been changed to support
the new alarm format.
- The demo client web page and the documentation has been updated to
support the new alarm format.
- Active alarms are now a summary state rather than a continuous history.
This results in a simpler and more understandable alarm display. Alarm
history is still displayed for inactive alarms.
- Alarms and events now have "zones". Zones allow a client to only
request those alarms and events in which it is interested. The configuration
file format has been changed to support this. Alarms and events require
"zone" definitions.
- The new alarm system is not compatible with the old server, Javascript
libraries, or client web pages.
- Fixed DST/GMT time format display bug in client and server.
- The protocol identifier in the HTTP header was changed from 'cascadas'
to 'Cascadas' to fix a Safari 4 related problem. Safari was 'helpfully'
capitalising this. This is now capitalised by default to be consistent
with other header strings.
- The internal system data table has a new format. This has no direct
effect on its operation. This is intended to allow easier integration of
non-communications related features (e.g. soft logic). It also results in
a slightly reduced (8% in the demo) system overhead (CPU load).
- The soft logic system has two new soft logic data table address ranges,
XS and YS. These are signed integer equivalents to XD and YD (which are
unsigned integer). These are intended to allow easier copying of data
between the system data table (which uses signed integers) and the soft
logic data table.
- The soft logic demo program has been updated to reflect the new features.
- Documentation was updated.
2009-02-22: Release 6.
- With the addition of soft logic, the package is now known as
"MBLogic".
- The "MBLogicEngineCk" soft logic library has been incorporated into
the system, allowing soft logic (PLC) programs to be executed. The
system is now a complete stand alone automation platform with networking
to field devices, soft logic (PLC) programmability, and web based HMI.
- The packaging has been revised. All system code has been moved to a
subdirectory, separating it from the configuration files and soft logic
program files. The HMI directory is in a separate directory which is in
parallel to the system code directory, making it more easily accessible
for creating HMI applications.
- A shell script has been added to make staring the application easier.
- The web based help system has been extensively revised. A large
quantity of new material has been added. Page styling has been
revised to make it more attractive. A new menu system has been added
to make accessing the increased material easier.
- The status reporting system has been revised. A large number of new
features have been added. Page styling has been revised to make it
more attractive. A new menu system has been added to make accessing
the new features easier. Help pages for status features have been
incorporated directly into the status system (these are in addition
to the help pages in the standard help system).
- Various minor changes were made to improve start up time. Start up time
was already fairly quick before the changes, so these improvements may
not be noticable.
2009-01-10: Release 5.
- MBServer has been reorganised to separate its components over several
different directories. This is intended to make it more manageable and
to make it easier to add new features.
- A new server protocol has been added to support web based HMIs. This
includes a web server to serve the HMI pages, and a web service protocol
based on JSON to provide the AJAX communication between the client
and the server.
- The new server protocol includes a new configuration file
("mbhmi.config"). This is separate from the configuration file used
for the overall system configuration.
- The overall system configuration ("mbserver.config") now allows a
new server protocol type to accomodate the HMI protocol.
- The status reporting system has been changed to accomodate the new
server protocol.
- The status reporting pages are now located in the "mbstatuspages"
directory.
- A demo web client page for the above protocol has been included. As
well as being an example, this can be used as the base for creating
client pages for practical applications. This includes a web page, CSS,
and Javascript files. These are located in the "hmipages" directory.
- The implementation of the web based help system has been changed.
Previously, help pages were pre-loaded into memory on start up, and
the names were hard coded into the program. With the new version the
pages are loaded from disk on demand and web pages can be added or
changed without altering the MBServer source code. This allows the
help system to be more easily customised or added to for particular
applications. Help files are now located in the "mbhelppages" directory.
Any pages located there are accessable to the help system.
- An empty directory called "mbsoftlogicck" has been included for
future use. There should be no files there in this release.
- The system now checks on start up to see if the "Twisted" libraries
are installed. If they are not present, the program aborts with an
error message.
- The system now checks on start up to see if any of the IP ports
required by the servers are already in use. If any of them are in use,
the program aborts with an error message.
2008-10-24: Release 4.
- A new config file format has been introduced for defining servers and
clients. This replaces the old custom config file with a more standard
system similar to that used by other software. It is also similar to
that used in the upcoming HMI server.
- Fault configurations for clients are now mandatory.
- Configuration parameters are now validated more thoroughly.
- Configuration errors are now reported on the main status web page.
- The on-line help web pages have been updated to reflect the changes.
- The excessive verbiage in the shutdown messages has been eliminated.
The old messages were quite wordy, but not very informative and somewhat
resembled a "crash" message.
- Server connection messages on the console now report the IP address
of the incoming connection.
- The start-up and shut-down messages report the time.
2008-10-14: Release 3.
- Imported changes from HMI server for ModbusDataStrLib, and
changed ModbusTCPMsg to accomodate this. This mainly involved moving
the data conversion functions Int2BinStr and BinStr2Int from ModbusTCPMsg
to ModbusDataStrLib. This also fixed BinStr2Int. This function was not used
by MBServer.
- Upgraded license in ModbusDataStrLib and ModbusTCPMsg from GPLv2 to GPLv3
after discussion with Juan Miguel Taboada Godoy.
- First release of version with MS-DOS new-line characters. This affects only
how some editors would display the files.
2008-05-24: Release 2.
2008-05-20: Release 1.