FabyaVisionUser Manual
/

OPC UA server

12 min readExternal systems

Live exposes the tags you select to the outside as an OPC UA server: an MES, another SCADA or a data acquisition program reads these tags, subscribes to them and, if you have allowed it, writes to them. License, Studio settings, tag selection, address space, write rules, quality codes and logging.

The server runs inside the Live program. An external OPC UA client connects to Live and sees only the tags that you have given access to. The steps for connecting the client on the Live side are in the Connecting a client to the OPC UA server topic.

OPC UA driverOPC UA server
The role of LiveClient: connects to another server.Server: external clients connect to Live.
What it is forBringing values from a PLC or gateway into Live.Providing tag values to external systems.
Where it is setConnections (OPC UA driver).The OPC UA Server section and the OPC UA access column.

License and trial version

The server is off by default in the project. When turned on, it behaves as follows, depending on the license:

StateBehavior
Full version, with a FV-OPC-P (perpetual) or FV-OPC-A (annual) licenseThe server starts.
Full version, without this licenseLive runs, but the server does not start. The OPC UA server… button in the system menu still appears; the window shows the reason. The same message also goes to the event log and the program log.
Trial versionNo license is required. There is no server-specific limit. Each run lasts 1 hour: when the session ends and Live closes, the server closes too (Trial version).
Without a license, the OPC UA Server window in Live shows the reason.
Without a license, the OPC UA Server window in Live shows the reason.

Loading license files is described in License and activation.

Turning on the server

  1. Open the section

    In the project tree, click the OPC UA Server section.

    OPC UA Server section, General tab: server, address, summary and security settings.1234567
    OPC UA Server section, General tab: server, address, summary and security settings.
    1. OPC UA server — On / Off. Default Off.
    2. Port — default 4841.
    3. Endpoint path — the part of the address after the port.
    4. Summary — state, address and the number of tags with access.
    5. Security modes — the endpoints the client can select.
    6. Anonymous login — an anonymous client can only read.
    7. Certificate acceptance — while it is off, a new client waits for approval in Live.
  2. Turn on the server

    On the General tab, set the OPC UA server switch to On.

  3. Check the address

    Change the Port and Endpoint path defaults if necessary.

  4. Select the security modes

    By default, only the signed + encrypted mode is on. Select the modes according to the Security section.

  5. Add a user

    Define one user per client on the Users tab (Users).

  6. Give access to the tags

    Fill in the HMI tags column of the OPC UA access table (Tag selection).

  7. Fix the warnings

    The Info tab of the Inspector lists what is missing: it warns if no tag has been given access, if no user has a password, or if there are tags with write access but no user with write permission. If the port is invalid or is the same as the browser monitoring port, it reports an error.

  8. Upload the project to Live

    A running Live does not pick up the new version by itself (Uploading the project to Live). Live starts the server when it opens the project. Because the server certificate is generated at the first start, starting can take a few seconds.

  9. Check the state

    In Live, open the OPC UA server… window from the system menu and confirm that it shows Running (Connecting a client to the OPC UA server).

General settings

FieldMeaning
OPC UA serverDefault Off. While it is off, Live does not open the OPC UA port.
PortDefault 4841. Integer, 1 – 65535. Change the port if another program on the computer is using it.
Endpoint pathDefault FabyaVision. The part of the address after the port. Contains only letters, digits and . _ - /.

The address has this format: opc.tcp://<bilgisayar>:<port>/<yol>. Example with the default settings: opc.tcp://192.168.0.10:4841/FabyaVision.

Security

FieldDefaultMeaning
Basic256Sha256 signed + encryptedOnRecommended mode. Traffic is signed and encrypted.
Basic256Sha256 signedOffTraffic is signed, not encrypted.
UnsecuredOffTag values travel unencrypted on the network. Only on a closed network and for testing.
Anonymous loginOffClients connect without a user name. Anyone on the network can read the exposed tags. An anonymous client cannot write.
Accept client certificates automaticallyOffWhen off, a new client is rejected and waits for approval in Live. When on, unknown clients can also connect.
  • If no mode is selected, Live opens only the signed + encrypted mode.
  • Logon with a user name is always offered. If no user is defined and anonymous login is off, no client can connect.
  • The user password is sent encrypted in every mode. On the Unsecured endpoint too, the password is encrypted with the server certificate; values and write commands, however, remain unencrypted.

Users

These users are only for the logon of OPC UA clients. They are separate from Live and browser users.

Users tab: two users, one read-only and one with write permission.123
Users tab: two users, one read-only and one with write permission.
  1. Name — the user name the client enters.
  2. Password — at least 6 characters; its hash is stored and it is not displayed.
  3. Write permission — while it is off, the user can only read.
ColumnRule
NameRequired and unique, at most 40 characters. Logon is case-sensitive.
PasswordAt least 6 characters. Double-click the cell or press Enter / F2, then type it twice in the password window. Shorter passwords entered earlier keep working. A user without a password cannot log on.
Write permissionOff by default. While it is off, the user can only read. While it is on, the user can write to all tags set to Read + Write.
NoteFree text.

