OpenSCADA

Библиотеки/Устройства

This page is a translated version of the page Libs/Devices and the translation is 6% complete.

English • ‎российский • ‎українська
Название Версия Лицензия Источник Языки Автор Описание
Библиотека промышленных устройств 2.5 GPLv2 OscadaLibs.db (SQL, GZip) > DAQ.tmplb_DevLib en, uk, ru Роман Савоченко
  Константин (IrmIngeneer) (2018), Арсен Закоян (2017), Руслан Ярмолюк (2017)
Библиотека шаблонов предоставления доступа к данным промышленных устройств через сеть с довольно простыми протоколами, вроде устройств общей промышленной автоматики и счётчиков различных ресурсов.

Библиотека устройств пользовательских протоколов создана для предоставления доступа к данным промышленных устройств через сеть с довольно простым протоколом, вроде устройств общепромышленной автоматики и счётчиков различных ресурсов, с протоколом достаточно простым для реализации в модуле пользовательского протокола, с использованием присутствующих комплексных протоколов (ModBus, OPC_UA, HTTP) или непосредственно на внутреннем языке подобном на Java.

Названия элементов и их параметров доступны на языках: Английский, Украинский и Российский. Их исходный код написан в языко(человеческий)-независимом режиме с вызовом функции перевода tr() и перевод этих сообщений также доступен Английским, Украинским и Российским.

Для подключения библиотеки к проекту станции OpenSCADA Вы можете получить файл БД как:

$ wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql
$ sqlite3 -init OscadaLibs.sql OscadaLibs.db .exit

Этот полученный файл вы далее можете разместить в каталоге проекта станции и создать объект базы данных модуля БД "SQLite", зарегистрировав файл базы данных в конфигурации.

Для DAQ-шаблонов, в целом, вам нужно создать представительский объект устройства в модуле Логического Уровня и выбрать соответствующий шаблон из библиотеки шаблонов. Далее, для корректной конфигурации, придерживайтесь специфики шаблона в персональном описании. Концепцию доступа к данным через пользовательский протокол можно изобразить как на рисунке 1.

Рис.1. Концепция доступа к данным через пользовательский протокол.

Как можно видеть с рисунка 1, взаимодействие с устройством происходит через некоторый транспорт на котором они физически базируются. Запрос к транспорту Вы можете отправить:

  1. Непосредственно с помощью функции системного API OpenSCADA объекта транспорта string messIO( string mess, real timeOut = 0 );, если протоколоспецифическая часть очень проста и данные Вам нужно лишь извлечь.
  2. Завёрнутый запрос данных req, функцией int messIO( XMLNodeObj req, string prt ); и для протокола prt, если протокольная часть достаточно сложная и уже представлена в OpenSCADA.
  3. Завёрнутый запрос данных специфический к пользователю с помощью функции int messIO( XMLNodeObj req, "UserProtocol" ); и реализации пользовательского протокола, если протокольная часть достаточно сложная и ещё отсутствует в OpenSCADA. Пользователь реализует тут саму протоколоспецифическую часть в модуле UserProtocol и часть специфическую к данным в шаблоне для модуля Логического Уровня или непосредственно в процедуре контролера на внутреннем языке программирования модуля JavaLikeCalc.
At.png Этот последний метод развит к возможности формирования протокольной части кода непосредственно в том-же коде шаблона, как отдельная встроенная функция через вызовом функции запроса первого метода, если нет необходимости повторного использования, или даже если такая необходимость есть и тут имеет смысл создание комплексного шаблона, который сможет объединять роль и выходного протокола, через его подключение также к модулю пользовательского протокола. И оно будет полностью храниться в одной библиотеке шаблонов.

At.png Прямая работа с выходным транспортом функции string messIO( string mess, real timeOut = 0 ); не предусматривает блокирования транспорта поза вызовом этой функции, а соответственно, для сложных протоколов с посылками ответа более чем в одном пакете, что предусматривает процесс "дожидания", не можно использовать общий транспорт, по которому возможна отправка пакетов различных протоколов или даже один, но в различных задачах (объектах контроллеров). Соответственно, если есть необходимость использования совместного транспорта, то размещайте параметры опроса по протоколу в одном объекте контроллера (задаче) или используйте модуль пользовательского протокола, к которому это замечание не имеет отношения, поскольку он осуществляет такое блокирование на время вызова процедуры обработки, как и остальные модульные протоколы OpenSCADA. Для размещения реализации протокола тут вы должны выполнить и придерживаться приведенных требований:

Contents

1 Common protocols

1.1 ModBus scanner (ModBusScan)

1.0 GPLv2 * en, uk, ru Roman Savochenko
Result and the operative setup.

ModBus scanner for Coils (1), Input Coils (2), Registers (3), Input Registers (4); in the range [0...65535]. The template useful to examine unknown ModBus devices, scanning their Coils' and Registers' map for detecting the available data addresses. The scanning performs per one item, whether it is a coil or a register, to prevent the data unavailability for strict data accessing devices. The protocol ModBus itself implemented by the OpenSCADA module DAQ.ModBus, together which the template designed to use.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
lim Limit time, seconds Integer Input Not attribute Constant 10
type Type Integer numbers selection Input Full access Variable 2

0;1;2;3
Coils (1);Input Coils (2);Registers (3);Input Registers (4)

begin Begin (0...65535) Integer Output Full access Variable
end End (0...65536) Integer Output Full access Variable
res Result Text Output Read only Variable
this The object Object Input Not attribute Variable

Configuring and using

1. Create a source controller object, or use a suitable one, into the module "ModBus".
2. Create a source parameter object into the previous source controller object, set its Identifier like to "ModBusScan", select its type to "Logical" and select this template for it. Enable the parameter.
3. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Limit time, seconds — time of limiting for one cycle execution, the default value is a normal one.
4. RESULT: Selecting type of the data and setting the "Begin" and "End" attributes of the scanning range you will get the scanning result into the attribute "Result", which will be appended in the scanning process.


1.2 ModBus base (mbBase)

1.0 GPLv2 * en,uk,ru Roman Savochenko
Result and the operative setup.

ModBus base template of the protocol implementing on the Logical Level. Designed mostly to use in the base of creation specific ModBus-based protocols for the standard-part registers' access (function 3 for reading and function 16 for writing) and appending the new protocol specific part. The template was designed to work both under control of the controller objects of the module ModBus and LogicLev and can be managed from the template of the initiative connections processing for assigned output transports.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Sockets.mbbase
addr Device address, [0...247] Integer Input Not attribute Constant 1
mbType ASCII|TCP] String Input Not attribute Constant RTU
maxBlkSz ModBus maximum block size, [10...200] Integer Input Not attribute Constant 200
fragMerge ModBus blocks merging Boolean Input Not attribute Constant 1
items i|u2|i2|u4|i4|r|s]:{addr}:{w|r|~}:{id}:{nm}" Text Input Full access Variable
tr Output transport Object Input Not attribute Variable
this Object Object Input Not attribute Variable
f_start Function start flag Boolean Input Not attribute Variable 0
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_frq Frequency of calculation of the function, Hz Real Input Not attribute Variable 1000
f_err Function error String Input Not attribute Variable 0
Configuration.

