Contact us

OMP Engineering Inc.

Control Systems - Systems Integration - Contract Programming

Mark Rapf is our Principal Engineer. He is a registered Professional Engineer with a background in mechanical engineering. He's been working on control systems and systems integration projects for the last 15 years -- work that has taken him around the world and all over the United States. Mark has worked in a variety of industrial settings including hydroelectrical and thermal power generation, large municipality water and sewer projects, and mining.

Mark is proficient in the following programming languages and software packages:  Allen-Bradley: PanelBuilder, RSView; Allen-Bradley: RSLogix 5, RSLogix 500, RSLogix5000; Cutler-Hammer: PanelMate Power Pro; EXOR: Designer; GE FANUC: VersaPro; Maple Systems: EZware 500; Modicon: ProWorx; Siemens: TiSoft, SoftShop, S7 Micro/DOS, S7 Micro/Win; Siemens: TP Designer, ProTool; and Wonderware: InTouch.

Mark's process control and automation experience includes:

  • system evaluation,
  • design,
  • equipment specification,
  • configuration,
  • programming,
  • startup and commissioning of standalone and SCADA (supervisory control and data acquisition) systems, and
  • system maintenance and support.

Anne Gunn is our chief programmer. Her background is in the packaged software industry where she has worked in product management, quality assurance, technical support, and software development.

Anne is experienced in a wide variety of PC-based programming languages and software development technologies, including:  C++, STL, C#, C, CppUnit, MSVC IDE, ATL, Win32 API, .Net, MFC, COM, SQL, HTML, XML, Perl, Python, PyUnit, Java, VB, InstallShield (DevStudio 9), FTP, and the Microsoft and Novell network APIs.

She has substantial experience with:

  • Threads, processes, and multithreaded applications on Windows
  • NT Services, the Win32 API, and 32- and 16-bit Windows internals
  • Making code run gracefully across all versions of Windows (9x to XP+), taking advantage of modern features when available and doing without when not
  • Globalization, localization, and translation to create and maintain local-language versions
  • Refactoring as a tool for improving existing code
  • Unit testing, both for developing new code and for enhancing old
  • Version control:  branching, merging, and managing parallel code branches