Jul 3 – 5, 2006
CERN, Geneva
Europe/Zurich timezone

Factory monitoring with Pylons, XML-RPC and SVG

Jul 3, 2006, 12:10 PM
40-SS-D01 (CERN, Geneva)


CERN, Geneva

Python in Science Python in Science


Dr Rob Collins (Europython 2006 Conference)


I write Python applications for a company specialising in industrial factory monitoring and scheduling. Most recently we have developed a web application for remote monitoring, sending text message alarms when machine hoppers run low. We're using the Pylons web framework, Myghty templating, XML-RPC and SimPy simulation. The dynamic graphical display of the factory is written in SVG, for Firefox (v1.5) web browser. We will look at interesting issues such as * the choice of framework and templating system, * the importance of decoupling threads using a log file and XML-RPC, * historical correction of data, * and why we needed simulation.



We provide a web-based factory monitoring system for the plastics industry. Machine
data is captured by an embedded web server in a box connected to up to four machines
in a factory. A Pylons web server polls the box for new data every 15 seconds. A
factory model is updated with the new data, which is displayed in dynamic, graphical
web pages on demand.

Interesting issues

  • Choice of Pylons vs. other web frameworks.

  • Choice of Myghty vs. other templating systems.

  • Use of SVG objects for the factory mimic (graphical picture), showing the status of
    each machine, with dynamically created alarms.

  • Decoupling input, analysis and display by the use of a time-adjusted log file.

  • Use of XML-RPC for decoupling threads, so that one thread writes data for another,
    using the Pylons framework xmlrpc server.

  • Use of XML-RPC to suck data out of standalone PCs running Visual Basic.

  • Historical correction of data by entering missing log lines in the past, followed
    by reprocessing the log file to give a new current status.

  • Use of wireless iPaq PDA for entering scrap and downtime reasons.

  • Use of threading: stopping/starting/restarting.

  • The need for simulation, and the simulation model.

Primary author

Dr Rob Collins (Europython 2006 Conference)

Presentation materials

There are no materials yet.