Smart Factory Alpha
AM
Back to rulesets

Block catalog demo

  • Typed blocks. The palette lists the blocks of a catalog, grouped. Search it, or right-click the canvas for “Add a block here…”.
  • Param forms. Click “Schedule” (add one first) or “Too hot?”. Fields come from the block schema; change “Mode” and others appear or go.
  • Validation. The orange badge on “Tell the operator” is a required param with no value. Switch “Chain is active” on: it becomes an error.
  • Undo / redo. Move a node, delete it, then Ctrl+Z, Ctrl+Y (or the buttons bottom right). A whole drag is one step.
  • Multi-select. Shift or Ctrl click nodes, or Ctrl+A. Drag moves them together; Delete, Ctrl+C, Ctrl+X, Ctrl+V work on all of them.
  • Arrange. Scatter the blocks, then press the diagram button in the zoom bar (or right-click the canvas, “Arrange the blocks”). It is one undo step.
  • Box select. Hold Shift or Ctrl and drag on the empty canvas to draw a frame around blocks. On touch, use the frame button in the zoom bar.
  • Snap and guides. Drag a block near another: it snaps to the grid and to the edges of its neighbours, with a guide line. Hold Alt to move freely.
  • Mini map. The binoculars button in the zoom bar shows an overview of 180 x 120. It also appears when blocks leave the view.
  • Groups. Select two nodes, right-click, “Group…”. Drag the name tab to move the members, double-click it to rename or recolour.
  • Flows that run each other. Click “Escalate” (a Run flow block at the end of a chain): its Flow param picks the flow to run. Every flow has one fixed Flow input block, so any flow can be run; it cannot be added, copied or deleted.
  • Error paths. The dashed line from the bottom of “Too hot?” is its error port; drag from that small ring to wire one.
  • The file. Open “Show file” to see roltek-automation-1 as you edit. Secrets are left out of downloads.
Sensing
TrueFalseErrorError path: where errors of this node goError path: where errors of this node goError path: where errors of this node goError path: where errors of this node goError path: where errors of this node goError path: where errors of this node go
Flow input
out
Boiler temperature

site/boiler/temp

out
Too hot?

msg.payload.temp > 90

in
yesno
Hold 2 min

2 min

in
out
Tell the operator

—

in
out
1
Log it

info: Boiler is fine

in
out
Log the error

error: Compare failed

in
out
Escalate

escalation

in
100%