System Tree

Home  Back  Next

 

The System tree contains the special items the server supports. They allow accessing internal variables, their status and a lot more.

The system tree can be added or disabled using the configuration with a separate System connection.

 

The system tree "System" lies in

OPC-DA and OpcPipe: directly in the root.
OPC-UA under "Objects.Topic.System"

 

With writing to the special item "AddTopic" it is possible adding more connections to PLC without using the configuration software. Additionally, the server can be configured via a "Config" connection.

 

Examples:

SPS connection status: If a connection named "s7" is configured the connection status lies under
System.Topics.s7.Status (over OPC UA server.System.Topics.s7.Status)
The PLC operation mode lies under
System.Topics.s7.PlcDetails.PlcMode
Add a new connection with writing to System.AddTopic.
"s7.tcp://192.168.2.200:102?name=\"my name\",typ=client,ownTSAP=0101,destinationTSAP=0302,slave=9,start1=1,WriteAllowed=1"

 

Elements in the root

OPCPipe and OPC DA the start floor lies in the root floor.
Under OPC-UA the start floor lies under "Objects.Topics"

 

Topic name

Description

System

System data as the list of topics, version information

Memory

Temporary variables and structures which relays on the system memory.

Config

Server Internal variables with which you can configure the OPC server or the PlcEngine. The individual variables have comments that describe the functionality. They are not described in detail in the help.

OPC UA System Items

connection for OPC UA special functions

<user defined>

User defined topics created with the configuration software or with the browser or over writing to System.AddTopic

System

Topic name

Description

Topics

The predefined item "System.Topics" is containing the list of configured connections to controllers. The elements allows accessing information about stati of the OPC server itself and the connections to the controllers.

Additional details from the controllers can be read as the name of the controller, its operation mode and more.

AddTopic

Adds connections to controllers.

With writing of a string in the defined syntax connections will be added. The syntax is described in AddTopic.

Licenses

information about the current licenses

Versions

Versions of the software and its parts from the OPC server or the PlcEngine.

Internal

Please do not use this. It is made for special applications.

Platform

allows tags for different Platform things, eg: inputs and outputs on Phytec Regor

Status

Extended Server status

CurrentTime ...

and other tags

the current time and time information is available for further processing.

Values for System.Topics.<topicName>

Topic name

Description

Status

Brings the status of the connection.

0-> ok

3 -> no connection

5 -> access denied

6 -> wait for data

7 -> wait for send ready

23 -> The communication partner denies the port. No program did open it

26 -> ARP can not resolve the address. Mostly the partner is switched off or disconnected

29 -> Suspended. No OPC client or logic table used one item.

30 -> Osi reset by peer. Mostly a TSAP is wrong

31 -> The port is already in use, mostly by another program

32 -> The domain name can not be resolved. The domain server is unreachable, or the name was not found.

33 -> The network is unreachable. Mostly the computers network interfaces are configured badly.

ReadCount

Number of handled synchronous read jobs. This variable can be written.

WriteCount

Number of handled write jobs. This variable can be written.

ActiveCount

Number of active items.

ServerCycle

Number of cycles with changed PLC data. This variable can be written.

Redundancy

This will exist in connections configured for redundancy only. Details here.

AddVariable

This element only exists in the Memory topic.

Adds a variable in the memory variables. This element is write only.

The syntax is

<variable name>=<variable type><[><array size><]><;comment>

Supported variable types are: u8, u16, u32, u64. i8, i16, i32, i64, f32, f64, bit, string.

Example: MyVariable=u16[10];Array of UINT 16 with 10 elements

If a variable name contains dots all named before the last dot are nodes.

Hint: The symbols created with AddVariable will be deleted if the OPC or PLC Engine Collect software is stopped.

DeleteVariable

Deletes a variable which was created with AddVariable. The name of the variable need to be given. This element is write only.

Each variable and node need to be deleted separately.

Hint: If a variable will be deleted which was not created with AddVariable the access will be denied.

AddSymbol

The element only exists in controller topics which does not support symbols in the controller itself. Mostly this are Siemens S7 300/400 controllers, Modbus devices or Mitsubishi controllers.

Adds a symbol. The item syntax of the desired controller type of the topic will be used.

SymbolName=<ItemSyntax><;comment>

Example for a S7 300: MyFlag=mw0;Flag word zero

The symbol name can contain dots. So multiple floors can be created.

Hint: The symbols created with AddSymbol will be deleted if the OPC or PLC Engine Collect software is stopped.

DeleteSymbol

Deletes a with AddSymbol created symbol.

AddStructure

Not available today

DeleteStructure

Not available today

