Skip to main content
CodeSpeedTest
Languages
Start TypingJump into a test — pick any languageAdaptive TrainingUnlock chars as you master themPractice DrillsFocused sessions targeting weak spotsDaily ChallengesNew coding challenges every dayRace ModeCompete against others in real timeAI OpponentRace against an AI at your WPM levelTournamentsLive coding speed tournamentsArcade GamesZType, Overkill Survival, Glyphica & moreGamificationXP, coins, badges & quests
LeaderboardGlobal rankings for every languageCertificatesEarn verifiable Bronze / Silver / Gold certsActivityDaily streaks & historical analyticsProfileYour stats, badges & achievements
Browse Languages500+ languages with real code examplesBlogTips, guides & deep divesFree ToolsWPM calculator, typing speed report & moreFAQCommon questions answeredGetting StartedNew to CodeSpeedTest?AboutOur story & missionSupportGet help — Pro users get priorityContactGet in touch with the team
Pricing
  1. Home
  2. /
  3. Learn
  4. /
  5. Wonderware-intouch

Learn Wonderware-intouch - 10 Code Examples & CST Typing Practice Test

Wonderware InTouch (now AVEVA InTouch HMI) is a graphical Human-Machine Interface (HMI) development platform used to design real-time industrial visualization, SCADA dashboards, and operator control screens for manufacturing, utilities, and automation systems.

View all 10 Wonderware-intouch code examples →
Simple Counter in Wonderware InTouchStart/Stop Machine SimulationTemperature MonitorTank Level VisualizationConveyor Belt AnimationAlarm Indicator PanelBatch TimerPressure Gauge VisualizationRecipe SelectorLive Trend Chart

Learn WONDERWARE-INTOUCH with Real Code Examples

Updated Nov 27, 2025

Explain

InTouch is used to create visualization screens for real-time industrial control.

Offers drag-and-drop graphics, animation links, and scripting for automation.

Communicates with PLCs, RTUs, sensors, and SCADA systems.

Provides trending, alarming, historian integration, and secure operator control.

Widely used across factories, energy, water plants, and large SCADA networks.

Core Features

HMI screen development

Data tags and I/O addressing

Alarms and events management

Scripting engine

Runtime for operator control

Basic Concepts Overview

Tags - variables linked to PLCs or internal memory

Windows - main HMI screens

Animation links - dynamic graphic bindings

Scripts - QuickScript logic

Alarms - condition monitoring

Project Structure

Application folder

Tagname dictionary

Window files

Scripts

Graphics and SmartSymbols

Building Workflow

Create an InTouch application

Define tags and communication servers

Design screens with graphics

Configure alarms, trends, and scripts

Test in runtime and deploy to clients

Difficulty Use Cases

Beginner: simple pump/motor display

Intermediate: alarms + trends + navigation

Advanced: scripting + multi-window SCADA

Expert: historian integration

Architect: distributed SCADA with System Platform

Comparisons

InTouch vs WinCC: InTouch easier to learn; WinCC more integrated with Siemens tools

InTouch vs FactoryTalk View: InTouch more flexible; FTView more Rockwell-centric

InTouch vs iFIX: InTouch more graphical; iFIX stronger in data handling

InTouch vs Citect SCADA: Citect better for large SCADA; InTouch better HMI builder

InTouch vs Ignition: Ignition is modern & cross-platform; InTouch has stronger legacy industrial base

Versioning Timeline

1987 - First Wonderware release

1996 - Introduction of scripting

2006 - SmartSymbols added

2014 - AVEVA acquisition

2018 - Rebranding to AVEVA InTouch HMI

2021 - Historian & cloud enhancements

2023 - OPC UA improvements

2024 - HTML5 runtime options

2025 - New System Platform features

Glossary

Tag - Data variable

QuickScript - InTouch scripting language

SmartSymbol - Reusable graphic

Window - HMI screen

Alarm DB - Alarm event logging database

Installation Setup

Install AVEVA InTouch from AVEVA portal

Activate development and runtime licenses

Install communication drivers (OPC, Modbus, SuiteLink)

Configure application folder structure

Connect to PLCs/servers via network

Environment Setup

Windows OS

OPC/driver installations

