Optimization of A Scada System Based On Clienteerve Mode
Optimization of A Scada System Based On Clienteerve Mode
Chen Qizhi Institute of Railway Electrification & Automation Southwest Jiaotong University Chengdu, Sichuan Province, China 6 10031
Abstract: In this paper a Supervisory Control and Data Acquisition(SCADA) system based on clientkener model is presented. It is developed for traction power administration system of Beijing-Zhengzhou electrified railway. The system hardware configuration. and software hnctions are introduced fust. Then the optimizsition of this SCADA system is discussed. The motivation of optimization is to diminish the affect of network bottleneck end allocate the server's load more reasonably. The optimization can be done from four aspects: 1) operating system choilsing, 2) data structure definition, 3) network administration, 4) the server's load reducing. After the optimization,'this SCADA system performs better 'than before i n inany field.
KeyvorL1s: SCADA, clienthener, optimization, network, load.
I. INTRODUCTION During last two decades, computer technology has made great successes. Because of applying of the modem computer system technology especially the network technology, the Supervisory Control and Data Acquisition (SCADA) system has made a great advance too. It has come from the muitiinachine stage before into its network era now. Aniong all kinds of the modern network technology. the clientlserver model, characterized as ' a n excellent computative structure, has been widely applied in distributive system applications. In the clienthewer scheme system functions are divided into several tasks, and separately processed1 by server computers and client computers. In other words the servers and clients finish all system tasks cooperatively. The relationship between the server and client is requirementkesponse. As the service provider the server maintains a global database and a set of service conventions. When client applications request services from a server process, the server makes a response for this requirement
and returns results to client applications. Depending on the situation, the protocol implemented at both sides of the client and server may be symmetric or asymmetric. In a symmetric protocol, either side may play the master or slave roles. In an asymmetric protocol. one side is immutably recognized as the master, with the other as the slave. No matter whether the specific protocol used in obtaining a service is symmetric or asymmetric. when accessing g a service there is a client process and a server process. A server process normally listens at a well hiown address for service request. That is. tlie server process remains dormant until a connection is requested by a client's connection to fhe server's address. At such a time the server process "wakes up" and ' services the client. performing whatever appropriate actions the client requests of it. This paper presents a practical SCADA system using clienvserver technology for electrified railway power system. As an illustration the system hardware configuration and software functions are introduced first. Because the server and clients finish system tasks distributively. this SCADA system has a cliaracter of high reliability and flexibility, easy exp'ansion and modification as well as easy connection to other systems. Besides all above benefits, this system still needs optimization from some aspects, such as network. administration. data structure definition etc. At the last of this paper. the optimization of this SCADA system is discussed. 11. IMPLEMENT OF A SCADA SYSTEM
0-780347544/98/$10.00
0 1998 IEEE
-1237-
The hardware of JZDAS consists of servers, clients and peripheral devices. The dual Motorola 8520 industrial minicomputers with 33 MHz clock frequency, 32M memory and 1G hard disk operate as the primary and back-up hosts, performing all SCADA functions, communication service with RTUs and administrating network services. The dual PRO-LOG industrial personal computersgc) act as operating graphical workstations (OGW), one printer as the flowing printer (LP) for each RTU group; one printer as report printer (RP), one mimic platform (MP) and one PRO-LOG personal computer as maintenance graphical workstation (MGW) for the whole system. In JZRAS all peripheral devices are connected to ethernet through Terminal Server (TS). TS is a very powerful T C P m product that supports either 4, 8 or 16 RS232-C ports for using terminals, modems or printers. It simply attaches to the TCP/IP network and allows lowspeed serial devices access to that network. The Zhengzhou system of JZDAS is given an example for illustration in this paper The capacity of controlled RTU of Zhengzhou system is two groups. Its hardware configuration is shown in Fig. 1.
by the server and clients. The server not only finishes all SCADA functions, but also conununicates with RTU, clients and all peripheral devices. The server software is developed by Delta Pro C++ R3.0.1 on Motorola UNIX SYSTEM VI88 operating system, and its supported network software is PC-Interface. The functions of the server are roughly summarized into three parts as follows: communication with RTUs in order to acquire all real-time information of controlled units, such as switch position, analogy values and event signals etc., processing all acquired data from RTUs for finishing all SCADA functions, 8 administration network services for response all requirements from clients. The client software is programmed by Microsoft Visual C+t on Chinese Windows 3.1 operating system. The OGW mainly finishes all kinds of remote operation graphical interface. They include one-line picture showing, remote operation interface, reports and event record showing and analog value showing etc The MGW not only a i m s on the input and modification of system database and pictures, but also the simulation or training of the system as well as monitoring the status of whole system. The system function of JZDAS is iliustrated in Fig 2
TW
R
to group0 channel
SCADAfunctions
I
I I
I
MMI
functions
1
bystem
maintenance
I
Lciataacquisitionl
monitoring
I1
control
I I event recording
simulation
picture input
system status
Fig. 1
In this system the dual hosts act as network servers, and the quad OGWs and one MGW perform as clients. Through an intelligent communication board, modem and analog carrier channel, the dual servers communicate with RTUs. In the meantime, they are interconnected with clients and two TSs through two redundant ethemet. Each server is configured as the network router which can exchange data between two networks automaticalIy. The dual OGWs in the same group are redundant each other. They perform all man-machine interface (MMI) functions cooperatively. The MGW mainly finishes database construction and modification, system status monitoring and system simulation or training.
111. SYSTEM OPTIMIZATION Because of the application of clientherver modeling technique, JZDAS is characterized by its fast real-time response, easy expanding and maintenance, and friendly graphical user interface. But during the period of practical running, some shortcomings of this system are
B.
-1238-
exposed. The first imperfection is because all data exchanges between servers, clients and all peripheral devices are through network, the network transferring becomes the bottleneck of this syslem. The second, becaiise the server not only finishes all SCADA functions, but also administrates network services as ujell as communicates with RTUs and all peripheral devices, it has a h e a y load. So that the optimization goal of JZDAS mainly aims on settling network bottleneck problem and lessening the servers load.
developed by connection-based stream socket interface. No matter which side acts as the service requester, the server or clients establish a connection to the service provider first then send one message to it. It means that the data transferring between the server and clients is niessagebased mode. When a RTU has an available message to OGW or OGW has a service requirement, it will create one network connection and one message sending with limited data capacity. This decreases the benefit of network as a high-speed device. The optimization of this is changing the network transferring mode from messagebased to block-based. That is, the on-line Motorola 8520 server puts its data to a large buffer first, and when the network administration process is scheduled to run. all data in the buffer is transferred through the network at once. This will reduce the frequency of network connection and improve the efficiency of network transferring. The larger data package capacity is, the less network connections there are , and the more efficiently the network works. But the large data package will influence the realtime response of SCADA system. In order to settle the conflict of the network efficiency and real-time requirement. the server only transfers the usefiil information of the station whose picture is been showing on OGW now not all the dynamic data. The other optimization of network application software is the status testing for network nodes. At the sener side a process is established for checking the status of all network nodes periodically. Once a network node is power down or its application program nms incorrectly or stops running, the server diagnoses this status immediately. then closes this node automatically and stops sending message to it. The server open this node at once if the status of this node is recovered. This is very powerhl for reducing the time waste of useless network connections. so that it will improve the system real-time response and avoid useless network connections.
f The Senters Load D. Optimization o
-1239-
activated method. That is, the UPP process is in the sleeping state when no upward message is getting, but as soon as an upward message is arrived, it is woken up into the ready state and waits for being scheduled by process scheduler. M e r the above optimization, the active process number is reduced more than before. The value of runq-sz which means the number of processes waiting in memory to run can be abstained by using sar -q command. Before the optimization , the runq-sz is 10.1, but after the optimization it is 5.2. The optimization effect is very obvious
2). Reducing The Number of System Calls
The codes of UNIX system calls belong to the kernel. When user applications call them, the interchange between user processes and tlie kernel is implemented by software interrupt. The more system calls are called, the more exchange between the user state and the kernel there are. Tlus will cause CPU bound and affect the system performance. In order to reduce the number of system calls, the focus aims on tlie optimization for tlie process which administrates tlie communication between the server and RTUs The first optimization step is changing the working mode of serial ports whch are connected with RTU communication channel from the non-blocked method to the blocked method. In the meantime, the read operation is implemented by the block-based mode not by the bytebased mode. The sequence of reading s e n d ports is the four-byte synchronous bytes first, then the address byte and the message-length byte. and all the rest bytes last. The second IS tuning the values of parameter VMIN, VTIME in termio structure The values of VMIN and VTIME are set great than zero. In this case a read is not satisfied until at least VMIN characters have been received or the timeout value VTIME has expired. This allows fast bursts of input to be read efficiently and simplifies the program design as well as reduces the number of the read() system call. The result of above optimization can be seen through running sar -c command. The sar -c command can show the value of scalVs which means tlie mean system calls per second. Before the optimization, the value of scallh is about 20000, but the scalYs is about 12000 after it. It means that the number of system calls are reduced more 40% than before. The optimization result is very good.
3). Tuning The System Kernel Parameters
system kernel parameters must be tuned to satisfy those constraints. The first tuned kernel parameter is NBUF. It specifies how many physical VO buffers to allocate. One VO buffer is needed for each physical read oiwrite active. Because JZDAS have a lot of VO operation, The value of NPBUF is raised to 40 from the default 20 The second tuned parameter is NCALL. It specifies how many callout table entries to allocate. Each entry represents a function to be invoked at a later time by the clock handler portion of the kernel. Software driver may use call entries to check hardware device status. The default value IS 60 At this value setting, when the number of serial communication ports with RTUs increased, it would cause the callout table overflow, the system crashes and output the following messages on the system console: WARNING: CPUO-timeout table overflow. callout indes: xxx WARNING: Too many callout table overflows WARNING. Dynamic allocation of timeout table failed If tuning the NCALL from 60 to 100, and adding the optimization of 1) and 21, the above crash will be avoided.
IV. CONCLUSION
The clienthewer model has been successfully applied in the development of SCADA system. JZDAS is a successful example of thls application. It is characterized by its fast real-time response, easy expanding and modification. and friendly graphical user interface. Besides all these merits, JZDAS still has some shortcomings for perfection. The optimization of JZDAS on four aspects has been discussed in this paper As a result of optimization, JZDAS system performs better than before on the network utilization. real-time response and server's load allocation.
'
V. REFERENCES
Stenens, UNLY Network Programming. Englewood CliflL. NJ: Prentice Hall Inc., 1988 Motorola Inc. ,UNIX SYSTEM W88 Release 1.0: Nehvork Interfaces. 1992 Motorola Inc. , (/NIX SYSTEM VI88 Release 4.0: TCVIP Network Administration. 1992 Motorola Inc. , UNIX SYSTEM V/88 Release 4.0: Machine Monitoring and Tuning. 1992 Motorola Inc. , W E 3 3 2 J T Serial Intelligent Perrpheral Controller Firmware User S. Manual. 1992 R e n d , Introduction to ClienUServer System. John wiley &Sons, Inc. ,1991 C o m e r , D.L. Stevens, Internetworking with TCWIP Vol III: CliengServer Programming and Application. Englewood Cliffs. NJ: Prentice Hall, 1992 Chen Qizhi received her B.S., M.E. degrees from SouthwesT Jiaotong University, Chengdu, China, in 1991 and 1994. From 1994 IO now, she is working at Institute of Railway Electrification & Automation. Southwest Jiaotong University. Her research focus is on computer applications in eledrifEd railway power distribution system.
For most UNIX system applications, the default kernel configuration works well and satisfies the user's needs. However. when some special applications such as the SCADA system mentioned above include strict timing constraints and administrate many VO devices too, the
-1240-