MM Controls Top Logo
MM Controls Services Offered page
About MM Controls page
Trophy Room page
MM Tools FAQ page
Downloads page
Links page
Contact Information page

MM Tools Frequently (and not so frequently) Asked Questions

What is MM Tools?
The MM Tools Library is my in-house toolset for creating industrial Human Machine Interface (HMI) software. Written in C++, it will run on a variety of operating systems and hardware platforms. Like most industrial HMI software, the core of the MM Tools Library consists of device drivers, graphical screen objects, and a subsystem that manages the interface between the two.

The MM Tools core technology allows a C++ programmer to build HMI systems without worrying about the standard HMI details: update of a display item based upon data change in an asynchronous process or device (which is generally accessed through a limited-bandwidth serial or network connection). MM Tools manages the details of data transfer with the connected device and update of the display element when the data value changes. Polling of the PLC, RMC or other device is optimized to maximize throughput. In addition to supporting custom screen creation, the MM Tools library contains modules for other HMI functions, such as alarming, event logging, recipes, and trending.

There are plenty of HMI systems out there. Why another one?
The current version of the MM Tools library was created to support the Delta Computer Systems RMC. At the time it was conceived, no HMI vendors supported the RMC CPU's "MC" serial protocol and Delta hadn't yet released the serial or Ethernet communications cards. There was a real need for RMC data logging and plotting functions as well as high-level event table manipulation in an HMI. Since the release of Delta's serial and Ethernet cards, the need for the MC protocol driver has lessened (although one might still use it to save the cost of an RMC comm card), but the need for customized RMC plotting and a C++ interface has not.

MM Tools is not focused completely on the RMC. The design of this toolset has been influenced by the convergence of the needs of three groups of MM Controls customers: Embedded controller customers who need basic GUI functions, RMC users who need specialized plotting and data logging functions, and HMI customers who need highly specialized display or supervisory control functions that can only be provided with C-programmed software.

What is appropriate use of MM Tools?
MM Tools is not always the correct choice when building an HMI system. Frankly, it's a lot faster to build an HMI system by configuring off-the-shelf HMI/SCADA software such as Wonderware, Intellution or RS View. For "one off" applications that require only HMI functions, no custom C programming and no RMC functionality, even I recommend using an off-the-shelf solution.

There are a few circumstances where MM Tools should be spec'd over a "configured" off-the-shelf HMI system such as Wonderware: The first is when you have a system with RMC motion control. MM Tools was originally conceived as a software library for providing advanced charting and customized step table edit functions for RMC users, along with standard HMI features.

Another situation where using MM Tools can be preferred over a configured HMI system is when you have multiple machine configurations that use almost the same software. With MM Tools, this job would only be programmed once, with all of the machine configuration options exposed to a project-specific INI file or files. The machine configuration is set by a startup technician by editing the INI file. Using a configured HMI such as Wonderware or RS View would require a custom implementation and programming for each machine.

A third situation where MM Tools is preferred over a configured HMI is when you have many identical or almost identical units and the higher cost of a on-time C programmed HMI is more than offset by much reduced per unit run-time license fees (see below).

The fourth and final reason for using MM Tools instead of an off-the-shelf system is when the HMI is secondary to the real purpose of the application - machine control or device interfacing. At least half of the "MM Tools" applications running today are really interface or control applications that needed some sort of HMI, in addition to their primary function.

What operating systems will run MM Tools?
Any 32 bit version of MS Windows (i.e. Win95 and newer) and the Phar Lap ETS real-time operating system from VenturCom.

The MM Tools have not yet been tested with Windows CE, but it should work with little tweaking. QNX is another almost-ready. One of the MM Tools comm drivers has already been ported to QNX and I've looked into porting the whole library - the device drivers will work with little change but the graphical objects will have to be converted; for the right job, it might be worth doing.

What hardware platforms are supported by MM Tools?
The Windows version of the MM Tools library, of course, will run on any hardware that runs Win32. While the embedded (PharLap ETS) version will run on most desktop PCs, all of the MM Tools applications done to date have been on either a single-board computer (with separate touchscreen monitor), an integrated "panel pc" (flat panel display and single-board computer in the same package), or an industrial Compact PCI bus computer (also with separate touchscreen monitor). The common thread amongst all of hardware platforms used to date have been the lack of rotating media; for industrial ruggedness, all of the extant MM Tools applications have flash memory hard disks (DiskOnChip or CompactFlash).

What kind of support does MM Tools have for the Delta RMC?
Lots. MM Tools supports communication between a PC and RMC through the RMC's CPU card serial port, through an RMC Ethernet comm card or an RMC serial comm card. The MM Tools RMC library has custom plotting and event table handling functions. MM Controls, Inc. has a special relationship with Delta Computer Systems; I did the original porting of the DCSMON Dos-based software to Windows (RMCWin) back in 1997. Although Delta has added many features to both the RMC and RMCWin since those days, I've kept up with the changes within the MM Tools library.

Will the MM Tools Library support the upcoming Delta RMC 70?
Yes. The initial release of the RMC 70 will use the DF1 serial protocol instead of Delta's in-house MC protocol; MM Tools already supports DF1. As Delta adds more features to the RMC 70, we will continue to grow the MM Tools Library to match those changes.

