Skip to the workspace
Scada Studio Page Diagram Not saved
Project


What is really there, read from each station. Drag a tag onto the panel or the diagram to use it.
How the alarms reach a screen
StateTagConditionLimitDeadbandDelay (s)PriorityMessageAreaOnRemove

Messages

Run the diagram: what its Probe and Debug nodes receive appears here, with the node it came from.

Data source

Letters and digits, no dots: tags are written source.tag.
The agent's address, http://host:8800. Empty means the address the app is served from. The agent is what talks to the plant: Modbus TCP and RTU, Siemens S7, EtherNet/IP (Allen-Bradley), OPC UA (client and server), MQTT, HTTP and, for a bench, SCPI, VISA and DAQmx.
When the agent is configured with auth: a token with the view role reads, operate also writes. Kept in the project.
The agent's templates, with what the hardware page says of each: verified on a device, verified against the emulator, or beta. An engineer token is needed.
Milliseconds between samples.
One per line: NAME min max [period ms] [unit] [kind sine|ramp|step|square|noise] [noise=0.02], e.g. TT-101.PV 60 90 60000 °C · a run bit: RUN 0 1 20000 square · a unit may have spaces (L / min); a name is written once
The tags this source carries, one per line: NAME [unit]. The designer lists them; the source sends them.

Error list

New diagram

…or a dataflow diagram from one of the classic patterns:

New page

A template copies a page from a sample project, with the sources and the flows it needs.

Measure

 

TagValueUnitLastWrite
Select a tag to watch it.

Recipe

A named set of values an operator loads in one action - "Product A" is 180 °C and 42 bar - instead of typing six numbers into six fields and getting the fifth wrong.

What the operator will see in the list.
Why this one exists, for whoever finds it in a year.
tagvalue
Each is written through the station, which refuses a tag that is not writable. A recipe that half-applies says which half.

Job

Something the station does because of the clock rather than because of a person: a night setback at ten, a pump exercised every Sunday, a report on the hour. It runs on the station's own local time, and it is not run late - a job whose station was switched off does not fire when it comes back.

Minutes, counted from when the station started. It does not line up with the clock.
Five fields: minute hour day-of-month month day-of-week. Lists (0,30), ranges (8-17), steps (*/15) and names (mon-fri, jan) all read.
A number, true, false, or text.
By its name, in any screen published on this station. It is checked before it is run.
A job that is off keeps its place and its history and fires nothing.

Plan a device

A device on the bench before it is wired: its tags come from the instrument, so a screen can be built against it today and pointed at the real one later.

Which station will read it.
The instruments the station knows, and the plain source types.
The source id it will have on the station: tags are read as station.id.tag.
Where it will be, when it is there. Empty is fine while it is a plan.

Type

A record the project knows by name: a Bundle or an Unbundle that follows it takes its fields, and keeps them when the type changes.

namekindunitminmax

Add a module

 

Add to the project

Grid

Pixels.

Publish

To an agent: the app is served at the agent's address and runs there, on the station; the diagrams set to run on the agent start at once. As a file: a zip with the app, the runtime and the project, for any web server.

The Scada Studio agent to publish to.
An engineer token, when the agent is configured with auth. Kept in this browser, not in the project.
With a user the agent knows: the session token fills the field above and the agent sources reconnect with it.
Lowercase letters, digits and dashes: the app's address is /apps/<name>/.
Not published yet.
Every publish is kept on the agent; any of them can be made current again.
The screens this agent serves appear here: open one in this designer, or open the screen itself.

Licence

Two keys: the Scada Studio licence names the holder of this copy; the Smart UI key licenses the components in the designer, the preview and the apps it publishes. Without them everything works as an evaluation, and says so.

No licence: evaluation.
From htmlelements.com. Applied on the next load of the designer, and written into the apps you publish or export.

A user of the station

At least 10 characters. A changed role or password signs the user out; they sign in again with the new one.

Welcome to Scada Studio

Operator screens that run in any browser, fed by your PLCs through a station you install once. Start from a screen that works and make it yours.

  1. Screens Drop components on the page; drag a tag onto one and it follows the plant.
  2. Alarms One condition on one tag each; the station raises them whether or not a screen is open.
  3. Publish To the station on the plant network; everyone else opens a web address.

The documentation has the whole tour: getting started. Project › New from a template brings this back.

