MBLogic
Change Log:


--------------------------------------------------------------------------

2011-04-16: Release 27.

	This is a bug fix release only! There are no new features.

	* This fixes a bug relating to displaying platform stats when operating on 
	ARM processors. 

	* The documentation has been updated to remove references to Python 2.5 
	support. Python 2.5 support was maintained for Debian Stable, now that the
	current Debian stable uses Python 2.6, support for 2.5 will not be tested
	for or maintained.

--------------------------------------------------------------------------

2011-03-19: Release 26.

	This is a bug fix release only! There are no new features.

	* This fixes a bug relating to displaying HMI tank columns with older 
	versions of some browsers. The previous release was tested with newer
	browsers, but the tests were neglected for older ones. This fix just 
	replaces "libmbhmicontrols2.js" with a new version.

--------------------------------------------------------------------------

2011-03-17: Release 25.

	HMIBuilder Support:

	* The changes in this release are mainly related to supporting a new 
	  program for creating HMI web pages called HMIBuilder. 

	* The demo web page has been re-created using HMIBuilder.

	* The HMI Javascript libraries have been updated to support HMIBuilder.

	* Replaced the HMI Javascript libraries with updated ones to support 
	  HMIBuilder.

	* The documentation has been revised to reflect the introduction of 
      HMIBuilder. The documenation on creating web pages has been removed as 
      this is now part of the help system for HMIBuilder. A new section has 
      been added providing an overview of the features of HMIBuilder. The 
      result of this change has been a reduction in the overall size of the 
      package.

	Other Changes.

	* Modified the client configuration parsing routines to remove embedded 
	  new line characters. This allows the use of line continuations in 
	  configuration files without affecting the resulting data. This fixes a 
	  problem reported by Ray Fritzel.

	* Updated the platform stats reporting to provide better display of 
	  extended stats. Also, disk size is now reported as "binary gigabytes" 
	  (rather than decimal values).

	* Added direct data table access for genserver. 

	* Added a limit (100) to the number of alarms and events which can be 
	  displayed in alarm and event history web page. This is to avoid 
	  overloading the web page with massive queries.


--------------------------------------------------------------------------
2011-01-27: Release 24.

	* This is a minor release mainly covering bug fixes.

	Generic Clients:

	* Corrects some faults caused when a generic client write registers
	that exceed the value +32767 to Modbus system table.

	* Resets the statistical table of each command when any of its
	registers exceed the value +32767.

	* Incorporates a new type of error: error frame (frameerr).

	* Allows the detection of new Hart devices, when one of them is
	replaced, changing their long address (while maintaining the same
	short address).


	Communications:
	* The sample RSS template was left out of the last release. It is included
	now in this version.


--------------------------------------------------------------------------

2011-01-07: Release 23.

	* This a a major release with many new features.

	Generic Clients:

	* A new generic client for SAIA Ether SBus has been added.

	* Performance has been greatly increased by reducing the communications 
	overhead between the generic client and system generic server 
	(approximately 100 times faster). Very large shared data tables are now 
	practical.

	* There are now no limits imposed on the size of the shared data tables
	which are mirrored between the generic clients and the system server. 

	Communications:

	* A new ERP protocol has been added which is based on the HMI protocol. 
	This is intended for simple ERP/MRP access to the system data table. This
	allows restricted access to selected HMI tags. Tags can be be made read
	only or read-write. 

	* A read-only version of the HMI protocol has been added. This allows for 
	read-only HMI access on a separate port from the regular HMI server.

	* An RSS feed has been added which allows selected events to be monitored
	via a standard RSS reader.


	HMI Changes:

	* The HMI protocol version string has been updated to 2009-12-16. This 
	should have no effect on existing applications.

	* Alarms and events now run on a fixed time schedule independently of HMI
	polling. 

	* Alarm history and events are now logged to a database. This database is
	used to restore the alarm history and event buffers after a system restart.

	* An alarm history and event query web page has been added. This allows the
	user to select alarm history and event records by various criteria from the
	alarm and event database and view them on a web page.

	* Events now trigger on negative to positive transitions only. The previous
	method triggered on both negative to positive, and positive to negative
	transitions. The new method results in fewer event messages, fewer spurious
	messages, and it also made the new history and monitoring feature possible.
	It was not possible to solve these problems without changing the way that
	events behaved. Check your application to see if this affects you!The old 
	behaviour can be emulated if necessary by adding new events. Most users 
	however should be happy to see that messages no longer trigger on both
	transitions.

	* Event and alarm history serial numbers are now derived from on database 
	record numbers, rather than from a system initialisation time stamp. Since
	the event and alarm serial numbers were not supposed to be relied on as
	significant values, there should be no effect on existing applications.


	Status Inteface:

	* Various minor user interface improvements, including sorting client 
	information alphabetically.

	* Some minor bugs in the form based configuration system have been fixed.

	* A new "platform statistics" page has been added. This shows information 
	about the computer system which the server is running on. The information
	displayed will depend on the operating system used. This information can
	be useful in managing systems after they are installed. 

	Miscellaneous:

	* System restarts and shutdowns are now much faster. The system now 
	monitors generic clients to see when they have stopped rather than just
	waiting a fixed time delay. 

	* Documentation has been updated.

