bilel modifications 1
TRANSCRIPT
-
7/29/2019 Bilel Modifications 1
1/68
5
2
20
13
Android SCADA platform / Graduation project
Dedication
I dedicate this work as a token of my
deep respect, my great love and
gratitude to:
My dear parents,
All members of my family,
And all my friends.
Acknowledgement
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
2/68
5
2
20
13
Android SCADA platform / Graduation project
It is with great pleasure that I would first like to
express my gratitude to my dear supervisor in
both institutions ESPRIT and Millnia engineering:Mr Imed Ouardi, Ms Sana Ben Fadhel and Mr
Houssem Eddine Lassoued for the attention they
have given to my project throughout its various
stages from concept to completion and these
valuable tips.
I want also to thank all the team members
(ESPRIT MOBILE) among them M.Wael, M Imed
Amri and the same for M.Bechir Messabeb who
was a great help for me in Millinia engineering forsupport and encouragement.
I am indebted to all my teachers for their efforts
that have guided my steps throughout my
university studies; I take the same opportunity to
thank Mr. Karim MAGHREBI language for His help.
I finally want to express honor to the jury
members for agreeing to lend me their attention
and evaluate my work.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
3/68
5
2
20
13
Android SCADA platform / Graduation project
Table des matires
TABLE DES MATIRES.........................................................................................................3
LISTE DES TABLEAUX..........................................................................................................7
TABLE DES MATIRES.........................................................................................................8
GENERAL INTRODUCTION.................................................................................................9
GENERAL CONTEXT...........................................................................................................10
I-General Context..........................................................................................10
1-Project context............................................................................................................10
2-Introducing the Host company ...................................................................................10
3-Project issues..............................................................................................................10
4-Proposed Solution.......................................................................................................10
Conclusion......................................................................................................................10
1.GENERAL CONTEXT. ......................................................................................................11
I-General Context..........................................................................................11
1-Project context............................................................................................................11
2-Introducing the Host company ...................................................................................11
3-Project issues..............................................................................................................12
4-Proposed Solution.......................................................................................................13
Conclusion......................................................................................................................13
I-Mobile application......................................................................................15
II-Medium and Protocols................................................................................15
STATE OF ART .....................................................................................................................15
2.STATE OF ART ..................................................................................................................16
I-Mobile application......................................................................................16
1-Overview.....................................................................................................................16
2-Android Platform.........................................................................................................16
3-Highlights....................................................................................................................17
4-Weakness....................................................................................................................17
II-Medium and Protocols ...............................................................................18
1-Why Ethernet? Why TCP/IP?........................................................................................18
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
4/68
5
2
20
13
Android SCADA platform / Graduation project
2-MODBUS Protocol ...................................................................................................... 20
a- EtherNet/IP.................................................................................................................21
b- PROFINET..................................................................................................................21
Managed by PROFIBUS and PROFINET International (PI), PROFINET is an application
protocol that uses familiar concepts from PROFIBUS that are implemented on the
physical layer of Ethernet. PROFINET is adopted by SIEMENS........................................21
c- EtherCAT...................................................................................................................22
EtherCAT (Ethernet for Control Automation Technology) is a high-performance,
industrial communication protocol for deterministic Ethernet. Published as part of IEC
61158, this open standard implements a master and slave architecture over standard
Ethernet cabling to transfer data with predictable timing and precise synchronization.
EtherCAT is adopted by BECKHOFF................................................................................22
3-MODBUS: Protocol of Choice.......................................................................22
a-Definition....................................................................................................................22
b-Services supported by Modbus...................................................................................22
c-Principle of Modbus exchanges...................................................................................23
d-MODBUS Addressing model........................................................................................24
4-RTU Modbus Protocol.................................................................................25
5-Modbus ASCII Protocol...............................................................................26
6-Modbus TCP/IP...........................................................................................26
a-Structure of a Modbus TCP/IP message.......................................................................27
III-SCADA SYSTEM..............................................................................................................29....................................................................................................................................... 29
1-What is SCADA?..........................................................................................................29
2-Components of SCADA System...................................................................................29
Field Instrumentation refers to the devices that are connected to the equipment or
machines being controlled and monitored by the SCADA system. These are sensors for
monitoring certain parameters; and actuators for controlling certain modules of the
system...........................................................................................................................30
These instruments convert physical parameters (i.e., fluid flow, velocity, fluid level,
etc.) to electrical signals (i.e. voltage or current) readable by the Remote Station
equipment. Outputs can either be in analog (continuous range) or in digital (discrete
values). Some of the industry standard analog outputs of these sensors are 0 to 5 volts,
0 to 10 volts, 4 to 20 mA and 0 to 20 mA. The voltage outputs are used when the
sensors are installed near the controllers (RTU or PLC). The current outputs are usedwhen the sensors are located far from the controllers...................................................30
Likewise, digital and analog inputs are used for control. For example, digital inputs can
be used to turn on and off modules on equipment. While analog inputs are used to
control the speed of a motor or the position of a motorized valve.................................30
Field instrumentation connected to the plant or equipment being monitored and
controlled are interfaced to the Remote Station to allow process manipulation at a
remote site. It is also used to gather data from the equipment and transfer them to the
central SCADA system. The Remote Station may either be an RTU (Remote Terminal
Unit) or a PLC (Programmable Logic Controller). It may also be a single board or
modular unit...................................................................................................................30
The Communication Network refers to the communication equipment needed totransfer data to and from different sites. The medium used can either be cable,
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
5/68
5
2
20
13
Android SCADA platform / Graduation project
telephone or radio. The use of cable is usually implemented in a factory. This is not
practical for systems covering large geographical areas because of the high cost of the
cables, conduits and the extensive labor in installing them. The use of radio offers an
economical solution. Radio modems are used to connect the remote sites to the host.
An on-line operation can also be implemented on the radio system. For locations
wherein a direct radio link cannot be established, a radio repeater is used to link these
sites...............................................................................................................................31
The Central Monitoring Station (CMS) is the master unit of the SCADA system. It is in
charge of collecting information gathered by the remote stations and of generating
necessary action for any event detected. The CMS can have a single computer
configuration or it can be networked to workstations to allow sharing of information
from the SCADA system.................................................................................................31
..................................................................................................................................... 32
There are many major companies who offer different SCADA system solutions
mentioning some of them for example: Wonderware, Intellution, Rockwell Software,
Siemens, and ABBGenerally the solutions made by these companies are complex,
Ramified, made for a huge project and most of all very much costly.............................32
For the Android SCADA solutions there are none, at least as available solutions, and if
there are its only for monitoring and supervision, that means just an Android
application which is connected with the CMS (Central Monitoring Station) and offers to
the user a real-time visualization, a GUI (graphical user interface). As an example for
such type of solutions we can mention TeslaScada who developed applications that can
offer communication between an android device and industrial automation applications
and visualization............................................................................................................32
As was mentioned before a SCADA system contains four components: field
instrumentation, communication network, remote station and the central monitoring
station. The two first parts are hardware equipment and cant be replaced but the two
last are basically a software solution and there our project starts.................................33
So the idea was to create a solution which is an Android application able tocommunicate with the field instrumentation, collect data, saved to a data-base and
present it on the screen.................................................................................................33
Conclusion......................................................................................................................33
Modbus is a messaging protocol uses application layer that provides client / server
communication between devices connected to different networks, this is what we were
talking the most in this chapter, plus the concept of SCADA in general.........................33
Specification and functional analysis..............................................................................34
3.SPECIFICATION AND FUNCTIONAL ANALYSIS......................................................35
1-Agile Methodologies....................................................................................................402-Mobile-D: A methodology for the development of mobile applications........................41
A-Mobile-D introduction................................................................................41
B-Why Mobile-D for mobile application?.........................................................42
C-Mobile-D in phases.....................................................................................43
D-Mobile-D methodology evaluation..............................................................45
Advantages....................................................................................................................45
Disadvantages...............................................................................................................47
Design Phase..................................................................................................................48
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
6/68
5
2
20
13
Android SCADA platform / Graduation project
4.DESIGN PHASE ..................................................................................................................49Implementation..............................................................................................................54
5.IMPLEMENTATION .........................................................................................................55
LIST OF ABBREVIATIONS.................................................................................................60
BIBLIOGRAPHIE ..................................................................................................................61
ANNEX.....................................................................................................................................61Read Coils 01 (0x01) .....................................................................................................63
Read Discrete Inputs 02 (0x02)......................................................................................63
Read Holding Registers 03 (0x03)..................................................................................64
Read Input Registers 04 (0x04)......................................................................................65
Write Single Coil 05 (0x05).............................................................................................66Write Single Register 06 (0x06).....................................................................................66
Write Multiple registers 16 (0x10)..................................................................................67
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
7/68
5
2
20
13
Android SCADA platform / Graduation project
Liste des tableaux
TABLE 1: GENERAL FEATURES OF SOME OF AGILE SOFTWAREDEVELOPMENT METHODS.......................................................................................1
TABLE 2: MOBILE-D AND MOBILE SOFTWARE DEVELOPMENTCHARACTERISTICS......................................................................................................4
TABLE 3: DESCRIPTION OF THE USE CASE CONSULT THECOLLECTED DATA.........................................................................................................4
TABLE 4: DESCRIPTION OF THE USE CASE RETRIEVE THEDEVICE STATE..................................................................................................................4
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
8/68
5
2
20
13
Android SCADA platform / Graduation project
Table des matiresFIGURE 1: .................................................................................................................................4
FIGURE2: MOBILE-D...............................................................................................................4
FIGURE3: MOBILE-D PHASES...............................................................................................4
FIGURE4: ANNUAL GROWTH OF INDUSTRIAL ETHERNET
INFRASTRUCTURE.................................................................................................................4
FIGURE5: CONSTRUCTION OF A TCP/IP-ETHERNET DATA PACKET..........................4
FIGURE6: INDUSTRIAL ETHERNET PROTOCOLS MARKET SHARE............................4
FIGURE7: PUBLIC FUNCTION CODE DEFINITION...........................................................4
FIGURE8: COMMUNICATION ENTER MASTER AND SLAVE.........................................4
FIGURE9: MODBUS ADDRESSING MODEL.......................................................................4
FIGURE10: RTU MODBUS FRAME STRUCTURE...............................................................4
FIGURE11: ASCII MODBUS FRAME STRUCTURE............................................................4
FIGURE12: MANAGING A MODBUS TCP/IP CONNECTION............................................4
FIGURE13: CONSTRUCTION OF A MODBUS TCP DATA PACKET................................4
FIGURE14: READ COILS STATE DIAGRAM.......................................................................4
FIGURE15: GLOBAL USE CASE DIAGRAM........................................................................4
FIGURE16: SEQUENCE DIAGRAM WITHOUT HUMAN INTERACTION....................4
FIGURE17: OBJECTS SEQUENCE DIAGRAM.....................................................................4
FIGURE18: ACTIVITY DIAGRAM.........................................................................................4
FIGURE19: CLASS DIAGRAM................................................................................................4
FIGURE20: THE SHAPE OF THE USED DEVICE.................................................................4
FIGURE21: MODBUS SLAVE INTERFACE..........................................................................4
FIGURE22: WIRESHARK INTERFACE.................................................................................4
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
9/68
5
2
20
13
Android SCADA platform / Graduation project
General Introduction
Android has become increasingly interesting for hardware development.Now, we should soon be able to connect joysticks, custom hardware, sensors and
other devices and make a platform Android almost in every field and among
those fields we can find the industrial field.
New API Management hardware enables everyone to develop hardware
accessories for Android, from individual amateurs to major global brands. You
do not have to sign an NDA, and you do not need a special license material, the
aspects concerning Apple's policy does not exist in Android.
We have always been able to connect an Android device to a computer,
but until a while ago, there was no way for Android applications to interact with
other hardware via Ethernet or any other port. In this context, we explore new
support for input output devices, as well as new opportunities for applications to
communicate with devices via Ethernet and by using TCP / IP protocol.
Among the many fields that can interact with Android there is the
industrial field. Indeed, this interaction is more or less new, as seeking we
couldnt find enough tests and experiments that concern this meeting. We had
the courage to involve in this project and dive into this experience.
It is in this context that our project is: it is study, design, develop an
embedded intelligent system based on Android.
Throughout this report, we will discuss the different stages of our project,
starting with a presentation of the basic concepts in the understanding of our
subject, then we present the various existing solutions and finally in the last
section, we shall a detailed description of the formulated solution.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
10/68
5
2
20
13
Android SCADA platform / Graduation project
Abdallah Mahmoud _ ESPRIT
Chapter I General context
Introduction
I- General Context
1- Project context
2- Introducing the Host company
3- Project issues
4- Proposed SolutionConclusion
-
7/29/2019 Bilel Modifications 1
11/68
5
2
20
13
Android SCADA platform / Graduation project
1.General context.
Introduction
We present in this chapter a preliminary study of the project. At first, we
present the environment of the internship. Subsequently, we describe the
problem and the main objectives of the project.
I- General Context
1- Project context
As part of the education of Telecommunications engineers in (ESPRIT),
we had the opportunity to do our end of studies project for the National Diploma
in Telecommunications Engineering at Millinia engineering and with ESPRIT
Mobile team at ESPRIT, usually the project is intended to complement our
academic training acquired during the last three years, and bring us into
professional life through implementation of our knowledge, use of acquired
skills and to test our mind engineer. The project is to design and implement an
application based Android on system in order to switch to the open-source
programming and to reduce costs.
2- Introducing the Host company
Millenia Engineering is a limited company (Ltd) working in partnership
with renowned manufacturers. Its initial objective is to offer a national andinternational clients outsourcing tasks and design studies in the fields of
electronics and telecommunications to make some projects feasible design of
new products. These tasks require, particularly in Europe, a major investment
behind which stands as a major obstacle to the achievement.
Millenia Engineering has several projects in various fields of activities. It has
worked in the design and development of IT solutions for the industry.
Furthermore, Millenia Engineering has several other activities in Tunisia and
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
12/68
5
2
20
13
Android SCADA platform / Graduation project
around the world in partnership with major companies for the implementation of
systems with high technological added value in the field of BMS (building
management system).
Millenia participated in collaboration with Tunisian research centers (Sup'Com,
ENIT ...) in several pilot projects.
These observations made, the activity of Millenia Engineering covers four main
areas:
- Electronic communications: communication, signal processing, wireless
connections ...
- Instrumentation.
- Computer peripheral.
- General public (Consumer Electronics).
3- Project issues
To achieve an embedded intelligent system based on Android and that
meets the needs requested by Millinia-Engineering and different potential clients
(companies, people), it is important to focus primarily on the issues of the
project in order to be organized.
Thus, we will determine the scope of action and the feasibility of this
project. The project involves multiple environments; it starts on the developer's
machine, through a phase of communication with some devices, to the actual
testing environment to finally arrive at the surround production. In addition, the
project can be transferred from one environment to another several times before
it is finalized.
In this project, the provision of an environment with another does not
happen the same way that you work with a single environment, and do not
present the same degree of complexity, as in a development environment, a
simple compilation is enough, and even errors can be detected, but the
deployment of the solution on the other environments especially communication
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
13/68
5
2
20
13
Android SCADA platform / Graduation project
with industrial equipment has several constraints and challenges more if we want
to transfer only a very specific functionality, without affecting other features,
that makes this difficult and painful hence the need to develop an approach to
achieve this task manipulation.
There are also other scenarios the system can force us to design a flexible
solution such as:
System that meets the specific needs in terms of functionality.
System that meets specific needs in terms of personalization.
System which has a margin large enough scalability
Demonstrate the ability to merge the intelligence of Android with industrial
environment.
4- Proposed Solution
The solution proposed as an embedded intelligent system based on
Android OS solution is a SCADA platform based on Android, it operates on two
levels, the first will have the role of ensuring the communication and the
interaction with the external environment represented in different external
devices, the second level allows the user to interact with the application by
providing a GUI which offers several advanced features.
Conclusion
This chapter has served us to put our project in its frame. Indeed, our
graduation project is made in Millinia-Engineering, which is to create an
application based on Android which communicates with an industrial
environment, in order to monitor and increase technological innovation in the
both fields.
In the next chapter we introduce the necessary concepts that lead to understand
this project: an overview of the chosen solution as a concept and as a platform
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
14/68
5
2
20
13
Android SCADA platform / Graduation project
for software development and other existing solutions and a comparison of these
solutions to focus on their strengths and weaknesses.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
15/68
5
2
20
13
Android SCADA platform / Graduation project
Abdallah Mahmoud _ ESPRIT
Chapter II State of Art
Introduction
I- Mobile application
II- Medium and Protocols
-
7/29/2019 Bilel Modifications 1
16/68
5
2
20
13
Android SCADA platform / Graduation project
2.State of Art
IntroductionIn this chapter we will present some concepts and
technologies that will be used to better understand our subject,
this chapter is divided into three parts which are as follows.
The first part will be devoted to the presentation of the concept
and principle of the mobile application and the, the second part
we will talk deeply the MODBUS protocol, causes of choice, theareas of activity, operation mode and the different modes of
use, and in the end we will be talking about the SCADA concept
and the new challenges with a comparative study of similar
products on the market.
I- Mobile application
1- Overview
A mobile application is a downloadable program on a free of charge, or
paid, or executable, from the operation system of the phone or other device, and
is specific for mobile operating system and developed by unique and specific
language required with the publishers offered by the company that provides the
system and offers some tools to application development.
2- Android Platform
Android is an open source Linux-based operating system designed
primarily for touch screen mobile devices such as smart phones and tablet
computers. Initially developed by Android, Inc., which Google backed
financially and later bought in 2005, This open-source code and permissive
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
17/68
5
2
20
13
Android SCADA platform / Graduation project
licensing allows the software to be freely modified and distributed by device
manufacturers, wireless carriers and enthusiast developers
The open-source code as a foundation for community-driven projects,
which add new features for advanced users or bring Android to devices which
were officially released running other operating systems.
3- Highlights Security: Android OS is proven to have superior security when
compared to other mobile phone operating systems. One of the factors that
contribute to the improved security that Android OS has is the fact that all appsrequire authorization in order to access the various phone resources such as
memory, installation and network.
Rich multimedia capabilities: Android OSs multimedia
capabilities range from media transfer to multimedia streaming. Android users
also get to enjoy other benefits such as Multilanguage support, tethering,
massive external storage capability and multitasking among others.
Easy to operate: Many users appreciate devices that are easy to
operate. Android OS is highly preferred due to its simplicity in operation.
Besides being easy to operate, this operating system is less prone to crashing,
which makes it very convenient to both first-time and experienced users to
access applications without any worries.
4- Weakness
Fragmentation: Android OS has several versions, devices running
Android comes in many shapes and sizes, available in different screen sizes and
rated in vast numbers of different performance levels. All these factors
contributed to the growing fragmentation of Android OS which burden
developers to optimize apps according to each category. It was extremely
challenging and time consuming.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
18/68
5
2
20
13
Android SCADA platform / Graduation project
Battery Drainage and overheating: Overheating of Android
device has been a big issue and it has a very short battery life.
Internet connection: Most Android devices require a simultaneous
Internet connection
II- Medium and Protocols
1- Why Ethernet? Why TCP/IP?
No doubt, Ethernet and the TCP/IP Protocol are achieving more and
more acceptance in the industrial automation technology. Major technicaladvances such as Fast Ethernet, Switching and Full Duplex communication have
turned the good old Ethernet into a powerful communication system with a
magical attraction to industrial users and manufacturers.
a_ Ethernet
A 2004 report measured the industrial Ethernet infrastructure market at
$124 million. This latest study finds the market grew to more than $260 million
in 2006, and will continue to increase 29% annually, reaching $995 million in
2011.
Figure4: Annual growth of industrial Ethernet infrastructure
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
19/68
5
2
20
13
Android SCADA platform / Graduation project
Although Ethernet has secured a growing share of the global automation
networking market, researches confirm that numerous other types of industrial
networks have also been expanding over the last several years. Ultimately, some
of the applications now served by the many industrial device networks and
motion control networks will migrate to industrial Ethernet.
Ethernet has several advantages:
Greater bandwidth and larger data packages for communications
with more and more intelligent industrial devices.
Connecting and addressing more devices over wider areas.
Quicker Real-Time communication with synchronization good
enough even for demanding motion control applications.
Integration to the office world, IT-functions, Internet/Intranet,
remote configuration. This is basically TCP/IP on Ethernet with application
protocols such as SNMP, FTP, MIME, HTTP. Communications over routers and
servers where IP-addressing and TCP transport are mandatory.
b_ TCP/IP Protocols
TCP/IP refers to the Transmission Control Protocol and Internet Protocol
which were first introduced in 1974. TCP/IP is the foundation for the World
Wide Web and forms the transport and network layer protocol of the internet that
commonly links all Ethernet installations world-wide. Simply stated,
TCP/IP allows blocks of binary data to be exchanged between computers.
The primary function of TCP is to ensure that all packets of data are
received correctly, while IP makes sure that messages are correctly addressed
and routed. TCP/IP does not define what the data means or how the data is to be
interpreted; it is merely a transport protocol.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
20/68
5
2
20
13
Android SCADA platform / Graduation project
Figure5: CONSTRUCTION OF A TCP/IP-ETHERNET DATA
PACKET
Ethernet communication with TCP/IP is non-deterministic and the
reaction time is often above 100ms. Remote I/O demands reaction in the 5-10ms
regions. Motion Control craves even higher demands determinism with cycle
times into the microsecond region. The conflict between IT-traffic using TCP/IP
and the achievement of real-time performance is dealt with in several different
ways.
By using standard TCP/IP embedding a field bus protocol at the
application level maintains full IT-openness. You just tunnel the field bus
protocol on Ethernet. Reaction time is around 100ms like standard Ethernet. In
local segments with few devices and small data packages the reaction time goes
down to 20ms. By using UDP instead of TCP the reaction time comes down to
10ms at best. Direct MAC-addressing in a local segment can bring reduce this
closer to 1ms. Time synchronization can be added such as that obtained by
applying IEC61588. Bandwidth for TCP/IP traffic remains at 90-100%.
2- MODBUS Protocol
Major industrial Ethernet protocols
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
21/68
5
2
20
13
Android SCADA platform / Graduation project
Industrial Ethernet protocols offer many varieties for high speeds, target
applications, determinism, and compatibility with standard Ethernet. Each
technology has its benefits and limitations, and the best choice often depends
on the specific requirements of the system. To provide high-performance
measurements and real-time control, National Instruments products can easily
plug into the most popular industrial Ethernet protocols.
In his report "The world market for industrial Ethernet", the market
research firm IMS Research has established a classification protocol Ethernet
equipment sales, and the result appears in the figure below.
Figure6: Industrial Ethernet protocols Market share
a- EtherNet/IP
Developed by Rockwell Automation and managed by the Open
DeviceNet Vendors Association (ODVA), EtherNet/IP extends the common
industrial protocol (CIP) of DeviceNet to Ethernet. EtherNet/IP is an applicationlayer protocol that uses TCP for general messages and user datagram protocol
(UDP) for I/O messaging and control. UDP is a multicast protocol that routes
packets from the controller to multiple destinations.
b- PROFINET
Managed by PROFIBUS and PROFINET International (PI), PROFINET
is an application protocol that uses familiar concepts from PROFIBUS that are
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
22/68
5
2
20
13
Android SCADA platform / Graduation project
implemented on the physical layer of Ethernet. PROFINET is adopted by
SIEMENS.
c- EtherCAT
EtherCAT (Ethernet for Control Automation Technology) is a high-
performance, industrial communication protocol for deterministic Ethernet.
Published as part of IEC 61158, this open standard implements a master and
slave architecture over standard Ethernet cabling to transfer data with predictable
timing and precise synchronization. EtherCAT is adopted by BECKHOFF.
3-MODBUS: Protocol of Choice
a- Definition
The Modbus protocol was developed in 1979 by Modicon, Incorporated,
for industrial automation systems and Modicon programmable controllers. It has
since become an industry standard method for the transfer of discrete/ analog I/O
information and register data between industrial control and monitoring devices.
Modbus is now a widely-accepted, open, public-domain protocol that requires a
license, but does not require royalty payment to its owner.
MODBUS is an application layer messaging protocol, positioned at level
7 of the OSI model that provides client/server communication between devices
connected on different types of buses or networks. The Internet community can
access MODBUS at a reserved system port 502 on the TCP/IP stack.
b- Services supported by Modbus
The Modbus protocol provides 19 different functions. They are
characterized by a function code (in hexadecimal). The different function codes
are detailed in the table below.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
23/68
5
2
20
13
Android SCADA platform / Graduation project
Figure7: Public Function Code Definition
c- Principle of Modbus exchanges
Modbus devices communicate using a master-slave (client-server)
technique in which only one device (the master/client) can initiate transactions
(called queries). The other devices (slaves/servers) respond by supplying the
requested data to the master, or by taking the action requested in the query. A
slave is any peripheral device (I/O transducer, valve, network drive, or other
measuring device) which processes information and sends its output to the
master using Modbus. The Acromag I/O Modules form slave/server devices,
while a typical master device is a host computer running appropriate application
software. Other devices may function as both clients (masters) and servers
(slaves).
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
24/68
5
2
20
13
Android SCADA platform / Graduation project
Figure8: Communication enter Master and Slave
Masters can address individual slaves, or can initiate a broadcast message
to all slaves. Slaves return a response to all queries addressed to them
individually, but do not respond to broadcast queries. Slaves do not initiate
messages on their own, they only respond to queries from the master.
d- MODBUS Addressing model
The address of each subscriber is independent of its physical location. It
ranges from 1 to 64 and must not be assigned sequentially. Subscribers are
required to have different addresses.
In a MODBUS PDU each data is addressed from 0 to 65535. It also
defines clearly a MODBUS data model composed of 4 blocks that comprises
several elements numbered from 1 to n.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
25/68
5
2
20
13
Android SCADA platform / Graduation project
Figure9: Modbus addressing model
4- RTU Modbus Protocol
When using the RTU Modbus protocol, the communication message
structure is as follows:
Figure10: RTU Modbus frame structure
-The address field contains the address of the slave instrument to which
the message is being sent. In theory, one can connect up to a maximum of 245
apparatuses (slaves).
-The Function field contains the function ID that has to be carried out by
the slave.
- The Data field contains the data sent to the slave or the data sent by the
slave as a response to a question.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
26/68
5
2
20
13
Android SCADA platform / Graduation project
-The CRC field permits both the master and slave to check whether there
are transmission errors.
5-Modbus ASCII Protocol
The Modbus ASCII protocol is normally used in applications that need to
communicate via modem.
The functions and addresses available are the same as the RTU version,
but the characters transmitted are in ASCII and the termination of the message is
not done via the time but with return characters.
The structure of the communication message structure is as follows:
Figure11: ASCII Modbus frame structure
-The address field contains the address of the slave instrument to which
the message is being sent.
- The Function field contains the function ID that has to be carried out by
the slave.
- The Data field contains the data sent to the slave or the data sent by the
slave as an answer to a question. The maximum length allowed is 32 consecutive
registers.
- The LRC field permits both the master and slave to check whether there
are transmission errors.
6-Modbus TCP/IP
Modbus TCP/IP (also Modbus-TCP) is simply the Modbus RTU protocol
with a TCP interface that runs on Ethernet. The Modbus messaging structure is
the application protocolthat defines the rules for organizing and interpreting thedata independent of the data transmission medium.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
27/68
5
2
20
13
Android SCADA platform / Graduation project
TCP/IP refers to the Transmission Control Protocol and Internet
Protocol, which provides the transmission medium for Modbus TCP/IP
messaging. Simply stated, TCP/IP allows blocks of binary data to be exchanged
between computers. The primary function of TCP is to ensure that all packets of
data are received correctly, while IP makes sure that messages are correctly
addressed and routed. Note that the TCP/IP combination is merely a transport
protocol, and does not define what the data means or how the data is to be
interpreted (this is the job of the application protocol, Modbus in this case).
Figure12: Managing a Modbus TCP/IP connection
a- Structure of a Modbus TCP/IP message
Modbus TCP/IP uses TCP/IP and Ethernet to carry the data of the
Modbus message structure between compatible devices. That is, Modbus TCP/IP
combines a physical network (Ethernet), with a networking standard (TCP/IP),
and a standard method of representing data (Modbus as the application protocol).
In practice, Modbus TCP embeds a standard Modbus data frame into a
TCP frame, without the Modbus checksum, as shown in the following diagram.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
28/68
5
2
20
13
Android SCADA platform / Graduation project
Figure13: CONSTRUCTION OF A MODBUS TCP DATA PACKET
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
29/68
5
2
20
13
Android SCADA platform / Graduation project
III- SCADA system
1- What is SCADA?
SCADA (Supervisory Control And Data Acquisition) system refers to
the combination of telemetry and data acquisition. It consists of collecting
information, transferring it back to a central site, carrying out necessary analysis
and control, and then displaying this data on a number of operator screens. The
SCADA system is used to monitor and control a plant or equipment. Control
may be automatic or can be initiated by operator commands. SCADA systems
were first used in the 1960s.
SCADA stands for supervisory control and data acquisition. It generally
refers to an industrial control system: a computer system monitoring andcontrolling a process. The process can be industrial, infrastructure or facility-
based as described below:
Industrial processes include those of manufacturing, production,
power generation, fabrication, and refining, and may run in continuous, batch,
repetitive, or discrete modes.
Infrastructure processes may be public or private, and include watertreatment and distribution, wastewater collection and treatment, oil and gas
pipelines, electrical power transmission and distribution, Wind Farms, civil
defense siren systems, and large communication systems.
Facility processes occur both in public facilities and private ones,
including buildings, airports, ships, and space stations. They monitor and control
HVAC, access, and energy consumption.2- Components of SCADA System
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
30/68
5
2
20
13
Android SCADA platform / Graduation project
i- Field Instrumentation
Field Instrumentation refers to the devices that are connected to the
equipment or machines being controlled and monitored by the SCADA system.
These are sensors for monitoring certain parameters; and actuators for
controlling certain modules of the system.
These instruments convert physical parameters (i.e., fluid flow, velocity,
fluid level, etc.) to electrical signals (i.e. voltage or current) readable by the
Remote Station equipment. Outputs can either be in analog (continuous range) orin digital (discrete values). Some of the industry standard analog outputs of these
sensors are 0 to 5 volts, 0 to 10 volts, 4 to 20 mA and 0 to 20 mA. The voltage
outputs are used when the sensors are installed near the controllers (RTU or
PLC). The current outputs are used when the sensors are located far from the
controllers.
Likewise, digital and analog inputs are used for control. For example,
digital inputs can be used to turn on and off modules on equipment. While
analog inputs are used to control the speed of a motor or the position of a
motorized valve.
ii- Remote Station
Field instrumentation connected to the plant or equipment being
monitored and controlled are interfaced to the Remote Station to allow process
manipulation at a remote site. It is also used to gather data from the equipment
and transfer them to the central SCADA system. The Remote Station may either
be an RTU (Remote Terminal Unit) or a PLC (Programmable Logic Controller).
It may also be a single board or modular unit.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
31/68
5
2
20
13
Android SCADA platform / Graduation project
iii- Communication Network
The Communication Network refers to the communication equipment
needed to transfer data to and from different sites. The medium used can either
be cable, telephone or radio. The use of cable is usually implemented in a
factory. This is not practical for systems covering large geographical areas
because of the high cost of the cables, conduits and the extensive labor in
installing them. The use of radio offers an economical solution. Radio modems
are used to connect the remote sites to the host. An on-line operation can also be
implemented on the radio system. For locations wherein a direct radio link
cannot be established, a radio repeater is used to link these sites.
iv- Central Monitoring Station (CMS)
The Central Monitoring Station (CMS) is the master unit of the SCADA
system. It is in charge of collecting information gathered by the remote stations
and of generating necessary action for any event detected. The CMS can have a
single computer configuration or it can be networked to workstations to allow
sharing of information from the SCADA system.
A Man-Machine Interface (MMI) or Human Machine Interface (HMI)
program will be running on the CMS computer. A mimic diagram of the whole
plant or process can be displayed onscreen for easier identification with the real
system. Each I/O point of the remote units can be displayed with corresponding
graphical representation and the present I/O reading. The flow reading can be
displayed on a graphical representation of a flow meter. A reservoir can be
displayed with the corresponding fluid contents depending on the actual tanklevel. Set-up parameters such as trip values, limits, etc. are entered on this
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
32/68
5
2
20
13
Android SCADA platform / Graduation project
program and downloaded to the corresponding remote units for updating of their
operating parameters.
The MMI program can also create a separate window for alarms. The
alarm window can display the alarm tag name, description, value, trip point
value, time, date and other pertinent information. All alarms will be saved on a
separate file for later review. A trending of required points can be programmed
on the system. Trending graphs can be viewed or printed at a later time.
Generation of management reports can also be scheduled on for a specific time
of day, on a periodic basis, upon operator request, or event initiated alarms.
v- Overview of Existing Solutions
There are many major companies who offer different SCADA system
solutions mentioning some of them for example: Wonderware, Intellution,
Rockwell Software, Siemens, and ABBGenerally the solutions made by these
companies are complex, Ramified, made for a huge project and most of all very
much costly.
For the Android SCADA solutions there are none, at least as available
solutions, and if there are its only for monitoring and supervision, that means
just an Android application which is connected with the CMS (Central
Monitoring Station) and offers to the user a real-time visualization, a GUI
(graphical user interface). As an example for such type of solutions we can
mention TeslaScada who developed applications that can offer communication
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
33/68
5
2
20
13
Android SCADA platform / Graduation project
between an android device and industrial automation applications and
visualization.
vi- Choice of solution
As was mentioned before a SCADA system contains four components:
field instrumentation, communication network, remote station and the central
monitoring station. The two first parts are hardware equipment and cant be
replaced but the two last are basically a software solution and there our project
starts.
So the idea was to create a solution which is an Android application able
to communicate with the field instrumentation, collect data, saved to a data-base
and present it on the screen.
Conclusion
Modbus is a messaging protocol uses application layer that provides
client / server communication between devices connected to different networks,
this is what we were talking the most in this chapter, plus the concept of SCADA
in general.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
34/68
5
2
20
13
Android SCADA platform / Graduation project
Abdallah Mahmoud _ ESPRIT
Chapter IIISpecification and functional
analysis
Introduction
I- Functional Specification
II- Use case diagrams
III- Sequence diagram
IV- Methodology of development
-
7/29/2019 Bilel Modifications 1
35/68
5
2
20
13
Android SCADA platform / Graduation project
3.Specification and functional analysis
Introduction
This chapter specifies characteristics of our project, consisting of the
mobile application.
The first section will be an overall description of the application. In the
second part we will detail the system-required features. The third part aims to
specify some nonfunctional requirements. Then we will present some use case
and sequence diagrams.
I- Functional Specification
1- Overall application description
This application answers to a number of required specificities,encompassing real-time data delivery and communication between industrial
devices and the Android device. Usage is generally encouraged through the mass
collaboration phenomenon; the more data there is, the more often the system
should collected and save it to send later.
2- Functional system requirements
Our application has to fulfill a number of requisites in order to satisfy the
users needs.
Communicate with the industrial device: the first and one the main
requirements in our project is to make our Android device able to communicate
with the industrial device by using the adequate frame with the Modbus protocol,
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
36/68
5
2
20
13
Android SCADA platform / Graduation project
and that can be achieved when the other device respond and send back an
acknowledgment message.
Collect the data: The Android device must receive back the
demanded information within a Modbus frame and extract the suitable
information.
Saving collected data: The application has the role to save the
received information into a local database and add every time some details that
may be useful later.
Send information via internet: The application has the role to send
the suitable information to a predefined Google-Cloud account via internet
network by using the 3G technology.
Display information: A local user would be able to visualize the
collected data on the device screen by choosing to show a table or a graphical
line chart.
Retrieve the devices state: The local user would be capable to
visualize the Android device connectivity which is the 3G internet connectionand the Ethernet connection between the Android device and the industrial
device.
3- Nonfunctional requirements
In addition to the functional requirements developed above, we must take
into account the following constraints:
The application must be effective and must ensure continuity of
operation.
It must meet the physical capabilities of devices equipped with the
Android OS.
It should be compatible with the versions above the API 3.0 It must be compatible with the different screen resolutions.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
37/68
5
2
20
13
Android SCADA platform / Graduation project
The response time of the whole system must be acceptable for use in
real time; the system must be secure and stable.
The design of the application must be attractive, understandable,
clear, easy to handle and respect the usual ergonomics distributed applications.
II- Use case diagrams
1- Global use case diagram
The user, having already login in to the application can check the
devices stat of network connection or to the industrial component, he can also
consult the collected data by visualizing a line chart or just consult database
table; on the other side the user can check the critical collected data by
consulting any device has an internet access.
Figure15: Global Use Case Diagram
2- Textual description of the use case diagram
This section will be devoted to the presentation of the main use cases.
i. Use case Consult the collected data
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
38/68
5
2
20
13
Android SCADA platform / Graduation project
This diagram shows the different aspects of what we call consult
collected data, which we present in this table:
Use case name Consult the collected dataActors UserShort
description
The user will access the application and
retrieve the collected informationPre-conditions Authentication acceptedPost-conditions N/AMain flow -The user accesses the application
-The user can choose between consult the
whole saved data from a table or just visualize the
last information in a chart
-The system displays the desired choiceAlternate flow An error in the databaseException flow N/ATable 3: Description of the use case Consult the collected data
ii. Use case- Retrieve the device state
This diagram shows the different aspects of what we call retrieve the
device state, which we present in this table:
Use case name Retrieve the device state
Actors UserShort
description
The user will access the application and
check the state of his devicePre-conditions Authentication acceptedPost-conditions N/AMain flow -The user accesses the application
-The user will be able to visualize in the
main screen the state of internet connectivity and the
state of Ethernet connection.Alternate flow N/A
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
39/68
5
2
20
13
Android SCADA platform / Graduation project
Exception flow N/ATable 4: Description of the use case Retrieve the device state
III- Sequence diagram
1- System sequence diagram
Figure16: Sequence diagram without human interaction
2- Description
This diagram shows the interaction sequentially between the system and
other actors.
So as a start the application will start communication to the industrial
device by sending a request frame asking for the device state or some registers
values, this device will respond by sending back the demanded data in
hexadecimal format, so the application will convert it into decimal then extract
the wanted value and saved into the local database (SQLITE D.B).
In case of attempting a critical value predefined by developer the
system will convert the last database file to an excel or text file and then will ask
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
40/68
5
2
20
13
Android SCADA platform / Graduation project
the Google-Drive platform for the authentication, once it is agreed the system
will send him this file, an acknowledgment will be received.
This diagram shows also the interaction sequentially between the actor
and the system. So the user will start using the application he will have to enter
the correct predefined password, once access agreed the user will find himself in
the main screen where he will have the ability to check the state of systems
connectivity (internet and Ethernet), also he will be able to visualize the last
collected data in a line chart graph or just read the values from a table. Both
operations require communication between the system and his Data-Base.
IV- Methodology of development
1- Agile Methodologies
The "agile methods" are designed to reduce the software lifecycles by
first developing a minimum version, then integrating the functions through an
iterative process based on consumers feedback and tests performed throughout
the development cycle.
The origin of agile methods is related to the instability of the
technological environment and the fact that customers are often unable to define
their needs comprehensively from the beginning of the project. The term "agile"
is referring to the ability to adapt to context switches and changes in
specifications during the intervening development process. In 2001, 17 people
started and developed the Agile Manifesto whose translation is as follows:
Individuals and interactions rather than processes and tools.
Software development rather than exhaustive documentation.
Collaboration with the client rather than contract negotiation.
Openness to change rather than following a rigid plan.
With agile methods, the client is the full driver of his project and reaps
the result of his software relatively quickly.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
41/68
5
2
20
13
Android SCADA platform / Graduation project
Table 1: General features of some of agile software development
methods
2- Mobile-D: A methodology for the development of mobile applications
A-Mobile-D introduction
While many agile methods have been presented, none of them is
specifically tailored for the development of mobile software.
Mobile-D is an agile approach for mobile equipment, based on Extreme
Programming XP (practice), Crystal methodology (scalability) and Rational
Unified Process (lifecycle insurance). It is designed for the specific development
of the mobile application and the quality standards of the industry. The ideal case
is to have less than ten developers working in an office.
The directors aim to provide a fully functional incremental mobile
application in several iterations. The development work is divided into phases,
i.e. exploration, initialize, productionize, stabilize, and test and set system.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
42/68
5
2
20
13
Android SCADA platform / Graduation project
In practice, each phase consists of nine major elements: phase and stage,
online architecture, mobile test-driven development, continuous integration, pair
programming, metrics, process improvement software agile, customer off-site,
and concentration of the User-Centered.
B-Why Mobile-D for mobile application?
Figure 1
By combining the benefits of the three agile methods, XP in terms of
practices, Crystal family of methodologies in terms of scalability and Rational
Unified Process in the terms of life-cycle coverage
, Mobile-D meets the requirements for the development of mobile
application. The table below shows that Mobile-D is suitable for mobile
application development.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
43/68
5
2
20
13
Android SCADA platform / Graduation project
Table 2: Mobile-D and mobile software development characteristics
C-Mobile-D in phases
Figure2: Mobile-D
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
44/68
5
2
20
13
Android SCADA platform / Graduation project
The Mobile-D process goes through 5 principle phases:
Explore
The purpose of the Explore phase is the planning and establishment of
the incipient project. A well planned deed is half done is a saying to be also
remembered in the software development context. The explore phase can be
timely unattached to the previous phases of Mobile-D and also overlap with the
0 Iteration phase. It is important for setting the grounds for controlled
implementation of the software development product, especially pertaining to
issues related to product architecture, software development process and
environment selection. Different stakeholder groups are needed to provide their
expertise in this critical step.
Initialize
The purpose of this phase pattern is to enable the success of forthcoming
project phases by preparing and verifying all critical development issues. In the
end, all are in full readiness for implementing options selected by the customer. Productionize
At the production phase, the required functionality is put together in the
product by applying an iterative and incremental development cycle.
Stabilize
The purpose of the Stabilize phase pattern is to ensure projects
implementation quality.
System test & fix
The System Test & Fix aims at controlling the produced systems
performances. This is achieved by verifying the correct implementation of
customer defined functionality, providing the project team continuous feedback
on the systems functionality, and fixing the found defects.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
45/68
5
2
20
13
Android SCADA platform / Graduation project
Figure3: Mobile-D phases
D-Mobile-D methodology evaluation
The mobile-D methodology advantages and disadvantages are listed
below.
Advantages Mobile-D is well adapted to mobile software development in small
teams.
Able to satisfy the changing needs of users through short iterations
(phases initialize productionize, stabilize).
Pair programming for each iteration working day step, is very
efficient.
Software documentation is complete.
Every step is clear and detailed.
Easy to monitor project progress
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
46/68
5
2
20
13
Android SCADA platform / Graduation project
Every step task is detailed.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
47/68
5
2
20
13
Android SCADA platform / Graduation project
Disadvantages
Mobile-D is designed to fit the small system developed by a small team.
Thus, it cannot be adapted to a complex business system (ex: M-commerce) in
the future phone mobile industry. Besides, there are still no teacher or set
guidelines for the technologies and tool selection for mobile software
development.
ConclusionThroughout this chapter, I began by outlining the appropriate customized
monitoring solution needs analysis that the system must provide the user with,
followed by the functional and non-functional requirements and different use
cases and sequence diagrams possible to understand the principle of operation.
This study has helped resolve some problems related to the development of the
application.
The next chapter will focus on the design phase.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
48/68
5
2
20
13
Android SCADA platform / Graduation project
Abdallah Mahmoud _ ESPRIT
Chapter IV Design Phase
Introduction
Objects sequence diagram
Activity Diagram
Class diagram
Conclusion
-
7/29/2019 Bilel Modifications 1
49/68
5
2
20
13
Android SCADA platform / Graduation project
4.Design Phase
Introduction
We dedicate this chapter to the presentation of the architecture and
design of our project. We begin by describing the architecture of our application
through different dynamic views through the sequence diagram objects, and a
diagram of global activities and a class diagram that will take a look at the
different project entities.
a- Objects sequence diagram
For a comprehensive view of the sequential main features of our system,
we present this system sequence diagram in the figure below:
Figure17: Objects sequence diagram
Ce diagramme montre linteraction de faon squentielle entre les 3
Objets principaux du scnario, ces objets reprsentent les classes principales de
lapplication.
A first intervention must be set by the user, so that the applicationinitializes.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
50/68
5
2
20
13
Android SCADA platform / Graduation project
b- Activity Diagram
In this section we present the activity diagram associated with the entire
system.
According to this diagram we see that our system is multitasking, it also
distinguishes several activities are triggered automatically without human
intervention, it also distinguishes it lacks many alternative scenarios and this is
because we try to avoid any human presence around the application
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
51/68
5
2
20
13
Android SCADA platform / Graduation project
Figure18: Activity diagram
c- Class diagram
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
52/68
5
2
20
13
Android SCADA platform / Graduation project
The class diagram is a static diagram. It represents the static view of an
application, it is not only used to visualize, describe and document the various
aspects of a system, but also for the construction of executable code of the
software application. It describes the attributes and operations of a class and also
the constraints imposed on the system.
Figure19: Class diagram
The class diagram of our project shows two main parts, each representing
a separate application.
The construction of the first frame passes all the verification and conversion
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
53/68
5
2
20
13
Android SCADA platform / Graduation project
bytes different fields. These frames are then sent and responses are received and
analyzed to be whether to proceed or not recording.
ConclusionDetailed design has allowed us to have a more accurate view on the
subject and a deeper understanding of the tasks. It also leads to provide software
needed to achieve the goal.
We have tried throughout this chapter to properly present the different
conceptual diagrams of the project. These diagrams will be the basis on which
we will achieve our project; this phase will be detailed in the next chapter.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
54/68
5
2
20
13
Android SCADA platform / Graduation project
Abdallah Mahmoud _ ESPRIT
Chapter V Implementation
Introduction
I. Hardware environment
II. Work Environment
III. Screenshots and results
Conclusion
-
7/29/2019 Bilel Modifications 1
55/68
5
2
20
13
Android SCADA platform / Graduation project
5.Implementation
Introduction
This chapter is the last part of the report of our project graduation. It aims
to showcase the work completed.
In this part, we will describe the implementation process of the
application we are developing. We will specify our development environment,
hardware, developing tools and we will present some screenshots of our
application.
I. Hardware environment
1- Development tool
To develop our application we used a Toshiba laptop computer with an i5
processor core and 4Go Ram memory running on Windows Seven Pro Edition.
2- Test device
we did our tests on what is called NetBox which is an electronic device
powered by Android made for generally for TV entertainment, this box is
characterized by 1Ghz processor, 256 Mb Ram, 4 Go flash memory for storage
and powered by Android 4.0
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
56/68
5
2
20
13
Android SCADA platform / Graduation project
Figure20: the shape of the used device
II. Work Environment
1- Eclipse
Eclipse is a multi-language development environment with a integrated
development environment (IDE) and an extensible plug-in system. It is written
primarily in Java and can be used to develop applications in Java and, by means
of various plug-ins, other programming languages, including Ada, C, C + +,
COBOL, Perl, PHP, Python, Ruby.
2- SDK Android
Android SDK is essential to develop Android, which is a development kit
created to be integrated in an IDE, it offers a set of tools necessary for the
development and testing as ADT, the compiler, the emulator, the DDSM ...
3- Photoshop
Photoshop is an editing software, processing and computer-aided drafting
published by Adobe. It is mainly used for processing digital photographs, but
also used for imaging and design. It is used in our application to create some
graphical elements like the overall design of the interface and borders and other
needs.
4- SDK Google Drive
Drive SDK, developers proposed by Google, gives a group API client
libraries, specific examples of language and documentation to facilitate the
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
57/68
5
2
20
13
Android SCADA platform / Graduation project
development of applications that integrate with Drive. The basic functionality is
to download or to mount files in Google Drive.
5- Modbus SlaveModbus Slave is simulation software. It can simulate up to 32 slaves.
Each open in this window simulator can be configured to represent the data in
the same or different way for all slaves. Modbus Slave supports all Modbus
functions.
Figure21: Modbus slave interface
6- WireShark
WireShark is a powerful tool that captures the packets
through an interface (sniff) and analyze catches looking case or
to perform statistics.
WireShark can be used to analyze network or possibly
determine if a machine is infected by analyzing the connections
made by malware. WireShark allows us to verify the success of
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
58/68
5
2
20
13
Android SCADA platform / Graduation project
the communication between the entities involved in the
exchange.
Figure22: WireShark interface
III. Screenshots and results
This section exhibits different interfaces for our application.
//Screenshots section is not ready yet due to graphical editing of the
interfaces
Conclusion
In this chapter, I first presented the work environment and required tools
for our application. I then illustrated the result of my work with screen printed
key interfaces of the application.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
59/68
5
2
20
13
Android SCADA platform / Graduation project
General Conclusion
At the end of this work, we believe that this project has been beneficial,
as it allowed us to consolidate our efforts and skills in designing an innovative
application, which will be useful to improve the combination of industrial
technology and Android world.
During this project, we first conducted research on the state of telephony
services in the world in order to identify the users needs. We then determined
the main objectives and features to integrate into a mobile application that better
meets our subjects requirements.
In addition, we have learned through this experience to organize our
work using the mobile-D methodology, which in our case was an efficient way
to realize this project and upgrade this work to a professional level.
We believe that the objectives were largely achieved. However, and like
any other work, this project does not claim perfection.
In conclusion, This experience was very rewarding and important
because it marked the end of the engineering cycle and allowed us to face the
responsibilities are those of an engineer: to meet deadlines, stress and constraints
of working in a research environment and innovation.
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
60/68
5
2
20
13
Android SCADA platform / Graduation project
List of Abbreviations
API : Automate programmable industrial.
API : Application programming interface
ASCII : American standard code for information interchange.
CRC : Cyclic redundancy check.
ID : identifier.
IDE: Integrated development environment
IP : Internet protocol.
MB : Modbus.
NDA : Non-Disclosure Agreement
OSI : Open systems interconnection.
PLC: Programmable Logic Controller
RTU : Remote terminal unit.
SCADA : Supervisory Control And Data Acquisition
SDK : Software development kit.
TCP : Transmission control protocol.
HMI / MMI: Human Machine Interface / Man-Machine Interface
Abdallah Mahmoud _ ESPRIT
http://en.wikipedia.org/wiki/Application_programming_interfacehttp://www.automation.siemens.com/mcms/automation/en/human-machine-interface/pages/default.aspxhttp://www.automation.siemens.com/mcms/automation/en/human-machine-interface/pages/default.aspxhttp://en.wikipedia.org/wiki/Application_programming_interface -
7/29/2019 Bilel Modifications 1
61/68
5
2
20
13
Android SCADA platform / Graduation project
BIBLIOGRAPHIE
[1] MODBUS APPLICATION PROTOCOL SPECIFICATION
V1.1b - Modbus IDA - December 28, 2006 - www.modbus.org
[2] MODBUS APPLICATION PROTOCOL SPECIFICATION
V1.1b3 Modbus IDA - April 26, 2012 - www.modbus.org
[3] MODBUS MESSAGING ON TCP/IP V1.0b Modbus IDA - October 24,
2006 http://www.modbus -ida.org.
[4] MODBUS over serial line specification and implementation guide V1.0
Modbus IDA February 12, 2002 - www.modbus.org
[5] MODBUS Protocol Modbus IDA November 1, 2000
[6] Google. Android Open Accessory Development Kit.Developer.android.com.
[En ligne] http://developer.android.com/guide/topics/connectivity/usb/adk.html.
[7] http://www.goopilation.com/2012/09/android-alibaba-acer-compatibilite.html
.
[8] http://searchcio-midmarket.techtarget.com/definition/SCADA
[9] http://ecmweb.com/content/industrial-ethernet-infrastructure-could-top-1-
billion-2011
[10] http://www.mesures.com/actualites/ethernet-industriel-quatre-protocoles-
dominent-le-marche-5447.html
Annex
Lifecycle of an Android application
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
62/68
5
2
20
13
Android SCADA platform / Graduation project
Figure: Lifecycle of an Android application
Description of the function codes
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
63/68
5
2
20
13
Android SCADA platform / Graduation project
Read Coils 01 (0x01)
This function code is used to read from 1 to 2000 contiguous status of
coils in a remote device. The Request PDU specifies the starting address, i.e. theaddress of the first coil specified, and the number of coils. In the PDU Coils are
addressed starting at zero. Therefore coils numbered 1-16 are addressed as 0-15.
The coils in the response message are packed as one coil per bit of the data field.
Status is indicated as 1= ON and 0= OFF. The LSB of the first data byte contains
the output addressed in the query. The other coils follow toward the high order
end of this byte, and from low order to high order in subsequent bytes.
The state diagram in the figure below describes the generic treatment of a
wrong answer using function code 01, and almost all the read functions.
Figure14: Read Coils state diagram
Read Discrete Inputs 02 (0x02)
This function code is used to read from 1 to 2000 contiguous status of
discrete inputs in a remote device. The Request PDU specifies the starting
address, i.e. the address of the first input specified, and the number of inputs. In
the PDU Discrete Inputs are addressed starting at zero. Therefore Discrete inputs
numbered 1-16 are addressed as 0-15. The discrete inputs in the response
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
64/68
5
2
20
13
Android SCADA platform / Graduation project
message are packed as one input per bit of the data field. Status is indicated as
1= ON; 0= OFF. The LSB of the first data byte contains the input addressed in
the query. The other inputs follow toward the high order end of this byte, and
from low order to high order in subsequent bytes.
The description of specific fields of function code 02 request, response
and error frames is shown in the following tables respectively.
Request frame size
*N = Quantity of Inputs / 8 if the remainder is different of 0 N = N+1Response frame size
Error frame size
Read Holding Registers 03 (0x03)
This function code is used to read the contents of a contiguous block of
holding registers in a remote device. The Request PDU specifies the starting
register address and the number of registers. In the PDU Registers are addressed
starting at zero. Therefore registers numbered 1-16 are addressed as 0-15. The
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
65/68
5
2
20
13
Android SCADA platform / Graduation project
description of specific fields of function code 03 request, response and error
frames is shown in the following tables respectively.
Request frame size
Response frame size
Error frame size
Read Input Registers 04 (0x04)
This function code is used to read from 1 to 125 contiguous input
registers in a remote device. The Request PDU specifies the starting register
address and the number of registers. In the PDU Registers are addressed starting
at zero. Therefore input registers numbered 1-16 are addressed as 0-15. The
description of specific fields of function code 04 request, response and error
frames is shown in the following tables respectively.
Request frame size
Response frame size
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
66/68
-
7/29/2019 Bilel Modifications 1
67/68
5
2
20
13
Android SCADA platform / Graduation project
addressed as 0. The description of specific fields of function code 06 request,
response and error frames is shown in the following tables respectively.
Request frame size
Response frame size
Error frame size
Write Multiple registers 16 (0x10)
This function code is used to write a block of contiguous registers (1 to
123 registers) in a remote device. The requested written values are specified inthe request data field. Data is packed as two bytes per register. The normal
response returns the function code, starting address, and quantity of registers
written. The description of specific fields of function code 16 request, response
and error frames is shown in the following tables respectively.
*N = Quantity of Registers
Request frame size
Abdallah Mahmoud _ ESPRIT
-
7/29/2019 Bilel Modifications 1
68/68
20
13
Android SCADA platform / Graduation project
Response frame size
Error frame size