0% found this document useful (0 votes)
229 views91 pages

Sample ECE Project Report

The document discusses developing a cost effective digitalization solution for Siemens Sinumerik CNC systems to increase transparency and utilization. It involves monitoring key machine parameters like operating mode, program running status, cycle time etc. using a Raspberry Pi, developing a GUI using Python and analyzing the data to reduce downtime and increase efficiency.

Uploaded by

vijaysagarb17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
229 views91 pages

Sample ECE Project Report

The document discusses developing a cost effective digitalization solution for Siemens Sinumerik CNC systems to increase transparency and utilization. It involves monitoring key machine parameters like operating mode, program running status, cycle time etc. using a Raspberry Pi, developing a GUI using Python and analyzing the data to reduce downtime and increase efficiency.

Uploaded by

vijaysagarb17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 91

COST EFFECTIVE DIGITALIZATION SOLUTION

FOR SIEMENS SINUMERIK CNC SYSTEM TO


INCREASE THE TRANSPARENCY AND
UTILIZATION OF THE MACHINE
A PROJECT REPORT

Submitted by

VINITHA LEA PHILIP [Reg No:RA1511004010059]


POOJA ANAND [Reg No:RA1511004010107]

Under the guidance of


Dr. P.ESWARAN, Ph.D
(Associate Professor, Department of Electronics and Communication & Engineering)

in partial fulfillment for the award of the degree


of
BACHELOR OF TECHNOLOGY
in

ELECTRONICS AND COMMUNICATION


ENGINEERING
of

FACULTY OF ENGINEERING AND TECHNOLOGY

SRM INSTITUTE OF SCIENCE AND TECHNOLOGY


RAMAPURAM

MAY 2024
BONAFIDE CERTIFICATE

Certified that this project report titled “COST EFFECTIVE


DIGITALIZATION SOLUTION FOR SIEMENS SINUMERIK CNC
SYSTEM TO INCREASE THE TRANSPARENCY AND
UTILIZATION OF THE MACHINE” is the bonafide work of
“VINITHA LEA PHILIP [RA1511004010059], POOJA ANAND
[RA1511004010107]” who carried out the project work under my
supervision as a batch. Certified further, that to the best of my knowledge
the work reported herein does not form any other project report on the basis
of which a degree or award was conferred on an earlier occasion for this or
any other candidate.

Date : Project Supervisor Head of the Department

Submitted for University Examination held on in the


Department of Electronics and Communication Engineering, SRM Institute of Science
and Technology, Ramapuram.

Date: Internal Examiner External Examiner


DECLARATION

We hereby declare that the Major Project entitled “COST EFFECTIVE


DIGITALIZATION SOLUTION FOR SIEMENS SINUMERIK CNC
SYSTEM TO INCREASE THE TRANSPARENCY AND UTILIZATION
OF THE MACHINE” to be submitted for the Degree of Bachelor of
Technology is our original work as a team and the dissertation has not formed
the basis of any degree, diploma, associateship or fellowship of similar other
titles. It has not been submitted to any other University or institution for the
award of any degree or diploma.

Place: Chennai

Date:

Vinitha Lea
Philip
[RA1511004010059]

Pooja
Anand
[RA1511004010107]
ABSTRACT

In this work, we are bringing the current trends in the field of data exchange
in manufacturing to the Computer Numerical Control (CNC) machine in a
cost- effective manner. To achieve this, we program in Python language in a
modern board (raspberry pi). The parameters to be monitored are
preselected. Using this as a guide the program is written in Python
language. Display screens have been designed using Graphical user
interface (GUI) which helps the user to analyze the machine in real time.
The objective of the project is to reduce downtime, thereby increasing
efficiency and in turn profitability.

We are aiming at building a solution that is economical, can be adopted


by small and medium enterprises so that they get a taste of how IoT can
be adopted to do a successful predictive maintenance by monitoring some
of the critical machine parameters thereby trying to reduce or prevent
breakdowns of machines and associated productivity. It will be a simple
solution that will not require any special knowledge or skill in using it so
it can be adopted by a larger section of the industry.

(MINIMUM 250 WORDS SHOULD BE IN ABSTRACT)


ACKNOWLEDGEMENTS

We are expressing our deep sense of gratitude to our beloved chancellor


Dr. T. R. PAARIVENDHAR, for providing us with the required infrastructure
throughout the course.
We take this opportunity to extend our hearty thanks to our Chairman
Dr. R. SHIVAKUMAR, SRM Ramapuram & Trichy Campus for his constant
support.
We take this opportunity to extend our hearty thanks to our
C o - Chairman Mr. S. NIRANJAN, SRM Ramapuram & Trichy Campus for his
constant support.

We take this opportunity to extend our hearty thanks to our Dean


Dr. M. MURALI KRISHA, Ph.D., for his constant support.

We convey our sincere thanks to our Head of the Department


Dr. R. VANI, Ph.D., for his suggestions, interest, encouragement and support
throughout the project.

We convey our sincere thanks to our Project coordinator


Your Class Incharge Name, Ph.D., for her suggestions, interest, encouragement
and support throughout the project.

We express our heartfelt thanks to our guide Guide Name, Assistant


Professor (Grade), for his sustained encouragement, and constant guidance
throughout the project work.

We express our deepest gratitude to, our parents, Teaching and Non- Teaching
faculties for their sustained encouragement, and constant support throughout my
studies.
TABLE OF CONTENTS

ABSTRACT iii

ACKNOWLEDGEMENTS iv

LIST OF TABLES vii

LIST OF FIGURES ix

ABBREVIATIONS x

1 INTRODUCTION 1
1.1 Industry 4.0..........................................................................................1
1.2 Brief Description of Project.................................................................1
1.3 Literature Survey.................................................................................2
1.3.1 An Industry 4.0-enabled Low Cost Predictive Maintenance
Ap- proach for SMEs..............................................................2
1.3.2 Real-Time Manufacturing Machine and System Performance
Monitoring Using Internet of Things
................................................................................................
3
1.3.3 Development of a Cloud-Computing-based Equipment
Moni- toring System for Machine Tool Industry
................................................................................................
3
1.3.4 Investigated Information Data of CNC Machine Tool for
Estab- lished Productivity of Industry 4.0..............................3
1.3.5 Smart Factories in Industry 4.0: A Review of the Concept and
of Energy Management Approached in Production Based on
the Internet of Things Paradigm.............................................4

2 METHODOLOGY 5
2.1 Hardware Design.................................................................................5
2.1.1 Raspberry Pi 3........................................................................6
2.1.2 Sinumerik CNC......................................................................6
2.1.3 I/O Module..............................................................................6
2.1.4 Relay.......................................................................................7
2.2 Software Design..................................................................................7
2.2.1 Python 3..................................................................................7
2.2.2 PySimpleGUI..........................................................................7
2.2.3 Tkinter.....................................................................................8
2.3 Parameters............................................................................................8
2.3.1 Machine Operating Mode: Auto/Manual................................8
2.3.2 Part Program Running: Yes/No..............................................8
2.3.3 Cycle Time..............................................................................8
2.3.4 Part Count...............................................................................8
2.3.5 Feedrate Override...................................................................9
2.3.6 Spindle Running Time............................................................9
2.3.7 Breakdown Hours...................................................................9
2.3.8 Machine Running Hours.........................................................9
2.3.9 Machine Ready Time..............................................................9
2.3.10 Machine Utilization Hours......................................................10

3 IMPLEMENTATION 11
3.1 Experimental Setup..............................................................................11
3.2 Program logic for parameters..............................................................12
4 RESULTS AND DISCUSSION
4.1 Machine Utilization Dashboard...........................................................12
4.2 GUI Display Screens...........................................................................13

5 CONCLUSION AND FUTURE 33


ENHANCEMENT

A PROGRAM CODES
A.1 Parameters . . . . . . . . . . . . . . . . . . .
.
35
.....................35
A.1.1 Machine Operating Mode: Auto/Manual................................35
A.1.2 Part Program Running: Yes/No..............................................35
A.1.3 Cycle Time and Part Count.....................................................35
A.1.4 Feedrate Override....................................................................36
A.1.5 Spindle Running Time............................................................37
A.1.6 Machine Running Hours, Breakdown Time and Machine
Utilization Percentage
................................................................................................
38
A.1.7 Machine Ready.......................................................................39
A.2 Program Code For GUI.......................................................................40
A.3 Program Code For Parameter Comparison Bar Graph........................51
A.4 Program Code For Machine Utilization Bar Graph.............................51
A.5 Comparison of Breakdown Time with respect to Total Machine Run
Time
.............................................................................................................
52
LIST OF FIGURES

2.1 System Flow........................................................................................5

3.1 Design of Cost Effective Module........................................................11


3.2 Experimental Setup 1….......................................................................11
3.3 Experimental Setup 2...........................................................................11

3.4 Machine Operating Mode: Auto/Manual............................................12

3.5 Part Program Running: Yes/No...........................................................13

3.6 Cycle Time..........................................................................................14

3.7 Feedrate Override................................................................................15

3.8 Machine Running Hours......................................................................16

3.9 Spindle Running Time.........................................................................16

3.10 Breakdown Hours................................................................................17

3.11 Machine Utilization Hours..................................................................17

3.12 Machine Ready....................................................................................18

4.1 Machine Utilization Dashboard Layout..............................................18

4.2 Machine Utilization Dashboard...........................................................19

4.3 Months.................................................................................................19

4.4 Weeks in January.................................................................................20

4.5 Weeks in February...............................................................................20

4.6 Weeks in March...................................................................................21

4.7 Parameters............................................................................................21

4.8 Cycle time and Part Count...................................................................22

4.9 Feedrate Override................................................................................22

4.10 Spindle Running Time.........................................................................22

4.11 Breakdown Time.................................................................................22

4.12 Machine Running and Utilization Percentage.....................................23

4.13 Machine Ready Time...........................................................................23

4.14 Average Cycle Time Graph.................................................................24

ix
4.15 Part Count Graph.................................................................................24
4.16 Feedrate Override Graph.....................................................................25

4.17 Utilization Graph.................................................................................25

4.18 Machine Ready Time Graph...............................................................26

4.19 Comparison of Parameters...................................................................26

4.20 Utilization Bar Graph..........................................................................27

4.21 Parameters Week 2J.............................................................................27

4.22 Cycle time and Part Count 2J..............................................................27

4.23 Feedrate Override 2J............................................................................28

4.24 Spindle Running Time 2J....................................................................28

4.25 Breakdown Time 2J.............................................................................28

4.26 Machine Running and Utilization Percentage 2J................................28

4.27 Machine Ready Time 2J......................................................................28

4.28 Average Cycle Time Graph 2J............................................................29

4.29 Part Count Graph 2J............................................................................29

4.30 Feedrate Override Graph 2J.................................................................30

4.31 Utilization Graph 2J............................................................................30

4.32 Machine Ready Time Graph 2J...........................................................31

4.33 Comparison of Parameters Week 2.....................................................31

4.34 Utilization Bar Graph 2J......................................................................32

4.35 Comparison of Breakdown Time with respect to Total Machine Run


Time
.............................................................................................................
32

x
ABBREVIATIONS

CNC Computer Nmerical Control

GPIO General Purpose Input/Output

IoT Internet of Things

I/O Input/Output

xi
CHAPTER 1

INTRODUCTION

1.1 Industry 4.0

. Industry 4.0 is the fourth industrial revolution. It focuses on cyber physical systems,
the Internet of Things, cloud computing and cognitive computing. This brings fourth
smart factories to the industrial world. Industry 4.0 has four design principles which
include: Interconnection, Information transparency, Technical assistance and
Decentralized decisions. In our project we will be focusing mainly on the information
transparency. Transparency is one of the key aspects as it allows the operators to take
well informed decisions based on the data provided. Thus aiding functionality and
helping the operators identify the key areas for improvement and thereby increase the
utilization. Large and successful companies will easily implement cloud based
solution. Small (proprietor) type companies, cannot afford such high initial cost. So
we have decided to create a affordable solution for such companies using hardwiring.