PLC network connectivity

SQL Server for Historian

System Platform optional setup

Config Files

*.wtg - window files

*.tag - tag dictionary

*.aaHst - historian logs

*.ini - configuration

*.lgh - alarm/history logs

Cli Commands

Limited CLI support

Use aaAdmin tools (System Platform)

Scripting via QuickScript only

Batch deployment via platform tools

Tag imports via Excel/CSV

Internationalization

Unicode support

Localized UI

Multi-language screens

Regional number formats

Global plant deployments

Accessibility

High-contrast support

Keyboard shortcuts

Large-font display options

Operator-friendly buttons

Multi-language comments

Ui Styling

2D industrial graphics

Color-coded status indicators

Symbol libraries

Responsive navigation

Customizable themes

State Management

Tag values stored in memory

Retained tags across sessions

Alarm states tracked in DB

Scripts maintain runtime state

Historian stores long-term trends

Data Management

I/O tags

Memory tags

Indirect tags

SQL Historian data

OPC/SuiteLink data points

Architecture

Tag-based data model

Graphic windows and popups

Runtime engine

Communication drivers

Optional Historian and Alarm DB servers

Rendering Model

Windows-based runtime

Tag-driven graphics updates

Event-driven scripts

Data-polling via drivers

Optional historian integration

Architectural Patterns

Tag-centric design

Reusable SmartSymbols

Event-triggered scripts

Alarm-first architecture

Client-server SCADA model

Real World Architectures

Water treatment SCADA

Manufacturing lines

Power plant control rooms

Oil & gas pipeline monitoring

Food processing visualization

Design Principles

Operator-first visualization

Ease of use

Open connectivity

Real-time monitoring

Scalable SCADA architecture

Scalability Guide

Use SmartSymbols

Distribute tag servers

Use Historian for data-heavy systems

Segment screens into modules

Deploy multi-node architecture

Migration Guide

Upgrade legacy Wonderware apps

Convert older symbol libraries

Adjust alarms to new standards

Retest PLC communication

Migrate to AVEVA System Platform if needed

Performance Notes

Use SmartSymbols for reusable graphics

Optimize tag count

Limit heavy scripts in scan cycles

Use Historian for large datasets

Avoid too many animated objects

Security Notes

Use InTouch security levels

Implement OS-level access control

Secure PLC network routes

Disable unnecessary protocols

Enable auditing for operator actions

Monitoring Analytics

Trend charts

Alarm summaries

Event logs

Historian dashboards

Operator action tracking

Code Quality

Use clear tag naming

Avoid script-heavy designs

Use SmartSymbols to standardize UI

Document alarms clearly

Organize windows logically

Practical Examples

Pump control and status dashboard

Water tank level monitoring

Power plant turbine display

Factory production line HMI

SCADA alarm management screen

Troubleshooting

Check OPC/SuiteLink connection

Ensure tags are correctly mapped

Verify alarm database

Test scripts for syntax errors

Review runtime logs

Testing Guide

Use Test Application mode

Validate tag reads from PLC

Test screen navigation

Simulate alarms

Check scripts in diagnostic viewer

Deployment Options

Standalone HMI runtime

Networked SCADA clients

Terminal Services/Remote Desktop

Redundant servers

Thin clients (HTML5 via System Platform)

Tools Ecosystem

AVEVA System Platform

AVEVA Historian

AVEVA Communication Drivers

OSI PI System

Kepware OPC

Integrations

OPC DA/UA

Modbus TCP/RTU

SuiteLink

DDE/NetDDE

Historian and SQL databases

Productivity Tips

Use templates and symbol libraries

Reuse screens where possible

Avoid redundant tags

Use diagnostic viewer frequently

Keep scripts simple

Challenges

Managing large tag databases

Ensuring real-time performance

Dealing with legacy protocols

Synchronizing distributed clients

Scaling to plant-wide SCADA

Learning Path

Basic HMI design

Tag configuration & comms

Scripts and animations

Alarms and historian

System Platform integration

Skill Improvement Plan

Week 1: HMI basics + navigation

Week 2: Tags + alarms

Week 3: Trends + scripts

Week 4: PLC connectivity

Week 5: SCADA architecture

