Perspective

User manual

Dashboards and widgets

This is the operating guide for the preview and for the same widgets in the Ignition Perspective project. Open Line Animation on the Dashboards page to run the line that feeds OEE, orders, schedule, downtime, and the OEE Engine.

Create a dashboard

  1. On Dashboards, choose New dashboard and type a name.
  2. Open the new card. Choose Edit, then Add widget.
  3. Pick a widget. The configuration sheet opens so you can set the title, tag or topic, and colors.
  4. Drag the tile to move it. Drag the corner to resize it. Choose Done when the layout is right.
  5. Edit, then the trash icon, deletes that dashboard. Widgets already on other dashboards are not affected.

Four boards are already there: North Field, Process Hall, Line Animation, and Widget Gallery. Widget Gallery has one of each widget. Copy the idea onto your own board by adding the same widget from the catalog.

Line Animation

The line is a widget machine, a conveyor, a quality station, an infeed sensor, a defect sensor, an outfeed sensor, a reject chute, and a good bin. Parts spawn at the machine and travel at the Rate you set. The belt and the parts share one speed, so the widgets stay on the belt.

  • Start / Stop. Stop ends the run and opens a downtime row. Start closes it.
  • Rate. Pieces per minute. This is the ideal rate used by performance.
  • Defect. The next part is rejected at the defect sensor.
  • Reason. Dropdown used for the next stop, and for a stop that is already open. Choices are Unplanned, Fault, No material, Changeover, and Break.
  • Reset. Clears counts, the schedule progress, downtime, and the OEE Engine history for this topic.
  • Topic. Default EET124/OEE/DrJeff. Every MES tile on the same topic follows this line.

MQTT is published as individual topics and as one flat JSON payload on the base topic. The values are running, rate, defect, made, good, reject, infeed, and outfeed. Example: EET124/OEE/DrJeff/good. The Ignition line also writes those values under the tag folder [default]MQTT Tags.

The SQL browser under the conveyor lists each table and the first 10 rows. In the preview those rows are the live line state. On the gateway they are the real database, using the external MySQL connection when that connection is enabled.

Database connection

The MySQL Connection widget is the login for an external database. Enter host, port, database name, user, and password, then choose Save connection in the preview or Test and save in Ignition.

  • A successful test sets mes_connection.enabled to 1.
  • From then on, the line writes mes_snapshot, mes_event, mes_order, and mes_downtime to that database.
  • The connection row itself stays in the project database so the gateway can find the login.
  • If the test fails, MES keeps using the project database. The gateway needs the MySQL or MariaDB JDBC driver, which is the same driver the project database already uses.
  • Leave the password field blank only when the database account has no password. Do not put the password in a widget title or an MQTT topic.

Tables

mes_snapshot

One current row per line. The live MES tiles read this.

line_keyMQTT topic, usually EET124/OEE/DrJeff
running1 while Start is on, 0 while Stop is on
ratePieces per minute from the Rate slider
ideal_rateSame rate, used as the performance target
madeParts that left the machine since the last reset
good_countParts that reached the good bin
reject_countParts sent to reject
run_secondsSeconds the line has been running
down_secondsSeconds the line has been stopped
availabilityRun time ÷ (run + down), percent
performanceMade ÷ (rate × run minutes), percent, capped at 100
qualityGood ÷ made, percent
oeeAvailability × performance × quality ÷ 10000
updated_atTimestamp of the last write

mes_event

A history row each time a count or run state changes. The OEE Engine reads this over the interval.

idRow number
line_keySame topic as the snapshot
event_typeSTART, COUNT, REJECT, or STATE
made, good_count, reject_countCounters at that moment
ratePieces per minute at that moment
run_seconds, down_secondsAccumulated time, so a window can subtract the first row from the last
availability, performance, quality, oeeFactors at that moment, not the window result
detailReserved note, usually empty
tsyyyy-MM-dd HH:mm:ss

mes_order

Production orders for the line. Release on the SKU widget inserts the active order at the front.

line_key, order_noTogether they identify the order, for example WO-104512
productSKU and name, such as SKU-100 Widget A
target_qtyQuantity you released
good_count, reject_countProgress against that order
statusScheduled, Running, Down, or Complete
shift_nameShift label
sort_order0 is the active order
planned_start, planned_endComputed from the remaining quantity and the current rate

mes_downtime

One row each time the line goes from running to stopped.