Configuring and using

1. Create an output transport of the type "Serial" or "Sockets", and set its Identifier like to "mbbase", one for each the devices' used serial bus.
2. Set proper address and timeouts of the device.
3. Create and start a logical controller object or a ModBus controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for the devices on one bus. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Leave the field empty for the ModBus controller object. Tracing for the address changing is supported.
  • Device address (for the logical controller object) — to logical address of the device on the bus under the transport in step 1. Tracing for the address changing is supported.
  • ModBus type (for the logical controller object) — to the ModBus protocol type/variant from the list: RTU, ASCII, TCP.
  • ModBus maximum block size (for the logical controller object) — to the ModBus protocol package data maximum size in the range [10...200].
  • ModBus blocks merging (for the logical controller object) — for allowance of merging the ModBus protocol fragmented blocks of the registers.
6. RESULT: The logical parameter object will: dynamically create needed attributes accordingly to the attribute "Items set" value and perform interaction and placing of gathered data to the parameter attributes. Also you are able to change for writable attributes.


1.3 DCON Protocol + Input AI (DCON_Prt)

1.0 GPLv2 * => UserProtocol en

1.4 DCON Protocol + Input AO (DCON_Prt_AO)

1.0 GPLv2 * => UserProtocol en

1.5 DCON Protocol + Input DI (DCON_Prt_DI)

1.0 GPLv2 * => UserProtocol en

1.6 DCON Protocol + Input DO (DCON_Prt_DO)

1.0 GPLv2 * => UserProtocol en Roman Savochenko

Input and output parts of the protocol DCON implementation with the input part designed for typical AI, DI, AO, DO modules at up to 20, 32, 8, 32 channels. The protocol DCON client part also implemented by the OpenSCADA module DAQ.DCON.

INPUT USER PROTOCOL'S PART — full-featured implementation of typical DAQ modules suitable to multiple using on one bus and multiple using of the templates.

Configuring and using

1. Create of needed user protocol objects based on the templates, with ID like to DCON_[AI,AO,DI,DO].
2. Configure the input part of the protocol objects for their addresses, CRC and establish them links to real data.
3. Create one or several input transports of the type "Serial" mostly and set its to any ID.
4. Set proper address and the timeouts to the Serial devices.
5. Select for one or several user protocols created in the step 1.
6. RESULT: all requests to the input transport(s) will be processed by the input part of the user protocol objects.

OUTPUT USER PROTOCOL'S XML REQUEST STRUCTURE<ReqSymb addr="{toAddr}" err="{err}" CRC="{CRC}">{req}</ReqSymb>

ReqSymb — symbol of the request type into the tag name, like to: '#', '@', etc;
toAddr — remote host address [0...240];
CRC — sign [0,1] of using CRC;
req — data of the request and response;
err — sets for the request result.

Configuring and using

1. Create or use allowed user protocol objects based on the templates, with ID like to "DCON".
2. Create an output transport of the type "Serial" and set its ID like to "DCON", one transport suitable for more receivers.
3. Set proper address and timeouts for the Serial device.
4. Place some requesting commands directly into allowed or a new internal OpenSCADA procedure like to:
req = SYS.XMLNode("#"); req.setAttr("ProtIt","DCON").setAttr("addr","5");
SYS.Transport.Serial.out_DCON.messIO(req, "UserProtocol");
data = req.attr("err").toInt() ? "" : req.text();
5. RESULT: Into the variable data you will get the request's data part if no errors occur. The data is values of the analog inputs.


1.7 Distributed Network Protocol 3 (DNP3)

0.8 GPLv2 * en, uk, ru Roman Savochenko
Result and the operative setup.

Distributed Network Protocol 3 (DNP3) is a set of communications protocols used between components in process automation systems. Its main use is in utilities such as electric and water companies. Usage in other industries is not common. It was developed for communications between various types of data acquisition and control equipment. Competing standards include the older Modbus protocol and the newer IEC 61850 protocol and IEC 61870.

Details
The template implements currently for the client, which uses the followed functions: Confirm (0x00), Read (0x01), Write (0x02), Enable (0x14) and Disable (0x15) Spontaneous Messages.

And which implements and tested for the followed point-oriented objects (data types):

Considering the purpose and the application area, the protocol does not provide the direct determination of the requested data and the device, that implements it, provides all available ones upon request for the Class 0 data, after which only changes are requested for the Classes 1, 2, 3.

All received and controlled data is accumulated in an object of the attribute "items" for further control as an object in a table of the widget "Main.objProps", according to the complex object definition.

For standard control over parameter attributes, including archiving, it is possible to define the necessary data to create a separate representative attribute for them, which is described in the attribute "itemsSet", where they can be defined individually, with a semantic identifier and name, or in a range named by a template. The data in the attribute "itemsSet" is defined by records in the format ai|ao|cnt|di|do:{pnt}[-{endPnt}][:a[:{NameBase}]], where:

Examples of the parameters definition, rows of the attribute "itemsSet":

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Sockets.out_DNP3
dest Destination [0...65520] Integer Input Not attribute Constant 10
src Source [0...65520] Integer Input Not attribute Constant 1
tmRetr Retry connection time, seconds Real Input Not attribute Constant 10
tmPoolEv Poll events time, seconds Real Input Not attribute Constant 1
tmPoolAll Poll all time, seconds Real Input Not attribute Constant 60
itemsSet ao|cnt|di|do:{pnt}[-{endPnt}][:a[:{NameBase}]]" Text Input Full access Variable
items All items Object Output Full access Variable
tr Output transport Object Input Not attribute Variable
ctx IO context Object Input Not attribute Variable
oAVals Output values Object Output Not attribute Variable
this Object Object Input Not attribute Variable
f_frq Frequency of calculation of the function, Hz Real Input Not attribute Variable 1000
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_err Function error String Input Not attribute Variable 0
f_start Function start flag Boolean Input Not attribute Variable 0
Configuration.

Configuring and using

1. Create an output transport of the type "Sockets", set its Identifier like to "DNP3", one for each the device-PLC.
2. Set proper address with port 20000 and timeouts of the Sockets device-PLC.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties. The interaction period preferred to be about 0.1 second.
4. Create a logical parameter object and select this template for that, one for each the device-PLC. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Destination — remote station address in the integer range [0...65520].
  • Source — the same station address (source) in the integer range [0...65520].
  • Retry connection time — retry connection time in seconds, at the connection missing and no response detection.
  • Poll events time — time in seconds of the events periodical polling (Class 1).
  • Poll all time — time in seconds of the complete data requesting (Class 0,1,2,3).
