Service

Software

HMI applications and software for monitoring and controlling industrial machines and plants. Built for Windows, Linux, Android and iOS, tailored to the customer's requirements.

Skills

What kind of software

Selected work

A few projects

Each entry opens the detail: what the software does, what it was written with, and what problem it solved.

Monitoring a pharmaceutical production line VC++ 6.0 · Win32

Traceability system for a pharmaceutical production line.

  • Redundant reading of barcodes
  • Validation of the codes: sequence, missing and duplicate codes
  • Storing the read codes in a database
  • Activity log reports
  • Label printing
Optimising slab cutting patterns C# · managed C++ · genetic algorithm

A tool for optimising the cutting patterns of rectangular tiles on a slab: the interface in C#, the genetic algorithm engine in managed C++.

  • Managing the library of cutting patterns
  • Acquiring the image of the slab, irregular in shape and with internal defects
  • A simple graphical CAD for defining the pattern by hand
  • Automatic pattern optimisation with a genetic algorithm, to minimise material waste and execution time
  • Checking the pattern against the mechanical constraints of the machine
  • Serial connection to upload the patterns to the CNC
Running an assembly line ASP.NET · C# · VC++ · MS SQL Server

A set of client and server applications on Microsoft technology (Windows Server and MS SQL Server, .NET Framework).

  • A web interface for orders, production data and production flow
  • Client software for each stage of the line: every operator is shown the information needed for their own step
  • HMI software between machine and database, feeding the machine the jobs to run by querying the server
A RAD environment for HMI pages (SCADA) VC++ · ActiveX components

A rapid application development environment for building HMI pages for industrial monitors.

  • Generating a library of ActiveX components
  • Multi-project workspace
  • Defining environment variables: local and remote (on a CNC, for instance), fonts and languages, commands, macros, message texts, recipes
  • Laying out pages graphically using the available controls — buttons, sliders, progress bars, charts — and the variables defined
  • Compiling the project to a binary
  • Uploading the compiled project to remote devices
A .NET communication library .NET · OMRON HL · MODBUS RTU · ROBOX BCC

A library that frees the user from the details of the communication protocol: you declare the set of variables mapped onto the remote device (CNC, PLC) and the engine inside exchanges them and keeps them in sync.

  • Serial and socket connections
  • Supported protocols: OMRON HL, MODBUS RTU, ROBOX BCC
  • Variable access by read, write or read/write, on BYTE, WORD and DWORD
  • Automatic refresh of read variables and writing of the values set
Front end for an electrostimulation device C# · .NET · serial

Software for managing an electrostimulation device.

  • Patient records database
  • Database of stimulation and acquisition protocols
  • Defining and running the protocols, with a scripting language written for the application
  • Serial connection to the device
  • Monitoring and control of the device
Front end for the Saccade device C# · .NET · serial

Software for interfacing with and managing the Saccade experimental device.

  • Patient records database
  • Generating audio and video sequences
  • Serial connection to the device, to upload sequences and download the sampled signals
  • A real-time chart of the signals, referenced to the sequence being run
Tools for designing high-reliability RAM cells C++ · wxWidgets · Win32 and Sun Solaris

Electronic design tools for high-reliability RAM cells intended for life- and safety-critical applications.

Written in C++ with the wxWidgets libraries, cross-platform on Win32 and Sun Solaris.