OpenSCADAWiki: Home Page En/Doc/Programm Manual/part5 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 

5. System-wide API of user programming

User programming API is the tree of OpenSCADA objects, every object of which can provide own list of properties and functions. Properties and functions of objects can be used by the user in procedures on the languages of user programming of OpenSCADA. The entry point for access to the objects of system OpenSCADA from user programming language JavaLikeCalc is the reserved word "SYS" of the root OpenSCADA object. For example, to access the function of outgoing transport you should write: SYS.Transport.Serial.out_ModBus.messIO(mess);.


API of the objects provided by the modules is described in the own documentation of the module.

5.1. System-wide user objects

Abstract object is an associative container of properties and functions. Properties can contain the data of four basic types and other objects. Access to the properties of an object is usually made by recording the names of properties through a point to the object "obj.prop", as well as by entering the property name in brackets "obj["prop"]". It is obvious that the first mechanism is static, while the second lets you to specify the name of the property through a variable. The basic definition of the object does not contain functions. Copying of an object actually makes reference to the original object. When you delete an object the reduce of the reference counter is made, and when the reference counter is equal to the zero object is removed physically.


Different components can redefine the basic object with special properties and functions. The standard extension of the object is an array "Array".

Array object

Peculiarity of the array is that it works with the properties like with the indexes, and complete their naming if senseless, and hence the mechanism of addressing is available only by the conclusion of the index in square brackets "arr[1]". Array stores the properties in its own container of one-dimensional array. Digital properties of the array are used to access directly to the array, and the characters work as object properties.


Array provides the special property "length" to get the array size "var = arr.length;". Also array provides the following functions:

RegExp object

Object for work with regular expressions, based on the library PCRE. In the global search set object attribute "lastIndex", which allows you to continue searching for the next function call. In the case of an unsuccessful search for the attribute "lastIndex" reset to zero.


As arguments passed to create the object put string with the text of regular expression and flags as a string of characters:


Object's properties:


Object's functions:


XMLNodeObj object

Functions:

5.2. System (SYS)

Object functions:

5.3. Any object (TCntrNode) of OpenSCADA objects tree (SYS.*)

Object functions:

5.4. "Security" subsystem (SYS.Security)

The subsystem object's functions (SYS.Security):


The user (SYS.Security["usr_User"]) object's functions:


The group (SYS.Security["grp_Group"]) object's functions:

5.5. "DB" subsystem (SYS.BD)

DB object functions (SYS.BD["TypeDB"]["DB"]):


Table object functions (SYS.BD["TypeDB"]["DB"]["Table"]):


5.6. Subsystem "DAQ" (SYS.DAQ)

Functions of subsystem's object (SYS.DAQ):


Functions of object of controller (SYS.DAQ["Modul"]["Controller"]):


Functions of object of controller's parameter (SYS.DAQ["Modul"]["Controller"]["Parameter"]):


Functions of object of atribute of controller's parameter (SYS.DAQ["Modul"]["Controller"]["Parameter"]["Attribute"]):


Functions of object of templates library (SYS.DAQ[tmplb_Lib"]) and template (SYS.DAQ[tmplb_Lib"]["Tmpl"]) of controller's parameter:

5.6.1. The module DAQ.JavaLikeCalc


The object "Functions library" (SYS.DAQ.JavaLikeCalc["lib_Lfunc"])


The object "User function" ( SYS.DAQ.JavaLikeCalc["lib_Lfunc"]["func"] )

5.6.2. The module DAQ.LogicLev


The object "Parameter" [this]

5.6.3. The module DAQ.BlockCalc


Object "Block" (SYS.DAQ.BlockCalc["cntr"]["blk_block"])

5.6.4. The module DAQ.ModBus


The object "Controller" [this.cntr()]


The object "Parameter" [this]

5.7. "Archives" subsystem (SYS.Archive)

Functions of the subsystem's object:


Functions of object's archiver of messages (SYS.Archive["mod_Modul"]["mess_Archivator"]):


Functions of object's archiver of values (SYS.Archive["val_Modul"]["val_Archivator"]):


Functions of object's archive (SYS.Archive["va_Archive"]):

5.8. "Transports" subsystem (SYS.Transport)

Functions of the ingoing transport object (SYS.Transport["Modul"]["in_Transp"]):


Functions of the outgoing transport object (SYS.Transport["Modul"]["out_Transp"]):


5.9. "User interfaces" subsystem (SYS.UI)

5.9.1. The module UI.VCAEngine


Object "Session" ( this.ownerSess() )


Object "Widget" (this)




Object "Widget" of the primitive "Document" (this)

5.10. "Special" subsystem (SYS.Special)

5.10.1. Module Special.FLibSYS


The object "Functions library" (SYS.Special.FLibMath)


The object "User function" (SYS.Special.FLibMath["funcID"])

5.10.2. Module Special.FLibMath


The object "Functions library" (SYS.Special.FLibMath)


The object "User function" (SYS.Special.FLibMath["funcID"])

5.10.3. Module Special.FLibComplex1


The object "Functions library" (SYS.Special.FLibComplex1)


The object "User function" (SYS.Special.FLibComplex1["funcID"])


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