1.2 Brief Description of Project

With the IoT gaining importance, this has become one of the most important use cases
for the Industry 4.0. The IoT has made information easily available and accessible.
For many small business owners, the adoption of IoT may seem like a daunting
challenge. In reality, there are many ways small businesses can take advantage of IoT
right now. The solutions that are available today are not really economically viable for
small and medium scale enterprises. These systems require very expensive and time-
consuming machine integrations, with software that is difficult to use. This prevents
them from adopting these methods because their return on investment takes a longer
time. Our mission is to help manufacturers increase production efficiency
(availability, performance, and quality) by simplifying machine monitoring.
We need to make small and medium enterprises to embrace IoT in a big way. These
enterprises look for the following: cost should be reasonable, the technology should
be
easy to use without any specialist knowledge or having to hire someone with special
skills, it should be easily available, and the results should be accurate and must help
them save or recover money faster. Our project is aimed to develop a solution that
will help small and medium businesses achieve the above objectives.

1.3 Literature Survey

1.3.1 An Industry 4.0-enabled Low Cost Predictive


Maintenance Approach for SMEs

Sezer et al. (2018) outlines the base concepts, materials and methods used to develop
an Industry 4.0 architecture focused on predictive maintenance, while relying on low-
cost principles to be affordable by Small Manufacturing Enterprises. In this paper,
they have developed a low-cost, easy-to-develop system architecture that measures
the temperature and vibration variables of a machining process in a Haas CNC turning
centre, while storing such data in the cloud.

1.3.2 Real-Time Manufacturing Machine and System


Performance Monitoring Using Internet of Things

Saez et al. (2018) uses a real-time hybrid simulation of manufacturing at a machine


and system level. Data from both the virtual and real environments are merged to
assess performance. Deviations from expected values represent an error that can
trigger a warning signal to production, maintenance, and/or manufacturing personnel
at the plant regarding health and productivity of plant operations.

1.3.3 Development of a Cloud-Computing-based


Equipment Monitoring System for Machine Tool
Industry

Hung et al. (2012) presents the design of a cloud computing-based equipment


monitor- ing system, called CCEMS, for the CNC machine tool industry. The
Graphical User Interface (GUI) plays an important role in the CCEMS. It allows users
to interact with the system for controlling and operating equipment. It monitors the
performance and
statuses, detecting and diagnosing equipment faults, conjecturing production quality
and precision of equipment.

1.3.4 Investigated Information Data of CNC Machine Tool

for Established Productivity of Industry 4.0

Chang and Wu (2016) discusses on how the controller tuning operation can change
the information data of a CNC machine tool. In this way established productivity of
indus- try 4.0 is investigated. A cloud network is provided to give connectivity to the
responses of tuning operation. This helps in share the big data, to support decision
making, and to adjust operations in real time. Thus it helps in checking the CNC
machine tool for smart productivity based on its tuning operations.

1.3.5 Smart Factories in Industry 4.0: A Review of the Concept and

of Energy Management Approached in Production Based


on the Internet of Things Paradigm
Shrouf et al. (2014) gives a complete understanding of the interaction between smart
factories and customers of Industry 4.0. It provides information about behaviour of
both the customers and the products and the characteristics of smart factories. It
deals with an approach for improving IoT based energy management in smart
factories. It focuses on energy consumption and efficiency along with production
management.
CHAPTER 2

METHODOLOGY

2.1 Hardware Design

Figure 2.1: System Flow

In our project, we will be monitoring the Sinumerik CNC with the help of a rasp-
berry pi and thereby showing the machines utilization patterns. The process of mon-
itoring is first started by selecting the list of parameters to be monitored. Once the
parameters are selected, we program the raspberry pi. The raspberry pi is programmed
with the help of the programming language python with respect to the requirements.
Then the raspberry pi is hardwired to the Sinumerik CNC in order to collect the re-
quired data over a specified time period. After the data is collected by the raspberry pi
we collate and display the data. The data is viewed on display screens in the form of
graphical representations. Thus this method helps in providing better transparency and
offers a platform for development for the small industries in this field.
2.1.1 Raspberry Pi 3

The entire project centres around the Raspberry pi. We will be monitoring the Sinu-
merik CNC with the help of a raspberry pi.The version we are using is Raspberry pi 3
Model B. It is economical and has built-in wireless connectivity. It is a mini computer
that runs on Linux platform and provides us with GPIO (General Purpose
Input/Output) pins. It has many ports which can be used with ease. We can easily
connect and control electronic components for useful computing. We are using
Python language to code the raspberry pi.

2.1.2 Sinumerik CNC

A CNC (Computer Numerical Control) is a device used for material removal to get
desired parts/components. The Sinumerik CNC 828D is basically the NC Kernel with
a built-in PLC in the front which is connected to an I/O card. In manual control, the
operators have to physically prompt the required commands of tools via buttons,
leavers and wheels. All these limitations are overcome with the help of the CNC. On
activating the CNC, the program starts executing and the desired cuts are performed
by the corresponding tools which carry out the tasks like a robot. The part program
outlines the placement of the tool in the CNC. This can be used to control many
complex machinery including mills, lathes and grinders.

2.1.3 I/O Module

The Sinumerik CNC 828D is basically the NC Kernel with a built-in PLC in the front
which is connected to an I/O card. The various parameters that have to be monitored
are taken as output from the CNC and given as input to the pi via the I/O card. The
I/O module is used to connect digital and analog inputs/outputs. The SINUMERIKI/O
Module is PP 72/48D 2/2A PN. It has 72 digital inputs and 48 digital outputs. The
digital output is connected to a relay board.

6
2.1.4 Relay

In our project we need to connect the pi to a module with a higher voltage. Relays are
used to avoid the risk of the raspberry pi burning out. The raspberry pi can only
handle up to 5V and the GPIOs can tolerate only 3.3V without relays. Relays have
two main contacts NO and NC.
Normally Open Contact (NO) - It closes the loop when the relay is switched on and
breaks the loop when relay is switched off.
Normally Closed Contact (NC) - It opens the loop when the relay is switched on and
is hence known as the break contact. It disconnects the circuit when the realy is
inactive.

2.2 Software Design

We use the softwares python 3, PySimplyGUI and tkinter for programming the rasp-
berry pi to create screens for GUI and real time dashboard. We have created a
realtime dashboard to provide the live status of the production status. The real time
screen hasa history button which when selected displays the past data of the
machineparameters.

2.2.1 Python 3

Python is designed in such a way that it is highly readable. Python is processed by the
interpreter at runtime. The program does not need to be complied before executing it.

2.2.2 PySimpleGUI

PySimpleGUI helps in solving the GUI challenges by providing a super-simple, easy


to understand interface to GUIs that can be easily customized. The PyiSimpleGUI is
being used in our project to make the user interface screens.

7
2.2.3 Tkinter

Tkinter is a toolkit for Python’s GUI package. It is an object-oriented layer. It helps


in designing GUI application like widgets for creating user interface screens.

2.3 Parameters

We have decided to monitor the following parameters:

2.3.1 Machine Operating Mode: Auto/Manual

The CNC machine acts like a standard machine in manual mode. When the machine is
in manual mode the operator can push buttons, turn wheels, and turn switches on or
off. In Auto mode, we execute our program. It allows us to see the commands
executed as they happen.

2.3.2 Part Program Running: Yes/No

The set of instruction by which we can produce a part is known as part program and
we can check the CNC program.

2.3.3 Cycle Time

The time taken to finish a production run by the amount of fine work pieces produced.
Small size businesses benefit most from reductions in Setup time while large size
businesses benefit most from reductions in Cycle time.

2.3.4 Part Count

The number of parts that have been produced. It is monitored only when it runs in
auto mode.

8
2.3.5 Feedrate Override

The feed-rate override commonly ranges from 0 to 200 percent. It is a multiposition


switch. It enables the setup person to slow (or stop) cutting motions on one end of the
spectrum and double the programmed feed rate on the other.

2.3.6 Spindle Running Time

The spindle running hours is defined as the percentage of available time that a
machines spindle is on. The related custom macro program is executed whenever the
spindle is turned on(commanded by M03 or M04).

2.3.7 Breakdown Hours

The breakdown hour is the amount of time when a system is unavailable or of time
that a system fails to perform its primary functions. A breakdown can occur when the
equipment stops its functioning due to power loss.

2.3.8 Machine Running Hours

The machine running hours is the working of a machine for an hour. This is used as a
basis for cost finding and for determining operating effectiveness.

2.3.9 Machine Ready Time

Time taken after the part is produced till the next part is loaded onto the machine. It
tells the worker that the machine is available to start the operation. Depends on the
skill of the operator.

9
2.3.10 Machine Utilization Hours

It is the amount of time the machine is used successfully. Machine utilization


compares the run time to the amount of time taken to setup the machine.

10
CHAPTER 3

IMPLEMENTATION

3.1 Experimental Setup

Figure 3.1: Design of Cost Effective Module

The Sinumerik CNC 828D is basically a monitor in the front which is connected
to an I/O card. The I/O module is used to connect digital and analog inputs/outputs.
The SINUMERIK I/O Module is PP 72/48D 2/2A PN. It has 72 digital inputs and 48
digital outputs. The digital output is connected to a relay board. Relays are used to
avoid the risk of the raspberry pi burning out. The raspberry pi can only handle up to
5V and the GPIOs can tolerate only 3.3V without relays. The various parameters that
have to be monitored are taken as output from the CNC and given as input to the pi
via the I/O card. The python program in the pi will run the proper algorithm to collect
and store the data. The data will then be analyzed and displayed graphically for the
user to interpret the results easily.
Figure 3.2: Experimental Setup 1

CNC Monitor
(Computer Numerical Control) (Display
Screen)
Figure 3.3: Experimental Setup 2
3.2 Program logic for parameters

We are monitoring ten parameters of the CNC,machine operating mode: auto/manual,


part program running: yes/no, cycle time, part count, feedrate override, spindle run-
ning hours, breakdown hours, machine running hours, ready for operation, machine
utilization hours.The flow diagram for these parameters is given below.

Figure 3.4: Machine Operating Mode: Auto/Manual

Figure 3.4 describes the process of identifying whether the CNC is in auto mode or manual mode

Figure 3.5: Part Program Running: Yes/No

Figure 3.5 depicts how the system is able to identify that the part program is running.
12
Figure 3.6: Cycle Time
The calculation of current cycle time for every part manufactured the number of
good parts and rejected parts, the average and total cycle time is outlined in
Figure 3.6.

Figure 3.7: Feedrate Override

The time during which federate override are greater than 100 is recorded and displayed as shown in Figure 3.7.
13
Figure 3.8: Machine Running Hours
Figure 3.8 demonstrates how the total machine running time is calculated

Figure 3.9: Spindle Running Time


Figure 3.9 depicts how the total spindle running time is recorded and displayed.

14
Figure 3.10: Breakdown Hours
The total breakdown time is calculated as shown in Figure 3.10.

Figure 3.11: Machine Utilization Hours

The machine utilization percentage is calculated as shown in Figure 3.11.

15
Figure 3.12: Machine Ready
The total time that the CNC was in ready state is calculated as depicted by Figure 3.12.

16
CHAPTER 4

RESULTS AND DISCUSSION

4.1 Machine Utilization Dashboard

