US20070265723A1 - Determining processing times at stations in an assembly system - Google Patents
Determining processing times at stations in an assembly system Download PDFInfo
- Publication number
- US20070265723A1 US20070265723A1 US11/434,040 US43404006A US2007265723A1 US 20070265723 A1 US20070265723 A1 US 20070265723A1 US 43404006 A US43404006 A US 43404006A US 2007265723 A1 US2007265723 A1 US 2007265723A1
- Authority
- US
- United States
- Prior art keywords
- assembly
- manufacture
- region
- article
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Definitions
- This description generally relates to processing data, and more particularly to determining processing times at stations in an assembly system.
- a large assembly system may be used to progressively assemble products or other articles of manufacture.
- the assembly system may include tens or hundreds of assembly stations at which various components or subassemblies are combined to create the products.
- Machines or human personnel at each assembly station may be responsible for a small portion of the completed product. For example, assembly personnel at one assembly station may add a single component to in-process products; an automated machine or assembly robot may add another component to in-process products at another assembly station. More concretely, an automobile may be assembled from thousands of components at hundreds of different assembly stations.
- assembly personnel at some assembly stations may add small parts, such as screws, bolts or wiring harnesses to the interior of an in-process automobile; assembly robots at other assembly stations may add large components or subassemblies, such as engines, transmissions, quarter-panels or windshields.
- An assembly system may include various computer controls, systems and software to control aspects of the assembly process.
- a central computer system may control various robots that install windshields at a particular assembly station.
- the central computer system may also store certain data related to the assembly process.
- the computer system may temporarily store data related to a specific automobile during the assembly of that specific automobile; the computer system may archive other data related to all automobiles, such as certain safety-related data.
- the CIMPLICITY TrackerTM System by GE FANUC of Charlottesville, Va., is one example software package that an automobile manufacturer may employ to control portions of an automobile assembly system and to archive various data associated with the automobile assembly system.
- An assembly system may have a plurality of assembly stations that process one or more articles of manufacture.
- the assembly stations may be arranged in regions, and certain information may be captured in a database for each article relative to the various assembly regions. To minimize the size of the database, detailed information for each article may be captured at the region level rather than at the assembly station level. Nevertheless, information for individual articles relative to individual assembly stations may be determined using the system and techniques described herein.
- an assembly system may assemble articles of manufacture at a plurality of assembly regions and may log a time at which each article of manufacture enters or exits an assembly region.
- Each assembly region may include a plurality of sequential assembly stations, and each assembly station may be configured to process an article of manufacture.
- a method of determining when a specific article of manufacture was processed by a specific assembly station may include receiving input in the assembly system identifying a specific article of manufacture; receiving additional input identifying one of the plurality of sequential assembly stations; determining an offset of the identified sequential assembly station relative to a first assembly station or to a last assembly station within a region that comprises the identified sequential assembly station; and determining a time at which a second sequentially processed article of manufacture entered or exited the region.
- the identified specific article of manufacture and the second sequentially processed article of manufacture may have been separated in the assembly system by a number of articles of manufacture corresponding to the offset.
- the number of articles of manufacture that corresponds to the offset may be equal to the offset adjusted by a fixed number.
- Processing the article of manufacture may include adding a component to the article of manufacture.
- Logging the time at which each article of manufacture enters or exits an assembly region may include logging the time in a database. Logging the time may include logging the time at which each article of manufacture enters an assembly region.
- SQL structured query language
- the method may further include determining a second time at which a third sequentially processed article of manufacture entered or exited the region; the third sequentially processed article of manufacture may have been processed adjacent to the second sequentially processed article of manufacture.
- the method may further include determining a time at which the identified specific article of manufacture was processed by the identified assembly station based on a difference between the determined time and the determined second time.
- determining the time at which the second sequentially processed article of manufacture entered or exited the region may include determining whether another article of manufacture has been physically removed midstream from the assembly system.
- the method may further include adjusting the offset when another article of manufacture has been physically removed midstream from the assembly system.
- FIG. 1 is a conceptual block diagram of an example assembly system.
- FIG. 2 illustrates a specific example application of the assembly system that is shown in FIG. 1 .
- FIG. 3 is an example control and data acquisition subsystem that may be included in an assembly system.
- FIGS. 4A-4D illustrate example data that may be stored by a computer subsystem that may be included in an assembly system.
- FIG. 5 is a flow diagram of an example process of determining an assembly time in an assembly system.
- FIG. 6 is a schematic diagram of an example computing system.
- FIG. 1 is a conceptual block diagram of an assembly system having a plurality of assembly stations that process widgets.
- the term “widget” is used to indicate that the described systems and techniques are not limited to a particular product, article of manufacture or type of assembly process.
- the assembly stations are arranged in regions, or groups of assembly stations. For example, one region may include five assembly stations that each perform similar operations on the widgets; another region may include twenty different assembly stations that perform another series of similar operations on the widgets.
- Certain information may be captured in a database for each widget relative to the various assembly regions. In other words, to minimize the size of the database, detailed information for each widget relative to each assembly station may not be captured. Nevertheless, the information for individual widgets relative to individual assembly stations may be determined using the system and techniques described herein.
- the assembly system 100 includes a number of assembly regions 103 A, 103 B and 103 C.
- Each assembly region may include a plurality of sequential assembly stations (e.g., assembly stations 0027 - 0030 and 0053 - 0056 ).
- Widgets move from region to region and from assembly station to assembly station within each region as they are assembled, and each assembly station may process widgets in some manner.
- Processing widgets may include, for example, adding a component to the widget at an assembly station, removing a temporary component (e.g., production waste) from the widget at the assembly station, inspecting the widget at the assembly station, or performing some other type of handling or processing operation at the assembly station.
- the processing at each assembly station may be performed by automated machines, such as assembly robots, or by human personnel.
- Some regions may be used to temporarily store or buffer widgets before or after a region having one or more assembly stations.
- the region 103 A buffers widgets for region 103 B. If a preceding region processes widgets faster than region 103 B, extra widgets can be stored, or buffered, by the region 103 A. Similarly, if the region 103 B begins processing widgets faster than preceding regions, the region 103 B may draw widgets from the buffer region 103 A until the widgets in the buffer region are exhausted.
- the widgets proceed from one assembly station to the next in sequence, and the widgets in the assembly region generally “pitch” or move together. For example, a widget moves into assembly station 0027 from region 103 A at generally the same time that the widget currently in assembly station 0027 moves to assembly station 0028 .
- times at which a widget enters or exits a region may be logged in a database. Details of an example database system for logging information associated with the assembly system are described with reference to FIG. 3 below. To reduce the size of the database, times at which specific widgets enter or exit a specific assembly station may not be logged. Nevertheless, it may be advantageous to later determine a precise time at which a specific widget was processed by a specific assembly station. For example, such a determination may be advantageous for purposes of training personnel assigned to specific assembly stations or for issues related to widget recalls.
- FIG. 2 illustrates a specific example application of the assembly system 100 that is shown in FIG. 1 .
- FIG. 2 illustrates portions of an automobile assembly system 200 .
- the automobile assembly system 200 includes various assembly regions 203 A, 203 B and 203 C, and various assembly stations.
- region 203 A is a buffer region that supplies region 203 B with partially assembled automobiles;
- region 203 B includes four assembly stations, labeled 0027 , 0028 , 0029 and 0030 .
- a rear quarter panel 210 is added at station 0027 ; mounting bolts 213 for seats and a door frame sticker 216 (e.g., a sticker related to a child lock safety feature) are added in station 0028 ; a console 219 is added in station 0029 ; and a driver-side airbag 222 may be added in station 0030 .
- the various components may be added by either automated machines (e.g., robots), human personnel, or some combination of the two.
- a robot 225 A may install a quarter panel 210 at assembly station 0027 ; assembly employees I and II may install the seat mounting bolts 213 and door frame sticker 216 at assembly station 0028 ; both a robot 225 B and an assembly employee III may be involved in installing the console 219 at assembly station 0029 ; and assembly employees IV and V may install a driver-side airbag 222 at assembly station 0030 .
- Region 203 C includes four additional assembly stations, labeled 0053 , 0054 , 0055 and 0056 , at which additional components may be added to partially assembled automobiles.
- additional components may be added to partially assembled automobiles.
- a front quarter panel 230 is added at assembly station 0053 ; seats 233 are added assembly station 0054 ; headlights 236 and taillights 239 are added at assembly station 0055 ; and doors 242 are added at assembly station 0056 .
- Each of these components may be added by automated machines (e.g., robots), human personnel, or some combination of automated machines and human personnel.
- processing at any given assembly station generally affects future processing actions at other assembly stations or is necessary to meet a safety or regulatory requirement.
- installation of the mounting bolts 213 for the seats 233 in assembly station 0028 affects whether seats 233 can be properly installed in assembly station 0054 .
- Installation of the door sticker 216 may be necessary for the finished automobile to be compliant with a regulatory requirement.
- Installation of the airbag 222 in assembly station 0030 may affect the overall safety of the finished automobile.
- the possibility to determine with some precision the time at which a specific automobile is processed by a specific assembly station may be advantageous. For example, if it is determined at assembly station 0054 that the seats 233 cannot be installed in vehicle CABD because of incorrectly installed mounting bolts 213 , it may be advantageous to determine when vehicle CABD was processed at assembly station 0028 to identify personnel that may require additional training, or to identify a lot of components that may have been defective and may have impacted other automobiles. Similarly, if it is later discovered that a particular lot of driver-side airbags 222 are defective, it may be necessary to determine when specific automobiles were processed by assembly station 0030 at which the airbags were installed to determine which automobiles received the defective airbags.
- times at which specific automobiles are processed at specific assembly stations in an assembly system may not be logged. In some implementations, such as in an automobile assembly system, these times may not be logged in order to conserve space in a database.
- individual automobiles may be processed at hundreds of stations as they are assembled.
- regulations may require automobile manufacturers to store certain data about each automobile that is manufactured. For example, an automobile manufacturer may be required to store safety related data (e.g., data about airbag type and model, seatbelt model information, information about antilock brake systems, etc.) for individual automobiles for a period of seven or more years after the automobile is manufactured.
- safety related data e.g., data about airbag type and model, seatbelt model information, information about antilock brake systems, etc.
- FIG. 3 illustrates an example control and data acquisition subsystem 300 that may be included in an assembly system, such as the assembly system 200 shown in FIG. 2 .
- the subsystem 300 includes conveyor devices 204 A and 204 B that move widgets through the assembly system; automated assembly machines 225 A and 225 B (e.g., assembly robots) that perform various functions on the widgets as they move through the assembly system (e.g., add components, remove temporary components, inspect the widgets or components of the widgets); and other process and control or data-capturing devices 310 , such as devices that time-stamp widgets as they move into or exit from a region.
- the conveyor devices 204 A and 204 B, automated assembly machines 225 A and 225 B, and process control/data acquisition devices 310 are coupled to each other and to a central computer system 312 via a network 315 .
- the central computer system 312 may provide overall control of the assembly system 200 and of the assembly processes performed by each assembly station.
- the central computer system 312 may track which widgets (e.g., automobiles) are at which assembly stations, and various assembly options required by each widget—which may vary widget by widget. For example, referring to the region 203 B shown in FIG. 3 , widget 318 A may require processing by each of the assembly stations 0027 , 0028 , 0029 and 0030 , whereas, because of configuration options, widget 318 B may only require processing by assembly stations 0028 and 0029 . In the short term, the central computer system 312 may control individual assembly stations to implement such configuration options.
- the central computer system 312 may access a configuration file for that widget 318 A, then download appropriate control information to various assembly machines or personnel instruction devices within the region. For longer term archiving purposes, the central computer system 312 may store certain data for each widget, including, in some implementations, a precise time at which particular widgets (e.g. widget 318 A) enter or exit particular regions (e.g., region 203 B). This archival data may be stored in a database system 322 that is coupled to the central computer system 312 .
- the database system 322 may include an interface that processes structured query language (SQL) statements to store, modify or retrieve data (referred to generally here as a “SQL database”). Data may be stored in such a SQL database in various tables.
- SQL database structured query language
- the database system may be part of an overall assembly tracking and control software package.
- One example of such a package is a CIMPLICITY TrackerTM system available from GE FANUC of Charlottesville, Va.
- An automated assembly machine such as the automated assembly machine 225 B, may have a local control/data acquisition device 328 (e.g., a PLC (programmable logic controller)) through which the automated assembly machine 225 B connects to the network 315 .
- the automated assembly machine 225 B may have a local terminal 325 C from which an operator of a corresponding assembly station may monitor or locally override central control.
- Other terminals e.g., terminals 325 A and 325 B
- Certain data entered from the various terminals 325 A, 325 B or 325 C, or data collected by data-capturing services such as device 310 may be stored by the central computer system 312 (e.g., in the database system 322 ).
- FIG. 4A illustrates example data that may be stored by the central computer system 312 for each widget.
- FIG. 4A illustrates example time-stamp data for specific automobiles shown in FIG. 2 that entered or exited region 203 B.
- the automobile CABE entered the region 203 B (in particular, the first assembly station 0027 in the region 203 B) at 8:10:36 and exited the region 203 B (in particular the last assembly station 0030 in the region 203 B) at 8:57:13.
- FIG. 4B illustrates intermediate processing times at assembly stations 0027 , 0028 , 0029 and 0030 within the region 203 B.
- the data in FIG. 4B may not be stored, but rather may be determined according to, for example, the algorithms and processes that are described with reference to FIG. 5 , below.
- FIG. 4C illustrates example data that tracks assembly personnel who are assigned to specific assembly stations at specific times.
- this data may be stored in a human resources table, for example, that tracks time worked by various employees.
- This data may be used to correlate specific assembly employees with specific assembly stations at specific times. For example, given an assembly station (e.g., assembly station 0029 ) and a time (e.g., 8:49:11), a correlation may be made between the station and time and responsible employee (e.g., assembly employee III, who worked at station 0029 from 8:01:38 to 10:05:18—a time period that includes 8:49:11).
- FIG. 4D illustrates example data that correlates specific widget components with specific widgets and provides status of an installation process of a specific widget component in a specific widget.
- the data shows that console 3456 was installed in automobile ABCJ, and further shows that the initial installation status was “OK.” It may be important to verify proper installation of certain components, such as components that directly affect the overall safety of the assembled vehicle.
- FIG. 5 is a flow diagram of an example process 500 that may be used to determine when a specific widget was processed by a specific assembly station within an assembly system.
- the process 500 may be implemented at least in part, by software running on a computer system within the assembly system, such as, for example, the central computer system 312 that is shown in FIG. 3 .
- the process 500 includes receiving ( 501 ) input identifying a specific widget.
- software running on the central computer system 312 may receive input from a user of the terminal 325 A identifying a specific widget, such as, for example, the automobile CABE.
- the process 500 includes receiving ( 504 ) additional input identifying one of the plurality of assembly stations.
- the software running on the central computer system 312 may receive additional input from the user of the terminal 325 A identifying the assembly station 0029 .
- the process 500 includes determining ( 507 ) a first offset of the identified assembly station relative to either a first assembly station or a last assembly station within a corresponding region. For example, the process 500 may determine ( 507 ) that the assembly station 0029 has an offset of three relative to the first assembly station 0027 in the corresponding region 203 B. That is, assembly station 0029 is the third sequential assembly station in the region 203 B.
- the process 500 includes determining ( 510 ) a time at which a second sequentially processed widget entered or exited the region, where the identified specific widget and the second sequentially processed widget were separated in the assembly system by a number of widgets corresponding to the first offset. Determining ( 510 ) the time may include first identifying the second sequentially processed widget; in particular, determining ( 510 ) may include determining a value of the number of widgets corresponding to the first offset. In some implementations, this number is equal to the offset itself. In some implementations, the number is equal to the number of widgets between the first widget and the second sequentially processed widget—which may be the offset minus some fixed number, such as two (one for the first widget itself, one for the second sequentially processed widget).
- the process 500 may identify the automobile CABC as being separated from the automobile CABE by a number of automobiles corresponding to the first offset (three, minus two, as described above). After identifying the second automobile (e.g., automobile CABC), the process may include actually determining ( 510 ) a time at which a second sequentially processed widget entered or exited the region. The process 500 may determine, for example, from the data shown in FIG. 4A , that automobile CABC entered the region 203 B at 8:49:11. Because of the generally sequential processing of automobiles within the assembly system, the process 500 may accordingly determine that the identified automobile CABE entered the identified assembly station 0029 at 8:49:11.
- any changes to the sequence of widgets in the assembly system may be logged, and the process 500 may include determining whether any such changes have been logged and adjusting accordingly. Two examples are provided with reference to the automobile assembly system 200 .
- an automobile e.g., CABC
- CABC Carrier-based vehicle
- the removed automobile may be associated with a corresponding “carrier” that remains in the region of the assembly system 200 from which the automobile was removed.
- the carrier itself may be tracked rather than a corresponding automobile, and the carrier may not be removed before reaching a subsequent buffer region, leaving a “gap” in the sequence of automobiles until that sequence reaches the buffer region.
- An appropriate database table may be modified to reflect that the carrier is no longer associated with a particular automobile (e.g., by setting an automobile identifier attribute of the carrier to null), but the carrier itself may still be tracked as it enters or exits the region.
- the sequence of automobiles may be different than the sequence entering the region from which the automobile was removed, but this new sequence may be normally tracked in the subsequent region.
- no adjustments may be necessary in order for the process 500 to determine when a specific widget was processed at a specific assembly station.
- an automobile e.g., CABC
- CABC Carrier-based Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coupled Component-Coups.
- automobiles CABF, CABE, CABD and CABC may progress into region 203 C as shown; automobile CABC may be removed; and automobiles CABF, CABE and CABD may be held back while automobile CABB (not shown) is moved into the region 203 C.
- automobiles CABF, CABE and CABD will have spent additional time at stations 0056 , 0055 and 0054 , respectively.
- the process 500 may determine the time at which the automobile CABE enters station 0055 in the manner described above; but to determine the time at which the automobile exits station 0055 , the process 500 may include increasing the offset by one (since one automobile was removed from the assembly system) and using the increased offset to identify another automobile entering the region. This change in offset may cause the process 500 to determine an exit time of the automobile CABE from the station 0055 based on an entrance time of an automobile CABA (not shown) to the region 203 C, rather than based on an entrance time of the automobile CABB (also not shown).
- the process 500 may include running a query against data stored by the central computer system 312 .
- the removal may be logged in a table in some manner (e.g., as an “Item Deleted” event).
- the process 500 may include querying any such table for changes to the sequence of automobiles between a specific automobile for which a processing time is to be determined and preceding or subsequent automobiles whose entrance or exit times to or from the region are to be used in the determination. If a change to the sequence is identified, an offset used in any time determination may be appropriately adjusted.
- an automobile may be moved from one location in the assembly system to another, and this move may be tracked in a different manner than described above.
- the move may be logged as a different kind of event (e.g., as an “Item Moved” event or “Exit Move” event).
- the process 500 may include querying other appropriate table(s) to identify relevant changes to the sequence of automobiles.
- additional data may be queried to determine specific personnel who were responsible for assembly operations at assembly station 0029 at 8:49:11.
- data in the table shown in FIG. 4C may be queried for this information (e.g., to determine that personnel III was assigned to station 0029 at this time).
- additional data may be queried to determine specific components that were installed in specific time frames or on specific widgets.
- FIG. 6 is a schematic diagram of an example computer device 600 .
- the device 600 may be used in the process 500 described above.
- the computer device 600 may be included in any or all of the central computer system 312 ; the local control/data acquisition device 328 ; the terminals 325 A, 325 B or 325 C; or in other devices in the control and data acquisition subsystem 300 or in the overall assembly system 200 .
- the device 600 includes a processor 610 , a memory 620 , a storage device 630 , and an input/output device 640 . Each of the components 610 , 620 , 630 , and 640 are interconnected using a system bus 650 .
- the processor 610 is capable of processing instructions for execution within the device 600 . In some implementations, the processor 610 is a single-threaded processor. In other implementations, the processor 610 is a multi-threaded processor.
- the processor 610 may also be capable of processing instructions stored in the memory 620 or on the storage device 630 to display graphical information for a user interface on the input/output device 640 .
- the memory 620 stores information within the device 600 .
- the memory 620 is a computer-readable medium.
- the memory 620 is a volatile memory unit.
- the memory 620 is a non-volatile memory unit.
- the storage device 630 is capable of providing mass storage for the device 600 .
- the storage device 630 is a computer-readable medium.
- the storage device 630 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.
- the input/output device 640 provides input/output operations for the system 600 .
- the input/output device 640 includes a keyboard and/or pointing device.
- the input/output device 640 includes a display unit for displaying graphical user interfaces.
- the features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
- Apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and process steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output.
- the described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
- a computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result.
- a computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data.
- a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.
- Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- semiconductor memory devices such as EPROM, EEPROM, and flash memory devices
- magnetic disks such as internal hard disks and removable disks
- magneto-optical disks and CD-ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
- ASICs application-specific integrated circuits
- the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard or keypad and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
- a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard or keypad and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
- the features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them.
- the components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
- the computer system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a network, such as the described one.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automatic Assembly (AREA)
Abstract
Description
- This description generally relates to processing data, and more particularly to determining processing times at stations in an assembly system.
- A large assembly system may be used to progressively assemble products or other articles of manufacture. The assembly system may include tens or hundreds of assembly stations at which various components or subassemblies are combined to create the products. Machines or human personnel at each assembly station may be responsible for a small portion of the completed product. For example, assembly personnel at one assembly station may add a single component to in-process products; an automated machine or assembly robot may add another component to in-process products at another assembly station. More concretely, an automobile may be assembled from thousands of components at hundreds of different assembly stations. In particular, assembly personnel at some assembly stations may add small parts, such as screws, bolts or wiring harnesses to the interior of an in-process automobile; assembly robots at other assembly stations may add large components or subassemblies, such as engines, transmissions, quarter-panels or windshields.
- An assembly system may include various computer controls, systems and software to control aspects of the assembly process. For example, in an automobile assembly system, a central computer system may control various robots that install windshields at a particular assembly station. The central computer system may also store certain data related to the assembly process. For example, the computer system may temporarily store data related to a specific automobile during the assembly of that specific automobile; the computer system may archive other data related to all automobiles, such as certain safety-related data. The CIMPLICITY Tracker™ System by GE FANUC of Charlottesville, Va., is one example software package that an automobile manufacturer may employ to control portions of an automobile assembly system and to archive various data associated with the automobile assembly system.
- An assembly system may have a plurality of assembly stations that process one or more articles of manufacture. The assembly stations may be arranged in regions, and certain information may be captured in a database for each article relative to the various assembly regions. To minimize the size of the database, detailed information for each article may be captured at the region level rather than at the assembly station level. Nevertheless, information for individual articles relative to individual assembly stations may be determined using the system and techniques described herein.
- In some implementations, an assembly system may assemble articles of manufacture at a plurality of assembly regions and may log a time at which each article of manufacture enters or exits an assembly region. Each assembly region may include a plurality of sequential assembly stations, and each assembly station may be configured to process an article of manufacture. A method of determining when a specific article of manufacture was processed by a specific assembly station may include receiving input in the assembly system identifying a specific article of manufacture; receiving additional input identifying one of the plurality of sequential assembly stations; determining an offset of the identified sequential assembly station relative to a first assembly station or to a last assembly station within a region that comprises the identified sequential assembly station; and determining a time at which a second sequentially processed article of manufacture entered or exited the region. The identified specific article of manufacture and the second sequentially processed article of manufacture may have been separated in the assembly system by a number of articles of manufacture corresponding to the offset.
- In some implementations, the number of articles of manufacture that corresponds to the offset may be equal to the offset adjusted by a fixed number. Processing the article of manufacture may include adding a component to the article of manufacture. Logging the time at which each article of manufacture enters or exits an assembly region may include logging the time in a database. Logging the time may include logging the time at which each article of manufacture enters an assembly region. The database may be included in a automobile assembly tracking system. Determining the time at which the second sequentially processed article of manufacture entered or exited the region may include retrieving a logged time entry from the database. Retrieving the logged time entry may include executing a structured query language (SQL) statement to retrieve the logged entry.
- In some implementations, the method may further include determining a second time at which a third sequentially processed article of manufacture entered or exited the region; the third sequentially processed article of manufacture may have been processed adjacent to the second sequentially processed article of manufacture. The method may further include determining a time at which the identified specific article of manufacture was processed by the identified assembly station based on a difference between the determined time and the determined second time. The method may further include correlating another assembly parameter with the identified specific article of manufacture and the identified sequential assembly station. Correlating another assembly parameter with the identified specific article of manufacture may include correlating one or more specific assembly personnel with the identified specific article of manufacture and the identified sequential assembly station based on the determined time. Correlating one or more specific assembly personnel may include identifying one or more specific assembly personnel assigned to the identified sequential assembly station at the determined time.
- In some implementations, determining the time at which the second sequentially processed article of manufacture entered or exited the region may include determining whether another article of manufacture has been physically removed midstream from the assembly system. The method may further include adjusting the offset when another article of manufacture has been physically removed midstream from the assembly system.
- The general and specific aspects may be implemented using a system, a process, or a computer program, or any combination of systems, processes, and computer programs. The details of one or more implementations are set forth in the accompanying drawings and the description below.
-
FIG. 1 is a conceptual block diagram of an example assembly system. -
FIG. 2 illustrates a specific example application of the assembly system that is shown inFIG. 1 . -
FIG. 3 is an example control and data acquisition subsystem that may be included in an assembly system. -
FIGS. 4A-4D illustrate example data that may be stored by a computer subsystem that may be included in an assembly system. -
FIG. 5 is a flow diagram of an example process of determining an assembly time in an assembly system. -
FIG. 6 is a schematic diagram of an example computing system. - Like reference symbols in the various drawings indicate like elements.
-
FIG. 1 is a conceptual block diagram of an assembly system having a plurality of assembly stations that process widgets. For purposes of this description, the term “widget” is used to indicate that the described systems and techniques are not limited to a particular product, article of manufacture or type of assembly process. The assembly stations are arranged in regions, or groups of assembly stations. For example, one region may include five assembly stations that each perform similar operations on the widgets; another region may include twenty different assembly stations that perform another series of similar operations on the widgets. Certain information may be captured in a database for each widget relative to the various assembly regions. In other words, to minimize the size of the database, detailed information for each widget relative to each assembly station may not be captured. Nevertheless, the information for individual widgets relative to individual assembly stations may be determined using the system and techniques described herein. - The
assembly system 100 includes a number ofassembly regions - Some regions may be used to temporarily store or buffer widgets before or after a region having one or more assembly stations. For example, the
region 103A buffers widgets forregion 103B. If a preceding region processes widgets faster thanregion 103B, extra widgets can be stored, or buffered, by theregion 103A. Similarly, if theregion 103B begins processing widgets faster than preceding regions, theregion 103B may draw widgets from thebuffer region 103A until the widgets in the buffer region are exhausted. - Within regions having sequential assembly stations, the widgets proceed from one assembly station to the next in sequence, and the widgets in the assembly region generally “pitch” or move together. For example, a widget moves into
assembly station 0027 fromregion 103A at generally the same time that the widget currently inassembly station 0027 moves toassembly station 0028. - In some implementations, times at which a widget enters or exits a region may be logged in a database. Details of an example database system for logging information associated with the assembly system are described with reference to
FIG. 3 below. To reduce the size of the database, times at which specific widgets enter or exit a specific assembly station may not be logged. Nevertheless, it may be advantageous to later determine a precise time at which a specific widget was processed by a specific assembly station. For example, such a determination may be advantageous for purposes of training personnel assigned to specific assembly stations or for issues related to widget recalls. -
FIG. 2 illustrates a specific example application of theassembly system 100 that is shown inFIG. 1 . In particular,FIG. 2 illustrates portions of anautomobile assembly system 200. Theautomobile assembly system 200 includesvarious assembly regions region 203A is a buffer region that suppliesregion 203B with partially assembled automobiles;region 203B includes four assembly stations, labeled 0027, 0028, 0029 and 0030. - At each of the four assembly stations 0027-0030, additional components are added to the partially assembled automobiles. In particular, a
rear quarter panel 210 is added atstation 0027; mountingbolts 213 for seats and a door frame sticker 216 (e.g., a sticker related to a child lock safety feature) are added instation 0028; aconsole 219 is added instation 0029; and a driver-side airbag 222 may be added instation 0030. The various components may be added by either automated machines (e.g., robots), human personnel, or some combination of the two. For example, arobot 225A may install aquarter panel 210 atassembly station 0027; assembly employees I and II may install theseat mounting bolts 213 anddoor frame sticker 216 atassembly station 0028; both arobot 225B and an assembly employee III may be involved in installing theconsole 219 atassembly station 0029; and assembly employees IV and V may install a driver-side airbag 222 atassembly station 0030. -
Region 203C includes four additional assembly stations, labeled 0053, 0054, 0055 and 0056, at which additional components may be added to partially assembled automobiles. For example, afront quarter panel 230 is added atassembly station 0053;seats 233 are addedassembly station 0054;headlights 236 andtaillights 239 are added atassembly station 0055; anddoors 242 are added atassembly station 0056. Each of these components may be added by automated machines (e.g., robots), human personnel, or some combination of automated machines and human personnel. - Within the
assembly system 200, processing at any given assembly station generally affects future processing actions at other assembly stations or is necessary to meet a safety or regulatory requirement. For example, installation of the mountingbolts 213 for theseats 233 inassembly station 0028 affects whetherseats 233 can be properly installed inassembly station 0054. Installation of thedoor sticker 216 may be necessary for the finished automobile to be compliant with a regulatory requirement. Installation of theairbag 222 inassembly station 0030 may affect the overall safety of the finished automobile. - Because of the interrelated nature of each assembly station, the possibility to determine with some precision the time at which a specific automobile is processed by a specific assembly station may be advantageous. For example, if it is determined at
assembly station 0054 that theseats 233 cannot be installed in vehicle CABD because of incorrectly installed mountingbolts 213, it may be advantageous to determine when vehicle CABD was processed atassembly station 0028 to identify personnel that may require additional training, or to identify a lot of components that may have been defective and may have impacted other automobiles. Similarly, if it is later discovered that a particular lot of driver-side airbags 222 are defective, it may be necessary to determine when specific automobiles were processed byassembly station 0030 at which the airbags were installed to determine which automobiles received the defective airbags. - As mentioned above, times at which specific automobiles are processed at specific assembly stations in an assembly system may not be logged. In some implementations, such as in an automobile assembly system, these times may not be logged in order to conserve space in a database. In an automobile assembly system, individual automobiles may be processed at hundreds of stations as they are assembled. Moreover, regulations may require automobile manufacturers to store certain data about each automobile that is manufactured. For example, an automobile manufacturer may be required to store safety related data (e.g., data about airbag type and model, seatbelt model information, information about antilock brake systems, etc.) for individual automobiles for a period of seven or more years after the automobile is manufactured. In light of this complexity in the assembly process and in light of possible data retention requirements, it may not be feasible to store processing time stamps for each widget at each assembly station in an assembly system. Nevertheless, there are circumstances in which this information is useful. Accordingly, a process of determining precise processing times for each automobile in an automobile assembly system, or more generally, for each widget at each assembly station in an assembly system may be advantageous.
-
FIG. 3 illustrates an example control anddata acquisition subsystem 300 that may be included in an assembly system, such as theassembly system 200 shown inFIG. 2 . Thesubsystem 300 includesconveyor devices assembly machines devices 310, such as devices that time-stamp widgets as they move into or exit from a region. Theconveyor devices assembly machines data acquisition devices 310 are coupled to each other and to acentral computer system 312 via anetwork 315. - In some implementations, the
central computer system 312 may provide overall control of theassembly system 200 and of the assembly processes performed by each assembly station. In addition, thecentral computer system 312 may track which widgets (e.g., automobiles) are at which assembly stations, and various assembly options required by each widget—which may vary widget by widget. For example, referring to theregion 203B shown inFIG. 3 ,widget 318A may require processing by each of theassembly stations widget 318B may only require processing byassembly stations central computer system 312 may control individual assembly stations to implement such configuration options. For example, once thewidget 318A enters theregion 203B, as detected by thecontrol device 310, thecentral computer system 312 may access a configuration file for thatwidget 318A, then download appropriate control information to various assembly machines or personnel instruction devices within the region. For longer term archiving purposes, thecentral computer system 312 may store certain data for each widget, including, in some implementations, a precise time at which particular widgets (e.g. widget 318A) enter or exit particular regions (e.g.,region 203B). This archival data may be stored in adatabase system 322 that is coupled to thecentral computer system 312. - In some implementations, the
database system 322 may include an interface that processes structured query language (SQL) statements to store, modify or retrieve data (referred to generally here as a “SQL database”). Data may be stored in such a SQL database in various tables. The database system may be part of an overall assembly tracking and control software package. One example of such a package is a CIMPLICITY Tracker™ system available from GE FANUC of Charlottesville, Va. - An automated assembly machine, such as the
automated assembly machine 225B, may have a local control/data acquisition device 328 (e.g., a PLC (programmable logic controller)) through which theautomated assembly machine 225B connects to thenetwork 315. In addition, theautomated assembly machine 225B may have alocal terminal 325C from which an operator of a corresponding assembly station may monitor or locally override central control. Other terminals (e.g.,terminals various terminals device 310, may be stored by the central computer system 312 (e.g., in the database system 322). -
FIG. 4A illustrates example data that may be stored by thecentral computer system 312 for each widget. In particular,FIG. 4A illustrates example time-stamp data for specific automobiles shown inFIG. 2 that entered or exitedregion 203B. For example, as shown, the automobile CABE entered theregion 203B (in particular, thefirst assembly station 0027 in theregion 203B) at 8:10:36 and exited theregion 203B (in particular thelast assembly station 0030 in theregion 203B) at 8:57:13.FIG. 4B illustrates intermediate processing times atassembly stations region 203B. The data inFIG. 4B may not be stored, but rather may be determined according to, for example, the algorithms and processes that are described with reference toFIG. 5 , below. -
FIG. 4C illustrates example data that tracks assembly personnel who are assigned to specific assembly stations at specific times. In some implementations, this data may be stored in a human resources table, for example, that tracks time worked by various employees. This data may be used to correlate specific assembly employees with specific assembly stations at specific times. For example, given an assembly station (e.g., assembly station 0029) and a time (e.g., 8:49:11), a correlation may be made between the station and time and responsible employee (e.g., assembly employee III, who worked atstation 0029 from 8:01:38 to 10:05:18—a time period that includes 8:49:11). -
FIG. 4D illustrates example data that correlates specific widget components with specific widgets and provides status of an installation process of a specific widget component in a specific widget. For example, the data shows thatconsole 3456 was installed in automobile ABCJ, and further shows that the initial installation status was “OK.” It may be important to verify proper installation of certain components, such as components that directly affect the overall safety of the assembled vehicle. Moreover, in order to correct latent defects in particular components (e.g., components that also directly affect the overall safety of the assembled vehicle), it may be necessary to be able to later determine which components were installed in which widget. For example, in order to address a later-discovered defect in a particular lot of vehicle consoles, it may be necessary to be able to determine the vehicles in which the defective consoles were installed. Such determination may be possible from the data in the above-described tables and from the techniques described below. -
FIG. 5 is a flow diagram of anexample process 500 that may be used to determine when a specific widget was processed by a specific assembly station within an assembly system. Theprocess 500 may be implemented at least in part, by software running on a computer system within the assembly system, such as, for example, thecentral computer system 312 that is shown inFIG. 3 . - The
process 500 includes receiving (501) input identifying a specific widget. For example, with reference toFIGS. 2, 3 and 4A, software running on thecentral computer system 312 may receive input from a user of the terminal 325A identifying a specific widget, such as, for example, the automobile CABE. Theprocess 500 includes receiving (504) additional input identifying one of the plurality of assembly stations. For example, the software running on thecentral computer system 312 may receive additional input from the user of the terminal 325A identifying theassembly station 0029. - The
process 500 includes determining (507) a first offset of the identified assembly station relative to either a first assembly station or a last assembly station within a corresponding region. For example, theprocess 500 may determine (507) that theassembly station 0029 has an offset of three relative to thefirst assembly station 0027 in thecorresponding region 203B. That is,assembly station 0029 is the third sequential assembly station in theregion 203B. - The
process 500 includes determining (510) a time at which a second sequentially processed widget entered or exited the region, where the identified specific widget and the second sequentially processed widget were separated in the assembly system by a number of widgets corresponding to the first offset. Determining (510) the time may include first identifying the second sequentially processed widget; in particular, determining (510) may include determining a value of the number of widgets corresponding to the first offset. In some implementations, this number is equal to the offset itself. In some implementations, the number is equal to the number of widgets between the first widget and the second sequentially processed widget—which may be the offset minus some fixed number, such as two (one for the first widget itself, one for the second sequentially processed widget). For example, theprocess 500 may identify the automobile CABC as being separated from the automobile CABE by a number of automobiles corresponding to the first offset (three, minus two, as described above). After identifying the second automobile (e.g., automobile CABC), the process may include actually determining (510) a time at which a second sequentially processed widget entered or exited the region. Theprocess 500 may determine, for example, from the data shown inFIG. 4A , that automobile CABC entered theregion 203B at 8:49:11. Because of the generally sequential processing of automobiles within the assembly system, theprocess 500 may accordingly determine that the identified automobile CABE entered the identifiedassembly station 0029 at 8:49:11. - In some cases, even though the widgets are generally processed sequentially, there may be circumstances in which widgets are physically removed midstream from the assembly system, or from a particular region in the assembly system. Any changes to the sequence of widgets in the assembly system may be logged, and the
process 500 may include determining whether any such changes have been logged and adjusting accordingly. Two examples are provided with reference to theautomobile assembly system 200. - In a first example, an automobile (e.g., CABC) may be physically removed from a station in the assembly system 200 (e.g., with a fork truck). However, the removed automobile may be associated with a corresponding “carrier” that remains in the region of the
assembly system 200 from which the automobile was removed. The carrier itself may be tracked rather than a corresponding automobile, and the carrier may not be removed before reaching a subsequent buffer region, leaving a “gap” in the sequence of automobiles until that sequence reaches the buffer region. An appropriate database table may be modified to reflect that the carrier is no longer associated with a particular automobile (e.g., by setting an automobile identifier attribute of the carrier to null), but the carrier itself may still be tracked as it enters or exits the region. In a subsequent non-buffer region, after the carrier has been removed, the sequence of automobiles may be different than the sequence entering the region from which the automobile was removed, but this new sequence may be normally tracked in the subsequent region. Hence, in this first example, no adjustments may be necessary in order for theprocess 500 to determine when a specific widget was processed at a specific assembly station. - In a second example, an automobile (e.g., CABC) may be physically removed from a station in a particular region of the assembly system (e.g., again with a fork truck). In this second example, no carrier may remain in the region; moreover, the resulting “gap” may be closed. In particular, automobiles in the current region in front of the removed automobile may be held back, while automobiles in the current region that are behind the removed automobile may move forward until the gap is closed. (Note that this example is one in which an exception may apply to the process by which automobiles within a region generally pitch or move together.) To describe this example differently with reference to
FIG. 2 : automobiles CABF, CABE, CABD and CABC may progress intoregion 203C as shown; automobile CABC may be removed; and automobiles CABF, CABE and CABD may be held back while automobile CABB (not shown) is moved into theregion 203C. In this example, automobiles CABF, CABE and CABD will have spent additional time atstations station 0055, theprocess 500 may determine the time at which the automobile CABE entersstation 0055 in the manner described above; but to determine the time at which the automobile exitsstation 0055, theprocess 500 may include increasing the offset by one (since one automobile was removed from the assembly system) and using the increased offset to identify another automobile entering the region. This change in offset may cause theprocess 500 to determine an exit time of the automobile CABE from thestation 0055 based on an entrance time of an automobile CABA (not shown) to theregion 203C, rather than based on an entrance time of the automobile CABB (also not shown). - To determine whether the above-described adjustment to the offset may be necessary, the
process 500 may include running a query against data stored by thecentral computer system 312. In particular, when an automobile is removed from an assembly region and the corresponding gap is closed, the removal may be logged in a table in some manner (e.g., as an “Item Deleted” event). Theprocess 500 may include querying any such table for changes to the sequence of automobiles between a specific automobile for which a processing time is to be determined and preceding or subsequent automobiles whose entrance or exit times to or from the region are to be used in the determination. If a change to the sequence is identified, an offset used in any time determination may be appropriately adjusted. In some similar scenarios, an automobile may be moved from one location in the assembly system to another, and this move may be tracked in a different manner than described above. For example, the move may be logged as a different kind of event (e.g., as an “Item Moved” event or “Exit Move” event). In such similar scenarios, theprocess 500 may include querying other appropriate table(s) to identify relevant changes to the sequence of automobiles. - Based on the determination (510) of a time at which a second sequentially processed widget entered or exited the region, additional correlations are possible. For example, referring back to the example above involving automobile CABE and
assembly station 0029, additional data may be queried to determine specific personnel who were responsible for assembly operations atassembly station 0029 at 8:49:11. In particular, data in the table shown inFIG. 4C may be queried for this information (e.g., to determine that personnel III was assigned tostation 0029 at this time). Or, additional data may be queried to determine specific components that were installed in specific time frames or on specific widgets. -
FIG. 6 is a schematic diagram of anexample computer device 600. Thedevice 600 may be used in theprocess 500 described above. Thecomputer device 600 may be included in any or all of thecentral computer system 312; the local control/data acquisition device 328; theterminals data acquisition subsystem 300 or in theoverall assembly system 200. - The
device 600 includes aprocessor 610, amemory 620, a storage device 630, and an input/output device 640. Each of thecomponents system bus 650. Theprocessor 610 is capable of processing instructions for execution within thedevice 600. In some implementations, theprocessor 610 is a single-threaded processor. In other implementations, theprocessor 610 is a multi-threaded processor. Theprocessor 610 may also be capable of processing instructions stored in thememory 620 or on the storage device 630 to display graphical information for a user interface on the input/output device 640. - The
memory 620 stores information within thedevice 600. In some implementations, thememory 620 is a computer-readable medium. In some implementations, thememory 620 is a volatile memory unit. In other implementations, thememory 620 is a non-volatile memory unit. - The storage device 630 is capable of providing mass storage for the
device 600. In some implementations, the storage device 630 is a computer-readable medium. In various different implementations, the storage device 630 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device. - The input/
output device 640 provides input/output operations for thesystem 600. In some implementations, the input/output device 640 includes a keyboard and/or pointing device. In other implementations, the input/output device 640 includes a display unit for displaying graphical user interfaces. - The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and process steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
- To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard or keypad and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
- The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
- The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- Although a few implementations have been described in detail above, other modifications are possible. The logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Also, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims:
Claims (20)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/434,040 US7302306B1 (en) | 2006-05-15 | 2006-05-15 | Determining processing times at stations in an assembly system |
MX2008014514A MX2008014514A (en) | 2006-05-15 | 2007-03-26 | Determining processing times at stations in an assembly system. |
EP07754054A EP2021993A2 (en) | 2006-05-15 | 2007-03-26 | Determining processing times at stations in an assembly system |
PCT/US2007/007479 WO2007136454A2 (en) | 2006-05-15 | 2007-03-26 | Determining processing times at stations in an assembly system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/434,040 US7302306B1 (en) | 2006-05-15 | 2006-05-15 | Determining processing times at stations in an assembly system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070265723A1 true US20070265723A1 (en) | 2007-11-15 |
US7302306B1 US7302306B1 (en) | 2007-11-27 |
Family
ID=38565554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/434,040 Active 2026-06-21 US7302306B1 (en) | 2006-05-15 | 2006-05-15 | Determining processing times at stations in an assembly system |
Country Status (4)
Country | Link |
---|---|
US (1) | US7302306B1 (en) |
EP (1) | EP2021993A2 (en) |
MX (1) | MX2008014514A (en) |
WO (1) | WO2007136454A2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100064207A1 (en) * | 2008-09-10 | 2010-03-11 | Chi Mei Communication Systems, Inc. | System and method for displaying widget contents using a mobile device |
US20120159493A1 (en) * | 2010-12-15 | 2012-06-21 | Stefan Kienzle | Advanced sequencing gap management |
US20210150645A1 (en) * | 2016-04-21 | 2021-05-20 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US12118195B2 (en) | 2016-05-13 | 2024-10-15 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US12125116B2 (en) | 2024-05-01 | 2024-10-22 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5699242A (en) * | 1994-03-29 | 1997-12-16 | Mazda Motor Corporation | Control system for production facilities |
US5844802A (en) * | 1994-06-10 | 1998-12-01 | Johnson & Johnson Vision Products, Inc. | Production line tracking and quality control system |
US6141598A (en) * | 1998-04-06 | 2000-10-31 | Hyundai Motor Company | Vehicle assembly line control system and method |
US20020198618A1 (en) * | 1999-08-03 | 2002-12-26 | Honda Canada Incorporated | Assembly line control system |
US6772027B2 (en) * | 2000-09-07 | 2004-08-03 | Honda Giken Kogyo Kabushiki Kaisha | Method of configuring vehicle assembly line |
US6856844B1 (en) * | 2003-01-29 | 2005-02-15 | Mckenzie John D. | Product assembly method and apparatus using wireless communication capability |
US7228192B2 (en) * | 2004-01-02 | 2007-06-05 | Agentware Systems, Inc. | Method for manufacturing an item |
-
2006
- 2006-05-15 US US11/434,040 patent/US7302306B1/en active Active
-
2007
- 2007-03-26 EP EP07754054A patent/EP2021993A2/en not_active Ceased
- 2007-03-26 MX MX2008014514A patent/MX2008014514A/en not_active Application Discontinuation
- 2007-03-26 WO PCT/US2007/007479 patent/WO2007136454A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5699242A (en) * | 1994-03-29 | 1997-12-16 | Mazda Motor Corporation | Control system for production facilities |
US5844802A (en) * | 1994-06-10 | 1998-12-01 | Johnson & Johnson Vision Products, Inc. | Production line tracking and quality control system |
US6141598A (en) * | 1998-04-06 | 2000-10-31 | Hyundai Motor Company | Vehicle assembly line control system and method |
US20020198618A1 (en) * | 1999-08-03 | 2002-12-26 | Honda Canada Incorporated | Assembly line control system |
US6772027B2 (en) * | 2000-09-07 | 2004-08-03 | Honda Giken Kogyo Kabushiki Kaisha | Method of configuring vehicle assembly line |
US6856844B1 (en) * | 2003-01-29 | 2005-02-15 | Mckenzie John D. | Product assembly method and apparatus using wireless communication capability |
US7228192B2 (en) * | 2004-01-02 | 2007-06-05 | Agentware Systems, Inc. | Method for manufacturing an item |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100064207A1 (en) * | 2008-09-10 | 2010-03-11 | Chi Mei Communication Systems, Inc. | System and method for displaying widget contents using a mobile device |
US20120159493A1 (en) * | 2010-12-15 | 2012-06-21 | Stefan Kienzle | Advanced sequencing gap management |
US20210150645A1 (en) * | 2016-04-21 | 2021-05-20 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US11741556B2 (en) * | 2016-04-21 | 2023-08-29 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US11854097B2 (en) | 2016-04-21 | 2023-12-26 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US12002119B2 (en) | 2016-04-21 | 2024-06-04 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US12008664B2 (en) | 2016-04-21 | 2024-06-11 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US12118630B2 (en) | 2016-04-21 | 2024-10-15 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US12118195B2 (en) | 2016-05-13 | 2024-10-15 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
US12125116B2 (en) | 2024-05-01 | 2024-10-22 | Wayne Fueling Systems Llc | Intelligent fuel dispensers |
Also Published As
Publication number | Publication date |
---|---|
WO2007136454A2 (en) | 2007-11-29 |
WO2007136454A8 (en) | 2008-01-17 |
US7302306B1 (en) | 2007-11-27 |
MX2008014514A (en) | 2009-02-11 |
EP2021993A2 (en) | 2009-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11055178B2 (en) | Method and apparatus for predicting errors in to-be-developed software updates | |
US8266477B2 (en) | System and method for modifying execution of scripts for a job scheduler using deontic logic | |
US7302306B1 (en) | Determining processing times at stations in an assembly system | |
US20100234976A1 (en) | Method to improve requirements, design manufacturing, and transportation in mass manufacturing industries through analysis of defect data | |
US9342441B2 (en) | Methodology and tool support for test organization and migration for embedded software | |
US20140214263A1 (en) | Method, device and computer program for assisting the maintenance of an aircraft system using a diagnostic assistance tool and experience feedback data | |
KR102268053B1 (en) | Intelligent safety fault diagnostic system of robotic process automation | |
US20030074605A1 (en) | Computer system and method for program execution monitoring in computer system | |
CN117451115B (en) | Real-time state monitoring method for sorting conveying system | |
US20220161426A1 (en) | Local replanning of robot movements | |
CN115016428A (en) | Three-dimensional multi-stage diagnosis system and method applied to special vehicle | |
CN110764785B (en) | Cloud platform tool chain and cloud platform operation and maintenance method for power industry based on open source assembly | |
Pintard et al. | From safety analyses to experimental validation of automotive embedded systems | |
Boussif et al. | Tuning the diagnoser-based approach for diagnosability analysis of finite automata | |
CN110543718A (en) | automobile electronic and electrical architecture deformation configuration method based on customer characteristics | |
Refflinghaus et al. | On the track of human errors-procedure and results of an innovative assembly planning method | |
Tischer et al. | Why does it take that long? Establishing Product Lines in the Automotive Domain | |
CN114036006A (en) | Mars vehicle component communication control and fault processing method based on two-layer counter | |
Bracke et al. | Reliability engineering in face of shorten product life cycles: Challenges, technique trends and method approaches to ensure product reliability | |
Altinger | State-of-the-art tools and methods used in the automotive industry | |
Avižienis | The dependability problem: Introduction and verification of fault tolerance for a very complex system | |
US20240124079A1 (en) | Method and system of automated vehicle body routing system employing predicted vehicle body imperfections and vision detection system | |
EP3798849A1 (en) | Method and apparatus for computer-implemented verification of the behavior of a technical system | |
Real et al. | Effect of Changes in the Sequence of Assembly Operations on Error Rates: A Case Study From the Car Manufacturing Industry | |
Zander-Nowicka et al. | From Functional Requirements through Test Evaluation Design to Automatic Test Data Patterns Retrieval-a Concept for Testing of Software Dedicated for Hybrid Embedded Systems. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ELECTRONIC DATA SYSTEMS CORPORATION, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHARMA, PARIT K.;DENOMME, MICHAEL A.;REEL/FRAME:017720/0087 Effective date: 20060515 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: ELECTRONIC DATA SYSTEMS, LLC, DELAWARE Free format text: CHANGE OF NAME;ASSIGNOR:ELECTRONIC DATA SYSTEMS CORPORATION;REEL/FRAME:022460/0948 Effective date: 20080829 Owner name: ELECTRONIC DATA SYSTEMS, LLC,DELAWARE Free format text: CHANGE OF NAME;ASSIGNOR:ELECTRONIC DATA SYSTEMS CORPORATION;REEL/FRAME:022460/0948 Effective date: 20080829 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELECTRONIC DATA SYSTEMS, LLC;REEL/FRAME:022449/0267 Effective date: 20090319 Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.,TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ELECTRONIC DATA SYSTEMS, LLC;REEL/FRAME:022449/0267 Effective date: 20090319 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001 Effective date: 20151027 |
|
AS | Assignment |
Owner name: ENT. SERVICES DEVELOPMENT CORPORATION LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP;REEL/FRAME:041041/0716 Effective date: 20161201 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: 11.5 YR SURCHARGE- LATE PMT W/IN 6 MO, LARGE ENTITY (ORIGINAL EVENT CODE: M1556); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |