Name: | UserPrtDevs |
Founded: | January 2010 |
Version: | 1.8 |
State: | Free (GPL2 by default) |
Author: | Roman Savochenko |
Description: | Library of functions for provide access to data of different network devices with most simply protocols like to wide resources counters. |
Address: | DB in file: SQLite.LibDB.tmplib_DevLib and SQLite.LibDB.UserProtocol_uPrt (![]() |
Compatibility: | OpenSCADA >= 0.9 |
The templates library "DevLib" is created to provide common templates and related functions for custom access to wide range of devices' data with simple protocol to implement into User Protocol module, present complex protocols (ModBus, OPC_UA, HTTP) or direct at internal language and also for some integration the devices data.
The template's names and it's parameters are available in languages: English, Ukrainian and Russian. Source code wrote into language independent mode with calls for the translations by function tr() and the message's translation also allowed for English, Ukrainian and Russian.
To connect the library to the project of the OpenSCADA station it is possible by downloading the attached file of the database, placing it in in the database directory of the station's project and creating the database object for the DB module "SQLite", indicating the database file in the configuration.
To use the templates at generic you need create the device representing object into module of Logical controller and select proper template from the templates library. Next follow to specific for the template into individual description to correct configuration.
In general the custom accessing conception to the device's data we can imagine like to figure 1.
As you can see from image 1 intermediate to the device carried out through some transport by the device physical base. Requests to the transport you can send:
For placing here a protocol you need do next and follow to shown demands:
Description: Provides operations with SMS by the GSM-modem connected as a serial device. For now supported only sending SMS messages to a number of remote cell phone or GSM modem. For sending supported: ECHO disable, PIN check and set, send in PDU and Text mode.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 2.1
Output user protocol's XML request structure: <{cmd} pin="1111" tel="+380XXXXXXXXX" text="{0|1}" err="1:Error">{SMSText}</cmd>
Using/configuring:
Description: Provides operations with EMail by its send through TCP-Socket or SSL. For now supported: TCP, SSL, AUTH, topic encoding for UTF-8.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.1
Output user protocol's XML request structure: <send auth="{user}:{pass}" from="{FromAddr}" to="{ToAddr}" topic="{My Topic}" err="1:Error">{MessageText}</send>
Using/configuring:
Description: Uninterruptible power supply unifying data for provide all the data into single attribute of object type "All items" for next the control as the object with the data provide as table, alarming and allowing set writable attributes. The template aimed for using with module "System" data source as "UPS" and widget "Main.objProps" as the data presenter. The template also you can use as example for create like other data unification as complex object with properties, alarming and writing.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.2
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
srcAddr | Source object's address | String | Input | No attribute | Constant | |
items | All items | Object | Output | Full access | Variable | |
this | The object | Object | Input | No attribute | Variable | |
SHIFR | Code | String | Input | No attribute | Variable | |
NAME | Name | String | Input | No attribute | Variable | |
DESCR | Description | String | Input | No attribute | Variable |
Using/configuring:
Description: Multichannels thermometer Elemer TM5102 and TM5103 of firm Elemer.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.0
Output user protocol's XML request structure: <mess addr="1" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | tm510x |
addr | Device address (1...254) | Integer | Input | No 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 |
Using/configuring:
Description: Typical EDWARDS TURBOMOLECULAR PUMPS (http://edwardsvacuum.com) data request by SCU750 Cotrol Unit protocol.
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vasiliy Grigoriev from "Vacuum technologies laboratory (http://e-beam.ru)".
Version: 1.0
Output user protocol's XML request structure: <mess addr="1" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | SCU750 |
addr | Device address (-1...255) | Integer | Input | No attribute | Constant | 1 |
perGet | Period data getting (s) | Real | Input | No 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 | No attribute | Variable | |
cnt | Counter | Integer | Output | No attribute | Variable | |
operModes | Operation modes | Object | Output | No attribute | Variable |
Using/configuring:
Description: Firm "Teplocom" (http://www.teplocom.spb.ru) computer "VKT-7" for complex heat measurement and the count. The device complex enough by provide more parameters, more history to its and access by nonlinear Serial-based protocol at low speed. The template implement acquisition for all significant parameters, get history by hours, days and result months. Also you can simple enough append for process other left parameters.
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vladislav Chubuk
Version: 1.0
Output user protocol's XML request structure: <mess addr="1" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
imit | Imitation drift % (0-disable) | Real | Input | No attribute | Constant | 0 |
trAddr | Transport | String | Input | No attribute | Constant | Transport.Serial.out_VKT7 |
arhH | Archiver: hours | String | Input | No attribute | Constant | |
arhD | Archiver: days | String | Input | No attribute | Constant | |
arhRes | Archiver: results-month | String | Input | No attribute | Constant | |
maxDayDepth | Archiver: maximum read depth for no hours archiver, days | Integer | Input | No 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 |
Using/configuring:
Description: STM devices for resonant frequency measurement for mass of deposited films attached to its surface by Sycon Instruments, Inc. (http://www.sycon.com).
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vasiliy Grigoriev from "Vacuum technologies laboratory (http://e-beam.ru)".
Version: 1.0
Output user protocol's XML request structure: <mess addr="16" try="1" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | SMDP |
addr | Device address (16...254) | Integer | Input | No attribute | Constant | 16 |
perGet | Period data getting (s) | Real | Input | No 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 |
Using/configuring:
Description: Power supply for turbomolecular pumps of firm SHIMADZU, model EI-R04M.
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vasiliy Grigoriev from "Vacuum technologies laboratory (http://e-beam.ru)".
Version: 1.0
Output user protocol's XML request structure: <mess addr="1" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | TMP |
addr | Device address (-1...255) | Integer | Input | No attribute | Constant | 1 |
perGet | Period data getting (s) | Real | Input | No 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 | No attribute | Variable | |
operModes | Operation modes | Object | Output | No attribute | Variable |
Using/configuring:
Description: Temperature measurement IT-3 from OmskEtalon.
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vasiliy Grigoriev from "Vacuum technologies laboratory (http://e-beam.ru)".
Version: 1.2
Output user protocol's XML request structure: <mess addr="1" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | IT3 |
addr | Device address | Integer | Input | No 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 |
Using/configuring:
Description: Power supply of beam-electrons evaporator of "Plasma Tech" Ltd, from Moskov.
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vasiliy Grigoriev from "Vacuum technologies laboratory (http://e-beam.ru)".
Version: 1.0
Output user protocol's XML request structure: <mess addr="255" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | Sockets.out_IVE |
addr | Device address | Integer | Input | No 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 |
Using/configuring:
Description: OPTRIS CT/CTL communication interface of "Optris" GmbH, from Berlin.
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vasiliy Grigoriev from "Vacuum technologies laboratory (http://e-beam.ru)".
Version: 1.0
Output user protocol's XML request structure: <mess addr="1" cs="1" err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | Serial.out_OPTRIS |
addr | Device address | Integer | Input | No 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 |
Using/configuring:
Description: The RS232C Serial Interface permits the communication between the digital Oerlikon Leybold Vacuum CERAVAC, from Köln.
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Vasiliy Grigoriev from "Vacuum technologies laboratory (http://e-beam.ru)".
Version: 1.0
Output user protocol's XML request structure: <mess err="1:Error">{req}</mess>
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | Serial.out_CTR |
press | Pressure, Tor | Real | Output | Read only | Variable | |
zeroSet | Zero set | Logical | Input | Full access | Variable |
Using/configuring:
Description: 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. The template implements part 104 (Ethernet transport) for the client and followed services: STARTDT, STOPDT, TESTFR, Ack, C_IC_NA_1, C_CI_NA_1, C_SC_NA_1, M_SP_NA_1, M_ME_NB_1, C_CS_NA_1. To accumulation of the gathered and controlling data used an object into attribute "items" for next the control as the object with the data represent as table, alarming and allowing set the writable attributes. To the data control by attributes at once you can point its into the attribute "itemsSet". Into the template for the first time used the non request mode of an output transport and free attributes creation wile performing.
Version: 1.0
Author: Roman Savochenko <rom_as@oscada.org>
Sponsored: Ustijancev Michael.
Implementing task: http://oscada.org/en/development/tasks/posts/subsystem_daq/iec_60870_5_acquisition_protocol_implementation
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport | String | Input | No attribute | Constant | Sockets.out_IEC60870 |
addr | Address, {addr}.{OA} | String | Input | No attribute | Constant | 0.5 |
tmRetr | Retry connection time, s | Real | Input | No attribute | Constant | 10 |
t1 | Acknowledge lack timeout, s | Real | Input | No attribute | Constant | 1.5 |
t2 | Acknowledge timeout, s | Real | Input | No attribute | Constant | 1 |
t3 | Test timeout, s | Real | Input | No attribute | Constant | 2 |
k | Maximum unconfirmed | Integer | Input | No attribute | Constant | 12 |
w | Maximum no ack | Integer | Input | No 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 | |
this | Object | Object | Input | No attribute | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring:
Description: One phase counter of electricity Mercury 200, 203.2Ò, 206 from firm Incotex (http://www.incotexcom.ru)
Author: Arsen Zakojan <godzilla919@gmail.com>
Version: 1.0
Output XML request structure of user protocol: <req first="255" second="16777215" data="{req}">{resp}</mess>
Parameters of the template:
ID | Parameter | Type | Mode | Attribute | Configure | 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 | No attribute | Constant | merc200 |
netaddr | Network address | Real | Input | No attribute | Constant | 1 |
naladchik | Coded address by the program Fixer+ | Boolean | Input | No attribute | Constant | 0 |
tarif | Read energy from reset | Boolean | Input | No attribute | Constant | 1 |
UIP | Read current values | Boolean | Input | No attribute | Constant | 1 |
first | First byte of the address | Integer | Input | No attribute | Variable | |
second | Last 3 bytes of the address | Integer | Input | No attribute | Variable | |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
Using/configuring:
Description: Three phase counter of electricity Mercury 230, 231, 232, 233, 234, 236 from firm Incotex (http://www.incotexcom.ru)
Author: Arsen Zakojan <godzilla919@gmail.com>
Version: 1.0
Output XML request structure of user protocol: <req netaddr="255" data="{req}">{resp}</mess>
Parameters of the template:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
answer | Answer to the password request | String | Input | Read only | Variable | |
TS | Read energy of tariffs sum | Boolean | Input | No attribute | Constant | 0 |
T1 | Read energy of tariff 1 | Boolean | Input | No attribute | Constant | 0 |
T2 | Read energy of tariff 2 | Boolean | Input | No attribute | Constant | 0 |
T3 | Read energy of tariff 3 | Boolean | Input | No attribute | Constant | 0 |
T4 | Read energy of tariff 4 | Boolean | Input | No attribute | Constant | 0 |
P | Read power P | Boolean | Input | No attribute | Constant | 0 |
Q | Read power Q | Boolean | Input | No attribute | Constant | 0 |
S | Read power S | Boolean | Input | No attribute | Constant | 0 |
U | Read voltage U | Boolean | Input | No attribute | Constant | 0 |
I | Read current I | Boolean | Input | No attribute | Constant | 0 |
K | Read power coefficient | Boolean | Input | No attribute | Constant | 0 |
F | Read frequency F | Boolean | Input | No attribute | Constant | 0 |
N | Read serial number | Boolean | Input | No 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 | No attribute | Constant | 1 |
password | Password | String | Input | No attribute | Constant | 111111 |
transport | Transport | String | Input | No attribute | Constant | merc230 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
Using/configuring:
Description: Mostly aimed for example implement the user protocols into OpenSCADA and contains only main functions into the protocol part.
Author: Roman Savochenko <rom_as@oscada.org>
Input user protocol's part: Test implements only processing for requests '#' and '@' with fixed reply data.
Using/configuring:
Output user protocol's XML request structure: <ReqSymb addr="1" err="1:Error">{req}</ReqSymb>
Using/configuring:
Description: Mostly models of OWEN devices by specific protocol.
Author: Constantine (IrmIngeneer)
Refactoring: Roman Savochenko <rom_as@oscada.org>
Output user protocol's XML request structure: <mess addr="1" err="1:Error">{req}</mess> — message tag
Using/configuring:
Description: One Wire sensors bus implementing by 1Wire-adapter {DS9097,DS9097U}. Supported direct and parasite powering for the temperature sensors.
Supported 1Wire-devices: DS1820, DS1820/DS18S20/DS1920 (not tested), DS1822 (not tested), DS2413, DS2408, DS2450, DS2438.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.1, 1.1
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport of the One Wire bus, Serial | String | Input | No attribute | Constant | oneWire |
tmResc | Rescan period, s | Real | Input | No attribute | Constant | 60 |
power | Power, for temperature | Boolean | Input | Read only | Variable | |
this | Object | Object | Input | No attribute | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring:
Description: I2C 8-bit 4xA/D and D/A converter. Connect through a Serial output transport into the I2C mode.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.0
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport of the I2C, Serial | String | Input | No attribute | Constant | i2c |
addr | Device address [0...119] | Integer | Input | No attribute | Constant | 72 |
vRef | Reference voltage, V | Real | Input | No attribute | Constant | 3.2 |
ai0 | AI0 | Real | Input | Read only | Variable | |
ai1 | AI1 | Real | Input | Read only | Variable | |
ai2 | AI2 | Real | Input | Read only | Variable | |
ai3 | AI3 | Real | Input | Read only | Variable | |
ao | AO | Real | Input | Full access | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring:
Description: I2C 8-bit 8DIO. Connect through a Serial output transport into the I2C mode.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.0
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport I2C | String | Input | No attribute | Constant | i2c |
addr | Device address (0, 119) | Integer | Input | No attribute | Constant | 39 |
di0 | DI0 | Boolean | Input | Read only | Variable | |
di1 | DI1 | Boolean | Input | Read only | Variable | |
di2 | DI2 | Boolean | Input | Read only | Variable | |
di3 | DI3 | Boolean | Input | Read only | Variable | |
di4 | DI4 | Boolean | Input | Read only | Variable | |
di5 | DI5 | Boolean | Input | Read only | Variable | |
di6 | DI6 | Boolean | Input | Read only | Variable | |
di7 | DI7 | Boolean | Input | Read only | Variable | |
do0 | DO0 | Boolean | Output | Full access | Variable | |
do1 | DO1 | Boolean | Output | Full access | Variable | |
do2 | DO2 | Boolean | Output | Full access | Variable | |
do3 | DO3 | Boolean | Output | Full access | Variable | |
do4 | DO4 | Boolean | Output | Full access | Variable | |
do5 | DO5 | Boolean | Output | Full access | Variable | |
do6 | DO6 | Boolean | Output | Full access | Variable | |
do7 | DO7 | Boolean | Output | Full access | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring:
Description: I2C Pressure and Temperature sensor. Connect through a Serial output transport into the I2C mode.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.0
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport of the I2C, Serial | String | Input | No attribute | Constant | i2c |
addr | Device address [0...119] | Integer | Input | No attribute | Constant | 119 |
oss | Oversampling setting (0...3) | Integer | Input | No attribute | Constant | 0 |
t | T, °Ñ | Real | Input | Read only | Variable | |
p | P, Pa | Real | Input | Read only | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring:
Description: I2C RTC chip with Temperature sensor and calibration on it. Connect through a Serial output transport into the I2C mode.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.0
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport of the I2C, Serial | String | Input | No attribute | Constant | i2c |
addr | Device address [0...119] | Integer | Input | No attribute | Constant | 119 |
tm | Date and time, YYYY-MM-DDTHH:mm:SS | String | Input | Full access | Variable | |
agOff | Aging offset, [-128...127] | Integer | Input | Full access | Variable | |
t | T, °Ñ | Real | Input | Read only | Variable | |
p32k | Enable 32768Hz | Boolean | Input | Full access | Variable | |
pSQW | Enable SQUARE-WAVE OUTPUT | Boolean | Input | Full access | Variable | |
pSQWf | SQUARE-WAVE OUTPUT frequency: 0-1Hz, 1-1.024kHz, 2-4.096kHz, 3-8.192kHz | Integer | Input | Full access | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring:
Description: Provides operations with EEPROM memory based on I2C chips AT24C32 (4KB) and AT24C64 (8KB). Supported random reading and writing.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.0
Output user protocol's XML request structure: <{cmd} addr="{ChipAddr}" off="{MemOffset}" size="{ReadSize}" err="1:Error">{ReadWriteSeq}</{cmd}>
Using/configuring:
Description: Digital Temperature and Humidity Sensor for models: DHT11, DHT12, AM2302, AM2320, ... . The module designed for the sensors connect through GPIO, mostly it's Raspberry PI BCM2835 GPIO.
Conditions: Exclusively realtime planing in the priority 199 (FIFO-99).
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.0
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
addr | GPIO address with functions mode(), get() and put(), mostly it's BCM2835 | String | Input | No attribute | Constant | DAQ.BCM2835.pi.pi |
pin | IO pin number of the GPIO | Integer | Input | No attribute | Constant | 17 |
tries | Tries [1...5] | Integer | Input | No attribute | Constant | 2 |
dev | Device (0-DHT11, 1-DHT22) | Integer | Input | No attribute | Constant | 1 |
t | T, °Ñ | Real | Input | Read only | Variable | |
h | H, % | Real | Input | Read only | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring:
Description: LCD Module 1602A, STN, BLUB, 16 Character x 2 Line, 5 x 8 Dots, by the direct (Raspberry PI BCM2835 GPIO) or I2C (PCF8574) wiring.
Conditions: Default planing policy but realtime one preferred.
Author: Roman Savochenko <rom_as@oscada.org>
Version: 1.1
Template parameters:
ID | Parameter | Type | Mode | Attribute | Configure | Value |
transport | Transport of the I2C, Serial (i2c) or GPIO address with function put(), mostly it's BCM2835 (DAQ.BCM2835.pi.pi) | String | Input | No attribute | Constant | i2c |
addr | I2C device address [0...119] | Integer | Input | No attribute | Constant | 39 |
RS | GPIO Pin: Reset | Integer | Input | No attribute | Constant | 7 |
E | GPIO Pin: Enable | Integer | Input | No attribute | Constant | 8 |
D4 | GPIO Pin: Data4 | Integer | Input | No attribute | Constant | 25 |
D5 | GPIO Pin: Data5 | Integer | Input | No attribute | Constant | 24 |
D6 | GPIO Pin: Data6 | Integer | Input | No attribute | Constant | 23 |
D7 | GPIO Pin: Data7 | Integer | Input | No attribute | Constant | 18 |
ln1 | Line 1 | String | Input | Full access | Variable | |
ln2 | Line 2 | String | Input | Full access | Variable | |
f_frq | Function calculate frequency (Hz) | Real | Input | No attribute | Variable | 1000 |
f_start | Function start flag | Boolean | Input | No attribute | Variable | 0 |
f_stop | Function stop flag | Boolean | Input | No attribute | Variable | 0 |
f_err | Function error | String | Input | No attribute | Variable | 0 |
Using/configuring: