FabyaVisionUser Manual
/

Faceplate and pop-up window

15 min readScreens and objects

A single faceplate screen for all instances of a structure (UDT): the objects are bound to the members of the structure without a prefix, and the object on the process screen opens the window with its own instance. Behavior of the pop-up window in Live and the Screen window object.

What it is used for

If the plant has dozens of devices with the same structure (motors, pumps, valves), you do not draw a separate detail screen for each one. A faceplate is a pop-up window screen that is drawn once and shows the tags of the device it is opened for. The objects on a faceplate are bound not to a tag but to a member of the structure: the I/O field is bound not to Pompa_P101.Hiz but to the member Hiz without a prefix. On the process screen, clicking pump P101 opens the window with the instance Pompa_P101, and clicking P103 opens it with the instance Pompa_P103.

The same screen type is also used without a structure: as a general pop-up window, for example for a confirmation or parameter entry, or embedded in another screen with a Screen window object.

Prerequisite: the tags of the devices must be defined with a structure and structure instances (Structures (UDT) and structure instances). The examples in this topic use the structure Pompa_Yapisi (members Calisiyor, Ariza, Hiz, Akim, Basinc) and the instances Pompa_P101 and Pompa_P103 from Demo_Projesi.

Creating a faceplate

  1. Issue the command

    Click the Faceplate button on the toolbar, the Add›New faceplate command, or the Add new faceplate button to the right of the Add new faceplate row in the Project tree. The same command is also available in the context menu of the Screens nodes, and on a group as Add new faceplate to this group. The New Faceplate window opens.

  2. Select the structure and the name

    Select the structure from the Structure (UDT) list. The Screen name is suggested from the name of the structure (Faceplate_Pompa_Yapisi); you can change it, and the screen name rules apply. For a general pop-up window without a structure, use the (none — pop-up window without structure) option.

    New Faceplate window: Pompa_Yapisi selected, the cards are previewed with the members of the structure, Motor template selected.12345
    New Faceplate window: Pompa_Yapisi selected, the cards are previewed with the members of the structure, Motor template selected.
    1. Structure (UDT) — the structure whose instances the window is opened for.
    2. Screen name — suggested from the name of the structure.
    3. Template — the cards are previewed with the members of the selected structure; Motor is selected here.
    4. Objects of the members — the object used to place each member; can be changed.
    5. Create — the faceplate screen is created and opened in the editor.

  3. Select the template

    The cards are drawn with the members of the selected structure; next to the card's name, the size of the screen to be created is shown (Motor: 600 × 350). The default is Standard. If no structure is selected or the structure has no members, only Empty can be selected.

  4. Check the objects of the members

    The Objects of the members table shows which object each member is placed with. The selection is guessed from the member's name, description and type; when you change it, the cards are redrawn. To leave a member out of the faceplate, select Don't place.

  5. Create it

    Click Create. The screen is added to the Faceplates branch and opens in the editor. The objects come already bound to the members of the structure; the screen size is adjusted to the content (520 × 400 with the Empty template). From then on you edit the screen like any other screen.

Templates

TemplateLayout
EmptyEmpty window; objects are placed from the toolbox.
StandardValues on the left; status and alarm lamps on the right; command buttons at the bottom.
ListAll members in one column, in the structure's order.
MotorMotor symbol at the top (running / fault), values, lamps and commands below it. The running state of the symbol comes from the Bool member named running / active (otherwise from the first state member), the fault state from the first alarm member.
ValveValve symbol (open / fault) and position bar; values, lamps and commands. The position bar (0 – 100) is added only if a numeric member named position, opening … exists.
MeasurementMain value on a gauge and in a large I/O field; setpoints, limits and alarms beside it. The main value is the first numeric member named PV, temperature, pressure, speed, level … (otherwise the first numeric member).

The panel titles (Değerler, Durum, Alarmlar, Komutlar) are written in the current interface language of Studio and can be translated as project texts. The label of an object is the description of the member; if there is no description, the member name is split into words (HataKabul → Hata Kabul).

Objects of the members

