Designing SCADA Application Software - 1st Edition - ISBN: 9780124170001, 9780124170353

Designing SCADA Application Software

1st Edition

A Practical Approach

Authors: Stuart McCrady
eBook ISBN: 9780124170353
Hardcover ISBN: 9780124170001
Imprint: Elsevier
Published Date: 1st August 2013
Page Count: 246
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.


Automation systems, often referred to as SCADA systems, involve programming at several levels; these systems include computer type field controllers that monitor and control plant equipment such as conveyor systems, pumps, and user workstations that allow the user to monitor and control the equipment through color graphic displays. All of the components of these systems are integrated through a network, such as Ethernet for fast communications.

This book provides a practical guide to developing the application software for all aspects of the automation system, from the field controllers to the user interface workstations. The focus of the book is to not only provide practical methods for designing and developing the software, but also to develop a complete set of software documentation. Providing tested examples and proceducres, this book will be indespensible to all engineers managing automation systems.

Key Features

  • Clear instructions with real-world examples
  • Guidance on how to design and develop well-structured application programs
  • Identification of software documentation requirements and organization of point names with logical naming system
  • Guidance on best practice of standardized programming methods for SCADA systems


System Integrators, technologists, engineers, electricians working on SCADA systems and programming

Table of Contents

About the Author


1. Introduction


1.1 SCADA: Convergence of Evolving Technologies

1.2 Basics of SCADA Signal Processing

1.3 Defining the Scope of SCADA Software

1.4 Use of Generalized Terminology

1.5 The Need for Programming Standards

1.6 The Importance of Software Documentation

1.7 Purpose and Overview of This Book

2. The Elements of SCADA Software


2.1 Understanding the Elements of SCADA Software

2.2 Typical SCADA System Architecture

2.3 Sample Application: WTP SCADA System

2.4 Getting the Most from Field Data

3. Practical Procedures for SCADA Software Development


3.1 Life Cycle of a SCADA Project

3.2 Identifying Process Area Field Signals

3.3 Creating and Documenting Application Databases

3.4 Defining and Documenting the Process Controller Operations

3.5 Designing and Developing the SCADA Application Software

3.6 System Integration and Checkout

3.7 User Operations Reference Manual

4. Documentation for SCADA Systems


4.1 SCADA Software Documentation

4.2 Database Reference

4.3 Process Control Logic Descriptions

4.4 Controller Application Program Listings

4.5 SCADA Workstation Application Software Reference

4.6 SCADA User Operations Reference

5. Tagnames and Signal Naming Conventions


5.1 Original Signal Tagnames

5.2 Purpose of Standardized Tagnames

5.3 Constructing Tagnames with Phrases

5.4 Tagname and Signal Naming Convention Structure

5.5 Tagname Fragment Dictionaries

5.6 Illustration of Tagname Application

6. Developing the Application Program Databases


6.1 Review of Data Types and Databases

6.2 Using Spreadsheets to Create Points Lists

6.3 Developing the Controller Database

6.4 Developing the SCADA Workstation Database

7. Process Control Logic Descriptions


7.1 Purpose of PCLDs

7.2 Structure of PCLDs

7.3 System Control Strategy Overview

7.4 Facilities and Parameters

7.5 Control Logic Descriptions

7.6 Special Considerations

7.7 Sample PLCD for Pump Station

8. User Operations Reference Manual


8.1 Structure and Purpose of User Reference Manual

8.2 System Overview and Introduction

8.3 System Graphic Displays

8.4 Process Graphic Displays

8.5 Historical Reports and Trend Displays

8.6 Special Operating Procedures

9. Guidelines for Controller Application Programming


9.1 Identifying the Controller Processes

9.2 Creating the Application Databases

9.3 Tasks, Programs and Program Structures

9.4 Programming Guidelines and Style

9.5 Some Final Notes on Programming

10. Guidelines for Workstation Application Programming


10.1 Identifying the Process Areas