Tag selection: OPC UA access column

The HMI tags column in the OPC UA access table determines whether each tag is exposed.

HMI tags table: in the OPC UA access column, four tags are Read and one tag is Read + Write; the rest are off.1
HMI tags table: in the OPC UA access column, four tags are Read and one tag is Read + Write; the rest are off.
  1. OPC UA access — Off (a dash in the cell), Read or Read + Write.
OptionIn the tableMeaning
Off—The default for a new tag. The tag does not enter the address space and the client does not see it.
ReadReadThe client can read and subscribe, but not write.
Read + WriteRead + WriteA user with write authorization can write. An unauthorized user and an anonymous client can only read.
  • The column affects only OPC UA clients. It does not change writing by operators and scripts.
  • For Per screen tags the column is locked; these tags are not exposed.
  • The column is also included in the Export to Excel output (Transferring tags with Excel).

Address space

The client sees the nodes in the FabyaVision folder under Objects. Tag groups and structure instances become folders:

Objects
└─ FabyaVision
   ├─ Proses                  (tag grubu)
   │  ├─ T101_Seviye          ns=2;s=T101_Seviye
   │  └─ P101_Hiz             ns=2;s=P101_Hiz
   └─ Yapilar                 (tag grubu)
      └─ Pompa_P101           (yapı örneği)
         └─ Hiz               ns=2;s=Pompa_P101.Hiz
Node ID
ns=2;s=<tag adı>. The identifier is the full name of the tag in Studio. Folders are not part of the identifier; for a structure member, the full name contains a dot (Pompa_P101.Hiz).
Namespace
urn:fabyavision:live:tags. If your client supports it, enter the address instead of the number: nsu=urn:fabyavision:live:tags;s=T101_Seviye.
Display name
The last part of the tag name (Hiz). A tag without a group is directly under FabyaVision.
Description
The Description text of the tag; if there is a unit, it is added at the end in square brackets ([%]).

Data types

Tag typeOPC UA type
BoolBoolean
Byte / SIntByte / SByte
Int / UIntInt16 / UInt16
DInt / UDIntInt32 / UInt32
Real / LRealFloat / Double
String, WStringString
DateTimeDateTime

A tag with scaling on is exposed as Double, whatever its type: the client sees and writes the engineering value (Scaling and quality).

Live sends changed values to the server at most once every 200 ms. The value of a tag is not refreshed faster than the Acquisition cycle of the tag. The timestamp is the moment the value was written to the server, not the PLC clock.

How a write is processed

A client write is checked in the order below. A failed check stops the write and a status code is returned to the client.

OrderCheckIf it fails
1Is the tag set to Read + Write?BadNotWritable
2Does the user have Write permission? An anonymous client does not.BadUserAccessDenied
3Does the write cover the whole value? Array ranges are not accepted.BadIndexRangeInvalid
4Does the value match the type? Only Boolean can be written to a Bool tag, only String to a text tag, only DateTime to a DateTime tag, and only a number to a numeric tag.BadTypeMismatch
5Is the number between Lower limit and Upper limit?BadOutOfRange
6Did Live apply the write?BadTimeout if there is no response within 5 s. BadDeviceFailure and a reason text if Live rejects the write or the driver cannot write.
  • A write goes through the normal write path of Live: for a scaled tag, the value is converted to the raw value, and a PLC tag goes to the driver. In a redundant pair, a write arriving at the standby server is forwarded to the master.
  • The authorization of the user logged on in Live is not checked. The right to write is determined only by the Write permission of the OPC UA user.
  • The connection status tag cannot be written; the client receives BadDeviceFailure.

Quality codes

CodeWhen
GoodThe value is valid.
BadWaitingForInitialDataNo value has arrived for the tag yet: the server has just started or the tag could not be read at all.
BadNoCommunicationThe connection of the PLC tag is lost. If no publication arrives from Live for 15 s, all tags get this code; when publication resumes, all tags are refreshed.
BadConfigurationErrorThe tag received an error (e.g. invalid address). Only that tag is affected.
BadTypeMismatchThe value could not be converted to the data type of the node (e.g. a number that does not fit the Byte type, a corrupt date).
  • When the connection is lost, the last value stays in the node. The client must evaluate the value together with its quality.
  • Internal and simulator tags are not affected by the connection state.

What is logged

EventWhere it is written
Successful client writeEvent log, type sistem: OPC UA yazma: P101_Hiz = 55 (hat_yazma). At most one row per 10 s is written for the same tag; writes in between do not produce a row.
No licenseEvent log and program log.
Server could not be startedProgram log. The reason is also shown in the Live window.
Firewall permission addedProgram log.

Clients connecting or disconnecting, rejected logons, rejected writes and read operations are not logged. To see the currently connected clients, use the Live window. Log files: Log files.

Limits

Related topics

FabyaVision 1.2.1 User Manual · 2 November 2026© Fabyatek Yazılım Bilişim Teknolojileri Ltd. Şti.