Friday, December 24, 2010

Task scheduler...

The addition of the task scheduler is complete and the new installer has been released, version

Work on support for the Keyence protocol is progressing. Another protocol we are considering is for the Beckoff Twincat product line.

PeakHMI has a powerful scripting engine but we are considering adding a specific code library for batch processing. If you have any suggestions or a certain implementation you prefer, please let us know your thoughts.

Since PeakHMI has an FTP client we are also considering adding an FTP server. It would restrict access to files/directories by configuration settings.

We received an email inquiring about support for DDE. Is it still needed? PeakHMI supports ODBC (Open DataBase Connectivity) and OPC (OLE for Process Control). Are either suitable solutions for DDE support?

Monday, December 13, 2010

New versions...

We released three new versions today.

We had a customer ask for MODBUS function code 22 (Mask write 4X register) to be added to the MODOPC product. We also corrected a broken help file link, addressed a RS-232 driver timing anomaly and added some data to the help file.

Since we added the support to MODOPC we decided to also add support for function code 22 to PeakHMI.

And while we were testing we noticed that one of the headers in the PeakHMI slave simulator program was not correct.

All the new versions are on the web site in the normal locations.

Progress on the task scheduler continues.

On the USB 15 I/O digital board we decided to replace the output transistors with transistors with a higher current rating. The new transistors should be in tomorrow and testing will continue.

Friday, December 10, 2010


PeakHMI has always had a powerful scripting engine. Most projects do not require any scripting because the needed operations are included and configurable via selection dialogs. When we consider that a new feature or desired operation can be implemented with scripting or we have a customer that is using scripting to perform some task not native to PeakHMI, we look to see if the task is a candidate for inclusion in PeakHMI as a configurable option. That is what occurred with a task scheduler. PeakHMI has global timers that can fire scripts. The scripts can contain the code to trigger a task/action. A perfect example of a feature that should be part of the native actions of PeakHMI, a task scheduler.

Work on the task scheduler is progressing. It functions much like the OS scheduler with settings for daily, weekly, monthly, when a window opens, etc.. More than one action can occur per trigger/task. The action selection list is the same list, 50+ actions, used for the graphic mouse commands. The number of task is unlimited and as well as a task calling a script, task can be enabled and disabled from scripting.

The USB 15 I/O digital board is making progress. The second revision of the board arrived today and will begin hardware testing soon.

Another protocol we are looking at adding is the for Keyence PLC line. If you would like us to look at support for a protocol, please contact

Monday, November 29, 2010

11/29/2010 New feature...

Addition of the FTP client to PeakHMI is complete. Here is a screen shot of the port configuration screen.

The number of configured ports is unlimited. All settings are under script control.

Another change has to do with the database engine. The one we have used for several years was a very powerful database that used a combination of memory and hard drive to maintain the open database. On rare occasion, when PeakHMI runtime was executing and the PC power was shut off and the OS had not been shutdown, the "alarms log" database became corrupted. PeakHMI would then not restart properly until the database files were deleted or repaired. PeakHMI contained logic to attempt to repair the corrupted files but, it was not always successful. We have now shifted to a database engine that is memory only and the database tables are saved to disk at program command. This will prevent the database corruption on power failure. Existing projects and all database files are automatically converted to the new database format.

Wednesday, November 24, 2010

First posting

PeakHMI is always being improved by adding drivers, new graphic elements, speed enhancements, testing, additional documentation, videos, customer requested additions, etc..

When I post to sites about updates or talk with people about what is new or in process, I sometimes forget to mention an item that I later think should have been mentioned.

I have added this blog to improve communications about what is occurring with PeakHMI.

Let's start now.

Currently in development are two items. The first is an FTP client to PeakHMI. It will allow transferring a file to or from an FTP server at runtime. The settings can be fixed and are also are under script control, the file or files can be zipped before transmitting, the FTP object runs in a background thread and it is very fast. It would mainly be used to transfer alarm or event logs or really any file or complete directory, at anytime. The configuration programming is almost complete and the runtime additions will begin soon.

The other item is software and hardware. The additions to PeakHMI are complete and the hardware is on revision 2 of the board. It is a USB digital I/O board. It has 15 inputs and 15 outputs at 24 VDC. The inputs are optically isolated and the outputs are optically isolated with a common ground.  It uses the standard OS drivers  and can be used by any program that can access the drivers. In the configuration of PeakHMI the I/O is assigned a tag and responds as any other digital tag from a PLC, drive, gateway, etc.. Each device has a unique ID allowing for multiple devices on the same PC.

I will strive to keep this blog updated and as always if you have a feature request or need some help, let me know.