idRow number
line_keyLine topic
reasonThe dropdown value: Unplanned, Fault, No material, Changeover, or Break
start_tsWhen Stop was pressed
end_tsWhen Start was pressed. Empty while the stop is still open
open_flag1 while the line is still down

mes_connection

The external MySQL login. One row, id = 1. The password is stored here. Do not share the table.

host, portServer address. Port 3306 is the usual MySQL port
db_nameDatabase that will hold the MES tables
username, passwordLogin used by the gateway
enabled1 after Test and save succeeds. MES writes then go to this database instead of the project database

OEE Engine

The OEE tile on the line shows overall equipment effectiveness since the last reset. The OEE Engine is different. It queries the history inside a time window and calculates OEE for that window only.

The interval defaults to 5 minutes. Change it on the widget, from 1 to 240 minutes. On the gateway the engine reads mes_event rows whose timestamp falls inside the window. It subtracts the oldest row in the window from the newest:

  • Availability = run seconds gained ÷ (run seconds gained + down seconds gained).
  • Performance = parts made in the window ÷ (rate × run minutes in the window). The result is capped at 100.
  • Quality = good parts in the window ÷ parts made in the window.
  • OEE = availability × performance × quality ÷ 10000.

The engine needs two samples in the window before it shows a number. Start the line and wait a few seconds. Reset clears the sample log, so the window starts over.

Widget catalog

Display

  • Label. Static or tag-bound text. Use for titles, units, and status copy.
  • Numeric Display. Live formatted value with units — Perspective numeric label.
  • KPI Card. Large process value with sparkline and quality.
  • LED Display. Segment-style readout for process numbers.
  • Status Light. Boolean indicator with on/off colors.
  • Gauge. Radial gauge with range bands and needle.
  • Moving Analog. Bar indicator with desired and alarm bands.

Input

  • Writable Field. Text field that writes a string tag and publishes MQTT.
  • MQTT Numeric. Numeric entry that publishes to an MQTT topic on write.
  • Slider. Write a numeric setpoint with a slider.
  • Toggle Switch. Bidirectional boolean write.
  • Multi-State Button. Off / Auto / Hand (or custom states) write to an integer tag.
  • Write Button. Momentary write of a configured value to a tag.

History

  • Sparkline. Compact history of a numeric tag.
  • Time Series Chart. Realtime trend with axes and live updates.

Agriculture

  • Soil Sensor. Ag-demo soil card: moisture and temperature together.
  • Irrigation Control. Ag-demo irrigation: flow setpoint plus Off / Auto / Hand.
  • Weather Station. Air temp, humidity, wind, and precipitation.

MQTT

  • MQTT Monitor. Live topic stream from the in-app MQTT distributor.
  • MQTT Explorer. Topic tree, payload, publish, and optional Sparkplug B decode. Follows the broker switch.

Alarms

  • Alarm Status. Active process alarms with priority.

OEE

  • OEE A · Q · P. Overall Equipment Effectiveness with Availability, Performance, Quality gauges and loss bands.

Maps

  • MQTT Map. Leaflet map of GPS fixes from MQTT. Each location carries three live data points.
  • GPS Beacon. Names a surface node, publishes GPS plus temp and humidity, and jumps the map to that pin.

Line

  • Line Animation. Widget machine and conveyor, with a live SQL browser of the first 10 rows in each table.

MES

  • MES OEE. Overall equipment effectiveness from the Line Animation: availability, performance, and quality.
  • MES Production Order. The order the line is running, with target, good count, and rejects.
  • MES Scheduling. Planned start and finish for the orders on this line, using the current rate.
  • MES Downtime. Stops from the Line Animation, with a reason and how long the line was down.
  • MES SKU Order. Pick a SKU and quantity, release it onto the line, or reset the simulation.
  • MySQL Connection. Host, database, user, and password for an external MySQL database. The gateway uses it for MES tables.
  • OEE Engine. OEE for a time window. Default 5 minutes, adjustable. Reads the line history rather than the total since reset.

Luna

  • Luna Link Budget. HuLC RF/optical link: SNR, fade margin, dust attenuation, DTE vs relay.
  • Earth–Moon Delay. One-way light time plus next AOS/LOS for the orbital relay.
  • Surface Mesh. Lander, rover, habitat, and EVA wireless nodes for HuLC surface architecture.
  • DTN Bundle Queue. Delay-tolerant networking custody and store-and-forward queue.
  • Antenna Pointing. Azimuth / elevation track for lander high-gain or relay dish.