SCADA Programming
Introduction
SCADA or Supervisory Control and Data Acquisition is a distributed measurement and control system for large-scale industrial automation. SCADA has applications in automated operations like chemical manufacturing and transport, supply systems and power generation.
How SCADA Works
The SCADA technology was developed as part of Instrumentation Engineering. Monitoring systems such as SCADA have been in use for quite some time now. Such systems are collectively called DCS (Distributed Control System). DCS have conventionally been used for facilities like factories. However such systems are not effective in covering large geographical areas like those involved in gas transport systems. SCADA has been specifically developed to meet requirements covering large territories.
A SCADA system at the machine level consists of a central station for gathering data and managing the overall operation. It also has sensors (these could be Remote Terminal Units or RTUs, or Programmable Logic Controller) placed in proximity to where the action is. The RTU or the PLC collects the information locally and then passes it on to the central station which is often several miles away. RTUs and PLCs today are capable of controlling the operations within its purview through closed loop feedback systems. The central station oversees the overall performance of the one or more RTU/ PLC under its control. SCADA systems also allow operators or supervisors to change the settings as appropriate at the level of the RTU or the central station. Alarming conditions like high temperature are recorded and displayed.
Where Programming Comes In
All of this requires that physical conditions be translated into machine language and then signals that humans can read, record and analyze. Thus a full fledged SCADA system has to comprise of both hardware and software elements. Today’s sophisticated SCADA systems include input/output signal devices, control equipment, HMI (Human Machine Interface), networking, communication systems, databases and software.
Thus SCADA system development involves programming at various levels. Data collected at the RTU has to be converted into signals, and for interpreting this data an operator requires HMI. Often the data also has to be compiled and stored (history databases) for recognizing trends and analysis work. Thus customized database systems have to be developed. Networks, communication systems etc bring in more varied requirements for programming.
Add to this the fact that SCADA systems are still evolving. Industries are awakening to challenges like possibility of terrorist strikes. Thus R&D for better, more fool-proof systems is still on at both hardware and software levels. SCADA programming this way has a lot of possibilities.
SCADA Trends
As the requirements and the systems themselves are getting more complex, SCADA users today tend to source PLC, HMI and networking software from different vendors and put them all together, rather than buy them all from the vendor who manufactures the hardware. Mix-and-match is the name of the game. Thus the SCADA softwares of today have to pitch for open communications.
We have to wait and watch to see if this becomes a weak point for SCADA systems. Open systems as we know are more vulnerable to real and cyberspace attacks by terrorists. Suitable security measures like firewalls and VPN solutions could counter this threat effectively and this becomes another area with scope for a lot of work. SCADA seems to be here to stay, as its overall benefits outweigh the risk factor.