Unit 2 Part 1
Unit 2 Part 1
1
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
Manufacturing industries strive to reduce the cost of the product continuously to remain competitive in
the face of global competition. In addition, there is the need to improve the quality and performance
levels on a continuing basis. Another important requirement is on time delivery. In the context of global
outsourcing and long supply chains cutting across several international borders, the task of continuously
reducing delivery times is really an arduous task. CIM has several software tools to address the above
needs. Manufacturing engineers are required to achieve the following objectives to be competitive in a
global context.
• Reduction in inventory
• Lower the cost of the product
• Reduce waste
• Improve quality
• Increase flexibility in manufacturing to achieve immediate and rapid response to:
• Product changes
• Production changes
• Process change
• Equipment change
• Change of personnel
CIM technology is an enabling technology to meet the above challenges to the manufacturing. The
advances in automation have enabled industries to develop islands of automation. Examples are flexible
manufacturing cells, robotized work cells, flexible inspection cells etc. One of the objectives of CIM is to
achieve the consolidation and integration of these islands of automation. This requires sharing of
information among different applications or sections of a factory, accessing incompatible and
heterogeneous data and devices. The ultimate objective is to meet the competition by improved customer
satisfaction through reduction in cost, improvement in quality and reduction in product development time.
CIM makes full use of the capabilities of the digital computer to improve manufacturing. Two of them
are:
The computer has the capability to accomplish the above for hardware components of manufacturing (the
manufacturing machinery and equipment) and software component of manufacturing (the application
software, the information flow, database and so on). The capabilities of the computer are thus exploited
not only for the various bits and pieces of manufacturing activity but also for the entire system of
manufacturing. Computers have the tremendous potential needed to integrate the entire manufacturing
system and thereby evolve the computer integrated manufacturing system.
2
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
CIM HARDWARE AND CIM SOFTWARE
CIM hardware comprises the following:
i. Manufacturing equipment such as CNC machines or computerized work centres, robotic
work cells, DNC/FMS systems, work handling and tool handling devices, storage devices,
sensors, shop floor data collection devices, inspection machines etc.
ii. Computers, controllers, CAD/CAM systems, workstations / terminals, data entry terminals,
bar code readers, RFID tags, printers, plotters and other peripheral devices, modems, cables,
connectors etc.,
CIM software comprises computer programs to carry out the following functions:
Management Information System
Sales
Marketing
Finance
Database Management
Modeling and Design
Analysis
Simulation
Communications
Monitoring
Production Control
Manufacturing Area Control
Job Tracking
Inventory Control
Shop Floor Data Collection
Order Entry
Materials Handling
Device Drivers
Process Planning
Manufacturing Facilities Planning
Work Flow Automation
Business Process Engineering
Network Management
Quality Management
3
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
Warehousing
Logistics and Supply Chain Management
Finance
Information Management
i. Marketing: The need for a product is identified by the marketing division. The specifications
of the product, the projection of manufacturing quantities and the strategy for marketing the
product are also decided by the marketing department. Marketing also works out the
manufacturing costs to assess the economic viability of the product.
ii. Product Design: The design department of the company establishes the initial database for
production of a proposed product. In a CIM system this is accomplished through activities such
as geometric modeling and computer aided design while considering the product requirements
and concepts generated by the creativity of the design engineer. Configuration management is an
important activity in many designs. Complex designs are usually carried out by several teams
working simultaneously, located often in different parts of the world. The design process is
constrained by the costs that will be incurred in actual production and by the capabilities of the
available production equipment and processes. The design process creates the database required
to manufacture the part.
iii. Planning: The planning department takes the database established by the design department
and enriches it with production data and information to produce a plan for the production of the
product. Planning involves several subsystems dealing with materials, facility, process, tools,
manpower, capacity, scheduling, outsourcing, assembly, inspection, logistics etc. In a CIM
system, this planning process should be constrained by the production costs and by the
production equipment and process capability, in order to generate and optimized plan.
iv. Purchase: The purchase departments is responsible for placing the purchase orders and
follow up, ensure quality in the production process of the vendor, receive the items, arrange for
inspection and supply the items to the stores or arrange timely delivery depending on the
production schedule for eventual supply to manufacture and assembly.
4
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
v. Manufacturing Engineering: Manufacturing Engineering is the activity of carrying out the
production of the product, involving further enrichment of the database with performance data
and information about the production equipment and processes. In CIM, this requires activities
like CNC programming, simulation and computer aided scheduling of the production activity.
This should include online dynamic scheduling and control based on the real time performance
of the equipment and processes to assure continuous production activity. Often, the need to meet
fluctuating market demand requires the manufacturing system flexible and agile.
vi. Factory Automation Hardware: Factory automation equipment further enriches the
database with equipment and process data, resident either in the operator or the equipment to
carry out the production process. In CIM system this consists of computer controlled process
machinery such as CNC machine tools, flexible manufacturing systems (FMS), Computer
controlled robots, material handling systems, computer controlled assembly systems, flexibly
automated inspection systems and so on.
vii. Warehousing: Warehousing is the function involving storage and retrieval of raw materials,
components, finished goods as well as shipment of items. In today’s complex outsourcing
scenario and the need for just-in-time supply of components and subsystems, logistics and supply
chain management assume great importance.
viii. Finance: Finance deals with the resources pertaining to money. Planning of investment,
working capital, and cash flow control, realization of receipts, accounting and allocation of funds
are the major tasks of the finance departments.
ix. Information Management: Information Management is perhaps one of the crucial tasks in
CIM. This involves master production scheduling, database management, communication,
manufacturing systems integration and management information systems.
5
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
DATABASE REQUIREMENTS OF CIM:
A major challenge facing the implementation of CIM is to establish the type of data needed to bridge the
mechanical design and manufacturing functions. Following is the list of varied tasks one might expect to
accomplish in a CIM environment.
i. Designing assemblies and performing tolerance analysis on those assemblies.
ii. Preparing production drawings of assemblies, individual parts, tooling, fixtures and other
manufacturing facilities.
iii. Creating analytical models of parts for structural, kinematical and thermal analysis (FEM,
MeM etc).
iv. Calculating weights, volumes, centres of gravity and other mass properties and costs of
manufacturing (cost estimation).
v. Classifying existing parts according to shape, function, and the process by which they are
manufactured and retrieving these parts from the parts library on demand (Group technology
and coding).
vi. Preparing part lists and bill of materials (BOM).
vii. Preparing process plans for individual part manufacture and assembly (Variant or
Generative).
viii. Programming CNC machines for processing complete parts (CAM).
ix. Designing work cells and programming the movement of components in those cells using
work handling devices like robots, conveyors, AGV’s/ RGV’s, etc. (Cellular manufacture).
x. Controlling engineering changes and maintaining associativity between design and
manufacturing (PDM, VPDM, concurrent associativity etc).
xi. Preparing programs to handle components or manipulate production equipment (like welding
torches or robots).
xii. Preparing inspection programs including programs for CNC co-ordinate measuring machines
[CNC CMM’s].
The exchange of graphic information has been advanced with increasing acceptance of Initial Graphics
Exchange Specification (IGES) and STEP.
i. Physical data: These are data stored in the computer’s storage device. The volume of data required by a
manufacturing company is so large that secondary storage devices such as hard discs, tapes, CD-ROMs,
and other digital storage devices of several gigabyte capacities will be used.
ii. Logical data: This indicates how a user views the physical data. The distinction between the physical
data and the corresponding logical view is that the user conceptualizes certain meaningful relationships
among the physical data elements. For example, we may have a set of items and quantities recorded in
files. The logical view or interpretation of these sets of data can be that the items represent components
available in stores and that the quantities recorded correspond to their inventory.
iii. Data independence: Database management systems (DBMS) are used by the users to manage the
physical data. DBMS makes a distinction between the two namely, the user and the physical data.
Changes in the organization of physical data and or in the storage device parameters are absorbed by
DBMS and therefore do not affect the user or more accurately, the application program. This flexibility is
absent in the traditional file systems.
6
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
OBJECTIVES OF DATABASE
A database serves the following objectives:
• Reduce or eliminate redundant data
• Integrate existing data
• Provide security
• Share data among users
• Incorporate changes quickly and effectively
• Exercise effective control over data
• Simplify the method of using data
• Reduce the cost of storage and retrieval of data
• Improve accuracy and integrity of data
Whether a company uses paper files, cloud storage or a combination, keeping a consistent system
in place is vital for the efficient handling of requests for information. Many companies have gone
to a "paperless" environment in which files end up in hard drives, cloud storage or other places.
Just as with a traditional filing cabinet, though, it is just as important to keep track of all files in a
shared or personal drive. Most storage applications make it simple to set up and name file folders
so that those in charge of storing data can put the right file in the right folder. Even without the
sound of the drawers rolling open and the cold metal sensation of filing cabinets, it is still
possible to keep files properly organized.
In a daily life, we come across various needs to store data. It can be maintaining daily household
bills, bank account details, salary details, payment details, student information, student reports,
books in the library etc. How it will be recorded at one place, so that we can get it back when
required? It should be recorded in such a way that
In traditional approach, before to computer, all informations were stored in papers. When we
need information, we used to search through the papers. If we know particular date or category
of information we are searching, we go to that particular session in the papers. When we want
update or delete some data, we search for it and modify them or strike off them. If the data is
7
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
limited, then all these tasks are easy. Imagine library information or information about a student
in School, or baking system! How do we search for single required data in papers? It is a never
ending task! Yes, Computers solved our problems.
When computers came, all these jobs become easy. But initial days, these records were stored in
the form of files. The way we stored in files is similar to papers, in the form of flat files – to be
simpler, in notepad. Yes, the informations where all in the notepads with each fields of
information separated by space, tab comma, semicolon or any other symbol. All the files were
grouped based on their categories; file used to have only related informations and each file is
named properly. As we can see in the above sample file has Student information. Student files
for each class were bundled inside different folders to identify it quickly.
Now, if we want to see a specific Student detail from a file, what do we do? We know which file
will have the data, we open that file and search for his details. Fine, here we see the files; we can
open it and search for it. But imagine we want to display student details in a UI. Now how will
we open a file, read or update it? There different programs like C, C++, COBOL etc which helps
to do this task. Using these programming languages, we can search for files, open them, search
for the data inside them, and go to specific line in the file, add/update/delete specific information.
It is used to determine an efficient file organization for each base relation. For example, if we
want to retrieve student records in alphabetical order of name, sorting the file by student name is
a good file organization. However, if we want to retrieve all students whose marks is in a certain
range, a file ordered by student name would not be a good file organization. Some file
organizations are efficient for bulk loading data into the database but inefficient for retrieve and
other activities.
The objective of this selection is to choose an optimal file organization for each relation.
In order to make effective selection of file organizations and indexes, here we present the details
different types of file Organization. These are:
8
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
• B+- tree File Organization
An unordered file, sometimes called a heap file, is the simplest type of file organization.
Records are placed in file in the same order as they are inserted. A new record is inserted in the
last page of the file; if there is insufficient space in the last page, a new page is added to the file.
This makes insertion very efficient. However, as a heap file has no particular ordering with
respect to field values, a linear search must be performed to access a record. A linear search
involves reading pages from the file until the required is found. This makes retrievals from heap
files that have more than a few pages relatively slow, unless the retrieval involves a large
proportion of the records in the file.
To delete a record, the required page first has to be retrieved, the record marked as deleted, and
the page written back to disk. The space with deleted records is not reused. Consequently,
performance progressively deteriorates as deletion occurs. This means that heap files have to be
periodically reorganized by the Database Administrator (DBA) to reclaim the unused space of
deleted records.
Heap files are one of the best organizations for bulk loading data into a table, as records are
inserted at the end of the sequence; there is no overhead of calculating what page the record
should go on.
The relation is only a few pages long. In this case, the time to locate any tuple is Short, even if
the entire relation has been searched serially.
When every tuple in the relation has to be retrieved (in any order) every time the relation is
accessed. For example, retrieve the name of all the students.
9
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
Cons of Heap storage
Heap files are inappropriate when only selected tuples of a relation are to be accessed.
In a hash file, records are not stored sequentially in a file instead a hash function is used to
calculate the address of the page in which the record is to be stored.
The field on which hash function is calculated is called as Hash field and if that field acts as the
key of the relation then it is called as Hash key. Records are randomly distributed in the file so it
is also called as Random or Direct files. Commonly some arithmetic function is applied to the
hash field so that records will be evenly distributed throughout the file.
When tuples are retrieve based on an exact match on the hash field value, particularly if the
access order is random. For example, if the STUDENT relation is hashed on Name then retrieval
of the tuple with Name equal to "Rahat Bhatia" is efficient.
When tuples are retrieved based on a range of values for the hash field. For example, retrieve all
students whose name begins with the "R".
When tuples are retrieved based on a range of values for the hash field. For example, if
STUDENT relation has hash filed Roll Number and the query is to retrieve all students with roll
numbers in the range of 3000-5000.
When tuples re retrieved based on a field other than the hash field. For example, if the
STUDENT relation is hashed on Roll Number, then hashing cannot be used to search for a tuple
based on the Class attribute.
When tuples are retrieved based on only part of the hash field. For example, if the STUDENT
relation is hashed on Roll Number and Class, then hashing cannot be used to search for a tuple
based on the class attribute alone.
10
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
When the hash field frequently updated. When a hash field updated, the DBMS must deleted the
entire tuple and possible relocate it to a new address (if the has function results in a new
address). Thus, frequent updating of the hash field impacts performance.
Secondary indexes
Secondary indexes provide a mechanism for specifying a...'1additional key for a base relation
that can be used to retrieve data more efficiently. For example, the STUDENT relation may be
hashed on the Name the primary index. However, there may be frequent access to this relation
based on the Roll Number attribute. In this case, we may decide to add Roll Number as a
secondary index.
There is an overhead involved in the maintenance and use of secondary indexes that has to be
balanced against the performance improvement gained when retrieving data. This overhead
includes:
• adding an index record to every secondary index whenever a tuple is inserted into the relation;
• updating a secondary index when the corresponding tuple in the relation is updated;
• Possible performance degradation during query optimization, as the query optimizer may
consider all secondary indexes before selecting an optimal execution strategy.
In an ISAM system, data is organized into records which are composed of fixed length fields.
Records are stored sequentially. A secondary set of hash tables known as indexes contain
"pointers" into the tables, allowing individual records to be retrieved without having to search
the entire data set.
It is a data structure that allows the DBMS to locate particular records in a file more quickly and
thereby speed response to user queries. An index in a database is similar to an index in a book. It
is an auxiliary structure associated with a file that can be referred to when searching for an item
of information, just like searching the index of a book, in which we look up a keyword to get a
list of one or more pages the keyword appears on. An index obviates the need to scan
sequentially through the file each time we want to find the item. In the case of database indexes,
the required item will be one or more records in a file. As in the book index analogy, the index is
ordered, and each index entry contains the item required and one or more locations (record
identifiers) where the item can be found.
11
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
While indexes are not strictly necessary to use the DBMS, they can have a significant impact on
performance. As with the book index, we could find the desired keyword by looking through the
entire book, but this would be tedious and time-consuming. Having an index at the back of the
book on alphabetical order to keYW0fd allows us to go directly to the page or pages we want.
An index structure is associated with a particular search key and contains record consisting of the
key value and the address of the logical record in the file contains records consisting of the key
value of the address of the logical record in the file containing the key value. The file containing
the logical records is called the data file and the file containing the index records is called the
index file. The value in the index file are ordered according to the indexing field, which is
usually based on a single attribute.
A sorted data file with a primary index is called an indexed sequential file. This structure is a
compromise between a purely sequential file and a purely random file, in that records can be
processed sequentially or individually accessed using a search key value that accesses the record
via the index. An indexed sequential file is a more versatile structure, which normally has.
When to use
ISAM is a more versatile storage structure than hash and it proved better when retrievals are
based on exact key match, pattern matching, range of values, and part key specification.
However, the ISAM index is static, created when the file is created. Thus, the performance of an
ISAM file deteriorates as the relation is updated. Updates also cause an ISAM file to lose the
access key sequence, so that retrievals in order of the access key will become slower.
These two problems are overcome by the B+-tree file organization. However, unlike B+- tree,
concurrent access to the index can be easily managed because the index is static.
B+-tree
A B+-tree is a data structure to store vast amounts of information. Typically B+-trees are used to
store amounts of data that will not fit in main system memory. To do this, secondary storage
(usually disk) is used to store the leaf nodes of the tree. Only the internal nodes of the tree are
12
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
stored in computer memory. In a B+-tree the leaf nodes are the only ones that actually store data
items. All other nodes are called index nodes or i-nodes and simply store "guide" values which
allow us to traverse the tree structure from the root down and arrive at the leaf node containing
the data item we seek as shown in figure. Because disk I/O is very slow in comparison to
memory access these leaf nodes store more than one data item each.
Pros of B+-tree
Again, B+-tree is a more versatile storage structure than hashing. It supports retrievals based on
exact key match, pattern matching, range of values, and part key specification. The B+-tree index
is dynamic, growing as the relation grows. Thus, unlike ISAM, the performance of a B+-tree file
does not deteriorate as the relation is updated. The B+-tree also maintains the order of the access
key even' when the file is updated, so retrieval of tuples in the order of the access key is more
efficient than ISAM.
Cons of B+-tree
However, if the relation is not frequently updated, the ISAM structure may be more efficient as it
has one less level of index than the B+-tree, whose leaf nodes contain pointers to the actual
tuples rather than the tuples themselves.
Clustered tables
Some DBMSs, such as Oracle, support clustered and non-clustered tables. Clusters are group of
one or more tables physically stored together because they share common columns and are often
used together. With related records being physically stored together, disk access time is
improved. The related columns of the table in a cluster are called the cluster key. The cluster key
is stored only once, and so clusters store a set of tables more efficiently than if the tables were
stored individually.
13
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
Let us consider a case of emp and dept tables whose instances are shown in table. Both the tables
have deptno as a common column. In Oracle these tables may be clustered together as shown in
figure with deptno as a cluster key which is stored only once to improve the efficiency of the
system.
14
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
Illustrates how the EMP and Dept tables would be stored if we clustered the tables based on the
column Deptno. When these two tables are clustered, each unique Deptno value is stored only
once, in the cluster key. To each Deptno value are attached the column from both these tables.
The choice of whether to use a clustered or non-clustered table depends on the analysis of the
transactions undertaken previously, but the choice can have an impact on performance.
Oracle supports two types of clusters: indexed clusters and hash clusters.
Indexed Clusters
In an index cluster, records with the same cluster key are stored together. Oracle suggests using
indexed clusters when:
Cluster can improve performance of retrieval, depending on the data distribution and what SQL
operations are most often performed on the data. In particular, tables that are joined in a query
benefit from the use of clusters because the records common to the joined tables are retrieved
with the same I/O operation.
Hash Clusters
Hash clusters also cluster table data in a manner similar to index clusters. However, a record is
stored in a hash cluster based on the result of applying a hash function to the record's cluster key
value. All records with the same hash key value are stored together on disk.
15
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
The choice of whether to use a clustered or non-clustered table depends on the analysis of the
transactions undertaken previously, but the choice can have an impact· on performance
The following guidelines may be helpful when deciding about the cluster tables:
• Consider clustering tables when tables are often accessed in join statements.
• Do not cluster tables if they are joined only occasionally or their common column values are
modified frequently. (Modifying a row's cluster key value takes longer than modifying the value
in an unclustered table, because Oracle may have to migrate the modified row to another block to
maintain the cluster.)
• Do not cluster table if a full search of one of the tables is often required. (A full search of a
clustered table can take longer than a full search of an unclustered table. Oracle is likely to read
more blocks because the tables are stored together.)
• Do not cluster tables of the data from all tables with the same cluster key value exceeds more
than one or two Oracle blocks. (To access a row in a clustered table. Oracle reads all blocks
containing rows with that value. If these rows occupy multiple blocks, accessing a single row
could require more reads than accessing the same row in an unclustered table.)
Decision Support Systems (DSS) are a specific class of computerized information system that
supports business and organizational decision-making activities. A properly designed Decision
Support System is an interactive software-based system intended to help decision makers
compile useful information from raw data, documents, personal knowledge, and/or business
models to identify and solve problems and make decisions.
Typical information that a decision support application might gather and present would be:
Accessing all of your current information assets, including legacy and relational data
sources, cubes, data warehouses, and data marts
Comparative sales figures between one week and the next
Projected revenue figures based on new product sales assumptions
16
Mr. Anupam Thakur Computer Integrated Manufacturing
ETME 403
The consequences of different decision alternatives, given past experience in a context
that is described
Information Builders' Web FOCUS reporting software is ideally suited for building decision
support systems due to its wide reach of data, interactive facilities, ad hoc reporting capabilities,
quick development times, and simple Web-based deployment.
Information Builders and i Way Software Professional Services specialize in building custom-
tailored Web decision support systems. We offer service packages designed for quick
implementations, and we use the latest technologies to incorporate leading-edge capabilities into
our solutions – including a wide range of wireless and mobile options.
17