--------------------------------------------------------------------------

2010-10-20: Release 22.

	* This a a major release with several new features.

	New Status and Monitoring Features:

	* Form based editing for comfigurations. This allows the configuration 
	files to be edited and saved to disk using the web interface. Most 
	user configuration errors are prevented by the structure of the forms. 
	Any remaining errors are reported as error messages when the form is 
	saved. This includes communications, hmi, and soft logic IO 
	configurations.

	* The server and client configurations are now stored in separate 
	files.

	* The system can be restarted via the status interface "control" page.
	This allows a system to be shut down and automatically restarted. If a 
	server configuration is changed, a complete restart is required for 
	the change to take effect.

	* Some minor cosmetic improvements in the control page.

	* Added feature to list HMI web pages on the "control" web page. This
	includes file signatures and links to the pages themselves.


	New Generic Clients:

	* Two new generic clients have been added - Modbus/RTU and HART. 
	These are beta (experimental) and may be subject to future change. 


	Bug Fixes:
	* The polling times for TCP clients had been displayed on the status
	system as seconds, while the column title was msec. This has been 
	corrected to show the values in milliseconds.


--------------------------------------------------------------------------

2010-09-16: Release 21.

	* This a a major release with several new features.

	Status and Monitoring Features:

	* Soft logic ladder diagrams will now display the real time status of 
	contact and coil instructions. Ladder monitoring can be continuous,
	single scan, or off.

	* The IL editor has been updated and improved.

	* The configuration displays for the HMI and soft logic, and the
	cross reference data may now be sorted dynamically by selected 
	headings. This allows searching for values by sorting on the 
	appropriate data column. 

	* Instruction cross references are now automatically sorted by 
	subroutine name.

	* Some items are now located under different menu headings to reflect
	the new additions. The data table monitoring is now under "monitor 
	data". Ladder display is now under "monitor data" as it can optionally
	display live data. The old "monitor" is now under "system". 

	* The display order for double and triple rung items (counters, shift 
	register, etc.) have been reversed so that the top of stack items are 
	at the bottom. The reason for this is the top logic line is actually
	the bottom of the stack, and visa versa, so the ladder display now 
	more closely matches the order of the lines in the IL display. This
	should reduce confusion when comparing the two representations.



	HMI

	* The HMI now has animated pumps (smooth animation) and flashing lights
	using SVG animation. SVG animation is new and this feature may not 
	work properly in all browsers (due to browser support or bugs). At the 
	time of release, it works in Firefox, but requires Firefox 4. It works in
	the latest version of Opera. It does not work in Chrome 6 due to a bug in
	Webkit (this likely also affects Safari). The bug prevents animations from
	restarting once stopped. A bug report has been filed with Webkit.

	* The MB_PilotLightStat HMI function has been fixed to ensure that it
	works as documented. The function did work as shown in the demo and
	examples. The change ensured that it would work if used for other
	purposes as well.


	Soft Logic

	* The soft logic system has added real time clock in the system data 
	registers. Note, the day of week is different from how the Click 
	defines it.

	* A minor bug has been fixed for up/down counters. The bug would cause a
	logic fault if an incorrect number of parameters were provided.

	* Down counters now set their status bits when the current value is less
	than the preset. This brings them into conformance with the Click PLC. 
	MBLogic tries to be similar to the Click PLC, but strict conformance 
	is not guaranteed if it does not make sense to do so. However since
	this was a basic PLC feature this was judged to be a bug and fixed
	accordingly. Check your programs to see if this affects you.

	* Counter data values can now be set directly using COPY 
	instructions. Prior to this, the counters kept an internal copy which 
	could not be affected by direct manipulation of the data table (CTDx 
	addresses).


	Other

	* The documentation has been updated and expanded to cover the new
	features, and to improve the descriptions of some existing ones.