DeleteTopic

If a connection has been added dynamically, this item is visible. If this is written to, this dynamically created connection is deleted.

Values for System.Topics.<topicName>.PlcDetail

If the information can not be readied from the controller the quality becomes bad (sensor failed).

Topic name

Description

PlcMode

0 -> PLC in Stop, 1 -> PLC in RUN/STOP, 2 -> PLC in RUN.

KeySwitch

0 -> Key switch in position Stop, 1 -> Run/Prog, 2 -> Run, 3 -> Mres

PlcName

The name given to the controller. Not all controllers does contain a name.

PlcType

The PLC type the manufacturer did give to it. Not all controllers does contain this.

OrderNumber

The order number of the controller. Not all controllers does contain this.

Force

Information if forces will exist in the controllers program code. Some p,c deliver the number of forces here.

Battery

Status of the battery. 0 -> Ok, 1 -> empty, 2 -> no battery, 3 -> not supported

 

Not all controller types and controller firmware versions are supporting all items under PlcDetails. So the OrderNumber will be available in Siemens S7 only. The details can be found in the controllers system manuals.

Values for System.AddTopic

Warning: System.AddTopic is deprecated. Pleas use the configuration topic which has much more functionality.

Topics can be created over this item.

Important: With AddTopic created connections are existing non permanent. On power off they will be lost. They must be created again after power on.

A topic created with System.Topics.<created topic> can be deleted with System.Topics.<created topic>DeleteTopic.

 

Topic name

Description

Name

<Topic Name>. The name of the created connection. Please note the rules for topic names which will existing from various OPC clients.

PlcType

Valid are:

Value

Description

s7

Siemens S7-200, 300, 400 and compatible as Speed7. Can be used for accessing the controller over MPI adapter from Hilscher, Process Informatik, IBH Softec, Softing, Helmholz.

tia

Siemens S7 1200 and 1500. This will support the optimized data blocks.

s5

Siemens S5 with network CP All racks are supported 135, 155, 188. All CPU types.

compactlogics

Rockwell Control Logix and Compact Logix.

slc

Rockwell SLC family.

modbus

Modbus TCP and compatible systems as Wago, Beckhoff, Modicon, Omron and more..

melsecQ

Mitsubishi Melsec family.

raw

Raw data.

NetworkProtocol

Valid are:

Value

Alternative

Description

ip

tcp

TCP/IP TCP over IpV4 (192.168.1.1) or IpV6 <235b:34aa::0001:0030) or domain names

udp


TCP/IP UDP over IpV4 (192.168.1.1) or IpV6 <235b:34aa::0001:0030) or domain names

h1

osi

OSI/H1 over MAC Addresses (080006010001) or (08:00:06:01:00:01)

NetworkAddress

IpV4 (192.168.1.1) or

IpV6 (235b:34aa::0001:0030) or

domain names (s7.mydomain.com)

Port

1 .. 65534. This is needed for IP connections only.

ConnectType

Valid are:

Server
Client

OwnTSAP

in hexadecimal. This is valid on OSI/H1 or Port 102 (RFC1006) connections only. (0101)

DestinationTSAP

in hexadecimal. This is valid on OSI/H1 or Port 102 (RFC1006) connections only. (0302)

Slave

In Modbus connections this is the slave or node address. In Rockwell connections this is the CPU number. All other connections do not use this value.

Start1

I Modbus connection this defines the assumed first register. False means the first register is zero otherwise the register count starts with one.

RockwellRouting

This is for reaching specific parts of the controller or access controllers in underlaying connections. This element requires text.

Three options exists:

No routing (empty path). This is for reaching CPU Damit with logical integrated network modules in the PLC. Example are Micro800 or L16.
Simple routing. This is for reaching a specific CPU in multi CPU controllers..
CPU(0) will access CPU 0. In controllers with logical separate network adapters this is required. The L35E-models will need this.
Extended routing. This is for accessing controllers over underlaying netwoks as DH+
Port(1;2) goes over port 1 to the destination 2.
PortEx(4;192.168.2.212) accesses controllers in an underlaying ip network. In this example the network adapter has the port number 4, the next controller is reached over 192.168.2.212.
DHPlus(1;0;0;15) reaches a controller over a DHplus on channel A(1), Source Link 0 the plc destination Link 0 Node 15.
An example for a longer routing path:Port(1;0)-Port(2;1)-PortEx(4;192.168.2.212)

 

The port and slot numbers are taken from the graphical configuration or RsWho.

Connection routing paths can be very long if this runs over multiple underlaying busses.