Building a panel

  1. Add controls from the palette on the left - the classic Numeric, Boolean, String and Graph groups first, then the industrial components: click one, or drag it to where it should go. Each gets its terminal on the diagram as it is placed; double-click a control to see it, double-click the terminal to come back. Its owned label is the label field at the top of its properties. Move it by dragging, resize it by the handle at its corner, nudge it with the arrow keys (Shift + arrows resizes). Shift-click adds to the selection, a drag on empty canvas selects an area; a selection moves together and the inspector aligns and distributes it.
  2. Set its properties in the inspector on the right. Every property of the component is there, with its meaning shown when you hover.
  3. Bind it to data. Drag a tag from the bar at the bottom onto the component: its value property follows the tag. The Bindings tab binds any property to any tag. A tag dropped on empty canvas makes a bound tile.
  4. Add your data. "+ Source" adds a simulator (signals you describe), a WebSocket or SSE gateway, an HTTP endpoint polled on an interval, or a manual source your code pushes to.
  5. Let operators act. An interactive component raises a request (a setpoint, a command). On the Events tab, "write to" sends the request to the tag bound to a property; the confirmed value comes back through the binding. Tick "Operate" to try it here.
  6. Pages are in the top bar; the theme, the grid, the licence, the sample, import and export are under Project. Save keeps the project in this browser; Preview opens the app; Publish sends it to an agent or downloads it.

Building a diagram

  1. Switch to Diagram in the top bar. The block diagram is the program behind the panel: a node runs when its inputs have values, wires carry one typed value each, and it runs from the sources to the sinks - once, or again and again inside a loop frame.
  2. Add nodes from the palette: the Front panel group has a terminal for every component of the page (a thick border gives a value, a thin one takes it), then constants, Tags of the sources, functions, structures and outputs. Click a tile or drag it to the canvas; a tag dragged from the bar becomes a Tag terminal.
  3. Select several with shift-click, a marquee on empty canvas or Ctrl+A: they move together, and Duplicate copies them with their wires. Wire them from a terminal on a node's right edge to one on another node's left edge. Terminals and wires are coloured by type: orange numbers, green booleans, pink text, thick orange arrays, brown records. A wire between different types is refused and the status bar says why. An input takes one wire.
  4. Structures. A While loop or For loop is a frame: what you place inside runs every iteration (i at its bottom-left, the stop terminal at the bottom-right, the count N at the top-left), and a Feedback node carries a value to the next iteration. A Case frame runs the case its selector names and shows one case at a time (◀ ▶ on its top edge); a Sequence frame runs its frames in order. An Event frame waits for a front-panel event and runs its body with the event's value - put it in a While loop for a user interface. A diagram with Diagram input and Diagram output nodes is a subdiagram, called by a Subdiagram node whose terminals follow it.
  5. Run it with the run arrow: every node shows its last value under it, the wires pulse, and the lightbulb highlights execution - the values ride the wires. Probes write to the strip below; a wire selected shows its last value in the inspector. Clean up (Ctrl+U) lays the diagram out by its wires. A diagram set to run on the agent runs there once the project is published, around the clock, with no browser open.
  6. Message flows. The + next to the diagram also offers a message flow: nodes that react to events - a threshold with hysteresis, a switch, a logger - passing messages { topic, payload, unit, quality, timestamp } along untyped wires. The bench meter's log runs that way on the agent.

Keys: Delete removes, Ctrl+D duplicates, Ctrl+C / Ctrl+V copy and paste, Ctrl+A selects all, Ctrl+Z undoes, Ctrl+S saves, Escape deselects, arrows nudge (Shift + arrows resize). Ctrl+E switches panel and diagram; on the diagram Ctrl+R runs, Ctrl+. aborts, Ctrl+U cleans up, Ctrl+H is the context help, Ctrl+F finds a node, Alt+click sets a breakpoint, F8 steps and F5 continues; Ctrl+Space is Quick Drop (type a name, Enter places it). A diagram with an error has a broken run arrow: click it for the Error list. Right-click a terminal, a wire, a node or the canvas for the shortcut menu (create a constant, a control or an indicator for a terminal; insert a node into a wire; replace a node; add or remove a case); Ctrl+C/Ctrl+V copy and paste a selection with its wires, Ctrl+Y redoes. A Case frame's output tunnels carry a value out of whichever case ran (the state machine's next state); + next to the diagram list starts a diagram from a pattern.