Skip to content

Your first screen

Build a working operator screen from an empty document, and run it.

Everything on this page, built on the pendant in one sitting.

The editor with a finished first screen: a program dropdown above a Program control showing Start, Hold, Reset and Abort.

You can create a functional screen with program selection, start, hold/pause, reset and abort in just a few steps.

  1. Open the HMI Forge Editor via Menu > Plugins > HMI Forge > Editor
  2. Click the Documents dropdown menu in the top left to open up the Documents List
  3. Create a new document by pressing the New button at the bottom right of the screen
  4. The new document opens with a Properties Panel on the right. Optionally give the document a name and choose portrait, landscape or a custom page size. Under Theme, press FANUC so the screen matches the pendant’s own look.
  5. Add a Program control component from the palette at the bottom of the screen
  6. Add a Dropdown by hitting the Dropdown button on the controls palette at the bottom of the screen
  7. Open the properties panel on the right
  8. For Tag, pick active_program — it is under System values, and needs no tag of your own
  9. Select “TP Programs” to automatically populate the dropdown with the current list of TP Programs on the robot. The list is not stored in the document: it is read from the controller each time the HMI loads, so a program added later appears on the next load
  10. Preview the working HMI with the Preview button in the top right
  11. Go back to the editor with the Edit button in the top right
  12. Save your HMI with the Save button

Preview runs the screen in the editor as an operator would see it. It reads live values from the controller, but nothing you press reaches the robot: a button logs what it would have done instead of doing it.

To drive the screen, press Sim in the top bar. The Simulation panel holds:

  • Controller state — the selected program and its state. Set the state to RUNNING and the Program control’s Start lights while Hold becomes available.
  • Prompts — each prompt in the document, with a Show button.
  • The document’s tags, each with a switch or a value field. A value set here shows a Held badge and stays until you press the badge, or Reset at the top of the panel.

To let presses reach the robot, press Go live and confirm. The top bar reads Preview — LIVE in red while they do. Leaving Preview turns it off.

The Alarm banner shows whatever alarm is active and takes no space when none is. It draws from two places: the controller’s own faults, which it shows with no setup, and alarms you define for the document. Tapping it opens the history.

  1. Add an Alarm banner from the palette and place it across the top of the screen.
  2. In the Inspector, switch off Hide when no alarms active. The banner then keeps its place while idle, so the layout does not shift when an alarm arrives. Leave it on for a banner that should take no space until something is wrong.
  3. Press Preview and press the pendant’s E-stop. The fault appears in the banner, marked SYS. Release it and reset, and the banner clears.

Every screen that should show faults needs its own banner. Copy this one to the other screens as you add them.

Your own alarms are conditions you define once for the document, with a message the operator sees while the condition holds. They show in the same banner. To warn when the speed override is turned down:

  1. Press Alarms in the rail on the left.
  2. Press + Add alarm. Give it a name, choose warning for the severity, and enter the message Override below 90%.
  3. For When, enter {override} < 90, then press Save.
  4. Press Preview, open Sim, and set override to 50. The banner shows the warning. Tap it for the history.

See Alarm banner for outputs and the history.

Pictures come in from a USB stick and live in the document from then on. To put a logo on the screen:

  1. Copy logo.png to the root of a FAT32 USB stick and insert it in the controller’s UD1: port.
  2. Press Images in the rail on the left, then + Import from USB, and pick logo.png from the list.
  3. Add an Image from the palette. In the Inspector, under Default image, choose logo.png. Place it in a corner and size it to taste.

Display decides how the picture fills the control. The default, contain, shows the whole picture at its own proportions. The imported file is copied onto the controller, so the stick can come out, and it travels with the document in a backup or export. See Image for pictures that change with machine state.

A document can have several screens. The tabs above the canvas switch between them; + adds one. Hold a tab to rename, duplicate, or delete the screen, or make it the one the runtime opens on.

A manual-functions screen, with a button that drives an output and a way to get there and back:

  1. Press + in the tab strip. Hold the new tab, choose Rename, and name it Manual.
  2. Add a Button from the palette. In the Inspector, set its Label to Clamp.
  3. Under On press, press + Add action and choose Toggle. For Tag, pick + New, choose RO for the kind and 1 for the index, then Create. Each press flips RO[1]. The tag is named ro_1.
  4. Under Lit when, enter {ro_1}, and set Label when lit to Unclamp. Set Variant to custom, which is gray at rest and blue when lit. The button now changes color while the output is on, and names what the next press will do: Clamp while it is off, Unclamp while it is on.
  5. Add two more buttons, labeled Main and Manual. Give each a Navigate to screen action pointing at the screen of the same name. Place them side by side along the bottom edge.
  6. Drag across both navigation buttons on an empty part of the canvas to select them, then press Copy in the toolbar.
  7. Switch to the Main tab and press Paste. The buttons land at the same position they had on Manual, so the bar looks the same on both screens.

Press Preview to try it. The Sim panel lists RO[1], so you can watch the Clamp button flip it.

A prompt is a screen the robot program raises over whatever the operator is looking at, and closes with their answer. To have the program check that the cell is clear before it starts:

  1. Press + Prompt at the end of the tab strip. Name it RobotClear and pick the Yes / No template.
  2. Select the question label and set its Text to Is the robot clear to start?. The No and Yes buttons already answer 0 and 1.
  3. Press Preview, open Sim, and under Prompts press Show. The prompt opens over the screen. Press Yes to close it.

On the robot, one line in the TP program raises it and waits for the answer in R[21]:

CALL IPL_ONEROBOTICS_HMI_PROMPT('Cell 1','RobotClear',21) ;
IF R[21]=0,JMP LBL[99] ;

See Prompts for the other templates and the timeline icon that inserts the call.

Documents are stored on the controller as soon as they are saved, so there is no separate deploy step. All you have to do is open the runtime.

  1. Menu > Plugins > HMI Forge > Runtime
  2. The HMI will display if you only have one saved HMI. Otherwise select the one you just created.

Before handing the device to operators, consider locking the editor so screens can be run but not changed.

  • Program control — Start, Hold, Reset and Abort as one control, with no tags to declare.
  • Alarm banner — the alarms you define and the controller’s own faults, in one strip.
  • USB import & export — pictures, documents, and tags on and off the controller.
  • Prompts — questions the robot program asks the operator.
  • Dropdown — bind option values to a tag on select.
  • Tags — naming the signals a control reads and writes.
  • System values — active_program and the other values available without declaring a tag.
  • Themes — changing the look of every screen at once.
  • Backup & restore — getting a document onto a second controller.