List of new features
The following is a list of recent changes made to extend the capabilities of the BEKA Modbus RTU display. All products shipped from October 2009 will include these enhancements, which are naturally fully reverse-compatible with earlier version software. The aim of this note is therefore to announce these changes to existing users to ensure that they are aware of, and can therefore benefit from, these enhanced capabilities as necessary.
Please note: No further action is needed if your programming is already fixed and satisfactory.
Two new standard screens have been generated to allow all 8 variables to be viewed on a single screen. One includes a bar graph, the other does not. This enhancement was made in response to customers requesting a diagnostic screen and also to save time scrolling between variables.
The 'Screens' option in the top-level menu therefore now has two new entries. 'Eight Variables' has been added below 'Four Variables' on page 1 and 'Eight + Bars' has been added as the last entry.
The BEKA command command has been extended as follows:
n = 10 Eight variable screen
n = 11 Eight variable screen + bars.
(Note: the entries no longer have a 1 to 1 correspondence with the menu entries.)
The display of communication status - good or bad - has been made into an option because some applications have arisen where it has the ability to confuse an operator. A menu option has therefore been added to the top level 'Display' menu to inhibit this message which otherwise appears at the bottom of the two single-variable screens.
The menu entry is titled 'Status Text' and its help text is 'Show Status Text'. Options are On / Off. Note: This feature does not affect the inverse video indication of the variable's status.
A new BEKA command has been added - "Status Hide" <SHn>
n = 0 Status Text shown
n = 1 Status Text hidden
Default value of n is 0 and it is non-volatile.
The map has been extended to allow simple hosts such as basic PLC's to send data to the display in integer format, since many are not capable of handling a 32bit float format. This previous option remains, however, so again this is an optional enhancement designed to extend the application of these units, if required.
In pursuit of the above, signed 16- and 32-bit integers have been added to update the input values and bar graph limits. A power of 10 divisor has also been included so that a 'dummy' decimal point can be displayed when using integer updates. This divisor is non-volatile and its default value is 0.
Displayed values are the integer values divided by (10^divisor).
Please note: Integer values are not stored as such, since the display continues to use only float values. Integer < > float conversion is done as required so there will occasionally be least significant digit float errors.
For reference, the extended map is:-
Address |
Registers |
Description |
Modbus Function supported |
---|---|---|---|
31 |
1 | Divisor |
3,6,16 |
401-408 |
1 | 16 bit Input values |
3,6,16 |
450-465 |
1 | 16 bit Bar low/Bar high Pairs |
3,6,16 |
501-516 |
2 | 32 bit Input values |
3,16 |
550-581 |
2 | 32 bit Bar low/Bar high Pairs |
3,16 |
In previous versions all eight input variables were shown, irrespective of whether they have been used or not. This results in an inverted ('bad') display of unused inputs and makes the screen less 'tidy' when, for instance, only three inputs are available within a four-variable screen. Again, this can lead to operator confusion since it may suggest a fault or system problem.
A menu option and a new BEKA command have therefore been added to limit the number of variables displayed within standard screens. This allows scrolling (via the up/down buttons) to be restricted to just the used inputs, rather than the complete set of eight, and in multivariable screens the variable entries above the 'last variable shown' are simply blank.
The new menu is called 'Last Input' and is located in the Display section of the top-level menu. Its help text is: 'Set Last Valid Input'
The new BEKA command is "Variable Last" <VLn> n = 1 .. 8
Default value of n is 8 and it is non-volatile.
Many of our BEKA commands have no meaning when the display is configured in standard screen mode and are therefore rejected. The following existing commands are now permitted in standard screen mode: <OEn> <ODn> <SBn> <CP> <CE>
Script command *LBlabel has been added. It has the functionality of the two existing commands *LAlabel followed by *BB. It is included simply to save script space with this frequent command combination.
A new class of Script event has also been generated. The same event register command is used but the range of events has been increased from 20 to 40. Events above 20 activate the event n-20 but ONLY if the event n was not the last event actioned. This allows a PLC to avoid a number of 'IF' statements - for example to prevent an unnecessary screen refresh.
Script command "Script Timeout" *STn,label has been added. n = 0 .. 255, n=0 disables the function. This command causes script redirection to 'label' when a data communication failure for 'n' seconds is experienced. This redirection is a one-shot and must be re-enabled if required.
Script command "Timer Event" *TEn,label has been added. n = 0 .. 255, n=0 disables the function. This command causes a script redirection to 'label' after 'n' seconds. This redirection is a one-shot and must be re-enabled if required.
Mapped text functionality has been added to compliment the mapped variables and mapped bars already introduced. This will allow hosts to display any number of variables with their tags and units by using this new feature and a simple script that defines the screen design. Lack of hardware resources (eeprom and ram) has prevented a full implementation of mapped text with the same features as mapped variables and bars.
Three new commands are added.
*DXn,l Define Text
n = Index (1.. 16)
l = String length (up to 8 characters)
This script command will assume current font size and cursor position as with the DV command.
CXn, string Cyclic Text
n = Index (1..16)
String = Any ASCII text string truncated to the string length defined by the DX command.
*EXn Erase Text
Removes text defined with #DXn,l
CU Cyclic Update
Writes the defined text on the screen at the stored cursor position in the stored font.
Cyclic text differs from cyclic variables and bars in that it is not frame-aware. Text is NOT stored on saved frames and does NOT make any distinction between visible and hidden frames. For this reason the DX command is made a script-only command to differentiate it from the DV and DB commands. Please note: these new commands are text-display-only commands and they have no function when standard screens are in use.