6. RESULT: The logical parameter object will perform interaction and placing of the gathered data to the object "items", creation/placing and checking for commands of the proper attributes, created by the "itemsSet" instruction.
7. In the process of the working, through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
  • Items set by — for controlled items naming and definition as attributes and accessible for write.
  • All items, {Item attributes} — direct writing for the writable items.


1.8 IEC-60870 (IEC60870)

1.4 GPLv2 * en, uk, ru Roman Savochenko
Result and the operative setup.

IEC 60870 part 5 is one from the IEC 60870 set of standards which defines systems used for telecontrol (supervisory control and data acquisition) in electrical engineering and power system automation applications. Part 5 provides a communication profile for sending basic telecontrol messages between two systems, which uses permanent directly connected data circuits between the systems.

Details
Considering the purpose and the application area, the protocol does not provide the direct determination of the requested data and the device, that implements it, provides all available ones upon request by the C_IC_NA_1 command, after which only changes are sent.

All received and controlled data is accumulated in an object of the attribute "items" for further control as an object in a table of the widget "Main.objProps", according to the complex object definition.

For standard control over parameter attributes, including archiving, it is possible to define the necessary data to create a separate representative attribute for them, which is described in the attribute "itemsSet", where they can be defined individually, with a semantic identifier and name, or in a range named by a template. The data in the attribute "itemsSet" is defined by records in the format ai|di|do:{IOA}[-{EndIOA}][:a[:{NameBase}]], where:

Examples of the parameters definition, rows of the attribute "itemsSet":

The module provides integrated support for time synchronisation of PLC by sending the C_CS_NA_1 service command.

In the template for the first time used the not requesting mode of an output transport and the attributes creation in free while performing.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Sockets.out_IEC60870
addr Address, {addr}.{OA} String Input Not attribute Constant 0.5
tmRetr Retry connection time, seconds Real Input Not attribute Constant 10
tmPoolAll Poll all time, seconds Real Input Not attribute Constant 60
t1 Acknowledge lack activity timeout, seconds Real Input Not attribute Constant 1.5
t2 Acknowledge timeout, seconds Real Input Not attribute Constant 1
t3 Test timeout, seconds Real Input Not attribute Constant 2
k Maximum unconfirmed Integer Input Not attribute Constant 12
w Maximum no ack Integer Input Not attribute Constant 8
itemsSet Items set by: "ai|di|do:{IOA}[-{EndIOA}][:a[:{NameBase}]]" Text Input Full access Variable
items All items Object Output Full access Variable
syncTimePLC Sync PLC time Boolean Input Full access Variable
oAVals Output values Object Input Not attribute Variable
this Object Object Input Not attribute Variable
f_frq Frequency of calculation of the function (Hz) Real Input Not attribute Variable 1000
f_start Function start flag Boolean Input Not attribute Variable 0
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_err Function error String Input Not attribute Variable 0
Configuration.

Configuring and using

1. Create an output transport of the type "Sockets", set its Identifier like to "IEC60870", one for each the device-PLC.
2. Set proper address with port 2404 and timeouts of the Sockets device-PLC.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties. For interaction by IEC-60870-104 you need the execution period not greater than 0.1 second!
4. Create a logical parameter object and select this template for that, one for each the device-PLC. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Address — remote station and object address in the format "{addr}.{OA}", for physical systems without a gateway is not particularly important.
  • Retry connection time — retry connection time in seconds, at the connection missing.
  • Poll all time — time in seconds of the complete data requesting, sending C_IC_NA_1.
  • Acknowledge lack activity timeout, in seconds.
  • Acknowledge timeout, in seconds.
  • Test timeout, in seconds.
  • Maximum unconfirmed — not used into the client since it is not generate such flows.
  • Maximum no ack — maximum input packages after what the client will send "Ack".
6. RESULT: The logical parameter object will perform interaction and placing of the gathered data to the object "items", creation/placing and checking for commands of the proper attributes, created by the "itemsSet" instruction.
7. In the process of the working, through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
  • Items set by — for controlled items naming and definition as attributes and accessible for write.
  • All items, {Item attributes} — direct writing for the writable items.


1.9 IEC-62056 (IEC62056)

1.1 GPLv2 * en, uk, ru Roman Savochenko
Result and the operative setup.

IEC 62056 is a set of standards for electricity metering data exchange. The IEC 62056 standards are the international standard versions of the DLMS/COSEM specification.

Details
DLMS or Device Language Message Specification (originally Distribution Line Message Specification), is the suite of standards developed and maintained by the DLMS User Association (DLMS UA) and has been adopted by the IEC TC13 WG14 into the IEC 62056 series of standards.

COSEM or Companion Specification for Energy Metering, includes a set of specifications that defines the transport and application layers of the DLMS protocol. The DLMS User Association defines the protocols into a set of four specification documents namely Green Book, Yellow Book, Blue Book and White Book. The Blue Book describes the COSEM meter object model and the OBIS object identification system, the Green Book describes the architecture and protocols, the Yellow Book treats all the questions concerning conformance testing, the White Book contains the glossary of terms.

In the template implementation were used the follow standards:

At.png This protocol doesn't specify a way of requesting-acquisition all available variables of the device, like to the protocols IEC-60870 and DNP3, so we need to point their directly and obtain their before that anywhere for the concrete device.

The template was initially implemented to work with the electricity counter Actaris SL7000, for which there were obtained follow useful requesting OBIS codes:

Single items
Multiple-group items

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Serial.out_IEC62056
dest Destination "{UHDLC}[:{LHDLC}]", [0...16383] String Input Not attribute Constant 17:6168
src Source [0...127] Integer Input Not attribute Constant 1
pass Password the device String Input Not attribute Constant ABCDEFGH
tmRetr Retry connection time, seconds Real Input Not attribute Constant 10
tmPollAll Poll all time, seconds Real Input Not attribute Constant 10
itemsSet Items set by: "{ClassId}-{OBIS}-{attr}" Text Input Full access Variable
items All items Object Output Full access Variable
tr Output transport Object Input Not attribute Variable
ctx IO context Object Input Not attribute Variable
this Object Object Input Not attribute Variable
f_frq Frequency of calculation of the function, Hz Real Input Not attribute Variable 1000
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_err Function error String Input Not attribute Variable 0
f_start Function start flag Boolean Input Not attribute Variable 0
Configuration.

Configuring and using

1. Create an output transport of the type "Serial" directly or by the "Sockets" gate, and set its Identifier like to "IEC62056", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties. The interaction period preferred to be about 0.1 second.
4. Create a logical parameter object and select the template for that, one for each the device-PLC. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Destination "{UHDLC}[:{LHDLC}]" — remote station address in the two digits format each of which in the range [0...16383], this address can be pointed as one digit of the range [0...127].
  • Source — the same station address (source) in the integer range [0...127].
  • Password the device — the device access password.
  • Retry connection time — retry connection time in seconds, at the connection missing and no response detection.
  • Poll all time — time in seconds of the complete data requesting, pointed in the "itemsSet".