10.2 Configuring the HMI Application

10.3 Developing the Process and Historical Databases

10.4 Design and Development of Process Graphic Displays

10.5 Configuration of I/O Server

11. System Integration, Commissioning and Checkout


11.1 In-House Factory Testing and Checkout

11.2 On-Site Field I/O Checkout

11.3 Commissioning and Site Acceptance Testing

12. Sample Project – Applying the Principles


12.1 Overview of Project

12.2 Identify Process Area Field Signals

12.3 Create and Document Application Databases

12.4 Defining and Documenting Controller Operations

12.5 Develop Process Controller Application Software

12.6 Develop SCADA Workstation Application Software

12.7 Commission the Completed System

12.8 Finalize Software Documentation

Appendix A. Glossary of Technical Terms

Appendix B. TSNC Dictionaries

B.1 Tagname Signal Naming Convention

Appendix C. Sample Process Control Logic Description

High Lift Station

C.1 System Control Strategy Overview

C.2 Facilities and Parameters

C.3 Control Logic Description

C.4 Special Considerations

Appendix D. Program Listings for PPC Program

D.1 Program Structure


No. of pages:
© Elsevier 2013
eBook ISBN:
Hardcover ISBN:

About the Author

Stuart McCrady

Stuart McCrady

Stuart McCrady is a Certified Engineering Technologist in the field of Electronics and Physics Engineering, as well as a Certified Professional Educator in the field of technical training for adults. He spent the first two years of his career in electronics, installing and servicing both large mainframe computer systems and small minicomputers. He then shifted to software programming in automation systems. This field of minicomputer programming required developing application software in machine or assembly language, executing at the hardware level. Field devices such as limit switches, pushbuttons, and solenoid valves, were connected to custom designed hardware interface boards installed inside the minicomputers. From the minicomputers of the 1970s to the PLCs and HMIs of today, Stuart has worked with a broad range of technologies using a variety of hardware and software platforms. He was involved in the design and implementation of more than 50 SCADA type projects. As his career progressed, Stuart acquired both more experience and more responsibility in the field of system integration and SCADA systems consulting. Stuart has served as programmer, project leader, project administrator, consultant, department manager, and SCADA system designer.

Throughout his career, Stuart strove to establish programming standards and design methodologies that could be applied to any SCADA application. In the mid-1970s, he developed a program design and documentation system which he called FLOCODE, which resembled high level languages such as C, but was written in plain English. The purpose of the system was to allow the programmer to design software using English-like statements using structured programming constructs such as: If-Then-Else and Do-While/Do_Until. He applied this method to his own programming at both the high level language and the machine level language; this design documentation then became the comments and program description once the program was completed.

Later, Stuart was involved in the establishment of a systematic tagging system for signal names which would work both for hardware signals as well as internal software points. In addition, a system of structured descriptions was developed for the PLCs which described the operations in simple English, but referenced key signals and operating parameters; this documentation served as the design document for the PLC programming. Stuart expanded this combination of systems into the complete design and documentation system which is the focus of his book: ‘Designing SCADA Application Software: A Practical Approach’.

In addition to this book on Designing SCADA Application Software, Stuart has published articles in trade magazines, as well as presented a paper on the application of computer control systems in the water treatment plants at an American Water Works Association convention.

In 2006, Stuart made another shift in his career, becoming a full time instructor/trainer. Stuart taught courses at the community college level and at the trade school level; courses included: electronics, residential wiring, digital logic circuits, communication networks, electro-pneumatic control systems, electrical motors and motor control circuits, and PLC programming. Since 2011, Stuart has been traveling throughout Canada and the United States, teaching PLC and HMI programming in cities across both countries. His extensive experience in the industry has served him well in the classrooms, as he is able to bring real world experiences into the classroom such that the students not only understand the programming material, but also understand how the concepts are applied.

Affiliations and Expertise

Technical Instructor in SCADA Technology, Canada

Ratings and Reviews