Interview Questions

Explain tags and how they link to PLCs.

How do alarms work in InTouch?

What are SmartSymbols?

Difference between OPC and SuiteLink?

How do you optimize HMI performance?

Cheat Sheet

F2 -> Tag Browser

Ctrl + N -> New Window

Double-click object -> Animations

Use Globals for common scripts

Historian -> Trend setup

Books

Mastering Wonderware InTouch

SCADA with AVEVA System Platform

Industrial HMI Design Principles

OPC & SCADA Integration Guide

Real-Time Graphics for Automation

Tutorials

Getting started with InTouch

OPC communication setup

Creating alarms and trends

Building SCADA dashboards

System Platform integration

Official Docs

https://www.aveva.com/

AVEVA InTouch HMI Documentation Portal

Community Links

AVEVA forums

SCADA Reddit

PLCTalk

Automation YouTube channels

Industrial integrator communities

Community Support

AVEVA Forum

PLCTalk

SCADA Reddit

Automation communities

YouTube integrator tutorials

Monetization

SCADA development projects

Factory HMI setups

Maintenance contracts

System Platform consulting

Training services

Future Roadmap

More cloud/hybrid SCADA tools

HTML5-based runtime for web clients

Better OPC UA integration

AI-assisted diagnostics

Modernized HMI graphics

When Not To Use

Non-Windows environments

Very small embedded HMIs

Budget-constrained projects

High-end 3D visualization needs

Cloud-only architectures

Final Summary

Wonderware InTouch is a powerful HMI/SCADA design tool.

Best for industrial visualization and operator control.

Supports multiple PLCs and industrial protocols.

Easy-to-use graphical environment with scripting.

Common in manufacturing, utilities, and plant SCADA setups.

Faq

Is InTouch still supported? -> Yes, now by AVEVA.

Is it easy to learn? -> Very beginner-friendly.

Does it support scripting? -> Yes, QuickScript.

Does it connect to most PLCs? -> Yes via OPC/SuiteLink.

Is it free? -> No, licensed.

Code Sample Descriptions

1

Simple Counter in Wonderware InTouch

# wonderware_intouch/demo/CounterApp
1. Open InTouch Window Designer.
2. Drag a Numeric Display object onto the window.
3. Drag a Button object onto the window.
4. Configure Button: On Click -> Increment 'Counter' tag by 1.
5. Bind Numeric Display to 'Counter' tag.
6. Run the runtime to see the live counter.

A basic InTouch example that increments a counter on a button press and displays it on a numeric display.

Let’s Try →
2

Start/Stop Machine Simulation

# wonderware_intouch/demo/StartStopApp
1. Create a Boolean Tag 'MachineRunning'.
2. Drag two buttons: 'Start' and 'Stop'.
3. Configure 'Start' button: On Click -> Set 'MachineRunning' = True.
4. Configure 'Stop' button: On Click -> Set 'MachineRunning' = False.
5. Add an animated indicator light bound to 'MachineRunning'.
6. Run the runtime to control the machine state.

Simulate a machine start/stop using buttons and a boolean tag.

Let’s Try →
3

Temperature Monitor

# wonderware_intouch/demo/TemperatureMonitor
1. Create a Float Tag 'Temperature'.
2. Drag a Numeric Display to show 'Temperature'.
3. Add a color animation: If Temperature > 80 -> Display red.
4. Add a color animation: If Temperature < 0 -> Display blue.
5. Bind Numeric Display to 'Temperature'.
6. Run runtime to observe color changes.

Displays a temperature value from a tag and changes color when limits are exceeded.

Let’s Try →
4

Tank Level Visualization

# wonderware_intouch/demo/TankLevel
1. Create a Float Tag 'TankLevel'.
2. Drag a Bar Graph object onto the window.
3. Bind Bar Graph value to 'TankLevel'.
4. Add min/max animation: 0 = empty, 100 = full.
5. Optionally, add color changes based on levels.
6. Run runtime to see the tank level update live.

Visualize a tank level using a bar graph linked to a tag.

Let’s Try →
5

Conveyor Belt Animation

