Wednesday, November 30, 2016

E_CYCLE Test Statistics

Here are some E_CYCLE performance statistics collected on various platforms using JUnit 3. For more details see

Saturday, November 5, 2016

Dynamic Updating of E_CYCLE period

There has been some discussion within the IEC 61499 Maintenance Team of the appropriate behavior of E_CYCLE blocks when doing programmatic updates of the cycle period (DT input) while the block is running. The events/E_CYCLE documentation on the FBNavigator site explains how this is done in the FBDK, and a new test/E_CYCLE_DEMO system configuration is included in today's FBDK self-update with documentation on the FBNavigator site showing you how to use an E_DELAY block to obtain the correct STOP/START event sequencing for this purpose.

Saturday, September 17, 2016

Mapping Update

The Mapping dialog and associated documentation have been updated.
For details see
This information is also linked to the "Mapping" section of the System help.

Monday, September 5, 2016

STRING Functions

Today's FBDK2 auto-update contains IEC 61499 "Simple (REQ/CNF) FB" implementations of all the standard character string functions defined in IEC 61499, including implementations for both WSTRING (16-bit character strings) and STRING (8-bit character strings) types. WSTRING is implemented as a container for the Java String class, whose instances are immutable, and STRING is implemented as a wrapper for a mutable array of bytes. This gives the latter the following practical advantages:
  • Significantly less object creation and garbage collection overhead
  • Smaller (approaching 50%) payload sizes for PUBLISH/SUBSCRIBE and CLIENT/SERVER packets, with correspondingly smaller encode/decode times.
The tradeoff, of course, is that STRINGs can only represent 256 characters - usually the "C0 Controls and Basic Latin" (0000-007F) and "C1 Controls and Latin-1 Supplement" (0080-00FF) defined in ISO/IEC 10646. For a richer, multilingual character set, WSTRING with its attendant overhead costs must be used.

Documentation for these FB types can be found in the strings folder of the FBNavigator.

Saturday, August 13, 2016

Accessing online documentation

Documentation for the library elements in the strings folder of the FBNavigator is now complete.
You can now access this documentation directly in the new doc tab of the FBDK if you are on-line when you open a library element for editing. Here's an example:

Friday, July 15, 2016

FBDK 2.5 and a new Design Pattern

The FBDK 2.5 release is now available.
If you already have the 2.4 release installed, it will automatically update if you are online the next time you start it up.
This release contains the framework for the new Time-Stamped Messaging Design Pattern, as well as additional support for saving documentation in PNG and HTML5 formats.

Saturday, April 23, 2016

FBNavigator Update (3)

All of the documentation in the events folder of the FBNavigator has been updated to HTML5 using the updated "Save As HTML" feature in the FBDK. Next steps - update the corresponding FBDK documentation, then make sure the doc generation for System configurations is working properly.

Saturday, April 9, 2016

FBDK 2.4 Release

Release 2.4 of the FBDK is now available at
If you are already using a recent (2.2+) release, it will self-update to 2.4 if you are online when you start it up.
This release consists mainly of support for removal of Java applet dependencies in the FBNavigator in the light of Oracle's recent announcement, as previously documented in this blog.
For more details, and links to updated documentation as it is developed, you can follow this blog.

Friday, April 8, 2016

FBNavigator Update (2)

As a second phase of migrating  the FBNavigator away from dependencies on the Java applet architecture, the documentation pages themselves will be converted to the use of static images rather than interactive View and Test applets. For examples of this style, see the E_CTUD, E_CYCLE and FB_LABEL pages.
In order to continue to provide the full experience of online documentation combined with viewing, testing (and even editing) IEC 61499 library elements, the online documentation described above is now accessible directly from the FBDK Editor under a new doc tab. Additionally, the Editor's Save as HTML function now produces a skeleton documentation page in the new format, and the Save As PNG function saves any desired View of the library element and its components with a unique hierearchical file name to facilitate its reuse in the new static web page format.
Documentation of these and other new features is not yet complete; links to the new documentation pages will be provided in this blog as they are completed.

Saturday, March 19, 2016

FBNavigator update

With the announcements by Mozilla and Oracle, and the discontinuance of NPAPI support in the Chrome browser, the handwriting is on the wall for the Java plug-in, which for years has enabled the FBNavigator to provide a rich interactive on-line experience.
As a first step toward managing this transition, the navigation tree on the left side of the FBNavigator page has been converted to a "pure HTML+CSS" implementation. This makes use of a small Java application that generates the required HTML files from the FBDK's map.ini file.

Friday, January 22, 2016

Using FBDK with Eclipse

A skeleton Eclipse project has been created, which will enable you to run the FBDK as an external tool with the Eclipse IDE for Java.
For details see

Tuesday, January 12, 2016

Increased E_CHRON precision

The precision of the E_CHRON (chronometer) function block type has been increased from milliseconds to microseconds. The accuracy of interval measurement may be limited to some value greater than 1 ┬Ás by the system-dependent accuracy of the Java System.nanoTime() method.