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:
|
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.
|
|