Saturday, December 28, 2013

HMI update 12/28/2013

In the last HMI update for 2013, we realigned the alarm ‘blocking’ logic to maintain continuity between configuration settings and runtime actions.

The SetAlarmEnables function is still present but, will be removed in a future release. See SetAlarmBlocks.

Alarms are enabled / disabled, at runtime start, as determined by project configuration.

Alarm logic can be blocked / unblocked at runtime to temporarily disable and then enable the alarm logic processing for a point.

Alarm blocks are designed to be a temporary solution, when for example, a transmitter fails and the configured alarm needs to be 'blocked' so as not to provide false information.

The alarm configuration should be altered if the 'block' is used as a permanent or long term solution.

Also the SetAlarmSetpoints has a new flag to disable the alarm check when the function is called. This really should only be called with ‘false’ at runtime start, via the runtime start script, when the data from external devices has not yet been collected.

Happy New Year

Sunday, December 1, 2013

HMI update 12/1/2013

Yesterday, a new version of the HMI was released that includes three new script functions.


This function is used to delete all the records of the table. The data logger appends a record to the table when the preset timer expires or a “log” command is called. The table can become very large. This allows the table to be emptied on command.


The HMI has a global “Acknowledge” command. Also, the alarm panel graphic has a “Page Acknowledge” button. Now a single point alarm can be acknowledged via scripting. When an alarm row is selected, via the alarm panel, the point tagname and alarm type are now available to the scripting engine, allowing actions to be programmed based on the point tagname and/or the alarm type.


This function provides for “set points” of the analog point alarms, to be altered at runtime. Two methods are provided to alter a "setpoint". The HMI can be instructed to use the value of another point or via a value defined by the user.

Earlier this month we released an 800+ page manual for the HMI. The link to download the manual is on our website.

Wednesday, October 16, 2013

HMI release...

Today a new version of the HMI was released. The release has several new features in preparation for a new feature to allow the attachment of files to Emails sent from the HMI.

Several new script commands have been added.

ExportAlarmLog, ExportEventLog

These new commands provide the ability to convert a log file, at runtime, from the internal format to a ‘CSV’ (comma separated values) file. The current log file (today), yesterday’s log file or a log file selected by day/month/year can be converted. The first two options provide an easy method to run a task at for example, 3:00 AM and email or FTP yesterday’s log file without user interaction.

CaptureScreen, CaptureWindow, TrendSavePlotPictureToFile

These new commands provide the ability to capture the complete monitor(s) image, a specified user window, the foreground window or a trend plot picture to a specified file. The file can be sent via email or FTP without user interaction at a specified time or via a triggered event. The print screen features remain without change.

An Email generated via notifications has been available in the HMI for some time. The new Email feature will be under script control and allow the attachment of files, along with the normal message and subject fields. A user generated Email will also be available. It will be much like the SMS user generated message entry.

If you have any requirements, wants or needs for the forthcoming Email feature, contact support for more data.

Saturday, October 5, 2013

Unicode and RTSP...

The HMI now supports Unicode. Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems.

Two additions for video camera support have been added.

The first addition is generic MJPEG decoding that should work with all cameras, that support MJPEG via HTTP (Hypertext Transfer Protocol), regardless of ‘manufacture’ embedded data in the header.

The second addition is support for RTSP (Real time streaming protocol). The main reason for adding RTSP support was to add H.264 decoding. The list of supported protocols is too large to list in this blog. Testing of RTSP was performed using H.264 and MJPEG decoding using 4 different video cameras/encoders.

(H.264/MPEG-4 Part 10 or AVC (Advanced Video Coding) is a standard for video compression, and is currently one of the most commonly used formats for the recording, compression, and distribution of high definition video.)

Monday, September 16, 2013

Ping via ICMP (Internet control message protocol)...

The HMI now has a “Ping” driver. This driver can be used to ping devices that do not have other communication paths with the HMI. This allows the HMI to monitor devices and create alarms, messages, graphic changes, log entries, etc. when a device does not respond within the configured parameters.

