Modbus Industrial Automation Communications Protocol

Mentor: Ben Coman
Second mentor: Dennis Schetinin
Level: Intermediate
Submitted proposal to Melange: Saad Touhbi
Invited students: Saad Touhbi
Students interested: Saad Touhbi(very), Rustem Khubbatov


Smalltalk has high potential as a SCADA (Supervisor Control And Data Acquisition) platform for Industrial Automation of manufacturing, refinery and mining plants.  SCADA systems provide real-time animated interfaces for plant operators to be able to monitor and control industrial processes via physical motors, meters, gauges, valves, tanks.  See demo animation.

A pre-requisite of SCADA is communicating with other Industrial Automation devices, for which the defacto communications protocol is Modbus. This project will implement the Modbus protocol in Smalltalk.

Technical Details

First published in 1979, Modbus is an application level master-slave/client-server communications protocol used for Industrial Automation communications. Much of its continuing popularity as a defacto standard is due to its relatively simple implementation compared to other industrial communications protocols.

From the Modbus Specification the student will implement the ModbusASCII, ModbusRTU serial line and ModbusTCP protocols. This will be tested against a Modbus protocol simulator.  A stretch goal will be to test against a physical I/O module controlling some real world devices.  A further stretch goal will be to integrate with the server side of last year's GSoC project "MMI (Man-Machine Interface) with Amber".

Benefits to the Student

  • gain experience in client/server network programming.
  • gain experience in a widely used Industrial Automation communication protocol.
  • it might not be as sexy as dreaming up the next-big-thing, but will provide solid experience  implementing a real-world specification 
  • controlling the physical environment from Smalltalk will be cool
  • a local industrial plant might be approached to help with a practical test case, maybe leading to ongoing employment.

Benefits to the Community

This project, together with last year's MMI project provides a strong foundation for a Smalltalk SCADA system for Industrial Automation.  This expands the industry segments into which the Smalltalk community can consult.  Industrial Automation is an engineering service industry that is a great source of bespoke application development. Since every industrial plant is different, each requires its own custom written SCADA application.

This project is about drawing a whole new class of users into the Smalltalk community. 

Updated: 3.5.2013