Architecture
The configuration of the system hardware consists of four levels: field equipment, PLC, LxDCS-hosts and WEB-clients:
Example of DCS hadware
- First level includes analog and discret sensors of physical quantities,actuators units, manual controls and set the parameters, alarms, etc.
- Second level - Programmable logic controllers and other intelligent measurement and control devices (device of data collection, flow meters, electric power counters, digital controls, etc.) with RS232/485 or Ethernet interfaces, and supports standard data transfer protocols (MODBUS, DCON ...).
- Third level includes control computers, operator stations and a data server with LxDCS-applications connected local area network.Linux-based controllers also belong to the third level, In this case, the field equipment connected directly to them. Exchange of data between hosts is made in real time
- Fourth level - local and remote WEB-client, which is a web browser, with which you can get current and historical information about the technical process in the form of tables and trends.
The main element of the system is the (LxDCS-host) - a computer or controller with the Linux operating system and LxDCS applications.
Structure of software a LxDCS
Data registers
The main element of the LxDCS host - array of registers that store the current values of process parameters, the results of their processing, and control signals. The registers are of two types, for the corresponding data types - analog (ARn) and discrete (DRn). The contents of registers available for all applications LxDCS. The maximum number of every type of data registers - 65535. Number of registers required for a particular host sets in the file /etc/lxdcs.conf. For information on work of applications, use status registers (SRn). To work with the registers are two applications:
- lc_rrw - console utility that allows you to view and modify the contents of data registers.
- lc_simd - dynamic data simulator, to generate random values the data registers. It can be used to debug the project.
Input-output subsystem
It is designed to communicate with the hardware in the second level and includes device drivers that have an interface RS232/485, as well as built-in modules input-output analog and digital signals. Data read from these devices are written to registers AR and DR. The data for output control signals are the same in these registers. All drivers can also perform simple processing of input data (logic and arithmetic operations), ie can be used for simple control algorithms. br> The subsystem includes the following programs:
- lcio_i7kd - input-output analog and digital data from the modules ICP I-7000 and other devices that have protocol DCON (ADAM-4000/5000, NuDam-6000, etc.). In addition to input-output data has the ability to perform mathematical operations with data (the calculation of costs, the sum, etc.).
- lcio_mbrtud - input-output data from devices with protocol MODBUS / RTU (PLC, DAQ, metering, control devices, frequency converters, etc.). Also, there are the ability to perform mathematical operations on data.
- lcio_mbc - console utility that allows you to view and modify contents of the registers of devices with MODBUS protocol.
- lcio_serial - template to create the drivers and management applications for devices with serial interface.
Subsystem to data archiving.
Designed for storage of historical values of process parameters. The subsystem includes the following programs:
- lcdb_admin - console utility of working with database files. Allows you to create, edit and view the structure and content of the database files.
- lcdb_archd - Archiving of data. In the database can be written to the current values of registers with an interval of 10 milliseconds, second, average values for the minute and hour. The range of archived registers and the necessary types of intervals, and same period of storage for each type specified in the configuration file.
- lcdb_calc - Utility for computing average and total values for various time intervals.
- lcdb_print - Utility for select data, the results can be displayed on the screen as well as in the csv-file.
Network subsystem.
It is designed to exchange data between LxDCS-hosts to LAN in real time, as well as to communicate with various devices that have an Ethernet interface and support the protocol MODBUS / TCP.
The subsystem includes the following programs:
- lcnt_mbtcpd - MODBUS/TCP server (MODBUS slave), supports both standard features MODBUS, and specific LxDCS functions that provide access to the database.
- lcnt_mbtc - console client MODBUS/TCP, allows read and write registers and historical data on local and remote LxDCS-hosts, or any other network device, supports MODBUS/TCP protocol.
- lcnt_mbtcpcd - MODBUS / TCP Client (MODBUS master), for cyclic communicate with MODBUS / TCP devices. As a receiver and a source of data use analog and discret registers.
- lcnt_mbudpsd - program periodically sends broadcast packets at a specified interval of time, containing the current values of specific analog and digital registers LxDCS-host.
- lcnt_mbudprd - program accepts multicast packets from specific LxDCS-hosts. Selects the necessary data and writes them into the appropriate registers AR and DR host-receiver.
X Window HMI.
It is designed to display current and historical process data on the monitor workstation with a graphics system XWindows, as well as to set the controls.
Set and display the sequence of forms can be specified in any order by using configuration files.
The subsystem includes the following applications:
- lcvx_menu - Menu of display forms.
- lcvx_mnemo - Mnemonic diagram, displays the current values of process data in the digital and linear scales, and discrete indicators sketch the background picture production facility. Mnemonic diagram, displays the current values of process data in the digital and linear scales, and discrete indicators aganist the background production object.
- lcvx_rview - display the current values of analog and digital registers.
- lcvx_trend - display of historical values of process parameters as trends and tables.
- lcvx_set - panel to enter the control actions and changes in process parameters.
- lcgi_index - menu of forms selection, can display the current values of data.
- lcgi_trend - display of historical values of process parameters as trends and tables.
- lcc_pattern - template for creating control programs.
WEB-HMI.
A set of binary CGI files for http server (Apache, Nginx, Boa ...). Additional applications (PHP, etc.) is required. Set and display the sequence of forms can be specified in any order using configuration files, whose structure is similar to the configuration files X Window HMI.
Control applications.
User can create targeted control programs, using the development library LxDCS - Input-output function, regulation and operation of the database.