This is a system to aid the information flow regarding the status of the production
system. These processes can send a signal or warning if something is wrong. This
information is then shown through lights, numbers, and graphics to alert others about
the problems. It makes the production status of the machine at current time easily
viewable and clear to everyone. It also helps the operator to analyze regularly and
ensure production.

Figure 4.1: Machine Utilization Dashboard

4.2 GUI Display Screens

When the history button in the dashboard is clicked, it shows screens that display the
past data as required. The first screen displays the months. On selecting January,
February and March, the respective weeks are displayed. The list of parameters will
be dis- played on selecting the weeks. On selecting each parameter, the corresponding
table will be displayed. The display screens are shown below.

17
Figure 4.2: Months

Figure 4.3: Machine Utilization Dashboard

Figure 4.4: Weeks in January

18
Figure 4.5: Weeks in February

Figure 4.6: Weeks in March

Figure 4.7: Parameters


19
Figure 4.8: Cycle time and Part Count
It is inferred from Figure 3.20 that the average time for 1 part to be produced in a
day is 48 sec. The total number of parts produced in a day is 425 parts and the
total time for 425 parts to be produced is 5hrs 40mins 0sec.

Figure 4.9: Feedrate Override


Figure 3.21 depicts that the feed rate override was greater than 100 for 25mins on
1st January 19. This shows that the operator has increased the programmed feed
rate over 100 for 25mins.

Figure 4.10: Spindle Running Time

Figure 3.22 shows the amount of time the spindle has functioned for each day in a
week. The total spindle running hours for 1 day is 5hrs 80mins 0sec.

20
Figure 4.11: Breakdown Time

It can be inferred from Figure 3.23 the amount of time in a day when the machine
was unavailable or failed to perform its functions. The total breakdown time in a
day is 1hr 15min 0sec.

Figure 4.12: Machine Running and Utilization Percentage

The total machine running time in a day was found to be 6hr 45min 10sec from
Figure 3.24. The total machine utilization percentage for 1 day is 86.3%.

Figure 4.13: Machine Ready Time

The above Figure 3.25 shows the time taken after a part is produced until the next
part is loaded onto the machine. The total machine ready time for one day is
10mins.
21
The line graphs based on the data recorded during the First week of January are shown below:

Figure 4.14: Average Cycle Time Graph

Figure 4.15: Part Count Graph

Figure 4.16: Feedrate Override Graph

22
Figure 4.17: Utilization Graph

Figure 4.18: Machine Ready Time Graph

The complete comparison of these parameters can be easily established using these two bar
graphs displayed below:

Week 1 January
07:12:00
06:00:00
Total Cycle Time
H 04:48:00
Total Spindle Running Time
o
03:36:00
u Total Machine Ready Time
r 02:24:00 Total Breakdown Time
s 01:12:00 Total Machine Running(ON) Time
00:00:00
Day1 Day2 Day3 Day4 Day5

23
Figure 4.19: Comparison of Parameters

Figure 4.20: Utilization Bar Graph


On selecting each parameter for the second week of January, the corresponding table
will be displayed. The display screens are shown below:

Figure 4.21: Parameters Week 2J

Figure 4.22: Cycle time and Part Count 2J


The above Figure 3.34 depicts that the average time for 1 part to be produced in a
24
day is 49 sec. The total number of parts produced in a day is 426 parts and the
total time for 426 parts to be produced is 5hrs 41mins 54sec.

Figure 4.23: Feedrate Override 2J


The feed rate override was greater than 100 for 25mins on 1st January 19. Figure
3.35 shows that the operator has increased the programmed feed rate over 100 for
25mins.

Figure 4.24: Spindle Running Time 2J


Figure 3.36 shows the amount of time the spindle has functioned for each day in a
week. The total spindle running hours for 1 day is 5hrs 81mins 54sec.

Figure 4.25: Breakdown Time 2J

Figure 3.37 depicts the amount of time in a day when the machine was
unavailable or failed to perform its functions. The total breakdown time in a day
is 35min.

Figure 4.26: Machine Running and Utilization Percentage 2J

25
The total machine running time in a day was found to be 6hr 52min 0sec from
Figure 3.38. The total machine utilization percentage for day 1 is 87.6%.

Figure 4.27: Machine Ready Time 2J

The above Figure 3.39 shows the time taken after a part is produced until the next
part is loaded onto the machine. The total machine ready time for one day is
10mins.

The line graphs based on the data recorded during the first week of January are
shown below:

Figure 4.28: Average Cycle Time Graph 2J

26
Figure 4.29: Part Count Graph 2J

Figure 4.30: Feedrate Override Graph 2J

27
Figure 4.31: Utilization Graph 2J

Figure 4.32: Machine Ready Time Graph

The complete comparison of these parameters can be easily established using these two bar
graphs displayed below:

Week 2 January
08:24:00
07:12:00
06:00:00 Total Cycle Time
H
o 04:48:00 Total Spindle Running Time
u 03:36:00 Total Machine Ready Time
r Total Breakdown Time
02:24:00
s
01:12:00 Total Machine Running(ON) Time

00:00:00
Day1 Day2 Day3 Day4 Day5

Figure 4.33: Comparison of Parameters Week 2

28
Figure 4.34: Utilization Bar Graph 2J

On analyzing the data, it is evident that breakdown time is significantly affecting


the production. The Comparison of Breakdown Time with respect to Total Machine
Run Time is displayed below.

Proper maintenance is very important for extending the life of the machine and in-
creasing productivity. Despite this, for small manufacturing enterprises, there are not
much tools or equipment available to understand the impact of the machine
breakdown or production loss, and rarely are these variables measured. We intend to
provide the correlation between the actual machine running time and the successfully
utilized time so that we will know to what extent there are losses and this will help in
better planning of maintenance and future activities. The tables and graphs help us in
visualizing the impact of various parameters.

We aim to achieve maximum efficiency by improving utilization. One way to reduce


breakdowns is to ensure proper alignment of all moving components and good
lubrication and cooling systems. When a product is getting ma- chined, if at that point
of time the machine breaks down, there are chances that we may not be able to reuse
that particular piece. In some cases, we may have to start with a fresh piece, which
results in a loss. In this particular instance we were able to continue producing the part
even after breakdown, but in other cases, it may be required to restart the process.
Heat
29
and contamination may also contribute to frequent breakdown. Minimization of

30
breakdown time can be achieved by scheduling proper maintenance. We should also
make sure that the ready time should be nominal and minimize defective part count.

Figure 4.35: Comparison of Breakdown Time with respect to Total Machine Run Time

31
CHAPTER 5

CONCLUSION AND
FUTURE ENHANCEMENT

Smart factories take the manufacturing industries a step ahead from


traditional automation to a completely linked and adjustable system, which
compels the companies to take up the latest industrial mechanisms. We
have provided a feasible, cost effective solution using a raspberry pi to
simulate an Industry 4.0 solution for CNC. This is a solution for small
manufacturing companies to adopt new technologies for improving overall
efficiency and become more competitive. We can capture the machine
utilization parameters easily over a weekly period and simulate the
acquired data in graphical form with the help of user interface screens. Data
acquisition is done in real time so that the user can analyze the performance
of the machine and the production rate at the current time. This method
increases transparency, thereby giving insight on where scope is available
to improve machine utilization. This helps the user to get more profit,
production and higher efficiency. Adopting cost effective technology for
monitoring and managing the utilization and efficiency of machine tools
will help in reducing waste and becoming more productive.
Future enhancement can be done since the current model is for a single
machine and this can be scaled up to connect to multiple machines.
Additional parameters for monitoring can be incorporated. Root cause
analysis can be performed to understand why the machine went into
breakdown and hence reduce breakdown time. Protection from power
fluctuations can be provided to the product. This product can be made into
an app so that it can be used anywhere and anytime through mobile
applications. A feature can be included in the app to allow control of the
machine remotely.

32
APPENDIX A

PROGRAM CODES

A.1Parameters

A.1.1 Machine Operating Mode: Auto/Manual


import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.IN,pull_up_down=GPIO.PUD_UP)
GPIO.setup(17,GPIO.IN,pull_up_down=GPIO.PUD_UP)
while True:
autoMode = GPIO.input(18)
manualMode = GPIO.input(17)
if autoMode == False:
print("Automode is selected on CNC")
time.sleep(0.2)
elif manualMode == False:
print("Manual mode is selected on CNC")

A.1.2 Part Program Running: Yes/No


import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(23,GPIO.IN,pull_up_down=GPIO.PUD_UP)
while True:
partProgramSelected = GPIO.input(23)
if partProgramSelected == False:
print("Part program has been selected and is running")

A.1.3 Cycle Time and Part Count


import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
mem=0
partcount = 0

33
previouselapsedtime = 0
cycleelapsed = 0
elapsedtime = 0
currentCycleTime =
0 start= float(0)
stop= float(0)
while True:
cyclestart = GPIO.input(18)
time.sleep(0.3)
if cyclestart == False and mem==0:
print("start time recorded")
start = time.time()
mem=1
if cyclestart == True and mem==1:
print("stop time recorded")
stop = time.time()
mem=0

currentCycleTime = stop-start
cycleelapsed = cycleelapsed + (stop - start)
if previouselapsedtime != cycleelapsed:
partcount = partcount + 1
averagecycletime = cycleelapsed/partcount
previouselapsedtime = cycleelapsed
print("current cycle time is", currentCycleTime)
print("part count is", partcount)
print("total cycle time elapsed is", cycleelapsed)
print("average cycle time is", averagecycletime)

A.1.4 Feedrate Override


import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)
ex=0
startnow = float(0)
stopnow = float(0)
while True:
feedrateoverride = GPIO.input(17)
if feedrateoverride == False and ex==0:
startnow = time.time()

print("feedrate override greater than 100 ALERT")


ex=1
if ex == 1 and feedrateoverride ==
True: stopnow = time.time()
totalfeedrateoverridetime = (stopnow-startnow)

34
print("The total feedrate override time is", totalfeedrateoverridetime)
ex=0

A.1.5 Spindle Running Time


import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(22,GPIO.IN,pull_up_down=GPIO.PUD_UP)
var=0
hrs=0
rem=0
min=0
sec=0
minute=0
seconds=0
spindleRunningTime=0
totalSpindleRunningTime=0
start=float(0)
while True:
spindleOutput = GPIO.input(22)
time.sleep(0.3)
def spindleFunction(totalSpindleRunningTime):
if totalSpindleRunningTime>3600:
hrs = totalSpindleRunningTime//3600
rem = totalSpindleRunningTime%3600
min = rem//60
sec = rem%60
print("Total Spindle Running Time Is",hrs,"hours",min,"minutes",sec,"seconds")
elif totalSpindleRunningTime>60 and totalSpindleRunningTime<3600:
minutes = totalSpindleRunningTime//60
seconds = totalSpindleRunningTime%60
print("Total Spindle Running Time Is",minutes,"minutes",seconds,"seconds")
elif totalSpindleRunningTime<60:
print("Total Spindle Running Time is",totalSpindleRunningTime,"seconds")
if spindleOutput == False and var == 0:
print("start time recorded")
start = time.time()
var = 1
if spindleOutput == True and var ==1:
print(" Stop Time Recorded")

stop = time.time()
var = 0
spindleRunningTime = stop-start
totalSpindleRunningTime = totalSpindleRunningTime+spindleRunningTime
spindleFunction(totalSpindleRunningTime)

