Monitoring & Control Sytem




Released 2010-06-20  by

info (at)










What is MoCo?


Moco is a scaleable software system for monitoring and control of analog and digital I/O points.  It is equally at home on a single computer or multiple computers networked world-wide.  The computers' operating systems may be Linux, Unix, Mac, or Windows.


MoCo is built at MoCoWorks upon no-cost open source software, and it works with affordable I/O hardware (costing $35 to $300), including the following I/O bridges:


 ●  HA7Net:  Various 1-wire devices

 ●  OW-Server:  Various 1-wire devices

 ●  WebControl BRE:  8 1-wire temperature sensors, 8 digital ins, 8 digital outs, 3 analog ins

 ●  WebControl PLC:  8 1-wire temperature sensors, 8 digital ins, 8 digital outs, 3 analog ins

 ●  ISY-99i:  X10 and Insteon devices

 ●  EMACSYS:  16 digital in, 16 digital outs, 8 analog ins



MoCo's scalable architecture is suited for a wide range of applications, ranging from home automation system, energy management projects, irrigation systems, lighting control, microbrewery process control, to a variety of distributed applications in a manufacturing plant – in other words, for industrial SCADA (Supervisory Control And Data Acquisition) systems.


A high priority has been given to building upon a solid foundation: stable, bullet-proof software foundation (such as perl), with an architecture that enables painless upgrades and backups.  MoCo can be upgraded by replacing text-based perl programs – no compilation required.  Configuration data can be backed up simply by saving a group of human-readable text files.


MoCo, at its present stage of development, is a functional monitoring and control engine.  While it does provide versatile status and history reports, users who want customized color graphical reports will need to do this work themselves.  MoCo architecture enables user interface embellishments to be added with traditional unix/linux techniques – and without the need to modify MoCo software.



System Design Goals


MoCo's designer gained his knowledge and beliefs about monitoring and control system design from experiences in sawmill automation, IC manufacturing automation, and from corporate building automation.  After retiring from the corporate world, he designed MoCo, a system that strives to meet the following objectives:


- Zero cost software that can be enhanced by supportive users.

- Features that are needed for complex enterprise-level environments.

- Yet, usable for small projects such as home automation or alternative energy projects.

- Runnable on Unix, Linux, Mac OS-X, and yes, even Windows.

- Fully remotely operable via standard means, such as ssh or web interfaces.

- An architecture that can be enhanced and expanded by world-wide individual contributors.

- Reliable history logging, safe control, and quick recovery from hardware glitches.

- Relatively easy to maintain.

- Built upon supported software layers that will not soon become obsolete.

- Speed resolution of better than 1 second at single-computer level and 5 seconds at Internet level.

- Easily adapted for use in non-English countries.



Design Strategies and Tactics


No system is perfect for all situations.  Even if there were a perfect system, never will a group of control engineers agree.  MoCo is just one of many solutions that can do a job.  The following strategies and tactics reveal how MoCo's objectives are being achieved, and if it can meet your needs:


External Aspects:


- Less expensive than the norm – in other words, low total cost per point for software and hardware.

- Points available at this time: Input, Output, Calculation, Time Clocks, Setpoints, and System Points.

- Calculations, available now: math functions, math expressions, logic, ladder logic, perl snippets.

- Future capabilities: program sequences, finite state machine, modulated pulses. PID loops, ramps.

- All points have industrial-strength features, such as: overrides, averaging, hysteresis, resolution, etc.

- Multiple alarm capabilities per point, with capabilities like command execution and sending email.

- Point data is shareable between MoCo systems on a multiplicity of computers.

- Inexpensive ethernet I/O interfaces: HA7Net, WebControl, OM-Server, ISY-99i, EMACSYS, etc.

- Inexpensive devices: 1-wire, Insteon, and X-10, as well as the traditional industrial standards.

- Versatile command-line interface, easily expanded to web page or GUI interface in the future.

- Versatile status/history command-line reports, designed to feed graphic reports and web screens.

- Graphic reports to be layered on top of command-line reports, often developed by future users.

- Localizable for non-English environments.


Under the Hood:


- A kernel that can be reliably be built upon by others.

- Built with a reliable, fully-portable programming language that has adequate speed.  Perl.

- Usage of external perl software modules that are available for the targeted operating systems.

- Consistent programming practices and data interfaces, for easier enhancements by users.

- Extensively commented code, with intentional avoidance of "programmer's tricks."

- Simple design, whenever possible, yet complex when needed to meet essential objectives.

- A multi-tasking architecture that works on all platforms.

- I/O software that works at higher levels without platform-specific code.  Ethernet.

- Interprocess communication that works on any platform and cross-computer.  SQL database.

- Data storage that can be extended from single computer to world-wide network:  SQL database.

- Parameter files that are human readable, human editable, and machine readable.

- Extensive configurability for expandability, with defaults for easier small-system implementation.

- Detailed system logging.

- Ability to increase reporting verbosity as needed.



Current Status


MoCo has been running 24x7 for the last year in a building that houses a microbrewery, future restaurant, and residence.  Presently, there are approximately 40 inputs and outputs and 40 calculation and time points.  MoCo is connected to numerous temperature sensors in the brewery and on the HVAC system.  It is interfaced with a Davis weather station.  And, it has over a half dozen other digital and analog I/Os.


MoCo has never crashed in the above application.  It is comprehensively documented, and the manual is available here:  An alpha release can be downloaded from:


Manufactures of I/O bridges who would like to become involved are invited to make early contact.  Other interested parties should feel free to send an email or give a call, as well.


Reed White


info (at), 719-695-0880