--------------------------------------------------------------------------


2010-07-24: Release 20.

	* This a a major release with several new features.

	* A new feature called "expanded register map" has been added. This
	expands the holding registers to 1 million (1 048 576) registers. Most
	sub-systems can support the additional address range natively. 

	* The Modbus/TCP server has been modified to allow using the Modbus 
	message unit ID (UID) to access the expanded register map. This 
	feature is turned *off* by default, so existing users should not be 
	affected. Unless you are sure you need this feature, you should leave
	it turned off.

	* The Modbus/TCP clients now have the ability to specify the unit ID in 
	their request messages on a per-command basis. That is, each command
	can set the UID individually. This allows the use of UID with serial 
	bridges.

	* The web based system control and monitoring interface has been updated
	to support the new features. 

	* The documentation has also been updated to reflect the new features.

	* There are several minor improvements and bug fixes in the display of
	error messages on the user interface.

	* The source of a problem in updating tank columns on some HMI web 
	pages when viewed with some web browsers has been discovered. This is
	a bug in the Webkit rendering system in those web browsers, and the
	information will be forwarded to Apple and Google for them to fix 
	their problem. The demo web pages have been patched to work around the
	problem. If you are experiencing a similar problem, contact the 
	MBLogic project and you will be given instructions on how to make a
	temporary fix in your own HMI web pages until Apple and Google are able
	to release fixes. This only affects certain very complex HMI pages
	with some versions of Apple Safari or Google Chrome. Firefox and Opera
	did not have this problem.

	* This is a notice that it is currently planned to eventually remove 
	the MBRest web service (a Modbus-like web protocol operating over HTTP)
	from MBLogic and replaced with an easier to use protocol. Contact the 
	MBLogic project if this will be a problem for you. 
	The MBRest web service does not support the new expanded register map,
	nor are there any plans to add this feature to it.



--------------------------------------------------------------------------

2010-07-02: Release 19.

	* This is an important new release with numerous changes.

	* A new sub-system called "generic clients" is present. This feature is
	intended to allow the addition of serial protocols and other custom
	extension modules. The generic client system is complete, but is considered 
	experimental at this stage and may be subject to minor changes. 

	* The user interface system has been completely replaced with a new 
	system. The new user interface uses "AJAX" principles to provide "live"
	status, faster interaction, and more features. 
	The Microsoft Internet Explorer (MSIE) web browser does NOT work with
	the new user interface as it is missing certain essential features which
	are present in other more modern web browsers. Use any modern web browser 
	such as Firefox, Google Chrome, Opera, Safari, Epiphany, etc. If you 
	attempt to use MSIE you will be able to view a limited, static version
	of the main system monitoring page. The other user interface features
	however will not be available.

	* The communications error reporting has been revised to simplify how the 
	errors are reported in the data table and also to make them more general 
	so they will be compatible with other protocols. Reporting of errors via
	the web based monitoring interface has been greatly expanded and 
	improved.

	* The Linux version has significant new performance improvements which 
	allows for larger applications, or reduced CPU usage on existing 
	applications. This is not enabled on the MS Windows version.

	* The Nevow libraries are no longer required to be installed (the new 
	user interface does not use them).

	* The soft logic scan rate has been changed from an abosolute target to
	a delay between scans. This should have no significant effect on normal
	soft logic programs.

	* Changes to the soft logic scan rate will now take effect immediately
	without restarting the system.

	* Soft logic starting and error handing has been improved.

	* The detection and reporting of errors in configuration files has 
	been improved.

	* The system can now be shut down via the web based monitoring system.

	* Servers now calculate and report connection information as either the
	number of current connections, or the request rate. This permits 
	monitoring of connections to the servers from other clients. The 
	connection information is reported via the web based monitoring
	interface.

	* The documentation has been updated.

--------------------------------------------------------------------------