35
A.1.6 Machine Running Hours, Breakdown Time
and Machine Uti- lization Percentage
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(23,GPIO.IN,pull_up_down=GPIO.PUD_UP)
GPIO.setup(24,GPIO.IN,pull_up_down=GPIO.PUD_UP)
machineRunning = 0
totalMachineRunningTime = 0
temp = 0
machineUtilization = 0
cycleElapsed = 0
memr=0
breakdownTime =0
totalBreakdownTime
=0 start = float(0)
stop = float (0)
while True:
machineOutput = GPIO.input(23)
alarmStatus = GPIO.input(24)
time.sleep(0.3)
def machineFunction(totalMachineRunningTime):
if totalMachineRunningTime>3600:
hrs = totalMachineRunningTime//3600
rem = totalMachineRunningTime%3600
min = rem//60
sec = rem%60
print("Total Machine Running Time Is",hrs,"hours",min,"minutes",sec,"seconds")
elif totalMachineRunningTime>60 and totalMachineRunningTime<3600:
minutes = totalMachineRunningTime//60
seconds = totalMachineRunningTime%60
print("Total Machine Running Time Is",minutes,"minutes",seconds,"seconds")
elif totalMachineRunningTime<60:
print("Total Machine Running Time is",totalMachineRunningTime,"seconds")
if machineOutput == False and machineRunning == 0:
print("Start time recorded")
start = time.time()
machineRunning = 1

if machineOutput == True and machineRunning == 1:


print("Stop time recorded")
stop = time.time()
machineRunning = 0
machineRunningTime = stop-start
totalMachineRunningTime = totalMachineRunningTime+machineRunningTime
temp = (cycleElapsed*100)
machineUtilization = temp//totalMachineRunningTime
machineFunction(totalMachineRunningTime)

36
print("Machine successfully used time",cycleElapsed)
print("The CNC machine was utilized for",machineUtilization,"percent of the total time")
def alarmFunction(totalBreakdownTime):
if totalBreakdownTime>3600:
hrs = totalBreakdownTime//3600
rem = totalBreakdownTime%3600
min = rem//60
sec = rem%60
print("Total Breakdown Time is",hrs,"hours",min,"minutes",sec,"seconds")
elif totalBreakdownTime>60 and totalBreakdownTime<3600:
minutes = totalBreakdownTime//60
seconds = totalBreakdownTime%60
print("Total Breakdown Time is",minutes,"minutes",seconds,"seconds")
elif totalBreakdownTime<60:
print("Total Breakdown Time is",totalBreakdownTime,"seconds")
if alarmStatus == False and memr==0:
print("start time recorded")
start = time.time()
memr=1
if cyclestart == True and memr==1:
print("stop time recorded")
stop = time.time()
memr=0

breakdownTime = stop-start
totalBreakdownTime = breakdownTime + (stop - start)
alarmFunction(totalBreakdownTime)

A.1.7 Machine Ready


import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(23,GPIO.IN,pull_up_down=GPIO.PUD_UP)
ready=0
readytime=0
totalReadyTime=0
start = float(0)
stop = float(0)
while True:
machineReady = GPIO.input(23)

def readyFunction(totalReadyTime):
if totalReadyTime>3600:
hrs =
totalReadyTime//3600 rem
= totalReadyTime%3600 min
= rem//60

37
sec = rem%60

38
print("Total Ready Time is",hrs,"hours",min,"minutes",sec,"seconds")
elif totalReadyTime>60 and totalReadyTime<3600:
minutes = totalReadyTime//60
seconds = totalReadyTime%60
print("Total Ready Time is",minutes,"minutes",seconds,"seconds")
elif totalReadyTime<60:
print("Total Ready Time is",totalReadyTime,"seconds")
if readyStatus == False and ready==0:
print("start time recorded")
start = time.time()
ready=1
if cyclestart == True and
ready==1: print("stop time
recorded") stop =
time.time()
ready=0

readytime = stop-start
totalReadyTime = readyTime + (stop - start)
readyFunction(total ReadyTime)

A.2Program Code For GUI

import PySimpleGUI as sg

layout = [[sg.Text(’Select the month’)],


[sg.T(’ ’), sg.RealtimeButton(button_text=(’January’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’February’), button_color=(’black’,
’light blue’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’March’),
button_color=(’black’, ’violet’))], [sg.T(’ ’)],
]

win1 = sg.Window(’Window 1’).Layout(layout)

win2_active =
False

win3_active =
False
win4_active =
False
win5_active =
False
win6_active =
False

win7_active =
False
win8_active =
False

39
win13_active =

40
False
win14_active =
False
win15_active =
False
win16_active =
False
win9_active =
False
win10_active =
False
win11_active =
False
win12_active =
False
win17_active =
False
win18_active =
False
win19_active =
False
win20_active =
False
win21_active =
False
win22_active =
False

while True:
ev1, vals1 = win1.Read(timeout=1000000000)

if not win2_active and ev1 ==


’January’: win2_active = True
layout2 = [[sg.Text(’Select the desired week’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Week 1J’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Week 2J’), button_color=(’black’,
’pink’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Week 3J’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Week 4J’), button_color=(’black’,
’pink’))], [sg.T(’’)],
]
win2 = sg.Window(’Window
2’).Layout(layout2)

eve1, valse1 =
win2.Read(timeout=10000000000
)

if not win5_active and eve1 == ’Week


1J’: win5_active = True
layout5 = [[sg.Text(’Select the required parameter’)],

41
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 1J’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 1J’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 1J’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 1J’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 1J’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 1J’), button_color=(’black’, ’violet’))],
]
win5 = sg.Window(’Window
5’).Layout(layout5) #start of table

evet1, valset1 = win5.Read(timeout=1000000000)

if not win17_active and evet1 == ’Cycle time and part