SelectionPlaced objectWhen it is inferred
Status lampStatus indicator; Process value bound to the member: false gray, true green.All other Bool members.
Alarm lamp (red)Status indicator; red while true.If ariza, hata, fault, alarm, trip, termik … occurs in the name / description of the Bool member.
Button (1 while held)Button: sets the bit to 1 when pressed and to 0 when released. Its color depends on the name: start / calistir green, stop / dur red, reset / kabul orange, others blue.If start, stop, reset, ack, calistir, dur, kabul, ac, kapat … occurs in the name of the Bool member.
Switch (on / off)Switch; clicking it inverts the bit.Not inferred; selected manually.
Show valueI/O field (output); unit from the member, Real 1, LReal 2 decimal places.Number, text and date members.
Value entry (setpoint)I/O field (input / output, white background).If the name of the numeric member is SP, set, preset, target, limit, min, max, time, delay … or similar.

Binding objects to structure members

In addition to the objects placed by the template, you can place objects on the faceplate yourself. While the screen's structure is selected, the Bind tag window shows the name of the structure and its members without a prefix at the top of the list (Hiz, Calisiyor …); Other tags follow below. The instance tags of the same structure (Pompa_P101.Hiz …) are not listed. The selector that opens for the tag parameters of event functions (Set bit, Set value …) offers the members in the same way.

Process value of the I/O field in the faceplate: the Pompa_Yapisi members come first, without prefix; in the bound row the address column shows "Structure member · Real".123
Process value of the I/O field in the faceplate: the Pompa_Yapisi members come first, without prefix; in the bound row the address column shows "Structure member · Real".
  1. Structure name — the structure (UDT) of the screen.
  2. Structure members — without prefix: the tag of the instance with which the window is opened is read.
  3. Other tags — shared tags that do not belong to the structure (instance tags of the same structure are not listed).

For a property bound to a member, the tag column shows the member name (Hiz) and the address column shows Structure member · Real. The Studio canvas shows the (static) design values; the real value comes from the window's instance in Live.

Opening from the process screen

  1. Select the object that opens it

    On the process screen, select the object of the device (in the Demo Project, the P101 pump on the Hazirlama screen) and, in the Inspector, on the Events tab, add the Open pop-up window (with tag prefix) function to the Open pop-up window (with tag prefix) event (Events and functions).

  2. Specify the screen and the prefix

    The Screen list starts with the Faceplates group, followed by Other pages; select the faceplate. In the Tag prefix field, enter the name of the structure instance (Pompa_P101); the field offers the instances of the structure as suggestions.

    The Click event of pump P101 opens the faceplate with the prefix Pompa_P101.1234
    The Click event of pump P101 opens the faceplate with the prefix Pompa_P101.
    1. Function — Open pop-up window (with tag prefix).
    2. Screen — the Faceplates group at the top of the list.
    3. Tag prefix — structure instance: Pompa_P101.
    4. Title — if empty, the description of the instance is shown.

  3. Enter a title if required

    Title is the text in the title bar of the window. If it is left empty, the description of the structure instance (Feed pump P-101) is shown, or if there is none, screen name — prefix. An entered title becomes part of the project texts and is translated in Languages and texts.

  4. Repeat for the other devices

    Add the same function to pump P103 with the prefix Pompa_P103. The faceplate screen remains a single screen; only the prefix changes for each device.

  5. Try it in Live

    When you click the pumps, the same faceplate opens in a separate window with each pump's own tags.

    Live: when the P101 and P103 pumps are pressed, the same faceplate in two windows, each with the values of its own instance.12345
    Live: when the P101 and P103 pumps are pressed, the same faceplate in two windows, each with the values of its own instance.
    1. Pump P101 — Click: opens the faceplate with the prefix Pompa_P101.
    2. Title — the description of the structure instance (Feed pump P-101).
    3. Bindings without prefix — speed, current, pressure and the lamps show the Pompa_P101 tags.
    4. Pump P103 — the same faceplate, prefix Pompa_P103.
    5. Second window — the same screen shows the Pompa_P103 tags (speed 80, current 16.8).

Making an existing screen a faceplate

To turn an existing screen into a faceplate later, select Faceplate (pop-up window) in the Faceplate (pop-up window) field; the screen moves to the Faceplates branch. In the User data type category, select the Structure (UDT); Design instance is optional (if the window is opened without a prefix, the values of this instance are shown), and the Instances of the structure row lists the prefixes with which the window can be opened (Screen properties).