6. RESULT: The logical parameter object will perform interaction and placing of the gathered data to the object "items", creation/placing the gathered data to the proper value attributes.
7. In the process of the working, through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
  • Items set by — for appending the device's OBIS to their reading.


1.10 OWEN (OWEN)

0.8 GPLv2 * en Roman Savochenko, Constantine (IrmIngeneer)

OWEN data sources implementation in the OWEN protocol. Implemented wholly in the template for the protocol requesting and for dynamic data model of the OWEN data sources' data with support of the writing and original names of the parameters.

Details
The field "addr" of the items can be wrote positive, for the 8 bit address [0...255], and negative, for the 11 bit address[-2047...0].

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Serial.out_owen
items Items set "{addr}:{func}:{f|i|u|s}:{r|w}[:{id}[:{nm}]]" Text Input Full access Variable
this Object Object Input Not attribute Variable

Configuring and using

1. Create an output transport of the type "Serial" directly or by the "Sockets" gate, and set its Identifier like to "owen", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for the devices on one bus. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
6. RESULT: The logical parameter object will: dynamically create needed attributes accordingly to the attribute "Items set" value and perform interaction and placing of gathered data to the parameter attributes. Also you are able to change for writable attributes. Into the "Error" attribute, additionally to the same errors, you will get for statuses of the read and wrote values.

2 Industrial automation devices

2.1 Elemer TM510x (TM510x)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

Multi-channels thermometer Elemer TM5102 and TM5103 of the firm Elemer.

Output user protocol's XML request structure
<mess addr="1" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote station address (1...254);
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant tm510x
addr Device address (1...254) Integer Input Not attribute Constant 1
devTp Device type Integer Input Read only Variable
errors Errors String Input Read only Variable
in1 Input 1 Real Input Read only Variable
in2 Input 2 Real Input Read only Variable
in3 Input 3 Real Input Read only Variable
in4 Input 4 Real Input Read only Variable
in5 Input 5 Real Input Read only Variable
in6 Input 6 Real Input Read only Variable
in7 Input 7 Real Input Read only Variable
in8 Input 8 Real Input Read only Variable

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "tm510", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Device address — to logical address of the device on the bus under the transport in step 1.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.


2.2 EDWARDS TURBOMOLECULAR PUMPS (SCU750)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

