SoMachine: Software solution for machine control
Schneider Electric’s SoMachine Basic and SoMachine programming software are user-friendly tools designed to develop projects carried out from logic controllers.
They run under the Microsoft Windows operating system.

SoMachine Basic
It allows programming of Modicon M221 or Modicon M221 Book, as well as the conversion of applications created on TwidoSuite and TwidoSoft.
- SoMachine Basic is organized according to the project development cycle: navigation on the software is easy and intuitive.
- SoMachine Basic offers a modern interface for getting started:
– comfortable and fast: the simplified interface allows you to find the necessary information in two or three clicks at most,
– efficient, thanks to the functions offered. - SoMachine Basic allows you to create an operator interface for the TMH2GDB remote graphic display.

Connection of a PC terminal to the controller
There are several means of connection between the PC terminal and Modicon M221 logic controllers in the programming, debugging and maintenance phases.
Connection by patch cords
The PC terminal connects to the M221 logic controller via the USB-B port, via the TCSXCNAMUM3P cable (mini-USB to USB).
Connection by modem or router
Modems make it possible to reduce the frequency of trips to the site for certain maintenance operations.
The modem connected to the M221 logic controller must be declared at the hardware configuration level. It will be initialized automatically by the controller (Hayes initialization string).
On the PC side, the SoMachine Basic software will associate a specific modem connection which will be stored in the project (including the telephone number to be used.
Ethernet network link
Thanks to their integrated Ethernet port, the TM221..E .. logic controllers offer the possibility of a connection with a PC terminal using the Ethernet network and the Modbus TCP / IP protocol.
Bluetooth® wireless link
The Bluetooth® wireless link allows freedom of movement within a radius of 10 m around the controller.
Schneider Electric offers Bluetooth® wireless adapters on the controller side or the PC side.

Functions
Navigation
SoMachine Basic presents intuitive and visual navigation.
The presentation is optimized so as to select the stage of the project development cycle (Properties, Configuration, Program, Display, Commissioning).
Each screen is divided into three areas:
- a Selection Tree,
- a clean work area (Editor area) to do what is necessary for the current task, without superfluous information,
- a catalog of product references organized by range.
Project management
The “Project management” allows you to:
- Create a new project.
- Open a project from the PC (hard disk, CD-Rom, USB key, etc.).
- Reread a project from an M221 logic controller.
- Open a Twido project with an automatic conversion.
- Create a new project from an existing “template” project.
- Print a project.

Properties
Screens allow you to enter the identification data of a new project such as:
- the contact details of the author of the project,
- the contact details of his company,
- project information,
- project protection information,
- application protection information.

Configuration
The configuration allows to:
- create the hardware configuration corresponding to the application by selecting from a “catalog”:
– the logic controller (Modicon M221),
– input / output extension modules (Modicon TM2, Modicon TM3),
– standard or application cartridges.
A graphic editor allows you to easily assemble the different elements by simple “drag & drop”.
- And configure all the equipment chosen for the application:
– discrete, analog inputs / outputs,
– HSC fast counting inputs,
– fast exits:
– width modulation (PWM),
– pulse generator (PLS),
– impulse train (PTO),
– frequency generator,
- and the communication ports (Ethernet, serial links):
– Ethernet: EtherNet / IP, Modbus TCP client and server, Exchange table.
– Serial links: Modbus RTU or ASCII, ASCII protocol, Display.
– The Modbus Serial IOScanner protocol allows automatic configuration of an Altivar variable speed drive or other Schneider equipment.

Programmation
The program is organized in “POU” (Program Organization Units) or sections.
These sections are made up of “RUNG” (networks) with the aim of making it easier to read and navigate the program.
- The “POUs” are associated with the different tasks of the application: master, periodic, events.
They can be programmed:
- in instruction list language (IL),
- in ladder language (LADDER),
- in Grafcet graphic language.
The “Rungs” define all the connectable elements in the application.
Editor “LADDER”
- The “LADDER” editor allows intuitive and efficient programming with:
– Use of “drag & drop”.
– “Undo / Redo” function.
– Choice of keyboard shortcuts and toolbar according to the user profile.
– Easy connection of “LADDER” elements using the “Pencil” and “Eraser” tools
– Assistance in the Connection of “LADDER” elements during the creation of networks.
– Easy association of variables with “LADDER” elements.
– Contextual online help.
– Assistant for finding and syntax of an instruction.
– Saving of the project even if the “LADDER” networks are not completed.
– Automatic analysis and compilation.
- Online modification and in “Run” mode: this mode is used to modify the program of the connected controller.
- Animation tables.
- “Find / Replace” function with “Trace” function.

Grafcet graphic language
Grafcet (Command Step-Transition Functionnal Graphic) is the acronym in French “Functional GRAphe de Command Etape-Transition”.
Grafcet is standardized under the NF C 03-190 classification index. The corresponding European standard is EN 60848.
The Grafcet language is based on a simple and easy to understand graphic notation (representation):
- Step: the step represents a partial state of the system, in which an action has been performed. The step can be active or inactive. The associated action is executed when the step is active, and remains dormant when the step is inactive;
- Transition: it links one or more previous stages to one or more consequence stage. She describes a change of state.
The passage to the next step takes place under the control of two conditions: - Each step preceding the transition must be active (and the actions must be executed).
- The Boolean condition associated with the transition is “True”.

Display
- Configuration of the remote graphic display.
- Configuration of the alarm list.
- Creation and configuration of an operator interface from predefined pages (menu, monitor, control, bar graph, meter)

Commissioning
Tasks available and executable when commissioning the application:
- Connection:
– Automatic search for the controller connected to the PC, depending on the type of connection port: USB, Ethernet, Bluetooth®.
– Application transfer between PC and logic controller. - Firmware update of logic controllers.
- Comparison of the controller application with that of the PC.
- Backup and restoration of all PLC data: memory area and management of the SD card.
- Information on the PLC (logic controller).
- Parking meter management.

Counting
SoMachine Basic offers fast counting software functions for Modicon M221 logic controllers (2 dual phase counters or 4 single phase counters).
- HSC fast counting
The counter is accessible via the 32-bit% HSCi function block. It is programmed to perform one of the following functions:
– Counter / decounter.
– Two-phase counter / decounter.
– Frequency meter.
The pulses to be counted can come from an incremental encoder or from proximity detectors (count / count) connected to inputs I0 and I1 of the M221 logic controller.
- FC fast counting
The 16-bit% FCi high-speed counter is used to count or downcount pulses (rising edges) on the fast inputs of the M221 logic controller.
PTO
18 function blocks are used to manage fast outputs (PTO) as outputs of the type:
- Speed,
- Position,
- Curved S-shaped profile,
- Execution of a points table (Multi-segments).
The PTO function allows position control by pulse train – pulse / direction (P / D) or CW / CCW signals, depending on the type of servo drive.
These pulses are generated on outputs% Q0.0 and% Q0.1 of M221 logic controllers (1).
(1) On TM221C.40U logic controllers, up to 4 outputs support the function (PLS, PWM, frequency generator or PTO).
Altivar variable speed drives
7 function blocks are used to control Altivar variable speed drives:
- Power,
- Speed,
- Jog,
- Statutes.
Communication
4 function blocks exist to facilitate the implementation of the communication:
- Modbus serial link,
- Modbus Ethernet link,
- Exchange of messages on serial link,
- Emission and reception of SMS.

Positioning
SoMachine Basic offers three software positioning functions for Modicon M221 logic controllers intended, for example, to control stepper motors.
- PLS function
The PLS function block generates pulses at a fixed rate. In some cases the frequency may be fixed and in other cases variable (such as in controlling slopes when driving a stepper motor). It is possible to program the% PLS function block to generate a specific number of pulses.
The% PLS function blocks are assigned to the% Q0.0 or% Q0.1 outputs of M221 logic controllers.
The pulse generator signal has a variable period, but with a constant duty cycle defining a ratio of high to low for 50% of the period.
- PWM function
The PWM function block generates pulses of a fixed frequency, with a ratio of the high state to the low state of the variable output signal. The low state duration and high state duration ratio is a dynamic variable called% PWM.R, ranging from 1% to 100%.
The PWM function blocks are assigned to the% Q0.0 or% Q0.1 outputs of M221 logic controllers.
The% PWM function block, defined by the user, generates a signal on the% Q0.0 or% Q0.1 output of M221 logic controllers.
- Frequency generator function (FREQGEN)
The Frequency Generator function generates a square wave signal on the M221 logic controller outputs with a fixed duty cycle (50%).
The frequency is configurable from 0.1 Hz to 100 kHz with a step of 0.1 Hz.

Events processing
Event management by the application.
- Types of sources:
– events on on-board inputs,
– threshold events on the high speed counter (HSC),
– periodic event (Timer). - Each event executes a single subroutine.
Regulation (PID)
- 14 PID programming loops.
- “Autotuning” algorithm
- Analogue / PWM output.
- Linear measurement input conversion.
- 2 alarm levels (high and low) on the “measurement”.
- Control output limits.
- Direct and reverse action.
SoMachine
SoMachine is machine builders’ solution software for developing, configuring and commissioning the entire machine in a single software environment, including logic, motion control, HMI, and linked network automation functions.
SoMachine enables programming and commissioning of all elements in a flexible and scalable control platform from Schneider Electric; it is a comprehensive solution-oriented offering for machine manufacturers that achieves the optimum control solution for each machine’s requirements.

The flexible and scalable control platform offering includes:
- The controllers:
– Modicon logic controllers: M238, M241, M251, M258,
– Modicon motion controllers: LMC058, LMC078,
– HMI controllers: Magelis SCU, XBTCG, XBTGT / GK,
– drive controller: Altivar IMC.
Input / output modules: Modicon TM2, Modicon TM3, Modicon TM5 and Modicon TM7 offers.
- HMIs:
– Small Panels MagelisTM STO / STU,
– Advanced Panels MagelisTM GH / GK / GT,
– Advanced Panels MagelisTM GTO Optimum,
– MagelisTM GTU universal terminals.
Scalability
SoMachine allows flexible and scalable use of controllers in a SoMachine context: It is easy to integrate SoMachine Basic M221 logic controllers into a SoMachine project.
The flexible control function makes it possible to replace one controller with another while keeping the logic and configuration. Multiple versions of SoMachine can be run in parallel in a system to ensure accountability.
SoMachine is a professional, intuitive and open software solution integrating Vijeo-Designer. It also integrates the configuration and commissioning tool for motion control devices.
It supports all IEC 61131-3 programming languages, built-in fieldbus configuration tools, advanced diagnostics and debugging functions, as well as multiple maintenance and visualization features, including web visualization.
SoMachine integrates tested, validated, documented and supported specialized application libraries dedicated to pumping, packing, lifting and conveying applications.
SoMachine is a single software environment comprising:
- a software pack,
- a project file,
- a connection,
- a download operation.
Visual graphical user interface
Navigation in SoMachine is intuitive and highly visual. The layout has been optimized so that by selecting a desired development stage of a project, the appropriate tools become available.
The user interface suggests the tasks to be performed during the project development cycle so that nothing is forgotten.
The workspace has been optimized so that only items that are important and relevant to the current task are presented, without unnecessary information.
Training center
In each home menu, the training center offers several tools to help get started with SoMachine.
An animated file briefly explains the SoMachine interface and its concept. An online training section provides training on SoMachine and its functions.
A third section provides links to several documented examples of simple coding with SoMachine.
Intuitive and efficient online help is also available to answer questions.
Functions
Project management
The software’s project management functionality allows you to browse through existing projects faster to collect relevant information without opening each project individually.
There are different ways to create a new project: using tested, validated and documented architectures (TVDA), using the examples provided, using an existing project or starting with an empty project.
There is quick access to the last used projects.
It is also possible to create a project from a standard project using a preconfigured program (task, library, etc.).
Project properties
It is possible to define additional information for each project using simple forms. It is also possible to attach custom or configuration documents and images. The software also supports automatic versioning.

Configuration
The user interface allows devices and architectures to be configured in a hierarchical order.
The many elements of the configuration can easily be assembled by selecting them from a “catalog” of devices (controllers, expansion modules, etc.) with a simple drag and drop operation.
It is possible to search the catalog and filter it according to each need.
Device templates are available for easy pre-configuration of the equipment.

Programming and debugging
Programming is an essential step and the user must design it carefully to be as efficient as possible. The advanced control and HMI functions cover the needs of machine manufacturers in terms of creating the control and visualization system.
Powerful tools allow debugging and functional testing, eg. : simulation, step-by-step execution, breakpoints and plots.
Documentation
SoMachine allows you to customize and generate a project report for printing:
- Select the elements to include in the report.
- Organize the sections.
- Define the layout.
- Print the report.
Transparency
SoMachine is an FDT (Field Device Tool) container and supports DTM (Device Type Manager) files.
SoMachine manages the devices remotely via DTM files allowing direct communication with each device.
Communication is transparent via SoMachine, the controller and the fieldbus (Modbus serial link, Modbus TCP, CANopen and EtherNet / IP).
SoMachine also supports FDT / DTM connections directly from PC to devices via Modbus or Modbus TCP serial link.

Application Function Block Libraries (AFB) for dedicated solutions
SoMachine includes application function block libraries for selected machines. Their simple configuration speeds up design, commissioning, installation and troubleshooting.
These libraries cover the following applications:
- Packaging,
- Lifting,
- Handling,
- Pumping,
- Work of materials.
Tested, validated and documented architectures (TVDA)
SoMachine offers sample projects and preset projects with out-of-the-box architectures.
Some of these architectures are generic TVDAs based on controller configurations. Others can be dedicated to specific solutions by TVDA oriented applications.
link TVDA -> http://industryproducts.schneider-electric.us/msxselector/index.html#/tvda2

SoMachine Features
Programming languages according to IEC 61131-3
- Language instruction list (IL)
- Ladder language (LD)
- Sequence functional diagram language (SFC)
- Structured literal language (ST)
- Functional block language (FBD) and continuous function diagram language (CFC)
Controller programming services
- Multitasking: Mast Fast Event
- Functions (Func) and function blocks (FB)
- Type of data units (DUT)
- Online changes
- Observation window
- Graphic monitoring of variables (plotting)
- Step by step execution breakpoints
- Simulation
- Visualization for the application and configuration of the machine
- “ETEST” automated unit testing system to improve the quality of the application
HMI-based services
- Graphics libraries containing over 4,000 2D and 3D objects
- Simple drawing objects (points, lines, rectangles, ellipses, etc.)
- Preconfigured objects (button, switch, bar chart, etc.)
- Recipes (32 groups of 256 recipes with a maximum of 1024 ingredients)
- Stock charts
- Alarms
- Printing
- Java scripts
- Multimedia files support: wav, png, jpg, emf, bmp
- Variable trends
Movement services
- Configuration and commissioning of integrated devices
- CAM profile editor
- Layout of the application example
- Libraries of motion and control function blocks for servo drives and stepper drives
- Display screens
- Logic encoder
Global services
- Access and user profile
- Printing of the project documentation
- Project comparison (control)
- Variable sharing based on the publication / subscription mechanism
- Library version management
- Study of the monitoring of the energy efficiency of the machine
Integrated fieldbus configuration tools
- Control network
– Modbus serial link, Modbus TCP, Modbus TCP I / O Scanner (input / output scanning) - Field bus
– CANopen
– Sercos III - CANopen protocols supported: J1939, CANmotion
- Connectivity
– Profibus-DP
– EtherNet / IP - Web visualization
– display of SoMachine controller display screens in a web browser
Connectivity services and networks
- FTP Client Library
– To receive or send files to an FTP server. Some controllers also natively integrate an FTP server. - SQL Client Library
– To write or read in databases from the controller - Email Library
– Send and receive with attachment from the controller - SNMP Manager
– To control or read information from SNMP equipment on the network - TCP / UDP library
- SNTP client function blocks for clock synchronization with other systems
- OPC UA server integrated in the controller (M241, M251) (OPC UA server function can be activated on request)
– For direct communication with OPC UA clients - Library for reading and writing XML (eXtended Markup Language) and CSV (Character Separated Values) files
– To simplify and standardize communication between the controller and external systems. - PackML library
Specialized libraries and solutions
- PLCopen function blocks for motion control.
– Examples: MC_MoveAbsolute MC_CamIn, servo drive, etc - Packaging function blocks.
– Examples: analog voltage control, rotary knife, integration of PackML (Packaging Machine Language), etc. - Handling function blocks
– Examples: tracking, turntable, conveyor, etc. - Lifting functions
– Lifting function blocks: anti-sway, anti-sway, lift position synchronization function, etc. - Application model for industrial crane
- Pumping applications
– Pumping function blocks: cavitation protection, friction loss, PID, on / off functions, etc.
– Application model to boost - Material processing applications
– Application models - Materials work
– Rotary knife, cutting on the fly, temperature control, etc. - Energy efficiency library
Tools
- Controller assistant
– Manage firmware and application without opening SoMachine
– Create images and save the controller - Software configuration manager
– Manage versions and installed components of SoMachine - License manager
– Activate and manage licenses for all Schneider Electric licensed products
– Assist with registration and license transfer - Schneider Electric software update (SESU)
– Online notification of all updates and news available regarding installed Schneider Electric software products
– Download and install updates patches and extensions from the web - Diagnostics (available on Modicon LMC078 motion controller)
– Be informed of the state of the machine, including records, device parameters, input / output states, and a graphical view of the architecture of the Sercos ring
Product offer
Le logiciel SoMachine est livré sur une clé USB, ses fonctions sont disponibles pendant 21 jours. Au delà de cette période, une licence est nécessaire pour continuer à bénéficier de SoMachine.
- SoMachine is available in 8 languages: English, French, German, Italian, Portuguese, Simplified Chinese, Spanish and Turkish.
- Operating systems for the treatment PC: Microsoft Windows® 7 Professional 32 and 64 bits, Microsoft Windows® 8.1 Professional 32 and 64 bits, Microsoft Windows® 10 Professional 32 and 64 bits.