General information about PLC

Basic definitions and abbreviations used

PC personal computer.
PLC programmable logic controller.
CFD Canny Functional Diagram, graphical programming language used in an integrated environment CannyLab development.

What is the controller?

The controller – a control device, used in industry, on transport, other industries and households, for the automatic control equipment for a given algorithm. The controllers are widely used to control technological process, maintenance of the physical parameters of the control object at a given level, and similar tasks on the content.

One of the most promising types of controllers, to date, is an electronic programmable logic controller (PLC), algorithms of which describes software, are stored in the controller’s internal memory and executed by a microprocessor built in PLC. Interaction of electronic controller with the controlling objects occurs through incoming and outgoing electrical signals.

Programmable logic controllers are widely used in embedded systems, monitoring and control systems, have a relatively easy-to-understand architecture. Structurally, it is usually quite compact unit consisting of one or more interconnected electronic modules, containing the connectors for supplying power to the controller and the external input and output power lines to allow the controller to communicate with the outside world.

PLC Software

Modern PLC has developed software complex consisting of PLC operating system, provided by the controller manufacturer and third-party or proprietary software, designed for the development, debugging and loading user programs to the controller.

The operating system, responsible for user application execution, serves controller’s low-level IO system , data interfaces, controls memory allocation, power modes, timers, performs error handling, allowing the user develop applications to fully concentrate on the algorithmic solutions of the application.

Custom software development and debugging tools create and adjust the programs that implement the controller algorithms, simulate on a PC program execution process, observe the intermediate calculations results , as well as load the software in the controller.

How does PLC work

Before using the PLC, it is necessary to load the operating system and application software, designed for specific applications. ll PLC software is usually located in the non-volatile memory and is protected from damage in the event of a power reset. Change application code in the PLC memory can be carried out repeatedly by the user.

Typical PLC work outline can be described as followed:

The external controllers’ input channel connects sensors to output channels - actuators. When the controller is powered, its operating system immediately begins to cyclically perform users application.

Application execution cycle consists of the following successive stages:

  • the operating system reads the status of each input channel and writes it into controller internal memory;
  • operating system consistently, command by command, performs whole user application- each executable application command reads from the internal memory of the data it needs, calculates them and records the results of its calculations to the internal memory of the controller;
  • the operating system receives the values from the internal memory that needs to be displayed on the controller output, and converts the output channels in the appropriate mode, and then, the entire execution cycle is repeated from the beginning.

This approach presents the architecture of the user program runtime, given an opportunity to realize a logical parallel execution of multiple tasks within a single user program, allowing automatic management of multiple simultaneously occurring processes using a single PLC.

Programming without a programmer

One of the basic ideas underlying the use of the PLC is to simplify programming system and enhance the clarity of linguistic resources to a level obtainable for understanding by a technician, who knows well about the operation of the equipment, but does not have special knowledge in the field of software development.

This is a simple and intuitive tool to express their knowledge of process control algorithms that are in its custody, in many cases, will be able to independently implement and debug the PLC program and reconfigure the parameters of the equipment, and timely change management of the program if necessary.

Often the quality of PLC programs created by such a specialist is higher than a program developed in his request by professional programmer who is not familiar with all the characteristic of automated process.