The short answer
Client Problems
Client problems are diagnosed by separating the client from the server: if another client works, the server is fine and the problem is the client, its network path, its login, or its display files. A client that will not connect has a name resolution, network, firewall, license count, version, or certificate problem; one that connects but shows nothing has a permissions or project version problem; a slow client has too many tags or scripts on a display, a resource problem on the machine, or a slow path to the server; a silent client has a sound configuration or a notification setting problem. A standard client build kept as an image, and a spare workstation, turn most client failures into a replacement rather than a repair.
Key points
- Another client working proves the server; the problem is then the client, its path, its login, or its files.
- Cannot connect: name, network, firewall, license count, version, certificate, in that order.
- Connects but wrong or empty: role and permissions, project version, cached displays.
- Slow: the display, the machine, or the path. Measure which before changing anything.
- Silent on alarms: sound device, mute, alarm configuration for that station.
- A standard image and a spare workstation make the fix a swap; keep both current.
First question
Is any other client working? If the second operator station shows live data and the first does not, the servers, drivers, and controllers are eliminated in one look and the search is on the client side. If no client works, the problem is the server or the network between the servers and every client, and the client itself is the wrong place to spend time. Every troubleshooting session on a client starts by checking another one.
By symptom
| Symptom | Causes | Checks |
|---|---|---|
| Will not connect to the server | Server name not resolving, wrong address after a server change, network or firewall between client and server, client license count exceeded, client and server versions mismatched after an upgrade, an expired or untrusted certificate | Ping the server by name and address; the client log; license status on the server; versions; certificate dates |
| Connects, displays empty or partly populated | User role without permission to the displays or tags, a project version on the client older than the server, cached display files, tags renamed | Log in as a known-good user; redeploy or refresh the project; clear the cache |
| Slow displays or slow navigation | A display with thousands of tags or heavy scripts, a client with too little memory or a failing disk, a slow or lossy network path, a server under load serving many clients | Time the same display on another client; task manager on the client; ping times to the server; server load |
| Freezes or crashes | Client software fault, graphics driver, memory leak in a long-running session, a script in a loop | Client and application logs; restart and observe; compare with the standard build |
| No audible alarm | Sound device disabled or muted, the station not configured to annunciate, an alarm filter on that client, the audio cable | Play a test sound; alarm configuration for the station; another client sounds |
| Wrong values on one client | Bound to a different server, a test server, or an old redundant partner; a display cached from another project | The server the client is connected to; the project version |
| Login fails | Expired password, locked account, domain controller unreachable, clock too far off for authentication | Log in on another client; the account status; the client clock |
| Cannot control, can view | Role is view-only, station is not permitted control, session timed out to view-only, a control lock held elsewhere | Role and station settings; re-authenticate |
Order of checks
- 1
Another client
Confirm the system is working from a second station. If it is not, stop and go to the server.
- 2
The path
Ping the server by name and by address from the client. Name failing and address working is name resolution; both failing is network or firewall.
- 3
The login
Log in as a known-good user, or the same user on another client. A user problem follows the user; a client problem stays with the client.
- 4
The versions
Client software version against the server, and the project version deployed to the client. Upgrades that reach the servers and not every client are a common cause of a partly working client.
- 5
The machine
Memory, disk, CPU, graphics, the event log. A client that has run for a year without a restart has accumulated something.
- 6
The build
Compare with the standard client build. Anything different is a suspect. Reimage if the difference is not obvious.
The standard build
Every operator station is built from one image: operating system, patches, SCADA client, project deployment, security configuration, sound and display settings, and nothing else. The image is kept current with the deployed system, and a spare workstation with the image on it sits in the control room. A client that fails is swapped for the spare in minutes, and the failed one is diagnosed at leisure or reimaged. A control room whose clients were each built by hand over the years has a different problem on each one.
Frequently asked questions
- After the server upgrade, one client shows old displays. Why?
- Its project deployment did not update, or it is using cached display files. Redeploy the project to that client, clear its cache, and confirm the version on every client after any upgrade; the ones that were off or disconnected during the deployment are the ones that miss it.
- The web client works on one browser and not another.
- Browser compatibility, a blocked script or plugin, a certificate the browser does not trust, or a security setting. Use the browser the vendor supports, import the certificate, and standardize; a web client that must work on every browser is a support burden.
- How many clients can the server support?
- The license says one number and the load says another. Each client adds display rendering, script, and subscription load; a server serving twenty web clients with heavy displays slows for all of them. Watch server load as clients are added, and separate the client-serving role to its own server before the control room notices.
- Should operators be able to reboot the client?
- Yes, and they should know how, and there should be a second client so that the plant is not blind while they do it. Restarting a client is a normal operator action; restarting a server is not.
Related topics
- SCADA ClientsThe workstations, browsers, and mobile devices operators use to see and control the system: thick, thin, web, and mobile clients, roles and permissions, where control is allowed from, workstation design, session policy, licensing, and failover behavior.
- SCADA ServersWhat the servers in a SCADA system do and what a utility should expect of them: the I/O, alarm, historian, and client roles, physical versus virtual, redundancy, sizing, placement, backup, patching, licensing, and monitoring.
- Server FailureHow SCADA servers fail and what to do when one does: failure modes from a full disk to a dead hypervisor host, what the plant experiences with and without redundancy, the recovery sequence from restore to alarm verification, and the monitoring that warns.
- How to Troubleshoot an Ethernet ConnectionWork an Ethernet problem one layer at a time: link light and cable, then speed, duplex, and VLAN on the switch port, then address, mask, and gateway, then the application port through the firewall. Each layer has a one-minute test that rules it in or out.
- Time SynchronizationWhy every clock in a control system must agree and what happens when they do not: out-of-order events, historian gaps at daylight saving, authentication failures, wrong totals. The time source and hierarchy, how each device is synchronized, and the checks.
- Alarms Not AnnunciatingThe condition is real and nothing happened on the screen or the phone: where an alarm can be lost between the controller and the operator, from the alarm bit and the tag quality to the alarm server, the display filter, the shelved and suppressed lists, the audible, and the notifier.
Direct contact
Have a controls question?
Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.