The address to ping can be an IP address or a host name. Each “ping master” can support 100 devices and the number of masters is unlimited.

Here is a screen capture of the configuration screen.


Sunday, September 8, 2013

Delta motion control protocol...

The HMI now supports the Delta motion control protocol (DMCP) using TCP and/or UDP.

All registers are accessible and multiple register writing is supported. One write call can write up to 1024 registers for TCP and 256 registers for UDP.

The HMI can also collect plot data from the controller using “Method 2: Advanced”.  Using this method allows the HMI to collect all 8 plots (0-7) and the plot size is unlimited. The captured plot is rendering in an X/Y chart and a picture of the chart can be included in a generated report. The data can also be exported to CSV file.

Friday, July 26, 2013

HMI and PCCCOPC update...

We released a maintenance update for the HMI and PCCCOPC programs.

An issue was discovered with I/O reads for the SLC and MicroLogix. The two I/O systems are similar but the differences were not fully addressed in the programs.

Support for using a NET-ENI with a SLC PLC was added to the HMI program.

The alarm panel unused area color is now configurable.

Work is under way for supporting native communications with Delta Motion Controllers, DMCP protocol.

Saturday, June 29, 2013


Email notifications when an alarm occurs, with/without acknowledgements, tiered users, repeats, etc. has been a part of the HMI for some time.

As of today the HMI now has SMS as a notification option with the same features as Email notifications. Both Email and SMS can be enabled concurrently. Plus, at runtime the user can be presented with a form to enter and send an SMS to one or more users. Also, a fixed SMS can be sent to one or more users via scripting.
A bug, "406 Not Acceptable", with the "Check for update..." feature, that appeared recently, has been corrected.

Monday, April 15, 2013

New gauge...

The latest HMI release has a new gauge graphic element. It has many configurable settings, up to 3 needles, 3 sections, opacity, etc..


Sunday, April 7, 2013

Drag and drop...

Before today importing graphics into the graphic editor was via the clipboard. Some external program (MS Paint, Photoshop, etc.) copied the graphic to the clipboard and the HMI could then ‘paste’ the graphic from the clipboard and convert it to an internal HMI graphic element for display.

The HMI graphic editor now supports drag and drop for graphic files.

PNG                Portable Network Graphics       
GIF                  Graphics Interchange Format
JPG/JPEG      Joint Photographic Experts Group
WMF/EMF   Windows Meta File/ Enhanced Metafiles
BMP               Bitmap Image File
ICO                 Icon

The file name extension is used to determine the file type. The clipboard can continue to be used to import graphics. The nature of WMF/EMF files might require a particular file to be imported via the clipboard.

Thursday, March 28, 2013

User/operator log...

The HMI now has a runtime user/operator log. This provides for the entry of text into a log during runtime. For example, a machine stops running. The operator can add a log entry as to why the machine stopped.

The log entries are stamped with a date/time and the current user name as well as an optional category.

The log entries can be viewed at runtime and/or only log entry is allowed. The log can be exported to a text file or printed at design time or runtime.

This is a screen shot of the configuration window.

Monday, March 11, 2013

New HMI feature...

The HMI graphic animation configuration is a very easy “point & click” feature with many options. The configuration of graphic animations does not require scripting.

Sometimes, a need arises to render graphics in such a way that no amount of “built in” animations can cover all the possible situations. In these cases the option, before today, was to use the HMI scripting engine and store scripting results in one of the internal tags. Then the graphic animations would reference the internal tag.

As of today, graphic elements provide, as one of the animations, a script animation. Built in animation and/or scripting can be used for the same graphic object.

Here is a screen shot of the script editor with a simple script:

Saturday, February 2, 2013


TLS/SSL (Transport Layer Security (TLS) protocol, Secure Sockets Layer (SSL) protocol) has become a requirement for some email providers.

Today we released a new version of the HMI with support for TLS/SSL in the “Notification” feature of the HMI. We tested the new feature against two email providers. Non TLS/SSL support remains.

Also added was a test command to use while configuring the notification feature. When the test is initiated, a test email message will be sent to the selected email address using the settings configured.