count 1J’: win17_active = True
from tkinter
import *
window=Tk()
l1=Label(window,
text="Day")
l1.grid(row=0,column=
0) l1=Label(window,
text="Date")
l1.grid(row=0,column=
1)
l1=Label(window, text="Average
Cycle Time")
l1.grid(row=0,column=2)
l1=Label(window, text="Total
Cycle Time")
l1.grid(row=0,column=3)
l1=Label(window,
text="Part Count")
l1.grid(row=0,column=4)
l1=Label(window, text="1")

l1.grid(row=1,column=0)
l1=Label(window, text="2")
l1.grid(row=2,column=0)
l1=Label(window, text="3")
l1.grid(row=3,column=0)
l1=Label(window, text="4")
l1.grid(row=4,column=0)
l1=Label(window, text="5")
l1.grid(row=5,column=0)
l1=Label(window,
text="1/01/19")
l1.grid(row=1,column=1)
l1=Label(window,

42
text="48sec")
l1.grid(row=1,column=2)
l1=Label(window, text="5hr
40min 0sec")
l1.grid(row=1,column=3)
l1=Label(window,
text="425")
l1.grid(row=1,column=4)
l1=Label(window,
text="2/01/19")
l1.grid(row=2,column=1)
l1=Label(window,
text="50sec")
l1.grid(row=2,column=2)
l1=Label(window, text="5hr
45min 0sec")
l1.grid(row=2,column=3)
l1=Label(window,
text="414")
l1.grid(row=2,column=4)
l1=Label(window,
text="3/01/19")
l1.grid(row=3,column=1)
l1=Label(window,
text="48sec")
l1.grid(row=3,column=2)
l1=Label(window, text="5hr 40min
48sec 0sec")
l1.grid(row=3,column=3)
l1=Label(window,
text="426")
l1.grid(row=3,column=4)
l1=Label(window,
text="4/01/19")
l1.grid(row=4,column=1)
l1=Label(window,
text="51sec")
l1.grid(row=4,column=2)
l1=Label(window,
text="5hr 48min 30sec")

l1.grid(row=4,column=3)
l1=Label(window,
text="410")
l1.grid(row=4,column=4)
l1=Label(window,
text="7/01/19")
l1.grid(row=5,column=1)
l1=Label(window,
text="49sec")
l1.grid(row=5,column=2)
l1=Label(window,

43
text="5hr 43min 49sec")
l1.grid(row=5,column=3)

44
l1=Label(window,
text="421")
l1.grid(row=5,column=4)
window.mainloop()

win17 = sg.Window(’Window 17’)

if win17_active:
evet1, valset1 = win17.Read(timeout=1000000000)

evet2, valset2 = win5.Read(timeout=10)


if not win18_active and evet2 ==
’Feedrate override 1J’: win18_active =
True
from tkinter
import *
window=Tk()
l1=Label(window,
text="Day")
l1.grid(row=0,column=0)
l1=Label(window,
text="Date")

l1.grid(row=0,column=1)
l1=Label(window,
text="Feedrate Override >100")
l1.grid(row=0,column=2)
l1=Label(window, text="1")
l1.grid(row=1,column=0)
l1=Label(window, text="2")
l1.grid(row=2,column=0)
l1=Label(window, text="3")
l1.grid(row=3,column=0)
l1=Label(window, text="4")
l1.grid(row=4,column=0)
l1=Label(window, text="5")
l1.grid(row=5,column=0)
l1=Label(window,
text="1/01/19")
l1.grid(row=1,column=1)
l1=Label(window,
text="25min")
l1.grid(row=1,column=2)
l1=Label(window,
text="2/01/19")
l1.grid(row=2,column=1)
l1=Label(window,
text="55min")
l1.grid(row=2,column=2)
l1=Label(window,
text="3/01/19")
l1.grid(row=3,column=1)
l1=Label(window,

45
text="50min")
l1.grid(row=3,column=2)
l1=Label(window,
text="4/01/19")
l1.grid(row=4,column=1)
l1=Label(window,
text="45min")
l1.grid(row=4,column=2)
l1=Label(window,
text="7/01/19")
l1.grid(row=5,column=1)
l1=Label(window,
text="20min")
l1.grid(row=5,column=2)
window.mainloop()

win18 = sg.Window(’Window 18’)

if win18_active:
evet2, valset2
=win18.Read(time
out=1000000000)
evet3, valset3
=
win5.Read(timeou
t=1000000000)

if not win19_active and evet3 ==


’Spindle output 1J’: win19_active =
True
from tkinter
import *
window=Tk()
l1=Label(window,
text="Day")
l1.grid(row=0,column=
0) l1=Label(window,
text="Date")
l1.grid(row=0,column=
1)
l1=Label(window, text="Total Spindle
Running Hours")
l1.grid(row=0,column=2)
l1=Label(window, text="1")
l1.grid(row=1,column=0)
l1=Label(window, text="2")
l1.grid(row=2,column=0)
l1=Label(window, text="3")
l1.grid(row=3,column=0)
l1=Label(window, text="4")
l1.grid(row=4,column=0)

46
l1=Label(window, text="5")
l1.grid(row=5,column=0)

47
l1=Label(window,
text="1/01/19")
l1.grid(row=1,column=1)
l1=Label(window, text="5hr
80min 0sec")
l1.grid(row=1,column=2)

l1=Label(window,
text="2/01/19")
l1.grid(row=2,column=1)
l1=Label(window, text="5hr
85min 0sec")
l1.grid(row=2,column=2)
l1=Label(window,
text="3/01/19")
l1.grid(row=3,column=1)
l1=Label(window, text="5hr
80min 48sec")
l1.grid(row=3,column=2)
l1=Label(window,
text="4/01/19")
l1.grid(row=4,column=1)
l1=Label(window, text="5hr
88min 30sec")
l1.grid(row=4,column=2)

l1=Label(window,
text="7/01/19")
l1.grid(row=5,column=1)
l1=Label(window, text="5hr
83min 49sec")
l1.grid(row=5,column=2)

window.mainloop()
win19 =
sg.Window(’Window 19’) if
win19_active:
evet3, valset3
=
win19.Read(timeout=1000000000) evet4,
valset4 =
win5.Read(timeout=1000000000) if not
win20_active and evet4 ==
’Breakdown 1J’: win20_active = True
from tkinter
import *
window=Tk()
l1=Label(window,
text="Day")
l1.grid(row=0,column=
0) l1=Label(window,
text="Date")

48
l1.grid(row=0,column=
1)

49
l1=Label(window,
text="Breakdown Hours")
l1.grid(row=0,column=2)
l1=Label(window, text="1")
l1.grid(row=1,column=0)
l1=Label(window, text="2")

l1.grid(row=2,column=0)
l1=Label(window, text="3")
l1.grid(row=3,column=0)
l1=Label(window, text="4")
l1.grid(row=4,column=0)
l1=Label(window, text="5")
l1.grid(row=5,column=0)
l1=Label(window,
text="1/01/19")
l1.grid(row=1,column=1)
l1=Label(window, text="1hr
15min 0sec")
l1.grid(row=1,column=2)

l1=Label(window,
text="2/01/19")
l1.grid(row=2,column=1)
l1=Label(window, text="0hr
35min 0sec")
l1.grid(row=2,column=2)
l1=Label(window,
text="3/01/19")
l1.grid(row=3,column=1)
l1=Label(window, text="1hr
20min 0sec")
l1.grid(row=3,column=2)

l1=Label(window,
text="4/01/19")
l1.grid(row=4,column=1)
l1=Label(window, text="0hr
48min 0sec")
l1.grid(row=4,column=2)

l1=Label(window,
text="7/01/19")
l1.grid(row=5,column=1)
l1=Label(window, text="0hr
40min 0sec")
l1.grid(row=5,column=2)

window.mainloop()
win20 = sg.Window(’Window 20’)

if win20_active:

50
evet4, valset4 =
win20.Read(timeout=1000000000) evet5,
valset5 =
win5.Read(timeout=1000000000)
if not win21_active and evet5 == ’Machine running and
utilization 1J’: win21_active = True
from tkinter
import *
window=Tk()
l1=Label(window,
text="Day")
l1.grid(row=0,column=
0) l1=Label(window,
text="Date")
l1.grid(row=0,column=
1)
l1=Label(window, text="Total Machine
Running Time")
l1.grid(row=0,column=2)
l1=Label(window, text="Machine
Utilization Percentage")
l1.grid(row=0,column=3)
l1=Label(window,
text="1")
l1.grid(row=1,column=0)
l1=Label(window,
text="2")
l1.grid(row=2,column=0)
l1=Label(window,
text="3")
l1.grid(row=3,column=0)
l1=Label(window,
text="4")
l1.grid(row=4,column=0)
l1=Label(window,
text="5")
l1.grid(row=5,column=0)
l1=Label(window,
text="1/01/19")
l1.grid(row=1,column=1)
l1=Label(window,
text="6hr 45min 10sec")
l1.grid(row=1,column=2)
l1=Label(window,
text="86.3 %")
l1.grid(row=1,column=3)
l1=Label(window,
text="2/01/19")

51
l1.grid(row=2,column=1)
l1=Label(window,
text="6hr 46min 18sec")
l1.grid(row=2,column=2)
l1=Label(window,
text="85.4 %")
l1.grid(row=2,column=3)
l1=Label(window,
text="3/01/19")
l1.grid(row=3,column=1)
l1=Label(window,
text="6hr 51min 23sec")
l1.grid(row=3,column=2)
l1=Label(window,
text="87.3 %")
l1.grid(row=3,column=3)
l1=Label(window,
text="4/01/19")
l1.grid(row=4,column=1)
l1=Label(window,
text="6hr 47min 28sec")
l1.grid(row=4,column=2)
l1=Label(window,
text="82.6 %")
l1.grid(row=4,column=3)
l1=Label(window,
text="7/01/19")
l1.grid(row=5,column=1)
l1=Label(window,
text="6hr 43min 16sec")
l1.grid(row=5,column=2)
l1=Label(window, text="85.1
%") l1.grid(row=5,column=3)
window.mainloop()
win21 = sg.Window(’Window 21’)

if win21_active:
evet5, valset5 = win21.Read(timeout=1000000000)
evet6, valset6 = win5.Read(timeout=1000000000)

if not win22_active and evet6 ==


’Machine ready 1J’: win22_active =
True
from tkinter
import *
window=Tk()
l1=Label(window,
text="Day")
l1.grid(row=0,column=
0) l1=Label(window,
text="Date")
l1.grid(row=0,column=

52
1)
l1=Label(window, text="Total Machine
Running Time")
l1.grid(row=0,column=2)
l1=Label(window, text="Machine
Utilization Percentage")
l1.grid(row=0,column=3)
l1.grid(row=0,column=2)
l1=Label(window,
text="1")
l1.grid(row=1,column=0)
l1=Label(window,
text="2")
l1.grid(row=2,column=0)
l1=Label(window,
text="3")
l1.grid(row=3,column=0)
l1=Label(window,
text="4")
l1.grid(row=4,column=0)
l1=Label(window,
text="5")
l1.grid(row=5,column=0)
l1=Label(window,
text="1/01/19")
l1.grid(row=1,column=1)
l1=Label(window,
text="10mins")
l1.grid(row=1,column=2)

l1=Label(window,
text="2/01/19")
l1.grid(row=2,column=1)
l1=Label(window,
text="12mins")
l1.grid(row=2,column=2)
l1=Label(window,text="3
/01/19")
l1.grid(row=3,column=1)
l1=Label(window,
text="18mins")
l1.grid(row=3,column=2)

l1=Label(window,
text="4/01/19")
l1.grid(row=4,column=1)
l1=Label(window,
text="13mins")
l1.grid(row=4,column=2)

l1=Label(window,
text="7/01/19")

53
l1.grid(row=5,column=1)

54
l1=Label(window,
text="16mins")
l1.grid(row=5,column=2)

window.mainloop()
win22 =
sg.Window(’Window 22’) if
win22_active:
evet6, valset6 =
win22.Read(timeout=1000000000) #stop
table 1

if win5_active:
eve1, valse1 = win5.Read(timeout=10000000)

eve2, valse2 =
win2.Read(timeout=1000000) if
not win6_active and eve2 ==
’Week 2J’:
win6_active = True
layout6 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 2J’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 2J’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 2J’), button_color=(’black’,
’pink’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Breakdown 2J’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 2J’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 2J’), button_color=(’black’, ’violet’))],
[sg.T(’’)],

win6 = sg.Window(’Window
6’).Layout(layout6) #strt table 2

if win6_active:
eve2, valse2 = win6.Read(timeout=10000000)

eve3, valse3 =
win2.Read(timeout=10000) if
not win7_active and eve3 ==
’Week 3J’:
win7_active = True
layout7 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 3J’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 3J’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 3J’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 3J’), button_color=(’black’,

55
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 3J’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 3J’), button_color=(’black’, ’violet’))],
[sg.T(’’)],

win7 = sg.Window(’Window 7’).Layout(layout7)

if win7_active:
eve3, valse3 = win7.Read(timeout=10000000)

eve4, valse4 = win2.Read(timeout=10000)

if not win8_active and eve4 ==


’Week 4J’: win8_active = True
layout8 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 4J’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 4J’), button_color=(’black’, ’white’))],

[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 4J’),


button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 4J’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 4J’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 4J’), button_color=(’black’, ’violet’))],

[sg.T(’’)],

win8 = sg.Window(’Window 8’).Layout(layout8)

if win8_active:
eve4, valse4 =
win8.Read(timeout=10000000) if
win2_active:
ev2, vals2 =
win2.Read(timeout=100) ev3,
vals3 =
win1.Read(timeout=100000)

if not win4_active and ev3 ==


’March’: win4_active =
True
layout4 = [[sg.Text(’Select the week’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Week 1M’),

56
button_color=(’black’, ’violet’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Week 2M’), button_color=(’black’,
’violet’))],

[sg.T(’ ’), sg.RealtimeButton(button_text=(’Week 3M’),


button_color=(’black’, ’violet’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Week 4M’), button_color=(’black’,
’violet’))], [sg.T(’’)],

win4 = sg.Window(’Window 4’).Layout(layout4)

#strt window 13 to 16
eva1, valsa1 = win4.Read(timeout=10000)
if not win13_active and eva1 ==
’Week 1M’: win13_active = True
layout13 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 1M’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 1M’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 1M’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 1M’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 1M’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 1M’), button_color=(’black’, ’violet’))],

[sg.T(’’)],

win13 = sg.Window(’Window 13’).Layout(layout13)

if win13_active:
eva1, valsa1 = win13.Read(timeout=10000000)

#start14
eva2, valsa2 = win4.Read(timeout=10000)
if not win14_active and eva2 ==
’Week 2M’: win14_active = True
layout14 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 2M’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 2M’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 2M’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 2M’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 2M’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 2M’), button_color=(’black’, ’violet’))],
[sg.T(’’)],

57
]
win14 = sg.Window(’Window 14’).Layout(layout14)

if win14_active:
eva2, valsa2 = win14.Read(timeout=10000000)

#start15
eva3, valsa3 = win4.Read(timeout=10000)
if not win15_active and eva3 ==
’Week 3M’: win15_active = True
layout15 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 3M’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 3M’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 3M’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 3M’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 3M’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 3M’), button_color=(’black’, ’violet’))],
[sg.T(’’)],
]

win15 = sg.Window(’Window 15’).Layout(layout15)

if win15_active:
eva3, valsa3 = win15.Read(timeout=10000000)

#start16
eva4, valsa4 = win4.Read(timeout=10000)

if not win16_active and eva4 ==


’Week 4M’: win16_active = True
layout16 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 4M’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 4M’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 4M’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 4M’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 4M’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 4M’), button_color=(’black’, ’violet’))],
[sg.T(’’)],
]

win16 = sg.Window(’Window 16’).Layout(layout16)

58
if win16_active:
eva4, valsa4 = win16.Read(timeout=10000000)

#stop
if win4_active:
ev4, vals4 =
win4.Read(timeout=100) if
ev4 is None or ev4 ==
’Exit’:
win4_active =
False
win4.Close()

ev2, vals2 = win1.Read(timeout=100000)

if not win3_active and ev2 ==


’February’: win3_active = True
layout3 = [[sg.Text(’Select the week’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Week 1F’),
button_color=(’black’, ’light blue’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Week 2F’), button_color=(’black’,
’light blue’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Week
3F’), button_color=(’black’, ’light blue’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Week 4F’), button_color=(’black’,

’light blue’))], [sg.T(’’)],


]

win3 = sg.Window(’Window 3’).Layout(layout3)

#start of window 9 till 12


evb1, valsb1 = win3.Read(timeout=10000)

if not win9_active and evb1 ==


’Week 1F’: win9_active = True
layout9 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 1F’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 1F’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 1F’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 1F’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 1F’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 1F’), button_color=(’black’, ’violet’))],
[sg.T(’’)],
59
]

60
win9 = sg.Window(’Window 9’).Layout(layout9)

if win9_active:
evb1, valsb1 =
win9.Read(timeout=10000000) if
evb1 is None or evb1 == ’Exit’:
win9_active =
False
win9.Close()
#start10
evb2, valsb2 = win3.Read(timeout=10000)

if not win10_active and evb2 ==


’Week 2F’: win10_active = True
layout10 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 2F’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 2F’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 2F’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 2F’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 2F’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine
ready 2F’), button_color=(’black’, ’violet’))],
[sg.T(’’)],
]

win10 = sg.Window(’Window 10’).Layout(layout10)

if win10_active:
evb2, valsb2 =
win10.Read(timeout=10000000) if
evb2 is None or evb2 == ’Exit’:
win10_active = False
win10.Close()
#start11
evb3, valsb3 = win3.Read(timeout=10000)

if not win11_active and evb3 ==


’Week 3F’: win11_active = True
layout11 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 3F’),
button_color=(’black’, ’light yellow’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Feedrate override 3F’), button_color=(’black’, ’white’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 3F’),