# wonderware_intouch/demo/ConveyorBelt
1. Create Boolean Tag 'ConveyorRunning'.
2. Drag a Graphic of a conveyor belt.
3. Add animation: If 'ConveyorRunning' = True -> Move belt graphic.
4. Add a button: On Click -> Toggle 'ConveyorRunning'.
5. Run runtime to control and observe belt movement.

Animate a conveyor belt based on a boolean running tag.

Let’s Try →
6

Alarm Indicator Panel

# wonderware_intouch/demo/AlarmPanel
1. Create Boolean Tags: 'HighTempAlarm', 'LowPressureAlarm'.
2. Drag indicators for each alarm.
3. Bind each indicator color to respective tag: True = Red, False = Green.
4. Trigger alarms via tag changes.
5. Run runtime to see alarm status visually.

Display alarm states using colored indicators based on boolean tags.

Let’s Try →
7

Batch Timer

# wonderware_intouch/demo/BatchTimer
1. Create a Float Tag 'BatchTime'.
2. Drag a Numeric Display for minutes and seconds.
3. Create a Start button: On Click -> Start incrementing 'BatchTime'.
4. Create a Stop button: On Click -> Stop timer.
5. Run runtime to monitor batch duration live.

Track batch process duration using a timer and display minutes/seconds.

Let’s Try →
8

Pressure Gauge Visualization

# wonderware_intouch/demo/PressureGauge
1. Create a Float Tag 'Pressure'.
2. Drag a Gauge object onto the window.
3. Bind Gauge value to 'Pressure'.
4. Configure min/max values: 0 to 200 psi.
5. Optionally, add color zones for safe/critical.
6. Run runtime to see pressure updates.

Use a gauge graphic to visualize pressure values from a tag.

Let’s Try →
9

Recipe Selector

# wonderware_intouch/demo/RecipeSelector
1. Create String Tag 'SelectedRecipe'.
2. Drag a Combo Box or List Box.
3. Bind it to 'SelectedRecipe' with recipe options.
4. On selection, trigger actions/microflows for process.
5. Run runtime to select recipes and trigger processes.

Select different recipes for a process using a drop-down menu and tags.

Let’s Try →
10

Live Trend Chart

# wonderware_intouch/demo/LiveTrend
1. Create a Float Tag 'ProcessValue'.
2. Drag a Trend Chart object onto the window.
3. Bind the Trend Chart to 'ProcessValue'.
4. Configure chart scale and update frequency.
5. Run runtime to observe live trending of the tag.

Display real-time trends of a tag value on a chart.

Let’s Try →

Frequently Asked Questions about Wonderware-intouch

What is Wonderware-intouch?

Wonderware InTouch (now AVEVA InTouch HMI) is a graphical Human-Machine Interface (HMI) development platform used to design real-time industrial visualization, SCADA dashboards, and operator control screens for manufacturing, utilities, and automation systems.

What are the primary use cases for Wonderware-intouch?

SCADA dashboards and operator control panels. Real-time process monitoring. Alarm and event visualization. Historical trending and data logging. Multi-PLC and multi-protocol SCADA integration

What are the strengths of Wonderware-intouch?

Very user-friendly interface. Fast to build industrial dashboards. Strong ecosystem with Historian and System Platform. Connects to many PLC brands. Highly scalable for small HMIs to large SCADA

What are the limitations of Wonderware-intouch?

Windows-only. Requires licensing for runtime and development. Older UI design (legacy versions). Limited 3D visualization. Heavier setups for large SCADA deployments

How can I practice Wonderware-intouch typing speed?

CodeSpeedTest offers 10+ real Wonderware-intouch code examples for typing practice. You can measure your WPM, track accuracy, and improve your coding speed with guided exercises.

Learn Other Programming Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypherGremlinPartiqlHaskellElixirFsharpView all languages →
CodeSpeedTest

Improve your coding speed, code accuracy, and programming syntax WPM with practice sessions across 500+ programming languages.

Quick Links

HomeAboutFeaturesGetting StartedLanguages

Legal & Support

Pro ⚡ PricingContactPrivacy PolicyTerms of Service

Connect

CodeSpeedTest on GitHubCodeSpeedTest on TwitterEmail CodeSpeedTest

© 2026 CodeSpeedTest. All rights reserved.