(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 84: | Line 84: | ||
{| class="wikitable" | {| class="wikitable" | ||
<section begin=mbBase /> | <section begin=mbBase /> | ||
− | | {{Anch|mbBase|<h3>ModBus base ([[Special:MyLanguage/Libs/Devices#mbBase|mbBase]])</h3>}} || 1. | + | | {{Anch|mbBase|<h3>ModBus base ([[Special:MyLanguage/Libs/Devices#mbBase|mbBase]])</h3>}} || 1.3 || GPLv2 || * || en,uk,ru <section end=mbBase /> |
| [[User:RomanSavochenko|Roman Savochenko]] | | [[User:RomanSavochenko|Roman Savochenko]] | ||
|} | |} | ||
[[File:LibsDevsMbBaseOp.png|right|Result and the operative setup.]] | [[File:LibsDevsMbBaseOp.png|right|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 ( | + | 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 (functions 3, 4 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 [[Special:MyLanguage/Modules/ModBus|ModBus]] and [[Special:MyLanguage/Modules/LogicLev|LogicLev]] and can be managed from the template of [[Special:MyLanguage/Libs/Main#initConsAssignTrs|the initiative connections processing for assigned output transports]]. |
* '''Total complexity:''' 0.5 {{CtxDetails|HD|human-days, 1 HD — 10 hours}} | * '''Total complexity:''' 0.5 {{CtxDetails|HD|human-days, 1 HD — 10 hours}} | ||
Line 110: | Line 110: | ||
|- | |- | ||
| items || Items set | | items || Items set | ||
− | Rows in the form "<nowiki>[u|i|u2|i2|u4|i4|r|s]:{addr}:{w|r|~}:{id}[:{nm}]</nowiki>". | + | Rows in the form "<nowiki>[u|i|u2|i2|u4|i4|r|s]:{addr}:{w|r|~|i}:{id}[:{nm}]</nowiki>". |
| Text || Input || Full access || Variable | | Text || Input || Full access || Variable | ||
− | | <nowiki>#<SnthHgl font="monospace"><rule expr="^#[^\n]*" color="gray" font_italic="1"/><rule expr=":[rw~]*:" color="red"/><rule expr=":(0[xX][0-9a-fA-F]*|[0-9]*),?(0[xX][0-9a-fA-F]*|[0-9]*),?(0[xX][0-9a-fA-F]*|[0-9]*),?(0[xX][0-9a-fA-F]*|[0-9]*)" color="blue"/><rule expr="^(u|i|u2|i2|u4|i4|r|s)" color="darkorange"/><rule expr="\\:" color="blue"/></SnthHgl></nowiki><br/><br/> | + | | <nowiki>#<SnthHgl font="monospace"><rule expr="^#[^\n]*" color="gray" font_italic="1"/><rule expr=":[rw~i]*:" color="red"/><rule expr=":(0[xX][0-9a-fA-F]*|[0-9]*),?(0[xX][0-9a-fA-F]*|[0-9]*),?(0[xX][0-9a-fA-F]*|[0-9]*),?(0[xX][0-9a-fA-F]*|[0-9]*)" color="blue"/><rule expr="^(u|i|u2|i2|u4|i4|r|s)" color="darkorange"/><rule expr="\\:" color="blue"/></SnthHgl></nowiki><br/><br/> |
|- | |- | ||
| tr || Output transport || Object || Input || Not attribute || Variable || | | tr || Output transport || Object || Input || Not attribute || Variable || |
Revision as of 09:18, 15 September 2024
Name | Version | License | Source | Languages | Author | Description |
---|---|---|---|---|---|---|
Industrial devices library | 3.0 | GPLv2 | OscadaLibs.db (SQL, GZip) > DAQ.tmplb_DevLib | en, uk, ru | Roman Savochenko Constantine (IrmIngeneer) (2018), Arsen Zakojan (2017), Ruslan Yarmoliuk (2017) |
Library of templates to provide access to industrial device's data through network with simply enough protocols, like to common industrial automation devices and wide resources counters.
|
The user protocol devices library created to provide access to industrial device's data through network, like to common industrial automation devices and wide resources counters, with protocols simple enough to implement into the User Protocol module, using the presented complex protocols (ModBus, OPC_UA, HTTP) or directly on the internal like to Java language.
The template's names and their parameters are available in languages: English, Ukrainian and mRussian. Their source code wrote in the human-language independent mode with calls for the translations by the function tr() and the message's translation also allowed for English, Ukrainian and mRussian.
For connection the library to a project of the OpenSCADA station you can obtain the database file as:
- supplied with a ready and proper package of the Linux distribution like to "openscada-libdb-main", "openscada-LibDB.Main";
- directly taken for most actual one from the subversion repository and converted to the DB SQLite file in the way:
wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql
sqlite3 -init OscadaLibs.sql OscadaLibs.db .exit
- downloaded for the one attached here.
This obtained file next you can place into the project directory of the station and create the database object for the DB module "SQLite", registering the database file in the configuration.
For the DAQ-templates in generic you need to create a representing object of the device into the Logical controller module and to select the proper template from the templates library. Next, to correct configuration, follow to specific of the template into its individual description. The conception of accessing the data by a user protocol we can imagine like to Figure 1.
As you can see from Figure 1, interaction with devices carried out through some transport on which their physically based. Requests to the transport you can send:
- Directly by OpenSCADA system API function of the transport object string messIO( string mess, real timeOut = 0 );, if the protocol specific part is very simple and you need only the data extract.
- Wrapped data request req by function int messIO( XMLNodeObj req, string prt ); and for protocol prt, if the protocol part is complex enough and already presented in OpenSCADA.
- Wrapped data request specific for user by function int messIO( XMLNodeObj req, "UserProtocol" ); and the user protocol implementation, if the protocol part is complex enough and not yet present in OpenSCADA. The user implements here itself of the protocol specific part in the module UserProtocol and the data specific part in the template for the Logical Level module or directly in controller's procedure on the internal language of the module JavaLikeCalc.
- This latter method is currently developed to the possibility of forming a protocol code part directly in the same code of the template as a separate built-in function with call the requesting function of the first method, if there is no need for reuse, or even if such a need exists and it makes sense to create a complex template that can combine the role of the output protocol, through its connection to the user protocol module. And it will be completely stored in a single template library.
Working directly with the output transport of the string messIO(string mess, real timeOut = 0); function does not imply blocking the output transport outside this function call and, therefore, for complex protocols with response packets more than in one packet, which requires the "waiting" process, can not be used a shared transport, at which can be sent packets of different protocols or even one, but for different tasks (controller objects). Therefore, if you need to use shared transport, place the poll parameters in one controller object (task), or use the user protocol module to which this remark is irrelevant, since it performs such blocking at the time of the call of the processing procedure, as well as other modular protocols of OpenSCADA. To place a protocol implementation here you need to do and to follow for the shown demands:
- be the copyright holder or the author of the code and distribute it under any free license, GPL preferred;
- prepare and store into a separated DB file of SQLite, or as a text file, for: the parameters (IO) description, the procedure's code wrote and formed in some system way;
- write a short description and instruction for connect a device by the protocol in way like to the other ones here;
- write a direct request to the forum topic "OpenSCADA development" for placing the protocol here, include a proving of its ability to work from any OpenSCADA developer or a short demonstration video.
Contents
[hide]- 1 Common protocols
- 1.1 ModBus scanner (ModBusScan)
- 1.2 ModBus base (mbBase)
- 1.3 DCON Protocol + Input AI (DCON_Prt)
- 1.4 DCON Protocol + Input AO (DCON_Prt_AO)
- 1.5 DCON Protocol + Input DI (DCON_Prt_DI)
- 1.6 DCON Protocol + Input DO (DCON_Prt_DO)
- 1.7 Distributed Network Protocol 3 (DNP3)
- 1.8 IEC-60870 (IEC60870)
- 1.9 IEC-62056 (IEC62056)
- 1.10 OWEN (OWEN)
- 2 Industrial automation devices
- 2.1 Elemer TM510x (TM510x)
- 2.2 EDWARDS TURBOMOLECULAR PUMPS (SCU750)
- 2.3 Sycon Multi Drop Protocol (SMDP)
- 2.4 Power supply for turbomolecular pumps (TMH)
- 2.5 Temperature measurement IT-3 (IT3)
- 2.6 Power supply of beam-electrons evaporator (IVE-452HS-02)
- 2.7 OPTRIS CT/CTL (OPTRIS)
- 2.8 CTR 100, 101 (CTR)
- 2.9 Shark Slave Communication Protocol (SSCP)
- 2.10 Pulsar-M (pulsarM)
- 2.11 VSE002 (VSE002)
- 2.12 Incubator (Incubator)
- 2.13 MTP 4D (MTP4D)
- 3 Counters of the resources
- 3.1 Heat counter computer VKT7 (VKT7)
- 3.2 Slot LTD devices (SLOT)
- 3.3 Corrector BK (CorBK)
- 3.4 AutoPILOT PRO Flow Computers (AutoPILOT)
- 3.5 AutoPILOT Flow Computers (AutoPILOT_old)
- 3.6 Goboy 1M (Goboy1M)
- 3.7 Ultramag (UltraMag)
- 3.8 Tancy Data (TDS)
- 3.9 Flow GAS (FlowGAS)
- 3.10 Enron, Daniel (enronDaniel)
- 3.11 Mercury 200 (m200)
- 3.12 Mercury 230 (m230)
- 3.13 Nik2303I (Nik2303I)
- 3.14 FF LE-03MB CT (FF_LE)
- 3.15 Ergomera 625 (ergomera625)
1 Common protocols
1.1 ModBus scanner (ModBusScan) |
1.0 | GPLv2 | * | en, uk, ru | Roman Savochenko |
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.
- Total complexity: 0.2 HD[!]
- Sponsored by, for whole complexity: SVItoVYR Ltd
Template IOs
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.3 | GPLv2 | * | en,uk,ru | Roman Savochenko |
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 (functions 3, 4 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.
- Total complexity: 0.5 HD[!]
- Sponsored by, for whole complexity: Elyor Turaboev, BLUE STAR GROUP Ltd
Template IOs
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 present one with need 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 the address of the automatically created transport with its parameters after ":", accordingly to the function SYS.Transport.outAt() address format. 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 |
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.
- Total complexity: 2.0 HD[!]
- Sponsored by, for whole complexity: Hadi Ramezani and Hossein Malakooti
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):
- 1.[2] — Binary Input [with status]
- 2.[1] — Binary Input Changed [w/o time]
- 3.[2] — Double-bit Input [with status]
- 4.[1] — Double-bit Input Changed [w/o time]
- 10.[2] — Binary Output (reading back and used to write also) [with status]
- 20,21.[1] — Binary Counter (Typical,Frozen) [32-Bit]
- 22,23.[1] — Binary Counter Changed (Typical,Frozen) [32-Bit w/o time]
- 30.[1,5] — Analog Input [32-bit integer value with flag, 32-bit floating point value with flag]
- 32.[7] — Analog Input Changed [32-bit floating point value with flag and event time]
- 40.[1] — Analog Output (reading back and used to write also) [32-bit integer value with flag]
- 50 — Time and Date (just passed and not read) [indexed absolute time and long interval]
- 60.[1,2,3,4] — Classes [0,1,2,3]
- 80.[1] — Device [Restart 7=Off(0x01)]
- 110.[1] — Octet String (just passed and not read) [Sized by variation]
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:
- ai|ao|cnt|di|do — data type, where:
- "ai" — analog inputs, transmitted by the functions 30 and 32;
- "ao" — analog outputs, transmitted by the function 40;
- "cnt" — counters, transmitted by the functions 20, 21, 22, 23; so Typical and Frozen counters is in one space;
- "di" — discrete inputs, transmitted by the functions 1, 2, 3, 4; so Binary Input and Double-bit Input is in one space;
- "do" — discrete outputs, transmitted by the function 10.
- {pnt} — point number of the range begin;
- {endPnt} — the range end (the last point number);
- a — sign of creating the representative attribute for the parameter or the parameters group;
- {NameBase} — naming base of the attributes.
Examples of the parameters definition, rows of the attribute "itemsSet":
- ai:0-9:a — analog inputs in the points range [0...9] with forming the attributes;
- ao:0-9:a — analog outputs in the points range [0...9] with forming the attributes;
- di:0-9:a — discrete inputs in the points range [0...9] with forming the attributes;
- do:0-9:a — discrete outputs in the points range [0...9] with forming the attributes;
- cnt:0-9:a — counters in the points range [0...9] with forming the attributes.
Template IOs
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 present one with need 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 |
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.
- State of the protocol implementing:
- CLIENT of the specification PART 104 (Ethernet transport);
- Services: STARTDT, STOPDT, TESTFR, Ack, C_IC_NA_1 (100), C_CI_NA_1 (101), C_SC_NA_1 (45), M_SP_NA_1 (1), M_SP_TA_1 (2), M_DP_NA_1 (3), M_DP_TA_1 (4), M_ME_NB_1 (11), M_ME_NC_1 (13), M_ME_TF_1 (36), C_CS_NA_1 (103);
- For information ones, the sequential (SQ) mode enabling and disabling are supported.
- Total complexity: 3.8 HD[!]
- Sponsored by, for initial implementation on 3.0 HD[!]: Ustijancev Michael
- Sponsored by, for extending on 0.8 HD[!]: SVItoVYR Ltd
- Implementing task
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:
- ai|di|do — data type, where:
- "ai" — analog inputs, transmitted by the message M_ME_NB_1, M_ME_NC_1, M_ME_TF_1 and requested by C_IC_NA_1;
- "di" — discrete inputs, transmitted by the message M_SP_NA_1, M_SP_TA_1, M_DP_NA_1, M_DP_TA_1 and requested by C_IC_NA_1;
- "do" — discrete outputs, is transmitted by C_SC_NA_1.
- {IOA} — parameter address of the range begin;
- {EndIOA} — the range end (the last item address);
- a — sign of creating the representative attribute for the parameter or the parameters group;
- {NameBase} — naming base of the attributes.
Examples of the parameters definition, rows of the attribute "itemsSet":
- di:100-108:a — discrete inputs in the address range [100...108] with forming the attributes;
- ai:873-880:a — analog inputs in the address range [873...880] with forming the attributes;
- do:1-10:a — discrete outputs in the address range [1...10] with forming the attributes.
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
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 present one with need 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 |
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.
- State of the protocol implementing:
- CLIENT of the specification PART 46;
- reading of the directly specified OBISes.
- Total complexity: 3.3 HD[!]
- Sponsored by, for whole complexity: SVItoVYR Ltd
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:
- "IEC 62056-46:2007" — Data link layer using HDLC protocol.
- "IEC 13239:2002" — Telecommunications and information exchange between systems — High-level data link control (HDLC) procedures.
- "IEC 62056-53:2006" — COSEM application layer.
- "IEC 62056-61:2006" — Object identification system (OBIS).
- "IEC 62056-62:2006" — Interface classes.
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
- "1-0.0.96.1.255.255-2" — serial number;
- "1-0.0.142.1.1.255-2" — software version;
- "8-0.0.1.0.0.255-2" — counter time;
- "3-1.1.14.7.0.255-0" — Frequency Instantaneous (mains frequency);
- Multiple-group items
- "7-255.255.98.133.2.255-2" — Total Energy Registers;
- "7-1.1.98.128.1.255-2" — phase angle;
- "7-1.1.98.128.2.255-2" — neutral;
- "7-1.1.98.128.3.255-2" — Power;
- "7-1.1.98.128.4.255-2" — RMS;
- "7-1.1.98.128.5.255-2" — Power factor;
- "7-1.1.98.128.6.255-2" — phase offset.
Template IOs
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 present one with need 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.
- State of the protocol implementing: Client of the protocol for reading and writing the specified PLC properties.
- Total complexity: 0.5 HD[!]
- Actual issues: The undocumented behaviour:
- МВ110-8А responds error 0x31 for reading "in-t": >1003023331932DCB43 <1010932D4791;
- and error 0x34 for it writing: >1003023334932D2A42 <1001932D0BEDBC.
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
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 present one with need 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.
- Sponsored by: DIYA Ltd
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
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 present one with need 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.
- Sponsored by: Vassily Grigoriev, the Laboratory of Vacuum Technologies
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
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 present one with need 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).
- Sponsored by: Vassily Grigoriev, the Laboratory of Vacuum Technologies
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
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 present one with need 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.
- Sponsored by: Vassily Grigoriev, the Laboratory of Vacuum Technologies
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
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 present one with need 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.
- Sponsored by: Vassily Grigoriev, the Laboratory of Vacuum Technologies
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
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 present one with need 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.
- Sponsored by: Vassily Grigoriev, the Laboratory of Vacuum Technologies
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
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 present one with need 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.
- Sponsored by: Vassily Grigoriev, the Laboratory of Vacuum Technologies
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
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 present one with need 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.
- Sponsored by: Vassily Grigoriev, the Laboratory of Vacuum Technologies
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
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 present one with need 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.
- Total complexity: 1.35 HD[!]
- Sponsored by, for whole complexity: Costumer Faster CZ
Template IOs
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 present one with need 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.
- Sponsored by: Zubarev Dmitry, IP INTEGRAL
Template IOs
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 present one with need 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 VSE002 (VSE002) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements for main data acquisition of the vibration sensors of the firm IFM according to the reverse-engineering. Development and testing was performed on base of the sensor VSE002, so you can use the template in compatible devices.
The main data are ones transferred by the packages with indexed parameters: B16 — two different and B20 — one with three additional. The parameters are specific for configuration the device, so their representative attributes are created dynamically at receiving the packages. The template provides also of creation the aliased attributes with user specified ID and some simple processing by their describing in the attribute "User signals (custSign)".
- Total complexity: 3.0 HD[!]
- Sponsored by: Vinnica Poultry Farm
Template IOs
Configuring and using
- 1. Create and start a logical controller object — one for each the devices since traffic is big (~2KB/s) with the execution period in 1 (one) second.
- 2. Create one logical parameter object and select this template for it — enable the parameter.
- 3. Into the tab "Template configuration" of the logical parameter object you need to set:
- Transport — to the address of the automatically created transport with its parameters after ":", according to the function SYS.Transport.outAt() address format.
- Reconnection time — in time of detection the data missing for reconnection, due to the request is only one and next we filter the data stream.
- User signals — describes of aliases to the obtaining parameters in the format "{code}:{id}:{mult}", when for the code parameter is created attribute id with the value multiplication mult.
- 4. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.
2.12 Incubator (Incubator) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements the data acquisition of the Incubator Machines of firm ? in active and passive modes according to the reverse-engineering.
Data of the machines is static but due to implementing two modes — active and passive, their attributes are created dynamically. The active mode means direct data requesting in a corresponded machine, when the passive mode is filtered whole traffic in the RS422 network and is created child virtual parameters for each machine corresponding to the obtained data.
The template implements the collection of statistics about the network in general and for each individual machine.
General statistics include: the number of read and processed packages, and the time of the last one; the remaining time (seconds) before the restart-reconnection of the transport in the absence of traffic in the input channel from "Reconnection time, data missing for passive (tmCon)".
The statistics of a separate machine include: the number of received and processed packages, and the time of the last one; the current data update periodicity with maximum; the number of machine shutdowns, i.e. setting the attributes of the machine parameters in EVAL due to the lack of packages data during the specified time "Time of missing the machine data to set EVAL (tmToEVAL)".
- Total complexity: 4.3 HD[!]
- Sponsored by: Vinnica Poultry Farm
Template IOs
Configuring and using
- 1. Create and start a logical controller object or use any present one with need scheduling properties.
- 2. Create a logical parameter object and select this template for it, one for each the devices in the active mode or one for whole devices in the RS422 network for the passive mode — enable the parameter.
- 3. Into the tab "Template configuration" of the logical parameter object you need to set:
- Transport — to the address of the automatically created transport with its parameters after ":", according to the function SYS.Transport.outAt() address format.
- Device address [0...255], and -1 for the passive mode — set here the corresponded device address for the active mode or -1 for the passive mode.
- Reconnection time, data missing for passive — in time of detection the data missing for reconnection in the passive filtering mode.
- Time of missing the machine data to set EVAL — in time of detection the machine data missing for marking its attributes to EVAL in the passive filtering mode.
- 4. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.
2.13 MTP 4D (MTP4D) |
1.1 | GPLv2 | * | en,uk,ru | Roman Savochenko |
The connection template of a simple vacuumeter MTP 4D of the firm "Erstevak Ltd".
- Total complexity: 0.3 HD[!]
- Sponsored by, for whole complexity: Magomed, SAVTECH
Template IOs
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 present one with need 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.
- Total complexity: 4.9 HD[!]
- Sponsored by, for initial implementation on 4.0 HD[!]: Vladislav Chubuk, Teplocom LTD
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
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 present one with need 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 Slot LTD devices (SLOT) |
0.8 | GPLv2 | * | en | Roman Savochenko |
The template implements support for counters and correctors of the "SLOT" LTD production. The devices protocol is flexible and uniform for implementation of reading all available archives also as setting the configuration fields, but currently there was need only for reading the hourly archives, so the template reads the daily and hourly archives and some set of the instantaneous parameters.
The template includes also code for connect the counters through modems using the AT-commands.
- Total complexity: 4.8 HD[!]
- Sponsored by: Vinnica Poultry Farm
Template IOs
Configuring and using
- 1. Create and start a logical controller object or use any present one with need scheduling properties.
- 2. Create a logical parameter object and select this template for it, one for each the devices — enable the parameter.
- 3. Into the tab "Template configuration" of the logical parameter object you need to set:
- Transport — to the address of the automatically created transport with its parameters after ":", according to the function SYS.Transport.outAt() address format.
- Modem — here you can set the modem configuration in the format "{TelN}[:{Init1}[:{Init2}[...{InitN}]]]" if your device accessed through a modem.
- Modem times — here you can change the default modem timeouts in the form "{tm}:{ConTm}" if your device accessed through a modem.
- Device address [0...65535] — set here the device address — Serial Number converted from hex to decimal.
- Pipe number [0...1] — change here the default pipe of the device.
- Scheduling at CRON — set here the logical execution at the CRON.
- Time limit of processing the archiving, seconds — change here the default safety timeout.
- OpenSCADA archiver for device archive of days — set here the archive used for storing the daily (86400 seconds) values — enables the day archive reading.
- OpenSCADA archiver for device's archive of hours — set here the archive used for storing the hourly (3600 seconds) values — enables the hour archive reading.
- 4. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.
3.3 Corrector BK (CorBK) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for BK Correctors of Gas Flow in most completed volume, that is it is the most complex and advanced template for this consumer.
Parameters, provided by this protocol, are static, that is all their representing attributes are provided by the template. Part of these parameters have hourly (4 parameters), day (6 parameters) and month (4 parameters) history. Some part of the parameters are settings. And the protocol also provides reading of the alarm history. Archives reading enabled only for specified archivers in the proper configuration fields.
The template works in two modes: initial and tracing. Where the initial mode means first reading all archives from hourly one and switching to the tracing mode after finish the reading, that is reading current values and the fresh archiving.
Status of the template is shown in the "Error (err)" attribute with information about the mode and position of the read data of the archives. Due to the communication is slow and archives can be big, status of the read archive data saved at it change, that is you can stop the template or disable PC in whole but the template will continue the archives reading from saved position and not from the begin, which reset you can by the proper boolean attribute.
- Total complexity: 5.2 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Sockets" or "Serial" and set its Identifier like to "BK", 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 present one with need scheduling properties — must be set in the period 10...60 seconds.
- 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 in step 1.
- Device address [0...15] — to logical address of the device on the bus under the transport in step 1. Tracing for the address changing is supported.
- Current values request in regular — a sign of requesting current values in regular, which can be disabled for saving the device battery.
- OpenSCADA archiver for device's archive of hours — set to the value archiver whole ID like to "FSArch.1h" for an archiver with data quality-period in 3600 seconds — create one at missing.
- OpenSCADA archiver for device's archive of days — set to the value archiver whole ID like to "FSArch.1d" for an archiver with data quality-period in 86400 seconds — create one at missing.
- OpenSCADA archiver for device's archive of months — set to the value archiver whole ID like to "FSArch.1m" for an archiver with data quality-period in 86400 seconds — create one at missing.
- OpenSCADA archiver for device's archive of Alarms — set to the message archiver whole ID like to "FSArch.alarms" for an archiver — create one at missing.
- Currents try period — to reading period of current values and last archive values.
- Time limit of processing of archiving — to time limit of execution the procedure during archives reading.
- 6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes and archives.
- 7. In the process of the working, through the tab "Archiving" you have to select the archiving parameters in the used archivers to create the representative archives.
- 8. ... through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
- Reset the archives reading and configuration — to reset positions of the archive reading.
- Set: ... — to set need device settings.
3.4 AutoPILOT PRO Flow Computers (AutoPILOT) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for AutoPILOT PRO Flow Computers from Thermo Fisher Scientific.
Communication protocol of the devices is based on ModBus but it implements only nonstandard functions.
Parameters, provided by this protocol, are mixed for static and dynamic, that is attributes for archiving parameters are provided by the template and settings from some table can be specified in the attribute "Read tables set" for dynamic creation the representative attributes. Table 128 also has named parameters. For archiving parameters (8) there are provided hourly and daily archives. Also there are provided alarms and audits archives.
The template works in two modes: initial and tracing. Where the initial mode means first reading all archives from hourly one and switching to the tracing mode after finish the reading, that is reading fresh archiving and the specified tables of the settings.
Status of the template is shown in the "Error (err)" attribute with information about the mode and position of the read data of the archives.
- Total complexity: 4.25 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Sockets" or "Serial" and set its Identifier like to "pilot", 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 a ModBus controller object or use any present one with need 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 the address of the created transport in Step 1. Leave the field empty for the ModBus controller object. Tracing for the address changing is supported.
- Device address [0...255] — to logical address of the device on the bus under the transport in Step 1.
- Connection try time — to time of try and restore loss connections.
- OpenSCADA archiver for device's archive of hours — set to the value archiver whole ID like to "FSArch.1h" for an archiver with data quality-period in 3600 seconds — create one at missing.
- OpenSCADA archiver for device's archive of days — set to the value archiver whole ID like to "FSArch.1d" for an archiver with data quality-period in 86400 seconds — create one at missing.
- OpenSCADA archiver for device's archive of ALARMS — set to the message archiver whole ID like to "FSArch.alarms" for an archiver — create one at missing.
- OpenSCADA archiver for device's archive of AUDIT — set to the message archiver whole ID like to "FSArch.audit" for an archiver — create one at missing.
- Archive time zone — to timezone of the remote archives' time.
- Poll events (ALARMS and AUDITS) time — to time of checking new alarms and audits.
- Read tables set — to reading setting tables by lines in the format "{tblN}:{pgN}:{updPer}:{reqSubStr}".
- 6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes and archives.
- 7. In the process of the working, through the tab "Archiving" you have to select the archiving parameters in the used archivers to create the representative archives.
- 8. ... through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
- Reset the archives reading — to reset positions of the archive reading.
3.5 AutoPILOT Flow Computers (AutoPILOT_old) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for AutoPILOT Flow Gas Computers from Thermo Fisher Scientific known as old devices of the firm, when new-pro ones are here.
Communication protocol of the devices is completely specific and also works on serial busses with the same CRC algorithm as in ModBus/RTU.
Parameters, provided by this protocol, are all static, that is the representative attributes are provided by the template. For archiving parameters (6) there are provided hourly and daily archives.
The template works in two modes: initial and tracing. Where the initial mode means first reading all archives from hourly one and switching to the tracing mode after finish the reading, that is reading fresh archiving, the instantaneous and calculated data.
Status of the template is shown in the "Error (err)" attribute with information about the mode and position of the read data of the archives.
- Total complexity: 1.2 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Sockets" or "Serial" and set its Identifier like to "pilotOld", 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 present one with need 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 the address of the created transport in Step 1. Tracing for the address changing is supported.
- Device address [0...255] — to logical address of the device on the bus under the transport in Step 1.
- Connection try time — to time of try and restore loss connections.
- OpenSCADA archiver for device's archive of hours — set to the value archiver whole ID like to "FSArch.1h" for an archiver with data quality-period in 3600 seconds — create one at missing.
- OpenSCADA archiver for device's archive of days — set to the value archiver whole ID like to "FSArch.1d" for an archiver with data quality-period in 86400 seconds — create one at missing.
- Time limit of processing the archiving — to limit time of processing the archives in one cycle.
- 6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes and archives.
- 7. In the process of the working, through the tab "Archiving" you have to select the archiving parameters in the used archivers to create the representative archives.
- 8. ... through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
- Reset the archives reading — to reset positions of the archive reading.
3.6 Goboy 1M (Goboy1M) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for Goboy 1M Gas Counters.
Communication protocol of the devices is based on ModBus but it implements only nonstandard functions.
Parameters, provided by this protocol, are all static, that is the representative attributes are provided by the template. For archiving parameters (7) there are provided hourly, daily and month archives.
The template works in two modes: initial and tracing. Where the initial mode means first reading all archives from hourly one and switching to the tracing mode after finish the reading, that is reading fresh archiving and current data.
Status of the template is shown in the "Error (err)" attribute with information about the mode and position of the read data of the archives.
- Total complexity: 1.0 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Sockets" or "Serial" and set its Identifier like to "goboy", 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 a ModBus controller object or use any present one with need 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 the address of the created transport in Step 1. Leave the field empty for the ModBus controller object. Tracing for the address changing is supported.
- Device address [0...247] — to logical address of the device on the bus under the transport in Step 1.
- OpenSCADA archiver for device's archive of hours — set to the value archiver whole ID like to "FSArch.1h" for an archiver with data quality-period in 3600 seconds — create one at missing.
- OpenSCADA archiver for device's archive of days — set to the value archiver whole ID like to "FSArch.1d" for an archiver with data quality-period in 86400 seconds — create one at missing.
- OpenSCADA archiver for device's archive of months — set to the value archiver whole ID like to "FSArch.1m" for an archiver with data quality-period in 86400 seconds — create one at missing.
- Currents try period — to reading period of current values and last archive values.
- Time limit of processing of archiving — to time limit of execution the procedure during archives reading.
- 6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes and archives.
- 7. In the process of the working, through the tab "Archiving" you have to select the archiving parameters in the used archivers to create the representative archives.
- 8. ... through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
- Reset the archives reading and configuration — to reset positions of the archive reading.
- Current time — to time on PLC.
- Count hour — account hour of day.
3.7 Ultramag (UltraMag) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for Ultramag Gas Meters of the firm "EPO Signal" LTD.
Communication protocol of the devices is based on ModBus but with support only function 4 (Read Input Registers) and 16 (Preset Multiple Registers). The protocol supports reading archives also, that is why it implemented as a different template.
Parameters, provided by this protocol, are static, that is all their representing attributes are provided by the template. Part of these parameters have hourly (4 parameters), day (6 parameters) and month (4 parameters) history. Archives reading enabled only for specified archivers in the proper configuration fields.
The template works in two modes: initial and tracing. Where the initial mode means first reading all archives from hourly one and switching to the tracing mode after finish the reading, that is reading current values and the fresh archiving.
Status of the template is shown in the "Error (err)" attribute with information about the mode and position of the read data of the archives. Due to the communication is slow and archives can be big, status of the read archive data saved at it change, that is you can stop the template or disable PC in whole but the template will continue the archives reading from saved position and not from the begin, which reset you can by the proper boolean attribute.
- Total complexity: 1.0 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Sockets" or "Serial" and set its Identifier like to "umag", 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 a ModBus controller object or use any present one with need scheduling properties — must be set in the period 10...60 seconds.
- 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 the address of the created transport in Step 1. Leave the field empty for the ModBus controller object. Tracing for the address changing is supported.
- Device address [0...247] — to logical address of the device on the bus under the transport in Step 1.
- OpenSCADA archiver for device's archive of hours — set to the value archiver whole ID like to "FSArch.1h" for an archiver with data quality-period in 3600 seconds — create one at missing.
- OpenSCADA archiver for device's archive of days — set to the value archiver whole ID like to "FSArch.1d" for an archiver with data quality-period in 86400 seconds — create one at missing.
- OpenSCADA archiver for device's archive of months — set to the value archiver whole ID like to "FSArch.1m" for an archiver with data quality-period in 86400 seconds — create one at missing.
- Currents try period — to reading period of current values and last archive values.
- Time limit of processing of archiving — to time limit of execution the procedure during archives reading.
- 6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes and archives.
- 7. In the process of the working, through the tab "Archiving" you have to select the archiving parameters in the used archivers to create the representative archives.
- 8. ... through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
- Reset the archives reading and configuration — to reset positions of the archive reading.
3.8 Tancy Data (TDS) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for Tianxin V1 protocol of Gas Correctors TC220 from GasElectro. Communication protocol of the devices is completely specific.
Parameters, provided by this protocol, are all static, that is the representative attributes are provided by the template. For archiving parameters (4) there is provided only the hourly archive.
- Total complexity: 0.95 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Sockets" or "Serial" and set its Identifier like to "TDS", one for each the device.
- 2. Set proper address and timeouts of the Sockets or Serial device — the symbol/next timeout must be big enough for archives reading since the response packages can come with the interval about 5 seconds.
- 3. Create and start a logical controller object or use any present one with need 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 the address of the created transport in Step 1. Tracing for the address changing is supported.
- Device address [0...255] — to logical address of the device on the bus under the transport in Step 1.
- Currents try period — to reading period of current values and last archive values.
- OpenSCADA archiver for device's archive of hours — set to the value archiver whole ID like to "FSArch.1h" for an archiver with data quality-period in 3600 seconds — create one at missing.
- 6. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes and archives.
- 7. In the process of the working, through the tab "Archiving" you have to select the archiving parameters in the used archivers to create the representative archives.
3.9 Flow GAS (FlowGAS) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for FlowGas Gas Correctors of the firm "EPO Signal" LTD.
Communication protocol of the devices is based on standard ModBus but with re-implementing function 16 for reading archives. So, the template became the first one used the template "ModBus base (mbBase)" in own ground.
Parameters, provided by this protocol, are mixed for static and dynamic, that is attributes for archiving parameters are provided by the template and extra current ones can be specified in the attribute "Items set" for dynamic creation the representative attributes. For archiving parameters (4) there is provided only the hourly archive.
The template works in two modes: initial and tracing. Where the initial mode means first reading all archives from hourly one and switching to the tracing mode after finish the reading, that is reading current values and the fresh archiving.
Status of the template is shown in the "Error (err)" attribute with information about the mode and position of the read data of the archives. Due to the communication is slow and archives can be big, status of the read archive data saved at it change, that is you can stop the template or disable PC in whole but the template will continue the archives reading from saved position and not from the begin, which reset you can by the proper boolean attribute.
- Total complexity: 1.3 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Serial" or "Sockets", and set its Identifier like to "fgas", 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 present one with need 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 the address of the created transport in Step 1. Leave the field empty for the ModBus controller object. Tracing for the address changing is supported.
- Device address [0...255] — to logical address of the device on the bus under the transport in Step 1.
- ModBus type (for the logical controller object) — to the ModBus protocol type/variant from the list RTU, ASCII, TCP — set to RTU.
- ModBus maximum block size (for the logical controller object) — to the ModBus protocol package data maximum size in the range [10...200].
- OpenSCADA archiver for device's archive of hours — set here the archive used for storing the hourly (3600 seconds) values — enables the hour archive reading.
- Time limit of processing the archiving, seconds — change here the default safety timeout.
- 6. RESULT: The logical parameter object will: perform interaction and placing of gathered data to the parameter attributes, 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.
- 7. In the process of the working, through the tab "Archiving" you have to select the archiving parameters in the used archivers to create the representative archives.
- 8. ... through the tab "Attributes" of operational data, in addition to obtaining the result, it is possible to perform operative setup and control on:
- Reset the archives reading and configuration — to reset positions of the archive reading.
3.10 Enron, Daniel (enronDaniel) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for Enron, Daniel Gas Counters.
Communication protocol of the devices is based on ModBus but with registers size 4 bytes instead standard 2 bytes, that is they cannot be polled by the standard OpenSCADA module DAQ.ModBus. So, the template implements that protocol variant on the Logical Level and with main features of the DAQ.ModBus module, that is allows for free registers specifying. On ground the module later was created the "ModBus base (mbBase)" template as a base for further creation related to ModBus templates with standard functions and additional implementing only specific functions.
For numbers need registers go to documentation of vendor the devices! The template provides only reading current values and has not got any archives due to missing such feature in the communication protocol.
- Total complexity: 0.6 HD[!]
- Ordered by: BLUE STAR GROUP Ltd
Template IOs
Configuring and using
- 1. Create an output transport of the type "Serial" or "Sockets", and set its Identifier like to "enron", 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 present one with need 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 the address of the created transport in 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.
- ModBus type (for the logical controller object) — to the ModBus protocol type/variant from the list RTU, ASCII, TCP — set to RTU.
- 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.
3.11 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
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 present one with need 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.12 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
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 present one with need 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.13 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
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 present one with need 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.
3.14 FF LE-03MB CT (FF_LE) |
1.0 | GPLv2 | * | en | Roman Savochenko |
The template implements support for counters of electricity bidirectional on 1-phase/3-phase with analyse the network parameters LE-03MB CT of the firm "F&F".
Protocol of the counters is M-bus and it doesn't provide of reading the data history, so the template has to obtain instant values only with need periodicity related to the network quality. Data of the counters are completely static, that is all their representing attributes are provided by the template.
Coefficients for P (in 100) and P_{N} (in 1000) was set at demands of the end user, so that is no error.
- Total complexity: 0.9 HD[!]
- Sponsored by: Vinnica Poultry Farm
Template IOs
Configuring and using
- 1. Create and start a logical controller object or use any present one with need scheduling properties.
- 2. Create a logical parameter object and select this template for it, one for each the devices — enable the parameter.
- 3. Into the tab "Template configuration" of the logical parameter object you need to set:
- Transport — to the address of the automatically created transport with its parameters after ":", according to the function SYS.Transport.outAt() address format.
- Device address [0...255] — set here the device address.
- 4. RESULT: The logical parameter object will perform interaction and placing of gathered data to the parameter attributes.
3.15 Ergomera 625 (ergomera625) |
0.1 | GPLv2 | * | en | Roman Savochenko |
The template implements support for Ergomera 625 Counters of electricity and it based on the common template "ModBus base (mbBase)" since protocol of the counters grounded on standard ModBus function in main parameters.
The template currently supports only reading the ModBus registers without accessing the history due to the device protocol has got common problems here.
- Total complexity: 0.3 HD[!]
- Sponsored by: Vinnica Poultry Farm
Template IOs
Configuring and using
- 1. Create and start a logical controller object or use any present one with need scheduling properties.
- 2. Create a logical parameter object and select this template for it, one for each the devices — enable the parameter.
- 3. Into the tab "Template configuration" of the logical parameter object you need to set:
- Transport — to the address of the automatically created transport with its parameters after ":", according to the function SYS.Transport.outAt() address format.
- Device address [0...247] — set here the device address.
- ModBus type (for the logical controller object) — to the ModBus protocol type/variant from the list — RTU.
- ModBus maximum block size (for the logical controller object) — to the ModBus protocol package data maximum size in the range [10...200] — 200.
- ModBus blocks merging (for the logical controller object) — for allowance of merging the ModBus protocol fragmented blocks of the registers — 1.
- 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 writable attributes.