Some controllers as the Micro800 models can not have a routing path if they need to be accessed. In case of route over a Micro800 model to other controllers the path is required.

RockwellCharset

This can be: UTF8 (default) or ANSI.

RockwellHeader

Allowed is ENCAP (default) or CSP.

RockwellProtocol

Allowed is CIP (default) or PCCC.

RockwellShowHidden

Possible are None (default), Hidden, Underscore, All.

Create

Writing a value not zero creates the connection. This variable is write only.

CreateStatus

0 -> Topic is created. This variable is read only.

1 -> Invalid connection parameters. Mostly this will happen on too long TSAP values.

5 -> Invalid adapter. The given adapter is not available. Mostly on variable adapters (USB to Ethernet) which was disconnected.

17 -> No free memory available.

101 -> not supported. This will happen on plc protocols which are not available.

1319 -> not supported. Mostly this happens on unsupported network protocols as IpV6 which is not configured.

1324 -> License limit. The maximum of connections are created already.

1325 -> not licensed.

AddTopic

can be used instead of the variables Name, PlcType, NetworkProtocol, NetworkAddress, Port, ConnectType, OwnTSAP, DestinationTSAP for creation of connections. This variable is write only. The syntax on an example of an s7 connection with the name "s7"

"s7.tcp://192.168.2.200:102?name=\"my name\",typ=client,ownTSAP=0101,destinationTSAP=0302"

The element Create is not used in this case.

Values for System.Versions

A version number of zero says that the component is not loaded.

 

Topic name

Description

PlcEngine

Version number of the core of the PlcEngine or OPC server.

Wmk

Version number of the Wmk library. This library contains general functions.

IpLib

Version number of the TCPIP library. This library contains all IP socket functions.

H1

Version number of the Osi/H1 driver.

OpcDA

Version number of the OPC DA library. This library contains Classic OPC and is available for Windows only.

OpcUA

Version number of the OPC UA library. This library contains OPC UA.

OpcPipe

Version number of the OpcPipe library. This library contains the item management.

PlcLib

Version number of the PLC protocol library. This library contains all PLC protocols and its management.

ItemSyntax

Version number of the item syntax library. The library converts symbols in elements.

ConfigSubs

Version number of the configuration general functions. The library handles the configuration of the core.

..

Depending of the software or the release more software component version numbers are shown.

Values for System.Platform

Platform offers variables which are different from platform to platform. Mostly this are I/O variables.

 

Variables for the Regor devices from the manufacturer Phytec:

 

Topicname

Beschreibung

Digital1Dir

Sets the function of pin 1. "true" defines it as output, "false" as input.

Digital1In

If pin 1 is an input "true" signals a closed connection between pin 1 and ground.

Digital1Out

If pin 1 is an output "true" signals a closed switch between pin 1 and ground.


Digital2Dir, Digital2In, Digital2Out are for pin 2. Same to pin 3 and 4.

ErrorLED

"true" signals the LED on. Writing "false" switches it off, "true" on again.

RunStopLED

"true" signals the LED on. Writing "false" switches it off, "true" on again.

Values for System.Licenses

The licenses and their details are here.

 

Topic name

Description

BaseLicense

Order number of the product. The comment of the item contains the product name.

BaseLicenseExpires

End date for time limited and test licenses in the format yyyy-mm-dd hh:mm

for example: 2017-12-31 23:59

BaseLicenseState

Bit coded value:

Bit 0: A permanent license is present and it is OK.

Bit 1: The dongle is recognized and valid.

Bit 2: The dongle was recognized in the past, but now it can not be found.

Bit 3: Licensing via software confirm code.

Bit 4: A software confirm code is detected and OK.

Bit 5: A time limited confirm code has been detected. The expiration time is shown in item BaseLicenseExpires.

Bit 6: A time limited confirm code has been detected and expired.

Bit 7: The hardware (network card) to which the license was attached is no longer present.

Bit 8: No license is recognized, it is a test version. The expiration time is shown in item BaseLicenseExpires.

Bit 9: The test phase has expired, a restart is required.

Bit 10: Free license product is set, no licensing required

AddonLicenseX

Order number of an addon. X is a consecutive number and starts with 1. If multiple addons exist more AddonLicenseX elements will exist.The comment of the item contains the addon product name.

 

Values for System.Status

Provides data points for extended status of the entire server.

 

Item name

Description

StructChangeCounter

EnumChangeCounter

These items are incremented when the internal structure or enum lists are modified.

This is not connection-specific, but a single counter for the entire server.

If automatic import is switched off, the counters increment when a structure/enum is imported manually.

If automatic import is switched on, the counters increment when a new structure/enum is read from the PLC.