How the prefix is resolved

  • Member binding (Hiz without prefix): Live reads the tag <önek>.<üye adı>; with the prefix Pompa_P103 this is Pompa_P103.Hiz. If there is no prefix or the instance has no such tag, the binding is considered unreliable and the object is drawn in pale gray.
  • Dotted tag binding (old format, for example an object bound to Motor1.Hiz): Live replaces the part before the first dot with the prefix; with the prefix Motor2 it becomes Motor2.Hiz. Screens prepared in this format work unchanged. Tags without a dot (shared tags) are not affected by the prefix.
  • Events: the functions of a button in the faceplate are also resolved with the prefix; the button in the P103 window writes only to the Pompa_P103 tags.
  • The source of the prefix is determined in this order: the Tag prefix in the function row; if it is empty, the prefix of the view that contains the event opening the window (the prefix is inherited when a window is opened from a window); and if that does not exist either, the screen's Design instance. On a screen created with New Faceplate, no design instance is selected.
  • The Open screen function can also open a faceplate; it opens as a window and, as its prefix, carries the prefix of the event's view. If you need to specify a prefix, use Open pop-up window.
  • Scripts: in VBS and Python event code, a tag name written without a prefix (Hiz) is looked up with the window's prefix if the project has no tag with that name; in C the prefix is obtained with GetServerTagPrefix. JavaScript scripts have no relative names; write the full tag name (Scripts).

Behavior of the pop-up window in Live

  • The window opens with a title bar and a close button and is moved by dragging the title bar. Several windows can be open: each new window opens slightly offset, its title bar stays inside the display, and the window that is clicked comes to the front.
  • If the same faceplate is already open with the same instance, no second window opens; the open one is brought to the front.
  • The window is not modal: the screen behind it remains usable.
  • The size of the window is reduced in proportion to the current scale of the main screen; a window that is too large to fit on the display is fitted to it.
  • The window closes with the Close pop-up window function or with the × in the title bar. The Screen opened / Screen closed events of the window screen run in the view that carries the prefix.
  • If the Required authorization field of the screen is filled in and the user does not have the authorization, the window does not open: if no user is logged on, the log-on window appears; otherwise a notification appears. A draft screen does not open.
  • In browser monitoring the window can be opened; on TV displays it does not open, because events do not run there.

Screen window object

The Screen window (Toolbox › Controls) runs another screen inside this screen. It has three uses: embedding a faceplate in the screen, making a part of the screen a changeable area (different screens are shown with buttons), and placing a 3D scene in a 2D screen.

Displayed screen
The screen that will run in the window. A screen cannot be displayed within itself (directly or indirectly); such a window stays empty.
Tag prefix
Prefix of the displayed screen (Pompa_P101); member bindings and dotted tags are resolved with the rules above. If empty, the prefix of the view in which the object is located is used. You can bind the prefix to a tag (the value of the text tag becomes the prefix); when the value changes, the screen is rebuilt with the new prefix. If the displayed screen is the faceplate of a structure, the field offers the instances of the structure as suggestions.
Title bar, Title text
If the title bar is on, a title is written at the top of the window; if the Title text is empty, the name of the screen is used instead. The title text can be bound to a tag.
Fit screen to window
When on, the screen is fitted to the object while keeping its aspect ratio; when off, the screen is scaled to fill the area, aligned to the top left, and the overflowing part is cropped.
Close button
See the limitation below.

If you want the content of the embedded window to be variable, add the Show screen in screen window function to the event of the button: select the object as Screen window and the new content as Screen. If the window is on another screen (for example, if the navigation buttons in the fixed upper area should change the window on the main screen), it is selected in the list from the Screen: … group; it works while that screen is open.

Limitations and points to note

  • The template is applied only at creation. Add the object for a member that is added to the structure later to the faceplate yourself. Objects and functions bound to a deleted member produce the error bound to a deleted structure member in Tools›Check project; if the screen's structure is cleared or another structure is selected, the member bindings are also listed as errors.
  • Trend and alarm objects. The curve tags of the Trend view and the own tag lists of the alarm objects do not offer structure members. For a trend curve, select the tag of an instance (Pompa_P101.Hiz); a tag-based curve is converted to the window's instance by the dotted tag rule.
  • The prefix is plain text. It is stored as a name in the function row and in the Screen window object. If you rename a structure instance, also change the prefix in the functions that open the window.
  • A faceplate does not appear in the screen list of the Live system menu and cannot be made a favorite; it is opened by a function (object event, menu / toolbar item), a script or a Screen window.
  • The faceplate screen and the objects in it are no different from other screens: layers, animations and events work in the same way (Object properties, Animations).

Related topics

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