OpenSCADAWiki: Home Page En/Using/PLC ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageEn/Using/PLC from 2015-10-29 15:08:59..
Ukrainian (1 Kb) Óêðà¿íñüêà
Russian (1 Kb) Ðóññêàÿ
 (2 Kb) The page is not actual more and need translation update from original
The revision are in progress

OpenSCADA into programmable logic controller (PLC)

Name: PLC
Founded: October 2008
Members: Roman Savochenko, Maxim Lysenko (2010-2012)
Description: The project is devoted to creation of: run-time environment of PLC, PLC firmware and hardware configurations of specialized PLC's. Considered embedded systems of based on architectures x86 and ARM, and also separated hardware of the embedded systems:


Contents

Introduction

Modern system of automatic process control (APCS) are quite complex. Conventionally, the hierarchy of PCS can be divided into two levels: the lower and upper level. The lower level of the PCS contains field of equipment (sensors and executive mechanisms), as well as programmable logic controllers (PLC). The upper level consists of a system of operational visualization and monitoring of the process — SCADA system. PLC is the responsible part of the APCS, which performs function of the data acquisition from the field of equipment, calculation and making the regulatory, blocking and other actions on the regulating parts of the field of equipment.


OpenSCADA is an open implementation of the SCADA system, which is based on the modular architecture that allows you to build the end-user solutions for different requirements. The purpose of OpenSCADA are the systems of the upper level, but the high degree of modularity and scalability allows you also to solve wide range of tasks of adjacent areas.

Programmable logic controllers

PLC market is saturated with wide range of products with different architecture and design. Architectural PLC can be divided into three groups:


Hard-programmable PLC are typically based on a single-crystal microcomputer or chips of programmable logic. Program of such controllers is flashed one-time, providing the software parameterization, or formed with a specialized environment endowed with functions of binary firmware compilation of the run-time with the user program, such as ISaGRAF and LabView. As an example of such PLC can be the modules of distributed PCI of Advantech company.


The revision are in progress


Highly intellectual commercial PLC typically are based on more powerful hardware architecture and are close to full-fledged PC-computer. The main difference from standard PC-compatible PLC is the closed software, and often the hardware architecture. The program software of such controllers is usually based on real time operating system, which is planning several user threads with separation of their priorities. User programming of these PLC is made working in the corporate software which forms, as a result, the binary code of the PLC thread. As an example of such device it can be the PLC of S7 series of Siemens company.


PC-compatible PLC is not the group of the PLC directly compatible with PC, but the PLC which don't have the integrated runtime and which are often delivered without an operating system. Architecture of the such PLC may be different, ranging from cost-effective solutions and ending with the x86 architecture decisions ARM and MIPS. The runtime of the such PLC is usually formed from the software of the same with the hard-programmable PLC class, the result of which is an executable binary file into one of the most common, scalable, or specialized operating system (DOS, QNX, Linux, WinCE, VxWorks). Frequently the specialized solutions for the problem can be met. As an example of this class it can be the PLC of PC/104 form factor.


Variants of constructive execution of the PLC can be divided into monoblock and modular. Monoblock PLC provides the fixed configuration of the CPI, specialized for the limited range of tasks. Modular design provides an easy extension of configuration of CPI for the appropriate task. There are also the hybrid design which is the monoblock, able to expand its CPI by external CPI blocks connected to one of the standard interfaces such as RS-485.

OpenSCADA as runtime of the PLC

System architecture of the OpenSCADA allows you to create the final decisions under various requirements and resources through the modular expansion. This feature is useful in the light of resource constraints of PLC. Moreover, given the constant development of hardware, as well as continuous improvement of integration and efficiency of modern microprocessor solutions, OpenSCADA can consistently extend the functionality of the PLC, while maintaining the continuity with the old solutions. For example, on the basis of the OpenSCADA system can be built the solutions with minimal requirements on the level: CPU 100 MHz, memory and flash ROM of 30 MB.


As noted above, the resources of modern PLCs can fluctuate in quite a large range, and the PLC of fixed type, built on single-chip microcomputer further and further forced out into the narrowly specialized fields with the advanced PC-architectures. This trend makes increasingly interesting the possibility of creating the unified open platform for the implementation of the PLC runtime based on unified PC-platforms.