61
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 3F’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 3F’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine ready
3F’), button_color=(’black’, ’violet’))],
[sg.T(’’)],
]

win11 = sg.Window(’Window 11’).Layout(layout11)

if win11_active: evb3,
valsb3 =
win11.Read(timeout=10000000) if
evb3 is None or evb3 == ’Exit’:
win11_active = False win11.Close()
#start12
evb4, valsb4 = win3.Read(timeout=10000)

if not win12_active and evb4 ==


’Week 4F’: win12_active = True
layout12 = [[sg.Text(’Select the required parameter’)],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Cycle time and part count 4F’), button_color=(’black’,
’light yellow’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Feedrate override 4F’),
button_color=(’black’, ’white’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Spindle output 4F’),
button_color=(’black’, ’pink’))], [sg.T(’ ’),
sg.RealtimeButton(button_text=(’Breakdown 4F’), button_color=(’black’,
’lavender’))],
[sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine running and utilization 4F’),
button_color=(’black’, ’light green’))], [sg.T(’ ’), sg.RealtimeButton(button_text=(’Machine ready
4F’), button_color=(’black’, ’violet’))],
[sg.T(’’)],
]

win12 = sg.Window(’Window 12’).Layout(layout12)

if win12_active: evb4,
valsb4 =
win12.Read(timeout=10000000) if
evb4 is None or evb4 == ’Exit’:
win12_active = False win12.Close()
#stop
if win3_active: ev3,
vals3 =
win3.Read(timeout=100) if ev3 is
None or ev3 ==
’Exit’:
win3_active =
False win3.Close()

A.3Program Code For Parameter Comparison Bar Graph

red = "#cd3333"; green = "#458b74"; blue = "#87cefa"; purple =


"#cd96cd"; peach = "#FAEBD7"; set ydata time
set timefmt "%H:%M:%S"
set
format y "%H:%M:%S" set
style data histogram
set style histogram cluster gap 1
set style fill solid
set boxwidth
0.9 set xtics format ""
set grid ytics

set title "Week 1 January"


plot "barw1j.dat" using 2:xtic(1) title "Total Cycle Time" linecolor
rgb green, \ ’’ using 3 title "Total Spindle Running Hours"
linecolor rgb blue, \ ’’ using 4 title "Total Machine Ready
Time" linecolor rgb purple, \ ’’ using 5 title "Total
Breakdown Time" linecolor rgb red, \
’’ using 6 title "Total Machine Running(ON) Time" linecolor rgb peach

A.4Program Code For Machine Utilization Bar Graph

peach = "#FAEBD7";green =
"#458b74"; set yrange [0:24] set style
data histogram
set style histogram
cluster gap 1 set style fill
solid
set boxwidth
0.9 set xtics format ""
set grid ytics

set title "Week 1 January"


plot "machutilization1j.dat" using 2:xtic(1) title "Total Machine On Time"
linecolor rgb peach, \ ’’ using 3 title "Successfully Used Time"
linecolor rgb green

A.5Comparison of Breakdown Time with respect to To- tal


Machine Run Time

orange = "#fa8072"; set


yrange [0:100]
set style data histogram
set style histogram cluster gap 1
set style fill solid
set boxwidth
0.9 set xtics format ""
set grid ytics

set title "Week 1 Inference"


plot "breakruncomparison.dat" using 2:xtic(1) title "Breakdown as a Percentage of Total Time" linecolor
rgb orange, \
REFERENCES

[1] Sezer, E., Romero, D., Guedea, F., Macchi, M., and Emmanouilidis, C. (2018). “An industry 4.0-
enabled low cost predictive maintenance approach for smes.” 2018 IEEE International Conference
on Engineering, Technologyand Innovation (ICE/ITMC), 1–8 (June).

[2] Xiao Hua Lia, Wen Yi Lib. “The Research on Intelligent Monitoring Technology of NC
Machining Process.” 9th International Conference on Digital Enterprise Technology- DET2016
[3] S. Nallusamy. “Enhancement of Productivity and Efficiency of CNC Machines in a Small Scale
Industry Using Total Productive Maintenance.” International Journal of Engineering Research in
Africa, 02 September 2016.

[4] Hung, M., Lin, Y., Quoc Huy, T., Yang, H., and Cheng, F. (2012). “Development of a cloud-
computing-based equipment monitoring system for machine tool industry.” 2012 IEEE International
Conference on Automation Science and Engineering(CASE), 962–967 (Aug).

[5] Chang, W. and Wu, S. (2016). “Investigated information data of CNC machine tool for
established productivity of industry 4.0.” 2016 5th IIAI International Congress on Advanced Applied
Informatics (IIAI-AAI), 1088–1092 (July).

[6] Saez, M., Maturana, F. P., Barton, K., and Tilbury, D. M. (2018). “Real-time manufacturing
machine and system performance monitoring using internet of things.” IEEE Transactions on
Automation Science and Engineering, 15(4), 1735–1748.

[7] Al-Saedi, I. R. K., Mohammed, F. M., and Obayes, S. S. (2017). “CNC machine based on
embedded wireless and internet of things for workshop development.” 2017 International
Conference on Control, Automation and Diagnosis (ICCAD), 439–444 (Jan).

[8] Desai, D. P. and Patel, D. M. (2015). “Design of control unit for cnc machine tool using arduino
based embedded system.” 2015 International Conference on Smart Technologies and Management
for Computing, Communication, Controls, Energy and Materials (ICSTM), 443–448 (May).

[9] Lu, X., Yu, D., Hu, Y., and Yao, Z. (2014). “Design and implementation of machine tools
supervisory system based on information model.” 2014 IEEE International Conference on
Information and Automation (ICIA), 856–859 (July).

[10] Omnes, N., Bouillon, M., Fromentoux, G., and Grand, O. L. (2015). “A programmable and
virtualized network amp; it infrastructure for the internet of things: How can nfv amp; sdn help for
facing the upcoming challenges.” 2015 18th International Conference on Intelligence in Next
Generation Networks, 64–69 (Feb).

[11] Shrouf, F., Ordieres, J., and Miragliotta, G. (2014). “Smart factories in industry 4.0: A review
of the concept and of energy management approached in production based on the internet of things
paradigm.” 2014 IEEE International Conference on Industrial Engineering and Engineering
Management, 697–701 (Dec).

[12] Xiaoli, X. and Bin, R. (2011). “Research on data acquisition and database-building technology

56
based on highend cnc machine tool.” 2011 IEEE 3rd International Confer- ence on Communication
Software and Networks, 135–138 (May).

[13] Jonathan Downeya,b,*, Denis O’Sullivanc,, Miroslaw Nejmend, Sebastian Bombinskid,


Paul O’Learye, Ramesh Raghavendrac, Krzysztof Jemielniak “Real time monitoring of the CNC
process in a production environment- the data collection & analysis phase ” 48th CIRP Conference
on Manufacturing systems - CIRP CMS 2015

[14] Kunpeng Zhu, Yu Zhang “A Cyber-Physical Production System Framework of Smart CNC
Machining Monitoring System” in IEEE/ASME Transactions on Mechatronics, vol. 23, no. 6,
pp. 2579-2586, Dec. 2018.
[15] S. N. Bhagat and S. L. Nalbalwar, "LabVIEW based tool condition monitoring and control for
CNC lathe based on parameter analysis," 2016 IEEE International Conference on Recent Trends in
Electronics, Information & Communication Technology (RTEICT), Bangalore, 2016, pp. 1386-1388.

[16] F. Shrouf, J. Ordieres and G. Miragliotta, "Smart factories in Industry 4.0: A review of the
concept and of energy management approached in production based on the Internet of Things
paradigm," 2014 IEEE International Conference on Industrial Engineering and Engineering
Management, Bandar Sunway, 2014, pp. 697-701.

[17] Z. Wen-zheng and Y. Hu, "Design and Implementation of CNC Machine Remote Monitoring
and Controlling System Based on Embedded Internet," 2010 International Conference on Intelligent
System Design and Engineering Application, Changsha, 2010, pp. 506-509.

57
Publication
International Journal of Recent Technology and Engineering (IJRTE)
ISSN: 2277-3878, Volume-8 Issue-2, July 2019

Cost Effective Digitalization Solution for


Sinumerik CNC System To Increase The
Transparency and Utilization of The
Machine
Pooja Anand, Vinitha Lea Philip, Parthasarathy Eswaran

Communication Engineering, SRM Institute of Science and Technology,


Abstract: In this work, we fetch the current trends in Chennai, Tamil Nadu.
industrial automation and data exchange technology adopted in P. Eswaran, Department of Electronics and Communication Engineering,
SRM Institute of Science and Technology, Chennai, Tamil Nadu.
Computer Numerical Control (CNC) machine and mitigate the
features in in a cost-effective manner. The current trend is
Industry 4.0, uses cloud-based systems for information and data
exchanges in machine to machine communication. This
methodology is reliable, but expensive and can be afforded only
by large scale companies. In order to provide the data
transparencies at low cost, we utilize a low-cost computing
system using Python language for small scale industry. This
technique was implemented in the existing CNC machine and
the machine parameters such as Machine Operating Mode,
Cycle Time, Part Count, Feed rate, Spindle Running Hours,
Machine Running Hours, and Machine Utilization Hours are
monitored. Graphical user interface (GUI) screens are developed
to help human machine interface. Acquired real-time machine
data will help boost transparency and help the operator/ user for
smart decision making. The IIoT (Industrial Internet of Things)
technology helps to connect more numbers of such machines,
results in increased machine utilization and productivity
through continuously monitoring and analyzes.

Index Terms: , IoT, Automation, Computer Numerical


Control (CNC), Data analysis, Industry 4.0, Industrial IoT.

I. INTRODUCTION
Industry 4.0 is the fourth industrial revolution. It focuses
on cyber physical systems, the Internet of Things, cloud
computing and cognitive computing. This brings forth smart
factories to the industrial world. Industry 4.0 has four design
principles which include: Interconnection, Information
transparency, Technical assistance and Decentralized
decisions. A cost-effective system has been designed to
measure the temperature and vibration variables of a
machining process in Hass Computer Numerical Control
(CNC)[1]. Industry 4.0 is revolution in a new wave of
cyber-physical systems in NC (Numerically control)
machining process platform which realizes the real-time
monitoring and 3D display of machine tools[2-4].
Increasing efficiency has always been a major factor in the
manufacturing sector for better production. Improved
efficiency leads to better profitability. With the IoT gaining

Revised Manuscript Received on July 05, 2019.


Pooja Anand, Department of Electronics and Communication
Engineering, SRM Institute of Science and Technology, Chennai, Tamil
Nadu. Vinitha Lea Philip, Department of Electronics and