Typical EDWARDS TURBOMOLECULAR PUMPS (http://edwardsvacuum.com) data acquisition by SCU750 Cotrol Unit protocol.

Output user protocol's XML request structure
<mess addr="1" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote station address (<0 — single; >=0 — multi port);
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant SCU750
addr Device address (-1...255) Integer Input Not attribute Constant 1
perGet Period data getting (s) Real Input Not attribute Constant 10
version Version String Input Read only Variable
snCntrUnit Serial number: Control Unit String Input Read only Variable
snPump Serial number: Pump String Input Read only Variable
cntPumpHour Pump hour counter (minutes) Real Input Read only Variable
cntCntrUnitHour Control unit hour counter (minutes) Real Input Read only Variable
cntStart Start counter Real Input Read only Variable
operMode Pump Operation Mode String Input Read only Variable
errors Errors String Input Read only Variable
events Events String Input Read only Variable
tTMS TMS temperature (°С) Integer Input Read only Variable
tMotor Motor temperature (°С) Integer Input Read only Variable
rotSpeed Rotational speed (HZ) Integer Input Read only Variable
comStart Command: START Boolean Input Full access Variable
comStop Command: STOP Boolean Input Full access Variable
comReset Command: RESET Boolean Input Full access Variable
spSpeed Set point: Speed Integer Input Full access Variable
spTMSt Set point: TMS temperature Integer Input Read only Variable
spSpeedPrev Set point: Speed (previous) Integer Output Not attribute Variable
cnt Counter Integer Output Not attribute Variable
operModes Operation modes Object Output Not attribute Variable

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "SCU750", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Device address — to logical address of the device on the bus under the transport in step 1.
  • Period data getting — to needed acquisition period which more to the real processing by the logical level controller. Commands and some other functions will process immediately.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes. Also you are able to send some commands to the device through the writable attributes.


2.3 Sycon Multi Drop Protocol (SMDP)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

STM devices for resonant frequency measurement for mass of deposited films attached to their surface by Sycon Instruments, Inc. (http://www.sycon.com).

Output user protocol's XML request structure
<mess addr="16" try="1" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote device address [16...254];
try — tries of the request;
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant SMDP
addr Device address (16...254) Integer Input Not attribute Constant 16
perGet Period data getting (s) Real Input Not attribute Constant 10
version Firmware Version String Input Read only Variable
CfgPrmSSID Configuration parameter session ID Integer Input Read only Variable
Srlno Measurement serial number Integer Input Read only Variable
RawFreq Channel freq. Real Input Read only Variable
GoodFreq Last used, good channel freq. (Hz) Real Input Read only Variable
RawThick Computed raw thickness, from frequency. (A) Real Input Read only Variable
XtalThick Computed material related thickness, can be zeroed. (A) Real Input Read only Variable
XtalThick_F Filtered computed material related thickness, can be zeroed. (A) Real Input Read only Variable
XtalRate Rate, angstroms per second. Real Input Read only Variable
XtalRate_F Rate, angstroms per second, filtered. Real Input Read only Variable
XtalLife XtalLife (%) Real Input Read only Variable
XtalQual Quality level (0-9). Integer Input Read only Variable
XtalQualPeak Highest quality level seen (0-9). Integer Input Read only Variable
XtalStab Stability level (0-9). Integer Input Read only Variable
XtalStabPeak Highest stability level seen (0-9). Integer Input Read only Variable
XtalStat Channel status. String Input Read only Variable
XtalLife_C XtalLife (%). Integer Input Read only Variable
SessId Session ID Integer Input Full access Variable
Fq Xtal start freq. (Hz) Real Input Full access Variable
Fm Xtal min freq. (Hz) Real Input Full access Variable
Density Material density (gm/cc). Real Input Full access Variable
Zratio Material Z ratio. Not scaled or unitized. Real Input Full access Variable
Tooling 1.000 is 100 % tooling (unity). Real Input Full access Variable
RateReq Requested rate (A/S). Real Input Full access Variable
QlvlTrip Quality threshold, if non 0 and exceeded, xtal fail occurs. Integer Input Full access Variable
SlvlTrip Stability threshold, if non 0 and exceeded, xtal fail occurs. Integer Input Full access Variable

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "SMDP", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Device address — to logical address of the device on the bus under the transport in step 1.
  • Period data getting — to needed acquisition period which more to the real processing by the logical level controller. Commands and some other functions will process immediately.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes. Also you are able to send some commands to the device through the writable attributes.


2.4 Power supply for turbomolecular pumps (TMH)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

Power supply for turbomolecular pumps of the firm SHIMADZU, model EI-R04M.

Output user protocol's XML request structure
<mess addr="1" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote station address (1...32);
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant TMP
addr Device address (-1...255) Integer Input Not attribute Constant 1
perGet Period data getting (s) Real Input Not attribute Constant 10
modelID Model ID String Input Read only Variable
errors Errors String Input Read only Variable
rotSpeed Rotational speed (HZ) Integer Input Read only Variable
I Current (A) Real Input Read only Variable
axle1disb Axle 1 disbalance Integer Input Read only Variable
axle2disb Axle 2 disbalance Integer Input Read only Variable
MP_X1 MP X1 Integer Input Read only Variable
MP_Y1 MP Y1 Integer Input Read only Variable
MP_X2 MP X2 Integer Input Read only Variable
MP_Y2 MP Y2 Integer Input Read only Variable
MP_Z MP Z Integer Input Read only Variable
operMode Operation Mode String Input Read only Variable
comStart Command: START Boolean Input Full access Variable
comStop Command: STOP Boolean Input Full access Variable
comReset Command: RESET Boolean Input Full access Variable
operCntr Operation Control Mode String Input Read only Variable
comInteract Interactive mode Boolean Input Full access Variable
comAutonom Autonomous mode Boolean Input Full access Variable
cnt Counter Integer Output Not attribute Variable
operModes Operation modes Object Output Not attribute Variable

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "TMP", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Device address — to logical address of the device on the bus under the transport in step 1.
  • Period data getting — to needed acquisition period which more to the real processing by the logical level controller. Commands and some other functions will process immediately.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes. Also you are able to send some commands to the device through the writable attributes.


2.5 Temperature measurement IT-3 (IT3)

1.2 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

Temperature measurement IT-3 from OmskEtalon.

Output user protocol's XML request structure
<mess addr="1" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote station address (1...32);
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant IT3
addr Device address Integer Input Not attribute Constant 1
T Temperature Real Input Read only Variable
H Upper border Boolean Input Read only Variable
L Lower border Boolean Input Read only Variable
relSt Relay state Boolean Input Read only Variable

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "IT3", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device, typical it is "{serDevPath}:4800:8N2".
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Device address — to logical address of the device on the bus under the transport in step 1.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.


2.6 Power supply of beam-electrons evaporator (IVE-452HS-02)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

Power supply of beam-electrons evaporator of "Plasma Tech" Ltd, from Moskov.

Output user protocol's XML request structure:
<mess addr="255" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote station address (0...255);
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Sockets.out_IVE
addr Device address Integer Input Not attribute Constant 255
COIA Output current level set-point Integer Output Full access Variable
COUA Output voltage level set-point Integer Output Full access Variable
COPA Output power level set-point Integer Output Full access Variable
DIA Output current Integer Input Read only Variable
DUA Output voltage Integer Input Read only Variable
DPA Output power Integer Input Read only Variable
DFA Electric arcs frequency Integer Input Read only Variable
DAC Electric arcs counter Integer Input Read only Variable
COM_DEW Command: Blocking by SC and XX Boolean Input Full access Variable
COM_OUT Command: Display on UI out block's params Boolean Input Full access Variable
COM_DEP Command: Enable MK Boolean Input Full access Variable
COM_DEL Command: Blocks #1,2 to net Boolean Input Full access Variable
COM_UF Command: Display on UI frequency and current Boolean Input Full access Variable
DKW MUBR of the block overheated Boolean Input Read only Variable
DKZ Short circuits on the block out Boolean Input Read only Variable
DK MK of the block overheated Boolean Input Read only Variable
DE Power and voltage on out present Boolean Input Read only Variable

Configuring and using

1. Create an output transport of the type "Serial" directly or by the "Sockets" gate, and set its Identifier like to "Sockets.out_IVE", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Device address — to logical address of the device on the bus under the transport in step 1. Tracing for the address changing is supported.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes. Also you are able to send some commands to the device through the writable attributes.


2.7 OPTRIS CT/CTL (OPTRIS)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

OPTRIS CT/CTL communication interface of "Optris" GmbH, from Berlin.

Output user protocol's XML request structure
<mess addr="1" cs="1" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote station address (0...15);
сs — use control sum for SET commands [0,1];
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Serial.out_OPTRIS
addr Device address Integer Input Not attribute Constant 1
Tproc T process Real Input Read only Variable
Thead T head Real Input Read only Variable
Tbox T box Real Input Read only Variable
Tact T act. Real Input Read only Variable
eps IR epsilon Real Input Full access Variable
trans IR transmission Real Input Full access Variable
spIll Spot illumination Logical Input Full access Variable

Configuring and using

1. Create an output transport of the type "Serial" directly or by the "Sockets" gate, and set its Identifier like to "Serial.out_OPTRIS", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Device address — to logical address of the device on the bus under the transport in step 1.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes. Also you are able to send some commands to the device through the writable attributes.


2.8 CTR 100, 101 (CTR)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

The RS232C Serial Interface permits the communication between the digital Oerlikon Leybold Vacuum CERAVAC, from Köln.

Output user protocol's XML request structure
<mess err="1:Error">{req}</mess>

req — request/respond data;
err — sets to result of the request.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Serial.out_CTR
press Pressure, Tor Real Output Read only Variable
zeroSet Zero set Logical Input Full access Variable

Configuring and using

1. Create an output transport of the type "Serial" directly or by the "Sockets" gate, and set its Identifier like to "Serial.out_CTR", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes. Also you are able to send some commands to the device through the writable attributes.


2.9 Shark Slave Communication Protocol (SSCP)

0.6 GPLv2 * en, uk, ru Roman Savochenko

Shark Slave Communication Protocol from EnergoCentrum PLUS, s.r.o.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport of the Ethernet network, Sockets String Input Not attribute Constant SSCP
addr Address [0...255] Integer Input Not attribute Constant 1
user User String Input Not attribute Constant admin
pass Password String Input Not attribute Constant rw
maxDtFrm Maximum data frame size Integer Input Not attribute Constant 2048
listsDir Folder of the list files String Input Not attribute Constant SSCP
verPrt Protocol version Integer Input Read only Variable
maxDtFrmServ Server's maximum data frame size Integer Input Read only Variable
list Variables selected for processing Text Input Full access Variable
this Object Object Input Not attribute Variable

Configuring and using

1. Create an output transport of the type "Sockets", set its Identifier like to "SSCP", one for each the device.
2. Set proper address of the Sockets device to IP-address or host address of the remote device in the Ethernet network.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Address — to logical address of the device on the bus under the transport in step 1.
6. RESULT: The logical parameter object will perform:
  • reading files of lists listsDir for creation and content forming of the attribute "selList" of list of all allowed device's attributes;
  • reading of content of the attribute list of selected device's attributes to dynamic form their representing attributes into the parameter object;
  • reading of the dynamic formed representing attributes;
  • checking for changes and writing of the dynamic formed representing attributes.


2.10 Pulsar-M (pulsarM)

1.0 GPLv2 * en, uk, ru Roman Savochenko

Pulsar-M counters protocol.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Serial.out_pulsar
addr Address [0...99999999] Integer Input Not attribute Constant 12345678
nChnl Channels number Integer Input Full access Variable 0
this Object Object Input Not attribute Variable

Configuring and using

1. Create an output transport of the type "Serial" directly or by the "Sockets" gate, and set its Identifier like to "Serial.out_pulsar", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Address — to logical address of the device on the bus under the transport in step 1. Tracing for the address changing is supported.
6. RESULT: The logical parameter object will: dynamically create needed attributes accordingly to the attribute "Channels number" value and perform interaction and placing of gathered data to the parameter attributes. Also you are able to change some writable attributes.


2.11 MTP 4D (MTP4D)

1.1 GPLv2 * en,uk,ru Roman Savochenko

The connection template of a simple vaccuumeter MTP 4D of the firm "Erstevak Ltd".

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Serial.MTP
addr Device address, [1...999] Integer Input Not attribute Constant 1
type Device type String Input Read only Variable
P Pressure Real Input Read only Variable
zeroP Set zero Boolean Input Full access Variable
zeroAP Set atmosphere Boolean Input Full access Variable
tr Output transport Object Input Not attribute Variable
this Object Object Input Not attribute Variable
f_start Function start flag Boolean Input Not attribute Variable 0
f_frq Frequency of calculation of the function, Hz Real Input Not attribute Variable 1000
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_err Function error String Input Not attribute Variable 0

Configuring and using

1. Create an output transport of the type "Serial" directly or by the "Sockets" gate, and set its Identifier like to "MTP", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for the devices on one bus. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to address of the transport into step 1. Tracing for the address changing is supported.
  • Device address — to logical address of the device on the bus under the transport in step 1. Tracing for the address changing is supported.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes. Also you are able to change some writable attributes.


3 Counters of the resources

3.1 Heat counter computer VKT7 (VKT7)

1.0 GPLv2 * => UserProtocol en, uk, ru Roman Savochenko

Firm "Teplocom" (http://www.teplocom.spb.ru) computer "VKT-7" for complex heat measurement and counting. The device complex enough to provide more parameters, more history and accessed by a nonlinear Serial-based protocol at low speed. The template implements acquisition for all significant parameters, gets for their history by hours, days and result months. Also you can to append easily enough for processing of the remained parameters.

Output user protocol's XML request structure
<mess addr="1" err="1:Error">{req}</mess>

req — request/respond data;
addr — remote station address (0...254);
err — sets for the request result.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
imit Imitation drift % (0-disable) Real Input Not attribute Constant 0
trAddr Transport String Input Not attribute Constant Transport.Serial.out_VKT7
arhH Archiver: hours String Input Not attribute Constant
arhD Archiver: days String Input Not attribute Constant
arhRes Archiver: results-month String Input Not attribute Constant
maxDayDepth Archiver: maximum depth of reading for not hours archivers, days Integer Input Not attribute Constant 366
lastResTm Last result months read time (s) Integer Output Full access Variable 0
leftResTm Left result months for read from archive Integer Output Read only Variable
lastDTm Last days read time (s) Integer Output Full access Variable 0
leftDTm Left days for read from archive Integer Output Read only Variable
lastHTm Last hours read time (s) Integer Output Full access Variable
leftHTm Left hours for read from archive Integer Output Read only Variable
diffTm Difference time (server-counter), hours Integer Input Read only Variable
firmVer Firmware version Real Input Read only Variable
abonId Subscriber ID String Input Read only Variable
repDay Report day Integer Input Read only Variable
netNum Network number Integer Input Read only Variable
modelImpl Model implementation Integer Input Read only Variable
tTypeM t: dimension String Input Read only Variable
GTypeM G: dimension String Input Read only Variable
VTypeM V: dimension String Input Read only Variable
MTypeM M: dimension String Input Read only Variable
PTypeM P: dimension String Input Read only Variable
QoTypeM Qo: dimension String Input Read only Variable
QntTypeHIM ВНР: dimension String Input Read only Variable
QntTypeM ВОК: dimension String Input Read only Variable
t1_1 t1 (Tв1) Real Input Full access Variable
t2_1 t2 (Tв1) Real Input Full access Variable
t3_1 t3 (Tв1) Real Input Full access Variable
V1_1 V1 (Tв1) Real Input Full access Variable
V2_1 V2 (Tв1) Real Input Full access Variable
V3_1 V3 (Tв1) Real Input Full access Variable
M1_1 M1 (Tв1) Real Input Full access Variable
M2_1 M2 (Tв1) Real Input Full access Variable
M3_1 M3 (Tв1) Real Input Full access Variable
P1_1 P1 (Tв1) Real Input Full access Variable
P2_1 P2 (Tв1) Real Input Full access Variable
Mg_1 Mg (Tв1) Real Input Full access Variable
Qo_1 Qo (Tв1) Real Input Full access Variable
Qg_1 Qg (Tв1) Real Input Full access Variable
dt_1 dt (Tв1) Real Input Full access Variable
BNR_1 ВНР (Tв1) Real Input Full access Variable
BOC_1 ВОС (Tв1) Real Input Full access Variable
G1_1 G1 (Tв1) Real Input Full access Variable
G2_1 G2 (Tв1) Real Input Full access Variable
t1_2 t1 (Tв2) Real Input Full access Variable
t2_2 t2 (Tв2) Real Input Full access Variable
t3_2 t3 (Tв2) Real Input Full access Variable
V1_2 V1 (Tв2) Real Input Full access Variable
V2_2 V2 (Tв2) Real Input Full access Variable
V3_2 V3 (Tв2) Real Input Full access Variable
M1_2 M1 (Tв2) Real Input Full access Variable
M2_2 M2 (Tв2) Real Input Full access Variable
M3_2 M3 (Tв2) Real Input Full access Variable
P1_2 P1 (Tв2) Real Input Full access Variable
P2_2 P2 (Tв2) Real Input Full access Variable
Mg_2 Mg (Tв2) Real Input Full access Variable
Qo_2 Qo (Tв2) Real Input Full access Variable
Qg_2 Qg (Tв2) Real Input Full access Variable
dt_2 dt (Tв2) Real Input Full access Variable
BNR_2 ВНР (Tв2) Real Input Full access Variable
BOC_2 ВОС (Tв2) Real Input Full access Variable
G1_2 G1 (Tв2) Real Input Full access Variable
G2_2 G2 (Tв2) Real Input Full access Variable

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "VKT7", one for each the devices.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Create or use a minutes (current ones) value archivator object (1m, period=60sek.).
6. Create a hours value archivator object (arhH, period=3600sek.), a days value archivator object (arhD, 86400sek.) and a result month value archivator object (arhM, 86400sek.). Set the "Period archiving (sec)" property of the archivators to '0' for disable the data flow from the archive buffer.
7. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Imitation drift % — to '0' for the imitation disable.
  • Transport — to path of the transport into step 1, like to "Transport.Serial.out_VKT7".
  • Archiver: hours — to the hours archiver into step 6, like to "FSArch.arhH".
  • Archiver: days — to the days archiver into step 6, like to "FSArch.arhD".
  • Archiver: results-month — to the result month archiver into step 6, like to "FSArch.arhM".
  • Archiver: maximum depth of reading for not hours archivers, days — to needed depth of not hours archives reading, in days.
8. Into the tab "Archiving" to set archiving for needed attributes by the archivators.
9. RESULT: The logical parameter object will perform interaction and placing of current gathered data to the parameter attributes and the current archive. Other archives' data will read in parallel from the previously set depth per one value for the period i.e. one day (for the days archive) per the minute period and up to the current and last value.


3.2 Mercury 200 (m200)

1.0 GPLv2 * => UserProtocol en, uk, ru Arsen Zakojan

One phase counter of electricity Mercury 200, 203.2Т, 206 from the firm "Incotex" (http://www.incotexcom.ru)

Output user protocol's XML request structure
<req first="255" second="16777215" data="{req}">{resp}</req>

req — request data;
resp — respond data;
first, second — first and three of second's bytes of the common address (0...4294967295).

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
s Energy from reset, tariffs sum String Input Read only Variable
t1 Energy from reset, tariff 1 Real Input Read only Variable
t2 Energy from reset, tariff 2 Real Input Read only Variable
t3 Energy from reset, tariff 3 Real Input Read only Variable
t4 Energy from reset, tariff 4 Real Input Read only Variable
U Voltage U(V) Real Input Read only Variable
I Current I(A) Real Input Read only Variable
P Power P(W) Real Input Read only Variable
transport Transport String Input Not attribute Constant merc200
netaddr Network address Real Input Not attribute Constant 1
naladchik Coded address by the program Fixer+ Boolean Input Not attribute Constant 0
tarif Read energy from reset Boolean Input Not attribute Constant 1
UIP Read current values Boolean Input Not attribute Constant 1
first First byte of the address Integer Input Not attribute Variable
second Last 3 bytes of the address Integer Input Not attribute Variable
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_err Function error String Input Not attribute Variable 0
f_start Function start flag Boolean Input Not attribute Variable 0
f_frq Function calculate frequency (Hz) Real Input Not attribute Variable 1000

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "merc200", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Network address — to logical address of the device on the bus under the transport in step 1.
  • Coded address by the program Fixer+ — set the flag for counters coded by the program. Most likely the address will equal to apartment number.
  • Read energy from reset — set the flag if you need the data.
  • Read current values — set the flag to read current values.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.


3.3 Mercury 230 (m230)

1.0 GPLv2 * => UserProtocol en, uk, ru Arsen Zakojan

Three phase counter of electricity Mercury 230, 231, 232, 233, 234, 236 from the firm "Incotex" (http://www.incotexcom.ru)

Output user protocol's XML request structure
<req netaddr="255" data="{req}">{resp}</req>

req — request data;
resp — respond data;
netaddr — network address; for counters Mercury 230, 231 and 233 the tree last digits are serial number or they are last two digits for the number more to 240; if the last numbers are zero, the network address is "1"; universal, broadcast address is "0".

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
answer Answer to the password request String Input Read only Variable
TS Read energy of tariffs sum Boolean Input Not attribute Constant 0
T1 Read energy of tariff 1 Boolean Input Not attribute Constant 0
T2 Read energy of tariff 2 Boolean Input Not attribute Constant 0
T3 Read energy of tariff 3 Boolean Input Not attribute Constant 0
T4 Read energy of tariff 4 Boolean Input Not attribute Constant 0
P Read power P Boolean Input Not attribute Constant 0
Q Read power Q Boolean Input Not attribute Constant 0
S Read power S Boolean Input Not attribute Constant 0
U Read voltage U Boolean Input Not attribute Constant 0
I Read current I Boolean Input Not attribute Constant 0
K Read power coefficient Boolean Input Not attribute Constant 0
F Read frequency F Boolean Input Not attribute Constant 0
N Read serial number Boolean Input Not attribute Constant 0
TSAp Energy from resetting, tariffs sum A+ Real Input Read only Variable
TSAm Energy from resetting, tariffs sum A- Real Input Read only Variable
TSRp Energy from resetting, tariffs sum R+ Real Input Read only Variable
TSRm Energy from resetting, tariffs sum R- Real Input Read only Variable
T1Ap Energy from resetting, tariff 1 A+ Real Input Read only Variable
T1Am Energy from resetting, tariff 1 A- Real Input Read only Variable
T1Rp Energy from resetting, tariff 1 R+ Real Input Read only Variable
T1Rm Energy from resetting, tariff 1 R- Real Input Read only Variable
T2Ap Energy from resetting, tariff 2 A+ Real Input Read only Variable
T2Am Energy from resetting, tariff 2 A- Real Input Read only Variable
T2Rp Energy from resetting, tariff 2 R+ Real Input Read only Variable
T2Rm Energy from resetting, tariff 2 R- Real Input Read only Variable
T3Ap Energy from resetting, tariff 3 A+ Real Input Read only Variable
T3Am Energy from resetting, tariff 3 A- Real Input Read only Variable
T3Rp Energy from resetting, tariff 3 R+ Real Input Read only Variable
T3Rm Energy from resetting, tariff 3 R- Real Input Read only Variable
T4Ap Energy from resetting, tariff 4 A+ Real Input Read only Variable
T4Am Energy from resetting, tariff 4 A- Real Input Read only Variable
T4Rp Energy from resetting, tariff 4 R+ Real Input Read only Variable
T4Rm Energy from resetting, tariff 4 R- Real Input Read only Variable
PS Power P(W) by the phases sum Real Input Read only Variable
P1 Power P(W) by the phase 1 Real Input Read only Variable
P2 Power P(W) by the phase 2 Real Input Read only Variable
P3 Power P(W) by the phase 3 Real Input Read only Variable
QS Power Q(var) by the phases sum Real Input Read only Variable
Q1 Power Q(var) by the phase 1 Real Input Read only Variable
Q2 Power Q(var) by the phase 2 Real Input Read only Variable
Q3 Power Q(var) by the phase 3 Real Input Read only Variable
SS Power S(VA) by the phases sum Real Input Read only Variable
S1 Power S(VA) by the phase 1 Real Input Read only Variable
S2 Power S(VA) by the phase 2 Real Input Read only Variable
S3 Power S(VA) by the phase 3 Real Input Read only Variable
U1 Voltage U(V) by the phase 1 Real Input Read only Variable
U2 Voltage U(V) by the phase 2 Real Input Read only Variable
U3 Voltage U(V) by the phase 3 Real Input Read only Variable
I1 Current I(A) by the phase 1 Real Input Read only Variable
I2 Current I(A) by the phase 2 Real Input Read only Variable
I3 Current I(A) by the phase 3 Real Input Read only Variable
KS Power coefficient by the phases sum Real Input Read only Variable
K1 Power coefficient by the phase 1 Real Input Read only Variable
K2 Power coefficient by the phase 2 Real Input Read only Variable
K3 Power coefficient by the phase 3 Real Input Read only Variable
F1 Frequency F(Hz) Real Input Read only Variable
N1 Serial number String Input Read only Variable
netaddr Network address (0...240) Integer Input Not attribute Constant 1
password Password String Input Not attribute Constant 111111
transport Transport String Input Not attribute Constant merc230
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_err Function error String Input Not attribute Variable 0
f_start Function start flag Boolean Input Not attribute Variable 0
f_frq Function calculate frequency (Hz) Real Input Not attribute Variable 1000

Configuring and using

1. Create an output transport of the type "Serial" and set its Identifier like to "merc230", one for each the devices' used serial bus.
2. Set proper address and timeouts of the Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Network address (0...240) — to logical address of the device on the bus under the transport in step 1.
  • Password — first level password, by default 111111.
  • Set flags for all parameters you need to read.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.


3.4 Nik2303I (Nik2303I)

1.0 GPLv2 * => UserProtocol en, uk, ru Ruslan Yarmoliuk

Three phase counter of electricity NIK 2303 from firm NIK LLC (http://www.nik.net.ua).

Output user protocol's XML request structure
<req SN="1234567" cntr="0x10">{resp}</req>

SN — serial number of the counter;
cntr — control word;
resp — respond data.

Template IOs

Identifier Parameter Type Mode Attribute Configuration Value
transport Transport String Input Not attribute Constant Sockets.out_
serial Factory number of the counter String Input Not attribute Constant
passw Password String Input Not attribute Constant 1111111111111111
kT Coefficient of transformation Integer Input Not attribute Constant 1
T0 Current values Boolean Input Not attribute Constant 0
T1 Current values tariff T1 Boolean Input Not attribute Constant 0
T2 Current values tariff T2 Boolean Input Not attribute Constant 0
T3 Current values tariff T3 Boolean Input Not attribute Constant 0
U Instantaneous value "Voltage" Boolean Input Not attribute Constant 0
I Instantaneous value "Current" Boolean Input Not attribute Constant 0
P Instantaneous value "Power" Boolean Input Not attribute Constant 0
kP Instantaneous value "Power coefficient" Boolean Input Not attribute Constant 0
Q Instantaneous value "Power reactive" Boolean Input Not attribute Constant 0
K Instantaneous value "Vectors angle" Boolean Input Not attribute Constant 0
Ae А+(kW*h) Real Output Read only Variable
Ae_ А-(kW*h) Real Output Read only Variable
Re R+(1+2quadrant)(kVar*h) Real Output Read only Variable
Re_ R-(3+4quadrant)(kVar*h) Real Output Read only Variable
Ae1 А1+(kW*h) Real Output Read only Variable
Ae_1 А1-(kW*h) Real Output Read only Variable
Re1 R1+(1+2quadrant)(kVar*h) Real Output Read only Variable
Re_1 R1-(3+4quadrant)(kVar*h) Real Output Read only Variable
Ae2 А2+(kW*h) Real Output Read only Variable
Ae_2 А2-(kW*h) Real Output Read only Variable
Re2 R2+(1+2quadrant)(kVar*h) Real Output Read only Variable
Re_2 R2-(3+4quadrant)(kVar*h) Real Output Read only Variable
Ae3 А3+(kW*h) Real Output Read only Variable
Ae_3 А3-(kW*h) Real Output Read only Variable
Re3 R3+(1+2quadrant)(kVar*h) Real Output Read only Variable
Re_3 R3-(3+4quadrant)(kVar*h) Real Output Read only Variable
U1 Phase voltage 1(V) Real Output Read only Variable
U2 Phase voltage 2(V) Real Output Read only Variable
U3 Phase voltage 3(V) Real Output Read only Variable
I1 Phase current 1(A) Real Output Read only Variable
I2 Phase current 2(A) Real Output Read only Variable
I3 Phase current 3(A) Real Output Read only Variable
kP1 Power coeff. cos φ phase 1 Real Output Read only Variable
kP2 Power coeff. cos φ phase 2 Real Output Read only Variable
kP3 Power coeff. cos φ phase 3 Real Output Read only Variable
Psum Summary active power (kW) Real Output Read only Variable
P1 Active power phase 1 (kW) Real Output Read only Variable
P2 Active power phase 2 (kW) Real Output Read only Variable
P3 Active power phase 3 (kW) Real Output Read only Variable
Qsum Summary reactive power (kVar) Real Output Read only Variable
Q1 Reactive power phase 1 (kVar) Real Output Read only Variable
Q2 Reactive power phase 2 (kVar) Real Output Read only Variable
Q3 Reactive power phase 3 (kVar) Real Output Read only Variable
V12 Vector angle U1_U2 (degr.) Integer Output Read only Variable
V13 Vector angle U1_U3 (degr.) Integer Output Read only Variable
this Object Object Input Not attribute Variable
NAME Name String Input Read only Variable
SHIFR Shifr String Input Read only Variable
DESCR Description String Input Read only Variable
f_stop Function stop flag Boolean Input Not attribute Variable 0
f_err Function error String Input Not attribute Variable 0
f_start Function start flag Boolean Input Not attribute Variable 0
f_frq Function calculate frequency (Hz) Real Input Not attribute Variable 1000

Configuring and using

1. Create an output transport of the type "Sockets" or "Serial" and set its Identifier like to "nik2303", one for each the device.
2. Set proper address and timeouts of the Sockets or Serial device.
3. Create and start a logical controller object or use any presented one with the needed scheduling properties.
4. Create a logical parameter object and select the template for that, one for each the devices. Enable the parameter.
5. Into the tab "Template configuration" of the logical parameter object you need to set:
  • Transport — to Identifier of the transport into step 1.
  • Factory number of the counter — to proper factory number of the counter.
  • Password — first level password, by default 1111111111111111.
  • Coefficient of transformation — at accounting through the current transformers set the coefficient, by default it us — 1.
  • Set flags for all parameters you need to read.
6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.
Libs/Devices/ru - GFDLFebruary 2022OpenSCADA 1+r2802