OpenSCADA allows the realization of the idea of creating an open platform for the implementation of the runtime of PLC. Already you can make the PLC's runtime slightly inferior to the commercial intellectual controllers, and in many respects superior to them, due to the possibility of integration of functions specific to SCADA systems into the runtime of the PLC, enhancing the functionality and user characteristics of the PLC and leading him to unified with SCADA code base, as well as optimizing the cost of the final solution.


Here are the functions which are solved by OpenSCADA within the runtime of PLC:


Action source page doesn't exist yet(/Home Page En / Using / PLC / firmware?)


Action source page doesn't exist yet(/Home Page En / Using / PLC / firmware ARM?)

Appendix 1. Performance measurement for processing systems

Action source page doesn't exist yet(/Using / PLC / performance?)



 (2 Kb) The difference in computation time for direct call of the mathematical operation and from the JavaLikeCalc virtual machine is connected with the influence of CPU core frequency (the frequency at which it operates) and who made the part of the command before the transfer of it to the math co-processor. The performance of math coprocessor is usually not directly connected with the performance and frequency of the processor core.

The measure method into the table above provides next:

  1. The time estimation for operation "sin(Pi)" and "pow(Pi,2)", into second and third columns. The operations selected for represent to estimate the co-processor performance and for overall real numbers manipulations. Value into square brackets characterizes overhead level on calculations into virtual machine of OpenSCADA and performance for integer calculations about the exemplary operations. I.e. main value characterizes performance of the processor into float point operations (mathematical co-processor or emulation), and into square brackets is the into integer operations (central processor). The measure method:
    1. ensure the central processor frequency stability, by way set the policy of the management to PERFORMANCE;
    2. start OpenSCADA without load, the project by default or with empty configuration, and within configurator UI.QTCfg, UI.WebCfg or UI.WebCfgD;
    3. open the function's object "sin()", and next "pow()", by module of mathematical functions library;
    4. go to tab "Execute", set "Enable", enter the argument's value for "X" to 3.14159265 and "Power" to 2 (for "pow()"), set number of executions to 1000;
    5. press "Execute" and get the execution time;
    6. perform the execution into several tries, pressing "Execute", and achieve to minimal value;
    7. fix the minimal value, which êîòîðîå divide to 1000 and get main time value of the single execution into microseconds;
    8. go to the module object of (internal executions OpenSCADA (DAQ.JavaLikeCalc);
    9. create here the object of functions library "test", and into new function "test", which turn on;
    10. into tab "Program" enter the commands text "y=sin(pi)", and next "y=pow(pi,2)";
    11. go to tab "Execute" and do the same things into the list items "d."-"g.";
    12. the obtained result consider as auxiliary, into square brackets.
  2. The complex performance estimation, into fourth column, performs by execution the technological process (TP) model AGLKS on target architecture. The test can be executed only on computing systems with relatively high performance, capable for the model execute, and include graphical information output device (display), the visualization server execution case we will not consider. The main value of the processor load characterizes only the dynamical model of TP execution, but addition value appends forming and execution the graphical interface. The measure method:
    1. ensure the central processor frequency stability, by way set the policy of the management to PERFORMANCE;
    2. from desktop environment menu start the model AGLKS;
    3. start the terminal emulator, e.g., "konsole", where type "top", press Shift+H (for see the process at all) and Shift+P (sort by the processor load);
    4. read the values in the column "%CPU" against to the process "openscada", select to typical value for several updates and fix it as main value;
    5. return to window OpenSCADA and start the visualization environment, and next the project "AGLKS" interface.
    6. return to the terminal emulator and read addition value, like to the list item "d.".

The results you would send to electronic mail address for append to the table!

Appendix 2. PLC solutions

This section contains information about the PLC models actually built or planned to be so on the basis of the developed runtime and PLC firmware.
Action source page doesn't exist yet(/Using / PLC / solve?)

Links


Referring pages: HomePageEn/Doc/BCM2835
HomePageEn/Using/Irkutsk
HomePageEn/Using/KramWater
HomePageEn/Using/KramatorskBallMills
HomePageEn/Using/LP5xxx
HomePageEn/Using/LP8x81
HomePageEn/Using/NokiaLinux
HomePageEn/Using/PLC
HomePageEn/Works/AdaptAndroid
Works/Tests/JavaLike


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]