Published By:
Retrieval Number: A1030058119/19©BEIESP
Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 6 & Sciences Publication
importance, it has become one of the leading use cases for
Industry 4.0[5], [6]. A combination of traditional
condition monitoring enhanced with analytical algorithm
forms the basis of Predictive maintenance strategies. Total
Productive Maintenance (TPM) and 5S techniques
minimize the breakdowns and improve the performance
and efficiency of a machine [7]. This technology enables
the prediction of machine failures before they occur. For
many small business owners, the adoption of IoT may
seem like a daunting challenge. Cloud computing based
equipment monitoring systems help in monitoring the
performance, statuses, equipment faults, production quality
and precision of the machine [8]. These systems involve
the use of expensive and complex software which are
difficult to use. This bottleneck prevents many small scale
industries from adopting these methods, and also their
return on Investment takes a longer time. Monitoring
machining processes have become a major factor for a
manufacturer to improve the efficiency of the production
line. Investigating the data of the CNC machine tool based
on controller tuning operation help in increasing the
productivity of industry 4.0[9-11]. It can also help in
reducing the downtime of the machines. This work aims to
help small manufacturing industries to use the current
technology to improve functionality and identify the key
areas for improvement and thereby increase the utilization
by simplifying machine monitoring [12-13]. IoT
technologies are the key factors in Industry 4.0 which help
in increased product customization, productivity, and
reliability of physical systems and are compared in real
time [14]. Data extraction is made possible using industrial
IoT in machines [15]. The proposed methodology will
enhance small and medium enterprises to embrace IoT in a
big way. These enterprises look for the following: cost
should be affordable, the technology should be easy to use
without any specialized knowledge or having to hire
someone with special skills, it should be readily available,
and the results should be accurate and must help them save
or recover money faster. Our work is aimed to develop a
solution that will help small and medium businesses
achieve the above objectives. In our work, we will be
monitoring the Sinumerik CNC with the help of a
raspberry pi and thereby showing the machine’s utilization
patterns. The process of monitoring is initiated by selecting
the list of parameters to be monitored [16]. The raspberry
pi is programmed
with the help of the
programming language

Published By:
Retrieval Number: A1030058119/19©BEIESP
Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 6 & Sciences Publication
Cost Effective Digitalization Solution for Sinumerik CNC System To Increase The Transparency and
Utilization of The Machine
Python to meet the requirements. pi can only handle up to 5V, and the GPIOs can tolerate only

Then the raspberry pi is hardwired to the Sinumerik CNC


module to collect the required data over a specified period.
The raspberry pi collects the data and collates for display.
The various parameters that we require to be monitored are
taken out from the CNC and given as input to the pi via the
I/O card. The python program in the pi will run the proper
algorithm to collect and store the data. The data is viewed on
display screens in the form of graphical representations.
The organization of this paper is as follows: Section II
reviews the concepts of Industry 4.0 and the design of
cost-effective interface Module, Section III details the
experimental setup functionality, Graphical User Interface
design and the implementation results was discussed in
Section IV followed with conclusion.

II. BASIC CONCEPTS


The latest digital industrial technology is the Industry 4.0.
This transformation makes it possible to analyze data of
machines and thereby enabling faster and efficient
production. Current market requirements and emerging
autonomous technologies such as IoT are shifting the
manufacturing companies' environment toward smart
factories. Digitalization (Industry 4.0) is going to be a norm
for all industries in the future. Most companies face
challenges in adopting new technologies. In order to sustain
a lead in the race, companies need to broaden in the field of
digital technologies and implement digital manufacturing
strategies. An Industry 4.0 solution will aid in overcoming
the current challenges such as providing transparency,
proper utilization of the machine, better production
management, and thereby improving the efficiency of the
manufacturing process.
A. Architecture
If we consider the first parameter, Auto/Manual mode, the
process is as follows. There is a selector switch on the CNC
screen where we select whether it is the auto mode or
manual mode. The information is transferred to the memory
of the CNC and stored as an NC variable which will be a
digital value (0 or 1). The NC variable is stored in the CNC
memory. In the PLC logic we will write a small logical code
to access the data. The data available in the CNC memory
will be transferred to the raspberry pi via the PLC. Every
company has its proprietary PLC logic software, and for
Siemens, it is called the Simatic Manager. In the Simatic
manager, we will write a small logic to access the NC
variable and bring it as data to store in the PLC. Siemens
will do this programming. Another code is required to
transfer the data from the PLC through the I/O card to the
raspberry pi. The value will be taken from the system and
moved like 0 or 1 through the I/O module. The
SINUMERIK I/O Module is PP 72/48D 2/2A PN. It has 72
digital inputs and 48 digital outputs. The digital output is
then connected to a relay board. Relays are used to avoid the
risk of the raspberry pi burning out. The raspberry

Published By:
Retrieval Number: A1030058119/19©BEIESP Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 7 & Sciences Publication
3.3V without relays. Then, data is be stored in the
raspberry pi. Similarly, it will be done for all the
parameters. The CNC was monitored over two weeks for
around seven to eight hours, and this was done using the
methods below.

Fig. 1. Design of Cost-Effective digitization Module.


In the next section, we discuss the parameters selected.
These parameters form the basis of our monitoring. More
parameters can be added in the future with suitable
additions to the programming.
B. Parameters
Machine Operating Mode: Auto/Manual: When the
machine is in manual mode, the operator can push buttons,
turn wheels, and turn switches on or off. In Auto mode, we
execute the program that is fed into it.
Part Program Running: Yes/No: The set of instruction by
which we can produce a part is known as a part program, and
we can use to check the CNC program. This program gets
executed when the cycle start button was pressed on the
CNC.
Cycle Time: The time taken to finish a production run by
the amount of fine products produced.
Part Count: The number of parts that have been produced
during each production cycle is defined as the part count. It
is monitored only when it runs in auto mode.
Feedrate Override: The feed-rate override is a multi-
position switch which commonly ranges from 0 to 200
percent. It enables the setup person to slow (or stop) cutting
motions on one end of the spectrum and double the
programmed feed rate on the other.
Spindle Running Time: The spindle running hours is
defined as the percentage of available time that the spindle
of a machine is on.
Breakdown Hours: The breakdown hour is the amount of
time when a system is unavailable or of time that a system
fails to perform its primary functions.
Machine Running Hours: The machine running hours is
the working of a machine for an hour. This is used as a
basis for cost finding and for determining operating
effectiveness.
Machine-Ready Time: Time taken after the part is
produced until the next part is loaded onto the machine. It
tells the operator that the machine is ready to start the
process.
Machine Utilization Hours: It is the amount of time the
machine is used successfully. Machine utilization compares
the run time to the amount of time taken to setup the
machine.
C. Software Tools
Tkinter tool: It is a toolkit
for Python’s GUI package.
Tkinter is an inbuilt
python

Published By:
Retrieval Number: A1030058119/19©BEIESP Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 7 & Sciences Publication
International Journal of Recent Technology and Engineering (IJRTE)
ISSN: 2277-3878, Volume-8 Issue-2, July 2019

module. It is an object-oriented layer [21]. A. Hardware Modules


Python 3: Python is a high-level object-oriented scripting Raspberry Pi 3: We have monitored the Sinumerik CNC
language that it is easily readable. The interpreter processes with the help of raspberry pi. It is a mini computer that runs
Python at runtime. The program does not need to be on the Linux platform and provides us with GPIO (General
compiled before executing it[22]. Purpose Input/Output) pins. It has 40 pins.
Gnuplot: The Gnuplot is the tool used in our project to Sinumerik CNC: A CNC (Computer Numerical Control) is
produce the graphs. Gnuplot programs help in generating a device used for material removal to get desired
two- and three-dimensional plots of functions [23]. parts/components. The Sinumerik CNC 828D is basically
the NC Kernel with a built-in PLC in the front which is
III. EXPERIMENTAL SETUP connected to an I/O card. This can be used to control many
The I/O card connected to the CNC has 72 inputs and 48 complex types of machinery including mills, lathes, and
grinders.
outputs. Nine outputs are selected and given to the raspberry
I/O Module: The various parameters that have to be
pi via the relay. Pins 17, 18,23,16,25,12,22,27, 24, 13 are
monitored are taken as an output from the CNC and given as
provided as input for manual mode, auto mode, the part
input to the pi via the I/O card. The SINUMERIK I/O
program running, cycle start, rejected part count, federate Module is PP 72/48D 2/2A PN. It has 72 digital inputs and
override greater than 100, spindle output, machine output, 48 digital outputs. The digital output is connected to a relay
alarm status, and machine ready respectively. The raspberry board.
pi is programmed using python to collect and analyze the Relay: In our work, we need to connect the pi to a module
data. Graphical user interface screens are designed in the with a higher voltage. Relays are used to avoid the risk of
form of tables and graphs for easy interaction. the raspberry pi burning out. The raspberry pi can only
handle up to 5V, and the GPIOs can tolerate only 3.3V
without relays. Relays have two main contacts NO and NC.

(a) (b).

(a)
(c) (d).

Fig. 3. (a). Raspberry Pi 3 Model B V1.2 [17], (b).


Sinumerik 828 D [18], (c). Sinumerik I/O Module is PP
72/48D 2/2A PN [19], (d) 8 Channel Relay [20].
B. Software Design
The flow diagram for the respective parameters program
logic is as follows:
Machine Operating Mode: AUTO/MANUAL and Part
Program Running: YES/NO: In the raspberry pi, GPIO
pin 18 and 17 are initialized as ‘Auto Mode' and ‘Manual
Mode' respectively. The selected mode will be displayed.
GPIO pin 23 is initialized as ‘Part Program Selected'. The
display will show whether the part program is running or
(b) not.
Fig 2. (a)Experimental setup back view, (b) Experimental
Setup front view

Published By:
Retrieval Number: A1030058119/19©BEIESP
Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 8 & Sciences Publication
Cost Effective Digitalization Solution for Sinumerik CNC System To Increase The Transparency and
Utilization of The Machine

(a)
(d)

(b)

(e)
Fig.4. (a) Cycle Time and Part Count, (b) Feed rate
Override, (c) Breakdown Time,(d) Machine Running
Hours, (e). Machine Utilization Hours.
Cycle Time and Part Count: The calculation of current
cycle time for every part manufactured the number of good
parts and rejected parts, the average and total cycle time are
outlined in Figure 4(a).
Feed rate Override: The time during which federate
override are greater than 100 are recorded and displayed as
shown in Figure 4(b).
Spindle Running Hours: In the raspberry pi, GPIO pin 22
is initialized as ‘Spindle Output’. The total spindle running
hours are calculated and displayed using the same algorithm
as fig 4(b).
Breakdown Time: The total breakdown time was
(c) calculated as shown in Figure 4(c).
Machine-Ready: GPIO pin 23 was initialized as ‘Machine
Ready' and the total machine ready time is calculated using
the same method as in fig 4(c).
Machine Running Hours:
Figure 4(d) demonstrates how

Published By:
Retrieval Number: A1030058119/19©BEIESP Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 9 & Sciences Publication
International Journal of Recent Technology and Engineering (IJRTE)
ISSN: 2277-3878, Volume-8 Issue-2, July 2019

the total machine running time was calculated.


Machine utilization hours: The machine utilization
percentage is calculated as shown in Figure 4(e).
C. Graphical User Interface Module
We have designed a Machine Utilization Dash Board which
is displayed below. This is a system to help the operator to
understand the production status of the machine at the
current time. The information is given in the form of graphs,
signals, numbers and lights to alert the user about the issues.
This makes the state and condition of the processes easily
accessible and clear to everyone. This helps the industry in Fig 6. GUI Screen of Parameters
monitoring and hence improving productivity.

(a)

(b) (c)
(a)

(d) (e)

