Machine Edition program analysis and reporting

The ME XML Analyzer (Mexml) is a stand-alone Windows, command line based program used to analyze PLC projects built with GE-IP’s Machine Edition IDE, with the aim of identifying and documenting:
  • Potential programmer mistakes
  • Program Block software interfaces
  • Hardware and EGD interfaces
  • Program call-trees
  • Program file dependency order
  • Usage and definition of all variables
These are all things that the standard Machine Edition tools either cannot do, or can only do with difficulty.
People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster.
Adam Osborne
Mexml works by processing files exported from a Machine Edition project and building up an internal model of variable and program file usage. By generating selected reports from this internal model you can highlight different aspects of that project. By generating the same reports from different projects or even different versions of the same project, you can identify changing patterns of variable and I/O usage.

Mexml Licenses

Normally $400.00 ea.

Now $300.00 ea.

Only until May 31st, 2015



Detect programmer errors

Mexml can identify several different types of programmer errors:
  • Variables that have been read, but not written to.
  • I/O that has been defined but not used.
  • Writing/Reading data beyond a defined variable or address.
  • Function Block variables that are global to all instances of a Function Block.
  • Float and DINT variables that have not been spaced 2 registers apart.
  • Aliased variables that are missing their parent variable.
  • Variables that have been mapped on top of each other.

Document interfaces

Mexml can be used to document different aspects of a Machine Edition project:
  • Document software interfaces by identifying variables that are external to a selected group of program blocks.
  • List the rack, slot, card, address, data type, name and description of I/O variables.
  • List the produced and consumed exchanges (with IP addresses) along with the data type, name and description of EGD variables..
  • List the full dependency order of a group of program blocks..
  • List the full call tree showing what program blocks are called and in what order, as well as what program blocks are not called anywhere in the program.

Analyze languages

Mexml works with programs written in the following Machine Edition languages:
  • Ladder Logic.
  • Structured Text.

Report on variable usage

Mexml analyzes every variable in a project and can generate a report listing all the variables that match any combination of these criteria:
  • Actions used to access the variable, such as Read, Write, being in an Input Scan or being in an Output scan, etc.
  • Section of the PLC's memory that the variable is defined, such as %I, %Q, %M, %R, Symbolic, etc.
  • Type variable such as Local, Global, Function Block Input/Output, etc.
  • Name of the variable as defined by a regular expression.
  • Address of the variable as defined by a regular expression.
  • Description of the variable as defined by a regular expression.

Report on overall structure

Mexml extracts information related to the internal structure of the Machine Edition project and reports on items such as:
  • List program blocks that are used/not used.
  • List the order of program block dependency and calls.
  • Identify variables that are mapped to the same address.
  • Identify variables with overlapping addresses.
  • Identify variables in Function Blocks (FB) that are global to that FB, and will be shared by all instances of that FB.
  • Identify program instructions that access addresses outside of a particular variables size.
  • List chains of variables that are aliased from one to another.
  • Display a text representation of Ladder Logic and Structured Text instructions.

Mexml Package

Mexml includes several additional features that aid in using it and analyzing projects:
  • The Mexml program is supplied as a single Windows .msi file, so it is easy to install.
  • It comes complete with a comprehensive user manual that documents every aspect of the program, as well as listing tips and tricks to better use it.
  • It comes complete with a small project that highlights every aspect of Mexml.



Mexml runs as a command line program on any Windows based computer that supports and includes the .Net 4.0 client library.

Administrator rights are required to install Mexml, but it only requires the rights of a normal user in order to run.

Machine Edition

Mexml has been tested with projects from Machine Edition versions 7.0, 8.0 and 8.5. Due to how Mexml processes a project it is expected to remain compatible with future version of Machine Edition.

However not all features of Mexml work with 90-30 projects that have been imported into Machine Edition. Most notable is that these projects retain an incompatible EGD and Hardware file format and as such Mexml cannot process their contents.


Mexml requires a user license before if can be used, and there a three levels of licensing: Trial, Standard and Custom.
Trial License
  • Supplied for free with the Mexml program
  • Limits Mexml functionality to simple analysis
  • Valid in perpetuity
  • Can be installed on an unlimited number of computers
Standard License
  • Needs to be purchased from Joalah Designs LLC
  • Unlocks all Mexml functionality
  • Licenses the user of Mexml, no matter how computers they run Mexml on
  • Easily transferred to any computer
  • Valid in perpetuity for the version of Mexml it is purchased for
  • Also valid in perpetuity for up to 2 major version increases to Mexml
  • 50% discount when upgrading Mexml beyond 2 major versions.
Custom License
  • Available for free from Joalah Designs LLC on a case by case basis
  • Unlocks all Mexml functionality for a time limited period, for the current Mexml version



The Overview is a short presentation that highlights the benefits and features of Mexml.

User Manual

The User Manual is a comprehensive, 130 page manual that describes every aspect of Mexml from installation to the best practices in analyzing a Machine Edition project.

Mexml Application

The Mexml application downloads a zipped version of the Windows mis installer file, ready to be installed and complete with a trial license.

Sample Project

The Sample Project downloads a zipped up set of directories that contain the sample Machine Edition project, the exported files that Mexml processes and the results of that processing. These files are contained in a recommended directory structure that aids in analyzing the Machine Edition projects.

These files can also be downloaded from the Downloads page.