2010-03-13: Release 18.

	* This release is just an update to the installation documentation for
	MS Windows to account for changes in how a new version of one of the 
	third party libraries is packaged. There are no new functionality 
	changes. There is no need to upgrade if you have an existing 
	installation.

--------------------------------------------------------------------------


2010-02-10: Release 17.

	* The documentation for building HMI systems has now been integrated 
	directly into the main on-line help system. The PDF versions are no 
	longer distributed.
	* Button masks have been added to the HMI system. These allow (in 
	conjunction with a new function in the HMI Client Display Library) 
	push buttons (and other inputs such as selector switches) to be 
	enabled or disabled according to the value in the data table.
	* All HMI SVG clip-art (widgets, SVG objects) have been updated to 
	give each individual file its own gradient definition where this is 
	required. This means that SVG templates no longer have to define any 
	required colour gradients. These will be automatically imported with 
	the geometry. Duplicate definitions will be automatically merged by 
	Inkscape.
	* The provided HMI SVG templates have been updated to remove the 
	common colour gradient definitions (see the previous point).
	* As a result of the colour gradient change, file managers in 
	operating systems that know how to handle SVG files will now show the 
	correct colour of each piece of SVG art as part of the file icon.
	* The pump rotors have been rotated 90 degrees so that the rotor 
	colour is visible in the file manager. This does not affect their 
	use or operation.
	* The initial data for strip chart lines has been modified to make 
	positioning easier when designing a strip chart. This does not affect 
	their use or operation.
	* The HMI Client Protocol Library has been changed so that run time 
	errors caused by incorrect parameters are ignored and the scan is 
	not aborted.
	* Minor corrections have been made to CSS files to remove warnings.
	* The HMI demo has been updated to reflect the new features.

--------------------------------------------------------------------------

2010-01-16: Release 16.

	Minor Bug Fix!
	--------------

	* IMPORT!: A problem was fixed in configuration file parsing which was 
	affecting users attempting to implement support for protocols other 
	than Modbus. The standard ConfigParser library was forcing all option 
	names to lower case (e.g. "Example" to "example"). This has been fixed 
	to preserve the orignal case.
	* This affects the configuration files "mbhmi.config", 
	"mblogic.config", and "mbserver.config".
	* Check your configuration files to ensure you are using the correct 
	(lower) case for the standard options in your configurations. All 
	standard options for MBLogic are already supposed to be in lower case. 
	The option is the parameter on the left side of the equal sign. For 
	example, with "addrtype=coil", "addrtype" is the option name and it 
	must be in lower case. Parameters to the right of the equal sign are 
	not affected.
	* This does not affect the client command names in the 
	"mbserver.config" file. These can be any case and the case will be 
	preserved.
	* If your configurations followed the examples in the documentation 
	and used lower case for all options on the left side of the equal 
	signs, you should not be affected by this change.
	* A future version of MBLogic will be adding form based editing for 
	configurations and will likely depend on this change.

	New Features:
	-------------

	* This is a major new release which has completely revised how HMI 
	client web pages are developed to make it simpler and faster.
	* It is now possible to develop the SVG portion of the HMI using the 
	Inkscape drawing editor.
	* The SVG control objects for the HMI have been repackaged into 
	individual files allow drag and drop SVG web page development. More 
	than 500 SVG clip art files are provided.
	* Inkscape can also be used to draw completely custom graphic designs 
	which can then be animated using the standard library.
	* Standard template web pages are now provided which can be used as is 
	with minimal change to act as containers for the SVG. This eliminates 
	the need to develop your own customised web page.
	* The standard web pages can still be customised for colour and other 
	similar factors by changing just a few options in a style sheet.
	* Application configuration (other than making the SVG drawing) has 
	been moved to separate configuration files outside of the web page, 
	making configuration much easier.
	* New protocol library features make monitoring communications time 
	outs and signaling the presence of alarms much easier.
	* Extensive step by step documentation is provided detailing how to 
	develop an HMI web page using Inkscape with the new templates.
	* Documentation for HMI editing in this release is in PDF files 
	accompanying the package. An upcoming release will provide a new 
	program which will improve the process still further and all 
	documentation related to creating HMI web pages will be moved to the 
	on line help version of that program.

--------------------------------------------------------------------------

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. 

--------------------------------------------------------------------------

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. 
	Initial release.


