You may be asked to develop a SCADA system from scratch. There may be a number of PLCs that control machines or processes in the facility, and a few HMIs, but they all operate independently and there are no network connections or interfaces to a central SCADA system.
For those who may not be completely familiar with the vernacular, here are some definitions:
PLC – Programmable Logic Controller
An industrial computer used to monitor and control a machine or process
SCADA – Supervisory Control And Data Acquisition
A network of computers, PLCs and devices that collect data and information from the entire network, display that data and allow control of the machines or processes.
HMI – Human Machine Interface
A device, such as a computer terminal or stand-alone touch screen that allow people to observe data in the system and control the system.
IoT – Internet of Things
A network of physical devices, vehicles and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these objects to connect and exchange data.
Some of the dominant SCADA software packages are Ignition by Inductive Automation, FactoryTalk View and RSView32 by Rockwell Automation, Monarch by OSI and Wonderware by Schneider Electric.
The are, of course, many advantages to installing a SCADA system. We won’t go into those right now, but assuming your customer or client wants you do to install SCADA system, where do you start?
The following is a list of points that need to be addressed when developing a SCADA system. A conceptual SCADA architecture may include a functional description, drawings, I/O lists and mock screens. It is best if it contains all of those.
The architecture of a system extends from the sensor or controlled device to the Human Machine Interface (HMI). It includes all equipment and software in between, including cables, network switches, PLCs, remote I/O, local pushbuttons, etc.
SCADA software is capable of communicating with a number of PLCs from various manufacturers. With the introduction of plug-ins, SCADA software can be embedded into inexpensive devices as IoT hardware solution to data acquisition and control.
Determine what manufacturing systems are included in the architecture
A typical manufacturing facility may contain dozens of different sections.
There may be a process section that mixes liquids. These liquids Will then be sent to a bottling line where the bottles are filled automatically. An additional section would be final packaging where the bottles are placed in boxes.
Each section must be identified and a determination must be made as to whether that section will be included in the overall System Architecture.
Determine what ancillary systems, if any, are included
It may be useful to include subsystems that are not directly integrated with the manufacturing process, such as HVAC or Building Security.
Determine the needs and goals of each customer
Typically, the operators should be interviewed to understand their needs. What do they need on their operator screens? What can be done to make their workflow more efficient?
Due to the ease of screen development in SCADA software, screens can be quickly created that uniquelyaddress the requirements of a particular machine.
Maintenance personnel require access to more data than an operator. When did the machine fail? What conditions were present at the time of failure? What alarms are shown?
SCADA software allows certain screens to be visible based on the password entered by the user. A maintenance person can access screens providing the information he needs to diagnose a problem. Also, these higher-level screens may allow manual operation of the machine for troubleshooting.
SCADA software offers a number of ways to collect data. The data can be presented within SCADA software, or it can be exported to another program, such as Microsoft Excel, for further analysis.
It is important to define what data is collected, and how frequently the data will be sampled. It is very easy to fill up a hard drive with data that really isn’t important.
Custom Python scripts may be run within SCADA software to accommodate special requirements.
Screens can be developed that display what procedures or ingredients may have led to a rejected product. This greatly improves traceability, saving money and time.
SCADA software enables a user to create his/her own graphs. Management can compare any set of variables to any other set to improve the manufacturing process.
SCADA software is also capable of providing a high level view of any facility.
Consider the hardware to which SCADA software will be connected
Typically, SCADA software has drivers that will communicate with existing hardware from a number of manufacturers. Some of these drivers are included in the base package, while others must be purchased separately.
It is important to confirm that the existing hardware in the facility is compatible with the SCADA software system.
Modbus is typically the most common protocol, but most SCADA software provides specific drivers for Allen-Bradley PLCs that are superior to Modbus.
Define the network and evaluate security concerns
Password management is handled within SCADA software. It utilizes role-based passwords. This greatly simplifies who is allowed to perform certain operations.
For example, an individual may be assigned a password that allows basic operation of a machine.
A maintenance person would be assigned a password that allows basic operation of a machine, and also allows access to the Maintenance screens for a machine.
Remote access is an option within SCADA software. Care must be taken to provide the appropriate firewalls and security procedures when this is implemented.
Network switches should be chosen carefully. Inexpensive switches will cost more in the long run, considering down time and communication interruptions.
Machine safety (the programming and procedures that prevent a machine from damaging itself) should be performed in the local PLC. Though SCADA software can perform the logical function of, for example, stopping a pump when a tank overflows, it is best to let a PLC perform this function.
Personnel safety should also be handled outside of SCADA software. A device like an Allen-Bradley Guardmaster CR30 should be used to stop a machine if an e-stop button is pressed.
SCADA software can certainly monitor the condition of the e-stop circuit, and should.
Before beginning screen development in SCADA software’s Vision Module, these aspects should be addressed:
- Determine the end user device (laptop, iPad, Android tablet, phone)
- Determine color palette standards
- Establish font standards
- Active element (i.e., pushbutton) standards, including size and placement
Mock-up screens should be created, reviewed and approved by the appropriate parties before screen development begins.
Data storage and management
The type of database must be determined. SCADA software supports MySQL, Microsoft SQL Server, Oracle and PostgreSQL, among others. The type of database used will be determined by the needs of the users.
OS for SCADA software server
Linux is the most reliable and secure operating system that SCADA software can use. However, many people choose to run SCADA software on Microsoft Server.
SCADA software has the ability to segregate alarms into levels of severity. For example, a pump motor may be programmed to require scheduled maintenance after 2,000 hours of use. After 1,900 hours, the SCADA software system may generate an alarm indicating that maintenance is due soon. At 2,000 it may generate a higher level of alarm indicating that maintenance is now due.
If the same pump motor overheats, a more severe alarm can be generated.
A low level alarm might only appear on the HMI. A higher level of alarm may send an email. A critical alarm can generate and send text messages to a number of individuals. SCADA software is highly configurable in this aspect.
It is most cost effective to create a list of alarms (as much as possible) and define them before programming begins.
It is critical that procedures for documenting the system be established. The proposed method of documentation should be approved by all appropriate parties.
All of the above points, among others, should be included to establish a schedule for project completion, including reviews with management. There are a number of other aspects, such as usability evaluations and system commissioning that should be included in the schedule.