(b) (c)
Fig 5. (a) Machine Utilization Dashboard, (b).GUI of
Months, (c) GUI of Weeks.
When the history button in the dashboard is clicked, it
shows screens that display the past data as required. The
(f)
first screen displays the months. On selecting January,
February, and March, the respective weeks are displayed. Fig 7. (a) Cycle time and Part Count, (b) Feed rate
Override, (c) Spindle Running Time,(d) Breakdown
IV. RESULTS AND DISCUSSION Time, (e) Machine Ready Time, (f). Machine Running
and Utilization Percentage.
On selecting a week, the parameters will pop up. The
same list of parameters will be displayed irrespective of Feed rate Override: Figure 7(b) depicts that the feed rate
which week is selected. On selecting each parameter, the override was greater than 100 for 25mins on 1st January 19.
corresponding table will be displayed along with the on This shows that the operator has increased the programmed
feed rate of over 100 for 25mins.
monitoring the parameters over two weeks (eight hours
Spindle Running Time: Figure 7(c) shows the amount of
daily), we have the following data as shown in the tables.
time the spindle has functioned for each day in a week. The
The data recorded in the first week of January is shown total spindle running hours for one day is 5hrs 80mins
below: Cycle time and Part Count: It is inferred from 0sec.
Figure 7(a) that the average time for 1 part to be produced in Breakdown Time It can be inferred from Figure 7(d) the
a day is 48 sec. The total number of parts produced in a day amount of time in a day when
is 425 parts and the total time for 425 parts to be produced is the machine was unavailable
5hrs 40mins 0sec. or failed to perform its
functions. The total
Published By:
Retrieval Number: A1030058119/19©BEIESP
Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 10 & Sciences Publication
Cost Effective Digitalization Solution for Sinumerik CNC System To Increase The Transparency and
Utilization of The Machine
breakdown time in a day is 1hr 15min 0sec. Fig 9. (a) Machine Utilization Graph for Week 1, (b).
Machine-Ready Time: The above Figure 7(e) shows the Machine Utilization Graph for Week 2.
time taken after a part is produced until the next part is
loaded onto the machine. The total machine ready time for Similarly, the graphical representation for the data recorded
one day is 10mins.
in the second week of January is depicted in Figure 9.
Machine Running and Utilization Percentage: The total
machine running time in a day was found to be 6hr 45min On analyzing the data, it is evident that breakdown time is
10sec from Figure 7(f). The total machine utilization significantly affecting the production. This graph shows how
percentage for one day is 86.3%. much percentage of the total time was wasted in the
The first graph is a comparison of total cycle time, total breakdown.
spindle running hours, total machine ready time, breakdown
time and total machine running (ON) time. The second
graph is a comparison between successfully used time and
total machine running time which gives us an understanding
of the machine utilization. The graphical representation of
the parameters data is depicted and shown in Figure 8:

Fig 10. Breakdown time in Percentage of Total Time.

Proper maintenance is essential for extending the life of the


machine and increasing productivity. Despite this, for small
manufacturing enterprises, there are not much tools or
equipment available to understand the impact of the machine
breakdown or production loss, and rarely are these variables
measured. We intend to provide the correlation between the
actual machine running time and the successfully utilized
time so that we will know to what extent there are losses and
this will help in better planning of maintenance and future
activities. The tables and graphs help us in visualizing the
Fig 8. Comparison of various parameters impact of various parameters. We aim to achieve maximum
efficiency by improving utilization. One way to reduce
breakdowns is to ensure proper alignment of all moving
components and proper lubrication and cooling systems.
When a product is getting machined, if at that point of time
the machine breaks down, there are chances that we may not
be able to reuse that particular piece.In some cases, we may
have to start with a fresh piece, which results in a loss. In
this particular instance, we were able to continue producing
the part even after the breakdown, but in other cases, it may
be required to restart the process. Minimization of
breakdown time can be achieved by scheduling proper
(a) maintenance. We should also make sure that the ready time
should be nominal and minimize defective part count. The
design of CCEMS for the CNC machine tool and NWAIF
gives many benefits [8] but, here in our work, we have
focused on a solution independent of the cloud. The cycle
time per piece has been monitored along with the spindle
speed for Hass CNC and data is stored in the cloud with the
focus mainly on maintenance [1]. In our work, we have
monitored various parameters, analyzed and stored the data
with the same accuracy and then display them in the form of
tables and graphs without using the internet; hence our
method is cost effective.

(b)

Published By:
Retrieval Number: A1030058119/19©BEIESP Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 11 & Sciences Publication
International Journal of Recent Technology and Engineering (IJRTE)
ISSN: 2277-3878, Volume-8 Issue-2, July 2019

V. CONCLUSION International Congress on Advanced Applied Informatics (IIAI-AAI),


1088–1092 (July).
Smart factories take the manufacturing industries a leap 10. Al-Saedi, I. R. K., Mohammed, F. M., and Obayes, S. S. (2017). “CNC
forward from traditional automation to a fully connected and machine based on embedded wireless and internet of things for
workshop development.” 2017 International Conference on Control,
flexible system, which compels the companies to take up the Automation and Diagnosis (ICCAD), 439–444 (Jan).
latest industrial mechanisms. We have provided a feasible, 11. Desai, D. P. and Patel, D. M. (2015). “Design of control unit for cnc
cost-effective solution using a raspberry pi to simulate an machine tool using arduino based embedded system.” 2015
International Conference on Smart Technologies and Management for
Industry 4.0 solution for CNC. This is a solution for small Computing, Communication, Controls, Energy and Materials
manufacturing companies to adopt new technologies for (ICSTM), 443–448 (May).
improving overall efficiency and become more competitive. 12. Xiaoli, X. and Bin, R. (2011). “Research on data acquisition and
database-building technology based on highend cnc machine tool.”
We can capture the machine utilization parameters easily 2011 IEEE 3rd International Confer- ence on Communication
over a weekly period and simulate the acquired data in Software and Networks, 135–138 (May).
13. Kunpeng Zhu, Yu Zhang “A Cyber-Physical Production System
graphical form with the help of user interface screens. Data Framework of Smart CNC Machining Monitoring System” in
acquisition is done in real time so that the user can analyze IEEE/ASME Transactions on Mechatronics, vol. 23, no. 6, pp. 2579-2586,
the performance of the machine and the production rate at Dec. 2018.
14. F. Shrouf, J. Ordieres and G. Miragliotta, "Smart factories in Industry
the current time. This method increases transparency, 4.0: A review of the concept and of energy management approached in
thereby giving insight on where the scope is available to production based on the Internet of Things paradigm," 2014 IEEE
International Conference on Industrial Engineering and Engineering
improve machine utilization. This helps the user to get more Management, Bandar Sunway, 2014, pp. 697-701.
profit, production, and higher efficiency. Adopting 15. Saez, M., Maturana, F. P., Barton, K., and Tilbury, D. M. (2018).
cost-effective technology for monitoring and managing the “Real-time manufacturing machine and system performance
monitoring using internet of things.” IEEE Transactions on
utilization and efficiency of machine tools will help in Automation Science and Engineering, 15(4), 1735–1748.
reducing waste and becoming more productive. 16. S. N. Bhagat and S. L. Nalbalwar, "LabVIEW based tool condition
monitoring and control for CNC lathe based on parameter analysis,"
2016 IEEE International Conference on Recent Trends in Electronics,
VI. ACKNOWLEDGMENT Information & Communication Technology (RTEICT), Bangalore, 2016,
pp. 1386-1388.
We would like to express our gratitude towards 17. Raspberry Pi 3 Model B V1.2, Available online
Mr.K.K.Vivek (Service Operations Team Leader (CHN and 18. URL: https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
19. Accessed on: 20th March 2019
CBE)) Siemens Ltd , Mr.Joseph S (Vertical (Indirect) Sales 20. Sinumerik 828 D, Available online
Professional (CHN)) Siemens Ltd for giving us an 21. URL:https://new.siemens.com/se/sv/produkter/industriautomation/system
opportunity to work at Siemens Ltd and for their guidance s/sinumerik-tjanster-for-verktygsmaskiner/automation-systems/sinumerik
-828.html
and support which helped us in completion of this work. 22. Accessed on: 20th March 2019.
23. I/O module PP 72/48D 2/2 A PN, Available online
REFERENCES 24. URL:https://support.industry.siemens.com/cs/document/43209486/828d-
1. Sezer, E., Romero, D., Guedea, F., Macchi, M., and Emmanouilidis, C. delivery-release-pp-72-48d-2-2-a-pn?dti=0&lc=en-WW
25. Accessed on: 20th March 2019
(2018). “An industry 4.0-enabled low cost predictive maintenance
26. 8 channel Relay, Available online
approach for smes.” 2018 IEEE International Conference on
27. URL:https://hacktronics.co.in/solid-state-relay-ssr-module/5v-8-channel-o
Engineering, Technology and Innovation (ICE/ITMC), 1–8 (June).
2. Xiao Hua Lia, Wen Yi Lib. “The Research on Intelligent Monitoring mron-ssr-solid-state-relay-module-250v-2a
28. Accessed on: 20th March 2019
Technology of NC Machining Process.” 9th International Conference
29. Tkinter, Available online
on Digital Enterprise Technology- DET2016
30. URL: https://docs.python.org/2/library/tkinter.html
3. Lu, X., Yu, D., Hu, Y., and Yao, Z. (2014). “Design and
31. Accessed on: 22nd April 2019
implementation of machine tools supervisory system based on
32. Python 3, Available online
information model.” 2014 IEEE International Conference on
33. URL: https://www.python.org/downloads/
Information and Automation (ICIA), 856–859 (July).
34. Accessed on: 22nd April 2019
4. Jonathan Downeya,b,*, Denis O’Sullivanc,, Miroslaw Nejmend, Sebastian
35. Gnuplot, Available online
Bombinskid, Paul O’Learye, Ramesh Raghavendrac, Krzysztof
36. URL: http://www.gnuplot.info/
Jemielniak “Real time monitoring of the CNC process in a production
environment- the data collection & analysis phase ” 48th CIRP Conference 37. Accessed on: 22nd April 2019
on Manufacturing systems - CIRP CMS 2015.
5. Omnes, N., Bouillon, M., Fromentoux, G., and Grand, O. L. (2015). “A AUTHORS PROFILE
programmable and virtualized network amp; it infrastructure for the
internet of things: How can nfv amp; sdn help for facing the upcoming
challenges.” 2015 18th International Conference on Intelligence in Pooja Anand, Pursuing her under graduation in Electronics
Next Generation Networks, 64–69 (Feb). and Communication Engineering at SRM Institute of Science
6. Shrouf, F., Ordieres, J., and Miragliotta, G. (2014). “Smart factories and Technology, Kancheepuram, Chennai, India
in industry 4.0: A review of the concept and of energy management
approached in production based on the internet of things paradigm.” 2014 machine tool for
IEEE International Conference on Industrial Engineering and established Author-2 Photo
Engineering Management, 697–701 (Dec). productivity of
7. S. Nallusamy. “Enhancement of Productivity and Efficiency of CNC industry 4.0.” 2016
Machines in a Small Scale Industry Using Total Productive Maintenance.” 5th IIAI
International Journal of Engineering Research in Africa, 02 September
2016.
8. Hung, M., Lin, Y., Quoc Huy, T., Yang, H., and Cheng, F. (2012).
“Development of a cloud-computing-based equipment monitoring
system for machine tool industry.” 2012 IEEE International
Conference on Automation Science and Engineering (CASE), 962–
967 (Aug).
9. Chang, W. and Wu, S. (2016). “Investigated information data of CNC

Published By:
Retrieval Number: A1030058119/19©BEIESP
Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 12 & Sciences Publication
Vinitha Lea Philip. Pursuing her under graduation in Electronics and
Communication Engineering at SRM Institute of Science and
Technology, Kancheepuram, Chennai, India

Published By:
Retrieval Number: A1030058119/19©BEIESP
Blue Eyes Intelligence Engineering
DOI: 10.3940/ijrte.A1030.078219 12 & Sciences Publication
Cost Effective Digitalization Solution for Sinumerik CNC System To Increase The
Transparency and Utilization of The Machine
Parthasarathy Eswaran is
associate professor at SRM
Institute of Science and
technology, India. He received
his Ph.D in Electronics and
Communication Engineering
from SRM University,
Kattankulatur, India in 2014 and
Masters and Bachelors in
Mechatronics and Electronics
and Communication
Engineering from Anna University, Chennai and
Institute of Engineers, India respectively. His main
research interests are in the field of MEMS, Device
modeling, Embedded system, Avionics, IoT, Cyber
Physical system, Industry 4.0.

You might also like