What PLCs are supported by MM Tools?
As of the summer of 2003, the MM Tools library supports Modicon Modbus (RTU serial and TCP/IP) and the Allen Bradley SLC500 and PLC5 (both DF1 serial and PLCC TCP/IP). Siemens/TI 505 serial could be supported with a minimum amount of effort; I've implemented the TBP protocol before.

I plan on implementing the Allen-Bradley Ethernet Industrial Protocol for Control Logix eventually - I'm just waiting for a job that requires it. Siemens S7 support is also a planned upgrade (using a Profibus daughter card), but again, I'm waiting for a job to come along that requires it.

What touchscreens are supported by MM Tools?
ELO, Dynapro, and Touchko. This appears to be most of the touchscreens in use today; I haven't yet run across any Panel PCs or touchscreen monitors that aren't one of those three.

How about interfacing SCADA systems with MM Tools?
As mentioned above, many of the existing MM Tools applications are primarily machine control or device interface programs and the HMI portion of the app is secondary. A few of these apps have had a need for interfacing with plant-wide Supervisory Control And Data Acquisition systems, such as Wonderware, at a higher level than just at the machine. The MM Tools SCADA library allows a SCADA system to be used in addition to (or in lieu of) the HMI that is local to the machine.

The MM Tools SCADA library emulates a Modicon PLC through the host controller's Ethernet or serial port. This works great for Wonderware and Intellution systems, but because RS-View does not have a native Modbus driver, RS-View based SCADA systems need to use the TOP server (from Software Toolbox) or another such third-party OPC server to access data from an MM Tools system. To remove this extra little bit of complexity, I may add Allen-Bradley Industrial Protocol support at a future date, depending upon demand.

What is the MM Sockets Library?
The MMSocket library is our in-house extension to the Berkeley Sockets model. It combines the Berkeley sockets with a command/response mechanism. Using the MMSocket template, we can create shared data or dual-port memory between any two Win32 systems, ETS or Windows, within a matter of minutes. The implementation doesn't care what type of TCP/IP connection is made; the user can use any TCP/IP virtual link, Ethernet or dialup PPP.

Note that the MMSockets.lib library is GUI-independent. It will link with both ETS and Microsoft windows applications, including Active-X controls and NT Services (which don't contain a GUI). The MMSockets.lib can link with either ETS or MS Windows applications.

What about licensing and royalty fees?
MM Controls Inc. does not charge a royalty for use of the MM Tools Library. Applications that run under Windows, including ActiveX controls using the MMSockets.lib, do not require a royalty at all (of course the host computer must have a licenced copy of Windows).

For embedded projects using the PharLap RTOS, VenturCom requires a royalty of approximately $45-$100 per unit, depending upon quantity ordered. MM Controls, Inc. is authorized by VenturCom to resale ETS license stickers.

All this sounds great, how can I get a copy?
You can't. Sorry. The MM Tools library is only sold linked into applications programmed by MM Controls, Inc. The reason for this is that although I have a couple of thousand hours into building the libraries, there is very little associated documentation; I would have to spend hundreds more hours documenting the libraries before they are ready for use by the general programming community. I wrote the libraries as something fun to do between paying jobs that would be useful for future business - hundreds of hours of writing documentation is not my idea of fun. Also, if sales of the library took off, then I would have to hire a support and sales staff - I prefer to stay small and concentrate on my niche market of programming for machine control systems.

What is the history of the MM Tools Library?
MM Controls was founded in the summer of 1996. At that time, I was enamored of Borland Delphi and C++ builder, and thought that they would be great for building quick and dirty Windows based HMI systems. I borrowed an SLC500 from the local Allen-Bradley office and a Modicon PLC from the Modicon office and started to work on "version 1" of the MM Tools library, using Borland C++.

Fall 1996 - MM Controls was hired by Delta Computer to do the Windows conversion of their DCSMon software (RMCWin), for the initial release of their RMC motion controller in the first quarter of 1997.

Summer 1997 - MM Controls was hired by a large investment casting firm (Corporation X) to apply the RMC to their process.

Summer 1998 - Corporation X asked MM Controls to write an RMC device driver and custom plot routine in order to use the RMC with the CTC Interact HMI.

Spring 1999 - MM Controls starts the SavAir PL2000 system - PharLap ETS version 9 was selected for this project, which started its life as a remote monitoring application without HMI.

Summer and fall 1999 - MM Controls involved in Beta testing PharLap ETS version 10. This version included the PEG GUI. A little light went off in my head - "hey, this could be used as an HMI system". I ported my Borland based device drivers to Microsoft Visual C++, added an RMC device driver, and many different types of screen display items, with versions for both Windows and ETS.

Winter 1999 - First version of Coe Clipping trash gate HMI (Windows based MM Tools) delivered

Winter 1999-2000 - First rev of ETS based MM Tools HMI for Corporation X delivered

Spring 2000 - Second version of Coe Clipping trash gate HMI (ETS based MM Tools) delivered

Summer 2000 - HMI functions added to SavAir PL2000

Spring 2001 - MM Tools development complete



RMC, Windows, Wonderware, RS-View, Interact, etc. are all registered trademarks of their respective owners. If you are reading this, you are probably in the controls industry and know who these companies are and what their products are, so I really shouldn't have to write this, other than to cover my own arse.

Material Copyright © 2002-2003, MM Controls, Inc.