Location based programming and data management in an automated environment7043316
Abstract
A method and system for providing information related to a set of automated resources that may cooperate in an environment to perform an automated process, the method comprising the steps of associating a specific environment location with the automated process, determining the locations of resources with respect to the specific location and, where resources are proximate the specific location, providing information related to the automated process. Also a method for facility communication between distributed resources where location or an attribute akin thereto is used to tag data and to monitor network data for specific required data.
Claims
What is claimed is:
1. A computer method for providing information related to a set of resources that cooperate in an environment to facilitate a process, the method comprising the steps of:
moving at least a first resource within the environment;
determining the physical location of the first resource within the environment;
determining if the first resource is one of the set resources;
if the first resource is one of the set resources, identifying process information related to the resource set as a function of the location of the first resource; and
providing the process information.
2. The method of claim 1 further including the step of using the process information to configure the resource set to perform the process.
3. The method of claim 2 wherein, if the first resource is other than one of the set resources, the process further includes indicating that the first resource is other than a set resource.
4. The method of claim 1 wherein each resource is characterized by characteristics, the method further including the step of identifying characteristics of the first resource and wherein the step of providing information includes providing information based on the location and the characteristics of the first resource.
5. The method of claim 1 further including the step of associating a specific location within the environment with the process wherein the step of determining location includes determining location with respect to the specific location.
6. The method of claim 5 further including the step of associating a process zone with the specific location and wherein the step of determining location includes determining if the first resource is located within the process zone.
7. The method of claim 6 further including the step of identifying a process zone as a function of at least a sub-set of the resource set and physical constraints within the environment.
8. The method of claim 1 wherein the step of providing process information includes the step of providing juxtaposition information indicating how the first resource should be juxtaposed with respect to the other set resources to perform the process.
9. The method of claim 8 further including the steps of monitoring set resource juxtapositions and indicating when the set resource relative juxtapositions are incorrect.
10. The method of claim 1 wherein the step of providing process information further includes the step of providing commissioning information indicating how the resource set including the first resource should be commissioned to perform the process.
11. The method of claim 1 wherein the set resources include at least a sub-set of machines, actuators, controllers, sensors and interfaces and the step of providing information includes providing information useable to configure the resource set.
12. The method of claim 1 wherein the step of determining resource location includes the steps of providing at least a receiver within the environment and a transmitter on the first resource and transmitting information from the transmitter to the receiver that can be used to identify the first resource location.
13. The method of claim 12 wherein the step of providing a receiver includes providing a plurality of access points, each access point including at least a receiver.
14. The method of claim 1 wherein the step of moving includes linking the first resource to an I/O port associated with the resource set.
15. The method of claim 1 wherein the step of determining the location includes determining the relative juxtaposition of the first resource to at least one other set resource.
16. The method of claim 1 wherein the process is an automated process and wherein the step of providing process information includes providing automated process information.
17. A computer method for providing information related to a set of resources that cooperate in an environment to facilitate a process, the method comprising the steps of:
moving at least a first resource within the environment;
determining the physical location of the first resource within the environment;
determining if the first resource is one of the set resources;
if the first resource is one of the set resources, identifying process information related to the resource set as a function of the location of the first resource; and
providing the process information;
wherein the first resource includes a programmable resource and wherein the step of providing the process information includes programming the programmable resource.
18. The method of claim 17 wherein the programmable resource initially includes a program code and the step of programming includes modifying the program code.
19. The method of claim 17 wherein the resources are of different types, the method further including the step of identifying the type of the first resource and wherein the step of programming includes the step of identify code for the first resource type and providing the identified code.
20. The method of claim 19 wherein there are several different instances of the first resource type where each instance has different characteristics, the step of identifying the first resource type including identifying the characteristics of the first resource type and the step of programming including identifying code as a function of the first resource characteristics and providing the identified code.
21. The method of claim 19 wherein the programmable resource is at a first physical location within the environment and is linked to a network and the step of programming includes causing the programmable resource to tag data transmitted by the programmable resource onto the network as produced at the first location.
22. The method of claim 21 wherein the programmable resource is a first programmable resource, the resource set includes at least a second programmable resource linked to the network and, wherein, the step of programming further includes the step of causing the second programmable resource to monitor the network for at least some data produced at the first location.
23. The method of claim 22 wherein the step of programming the second programmable resource includes causing the second programmable resource to consume at least some of the network data produced at the first location.
24. The method of claim 23 wherein the step of programming the first programmable resource includes causing the first programmable resource to monitor network data for data produced at at least a second physical location within the environment.
25. The method of claim 24 wherein the step of programming also includes programming the first programmable resource to consume at least some data produced at the second location.
26. The method of claim 23 wherein the second programmable resource is at a second location and, wherein, the step of programming the first programmable resource includes causing the first programmable resource to monitor network data for data produced at the second location.
27. The method of claim 26 wherein the step of programming further includes programming the first programmable resource to consume at least some network data produced at the second location.
28. The method of claim 17 wherein the programmable resource is linked to a network and wherein the step of programming includes programming the programmable resource to monitor network data for data produced at at least one location within the environment and to consume at least some of the network data produced at the at least one location.
29. The method of claim 17 wherein the programmable resource is at a first physical location within the environment, the resource set includes a second resource located at a second physical location within the environment, the first and second resources are linked via a network, the second resource generates at least some data tagged to indicate that the data is produced at the second location and, wherein, the step of programming includes causing the programmable resource to monitor network data for data produced at the second location.
30. The method of claim 29 wherein the step of programming further includes programming the first programmable resource to consume at least some network data produced at the second location.
31. The method of claim 17 wherein the programmable resource is a first programmable resource at a first physical location within the environment and the set includes at least a second programmable resource that requires at least some data from a resource at the first location, the first and second resources are linked via a network and, wherein, the method further includes the steps of, after locating the first programmable resource at the first location, identifying a network address of at least one of the first and second programmable resources and using the identified address to facilitate communication between the first and second resources.
32. The method of claim 31 wherein the step of identifying the network address includes identifying the address of the first programmable resource and wherein the step of facilitating communication includes causing the first programmable resource to tag data produced by the first programmable resource as produced at the first programmable resource address prior to transmitting the data on the network and causing the second programmable resource to monitor the network for at least some data tagged as produced at the first programmable resource address.
33. The method of claim 31 wherein the step of identifying the network address includes identifying the address of the second programmable resource and wherein the step of facilitating communication includes programming the first programmable resource to transmit data to the identified address via the network.
34. The method of claim 17 wherein the programmable resource is a first programmable resource at a first physical location within the environment and the set includes at least a second programmable resource at a second physical location within the environment, the first resource requiring at least some data from a resource at the second location, the first and second resources are linked via a network and, wherein, the method further includes the steps of, after locating the first programmable resource at the first location, identifying a network address of at least one of the first and second programmable resources and using the identified address to facilitate communication between the first and second resources.
35. The method of claim 34 wherein the step of identifying the network address includes identifying the address of the second programmable resource and wherein the step of facilitating communication includes programming the second programmable resource to transmit data on the network tagged as produced at the second programmable resource address and programming the first programmable resource to monitor the network for at least some data tagged as produced at the second programmable resource address.
36. The method of claim 34 wherein the step of identifying the network address includes identifying the address of the first programmable resource and wherein the step of facilitating communication includes programming the second programmable resource to transmit data to the identified address via the network and programming the first programmable resource to monitor the network for at least some data tagged as intended for the first programmable resource.
37. The method of claim 17 wherein the programmable resource is a first programmable resource and the set includes at least a second programmable resource linked to the first programmable resource via a network and wherein the step of programming includes causing at least a sub-set of the programmable resources to tag at least some data transmitted on the network as produced at specific locations within the environment.
38. The method of claim 37 wherein the step of programming further includes the step of programming at least a sub-set of the programmable resources to monitor network data for data tagged as produced at specific environment locations.
39. The method of claim 17 wherein the step of programming includes programming at least a sub-set of the first resource and the other set resources as a function of the location of the first resource.
40. The method of claim 17 wherein the process includes a plurality of sub-processes and wherein the step of programming includes identifying a first sub-process to be performed by the programmable resource and providing a first sub-process program to the programmable resource.
41. The method of claim 17 wherein the programmable resource is linked to a network and wherein the step of programming further includes the step of tagging data produced by the programmable resource as associated with the first sub-process prior to transmitting the data onto the network.
42. The method of claim 41 wherein the programmable resource is a first programmable resource and wherein the resource set includes at least a second programmable resource linked to the network and wherein the step of programming further includes the step of programming the second programmable processor to monitor the network for data associated with the first sub-process and to consume at least some of the data associated with the first sub-process.
43. The method of claim 17 wherein the programmable resource is a first programmable resource, the set includes at least a second programmable resource linked to the network, the second resource performs a sub-process of the process, the second resource tags data as produced by the sub-process and, wherein, the method further includes the step of programming the first programmable resource to monitor the network for data produced by the sub-process and to consume at least some of the data produced by the sub-process.
44. A computer method for providing information related to a set of resources that cooperate in an environment to facilitate a process, the method comprising the steps of:
moving at least a first resource within the environment;
determining the physical location of the first resource within the environment;
determining if the first resource is one of the set resources;
if the first resource is one of the set resources, identifying process information related to the resource set as a function of the location of the first resource; and
providing the process information;
using the process information to configure the resource set to perform the process;
wherein the resource set includes a programmable resource linkable to the first resource; and
wherein the step of configuring includes the step of providing program code to the programmable resource.
45. The method of claim 44 wherein the first resource is at a first physical location within the environment, the programmable resource is at a second physical location within the environment and is linked to a network, and, wherein, the step of programming includes programming the programmable resource to tag data transmitted by the programmable resource onto the network as produced at a producer location wherein the producer location is one of the first and second locations.
46. The method of claim 45 wherein the programmable resource is a first programmable resource, the resource set includes at least a second programmable resource linked to the first programmable resource via the network and, wherein, the step of programming further includes the step of programming the second programmable resource to monitor the network for at least some data produced at the producer location.
47. The method of claim 46 wherein the step of programming the second programmable resource includes programming the second programmable resource to consume at least some of the network data produced at the producer location.
48. The method of claim 47 wherein the second programmable resource is at a third physical location within the environment and, wherein, the step of programming the first programmable resource includes programming the first programmable resource to monitor network for data produced at the third location and to consume at least some network data produced at the third location.
49. The method of claim 44 wherein the programmable resource is at a first physical location within the environment, the resource set includes a second resource located at a second physical location within the environment, the first and second resources are linked via a network, the second resource generates at least some data tagged to indicate that the data is produced at the second location and, wherein, the step of programming includes programming the programmable resource to monitor network data for data produced at the second location and to consume at least some of the network data produced at the second location.
50. The method of claim 44 wherein the first resource is at a first physical location within the environment, the programmable resource is a first programmable resource at a second physical location within the environment and the set includes at least a second programmable resource that requires at least some data from a resource at the first location, the first and second programmable resources are linked via a network and, wherein, the method further includes the steps of, after locating the first resource at the first location, identifying a network address of at least one of the first resource and second programmable resource and using the identified address to facilitate communication between the first and second programmable resources.
51. The method of claim 50 wherein the step of identifying the network address includes identifying the address of the first resource and wherein the step of facilitating communication includes programming the first programmable resource to transmit data on the network tagged as produced at the first resource address and programming the second programmable resource to monitor the network for at least some data tagged as produced at the first resource address.
52. The method of claim 44 wherein the first resource is located at a first physical location within the environment, the programmable resource is a first programmable resource at a second physical location within the environment and the set includes at least a second programmable resource at a third physical location within the environment, the first programmable resource requiring at least some data from a resource at the third location to control the first resource, the first and second programmable resources are linked via a network and, wherein, the method further includes the steps of, after locating the first programmable resource at the first location, identifying a network address of at least one of the first and second programmable resources and using the identified address to facilitate communication between the first and second resources.
53. The method of claim 52 wherein the step of identifying the network address includes identifying the address of the second programmable resource and wherein the step of facilitating communication includes programming the second programmable resource to transmit data on the network tagged as produced at the second programmable resource address and programming the first programmable resource to monitor the network for at least some data tagged as produced at the second programmable resource address.
54. The method of claim 52 wherein the step of identifying the network address includes identifying the address of the first programmable resource and wherein the step of facilitating communication includes programming the second programmable resource to transmit data to the identified address via the network.
55. A computer method for providing information related to a set of resources that cooperate in an environment to facilitate a process, the method comprising the steps of:
moving at least a first resource within the environment;
determining the physical location of the first resource within the environment;
determining if the first resource is one of the set resources;
if the first resource is one of the set resources, identifying process information related to the resource set as a function of the location of the first resource; and
providing the process information; and
using the process information to configure the resource set to perform the process;
wherein the step of providing process information further includes the step of providing linking information indicating how the first resource should be linked to the other set resources to perform the process.
56. The method of claim 55 also for use with an interface and wherein the step of providing information includes providing at least a sub-set of the information via the interface.
57. The method of claim 55 wherein the first resource includes I/O control ports and wherein the linking information includes at least one of mechanical linking information and I/O linking information.
58. The method of claim 55 further including the step of linking the first resource to the other set resources in a manner consistent with the process information.
59. The method of claim 55 wherein the step of providing process information further includes the step of providing commissioning information indicating how the resource set including the first resource should be commissioned to perform the process.
60. A method for providing information related to a set of resources that cooperate in an environment to facilitate a process, the method comprising the steps of:
moving at least a first resource within the environment, the step of moving including moving the first resource to a location proximate the other set resources;
determining the physical location of the first resource within the environment;
determining if the first resource is one of the set resources;
if the first resource is one of the set resources, identifying process information related to the resource set as a function of the location of the first resource; and
providing the process information.
61. A computer method for providing information related to a set of resources that cooperate in an environment to facilitate a process, the method comprising the steps of:
moving at least a first resource within the environment;
determining the physical location of the first resource within the environment;
determining if the first resource is one of the set resources;
if the first resource is one of the set resources, identifying process information related to the resource set as a function of the location of the first resource;
providing the process information; and
wherein a sub-set of the set resources is present at a specific location and the process is associated with the sub-set, at least one additional resource of a specific type in addition to the sub-set may be combined with the sub-set resources to enhance the process, the step of determining location including determining if the first resource is proximate the sub-set and the method further including the steps of determining if the first resource type is of the specific type, where the first resource type is of the specific type, the step of providing information including providing information useful in combining the first resource with the sub-set to perform the process.
62. The method of claim 61 wherein the step of providing information includes providing information indicating a re-juxtaposition of the sub-set resources to accommodate the first resource.
63. A computer method for providing information related to a set of resources that may cooperate in an environment to perform a process, the method comprising the steps of:
associating a specific environment location with the process;
determining the locations of set resources with respect to the specific location; and
where at least one set resource is proximate the specific location, providing information related to the process.
64. The method of claim 63 wherein the step of associating includes associating a process zone with the process and the step of determining includes determining if at least one resource is within the process zone.
65. The method of claim 64 wherein the step of determining further includes, where a resource is within the process zone, determining if the resource is one of the set resources and, if the resource is one of the set resources, the step of providing information including providing information useable to configure the resource to perform at least a part of the process.
66. The method of claim 64 further including the steps of determining when at least one instance of each resource type in the resource set is located within the process zone and, when at least one instance of each resource type in the resource set is located within the process zone, the step of providing information including providing information useable to configure the instances of the resources within the zone to perform the process.
67. The method of claim 66 further including the step of configuring the resource instances in the process zone to perform the process in a manner consistent with the provided information.
68. The method of claim 67 wherein at least one of the resource set resources is a programmable resource and the step of configuring includes programming the programmable resource for controlling the other set resources to perform the process.
69. The method of claim 63 wherein the resource set includes at least first and second programmable resources linked via a network and wherein the step of providing process information includes programming at least a sub-set of the programmable resources to tag at least some data transmitted on the network as produced at specific locations within the environment.
70. The method of claim 69 wherein the step of programming further includes the step of programming at least a sub-set of the programmable resources to monitor network data for data tagged as produced at specific environment locations.
71. The method of claim 63 wherein the environment is an automated industrial environment and wherein the process is an automated industrial process and wherein the step of providing information includes providing automated process information.
72. A computer method for providing information related to a set of resources that cooperate in an environment to facilitate a process, the method comprising the steps of:
moving at least a first resource within the environment;
determining the relative juxtaposition of the first resource to at least a sub-set of the set resources;
determining if the first resource is one of the set resources;
the first resource is one of the set resources, identifying process information related to the resource set as a function of the relative juxtaposition of the first resource to the sub-set of the set resources; and
providing the process information.
73. The method of claim 72 further including the step of using the process information to configure the resource set to perform the process.
74. The method of claim 73 wherein the first resource includes a programmable resource and wherein the step of providing information includes programming the programmable resource.
75. The method of claim 74 wherein the programmable resource is linked to a network and the step of programming includes causing the programmable resource to tag data transmitted by the programmable resource onto the network as produced at the relative juxtaposition of the first resource to the sub-set resources.
76. The method of claim 75 wherein the programmable resource is a first programmable resource, the resource set includes at least a second programmable resource linked to the network and, wherein, the step of programming further includes the step of causing the second programmable resource to monitor the network for at least some data produced by a resource at the relative juxtaposition of the first resource with respect to the other set resources.
77. The method of claim 72 wherein the process is an automated process and wherein the step of providing process information includes providing automated process information.
78. A computer system for providing information related to a set of resources that cooperate in an environment to facilitate a process, the system comprising:
a position determiner for determining the physical location of the first resource within the environment;
a database storing process information related to the resource set;
a processor linked to the position determiner and the database and programmed to:
determine if the first resource is one of the set resources;
if the first resource is one of the set resources, identify process information in the database related to the resource set as a function of the location of the first resource; and
provide the process information.
79. The system of claim 78 wherein the processor is further programmed to use the process information to configure the resource set to perform the process.
80. The system of claim 79 wherein the first resource includes a programmable resource and wherein the processor configured by programming the programmable resource.
81. The system of claim 80 wherein the first resource may be one of several different types and wherein the processor is further programmed to identify the type of the first resource and the processor configures by programming the first resource as a function of the type of the first resource.
82. The system of claim 81 wherein the programmable resource is at a first physical location within the environment and is linked to a network and wherein the processor configures by programming the resource to tag data transmitted by the programmable resource onto the network as produced at the first location.
83. The system of claim 82 wherein the programmable resource is a first programmable resource, the resource set includes at least a second programmable resource linked to the network and, wherein, the processor configures by further programming the second programmable resource to monitor the network for at least some data produced at the first location.
84. The system of claim 80 wherein the programmable resource is a first programmable resource and the set includes at least a second programmable resource linked to the first programmable resource via a network and wherein the processor configures by programming at least a sub-set of the programmable resources to tag at least some data transmitted on the network as produced at specific locations within the environment.
85. The system of claim 84 wherein the processor further configures by programming at least a sub-set of the programmable resources to monitor network data for data tagged as produced at specific environment locations.
86. The system of claim 80 wherein the processor configures by programming at least a sub-set of the first resource and the other set resources as a function of the location of the first resource.
87. The system of claim 80 wherein the process includes a plurality of sub-processes and wherein the processor configures by identifying a first sub-process to be performed by the programmable resource and providing a first sub-process program to the programmable resource.
88. The system of claim 87 wherein the programmable resource is linked to a network and wherein the processor configures by causing data produced by the programmable resource to be tagged as associated with the first sub-process prior to transmitting the data onto the network.
89. The system of claim 88 wherein the programmable resource is a first programmable resource and wherein the resource set includes at least a second programmable resource linked to the network and wherein the processor further configures by programming the second programmable processor to monitor the network for data associated with the first sub-process and to consume at least some of the data associated with the first sub-process.
90. The system of claim 79 wherein the resource set includes a programmable resource linkable to the first resource and wherein the processor configures by providing program code to the programmable resource.
91. The system of claim 90 wherein the first resource is at a first physical location within the environment, the programmable resource is at a second physical location within the environment and is linked to a network, and, wherein, the processor configures by programming the programmable resource to tag data transmitted by the programmable resource onto the network as produced at a producer location wherein the producer location is one of the first and second locations.
92. The system of claim 90 wherein the programmable resource is a first programmable resource, the resource set includes at least a second programmable resource linked to the first programmable resource via the network and, wherein, the processor configures by further programming the second programmable resource to monitor the network for at least some data produced at the producer location.
93. The system of claim 79 wherein the programmable resource is at a first physical location within the environment, the resource set includes a second resource located at a second physical location within the environment, the first and second resources are linked via a network, the second resource generates at least some data tagged to indicate that the data is produced at the second location and, wherein, the processor configures by programming the programmable resource to monitor network data for data produced at the second location and to consume at least some of the network data produced at the second location.
94. The system of claim 79 wherein the processor provides process information by providing linking information indicating how the first resource should be linked to the other set resources to perform the process.
95. The system of claim 94 further including an interface and wherein the processor provides information by providing at least a sub-set of the information via the interface.
96. The system of claim 94 wherein the processor provides process information by providing commissioning information indicating how the resource set including the first resource should be commissioned to perform the process.
97. The system of claim 78 wherein the processor further identifies characteristics of the first resource and wherein the processor provides information based on the location and the characteristics of the first resource.
98. The system of claim 78 wherein the processor provides process information by providing juxtaposition information indicating how the first resource should be juxtaposed with respect to the other set resources to perform the process.
99. The system of claim 98 wherein the processor further monitors set resource juxtapositions and indicates when the set resource relative juxtapositions are incorrect.
100. The system of claim 78 wherein the location determiner includes at least a receiver within the environment and a transmitter on the first resource that transmits information from the transmitter to the receiver that can be used to identify the first resource location.
101. The system of claim 100 wherein the receiver includes a plurality of access points, each access point including at least a receiver.
102. The system of claim 78 wherein the location determiner determines the relative juxtaposition of the first resource to at least one other set resource.
103. A computer system for providing information related to a set of resources that cooperate in an environment to facilitate a process, the system comprising:
a location determiner for determining the relative juxtaposition of the first resource to at least a sub-set of the set resources;
a processor for:
determining if the first resource is one of the set resources;
if the first resource is one of the set resources, identifying process information related to the resource set as a function of the relative juxtaposition of the first resource to the sub-set of the set resources; and
providing the process information.
104. The system of claim 103 wherein the processor further uses the process information to configure the resource set to perform the process.
105. The system of claim 104 wherein the first resource includes a programmable resource and wherein the processor configures by programming the programmable resource.
106. The system of claim 105 wherein the programmable resource is linked to a network and wherein the processor configures by causing the programmable resource to tag data transmitted by the programmable resource onto the network as produced at the relative juxtaposition of the first resource to the sub-set resources.
107. The system of claim 106 wherein the programmable resource is a first programmable resource, the resource set includes at least a second programmable resource linked to the network and, wherein, the processor further configures by causing the second programmable resource to monitor the network for at least some data produced by a resource at the relative juxtaposition of the first resource with respect to the other set resources.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
Not applicable.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1a is a schematic diagram of an exemplary control system in the context of an exemplary facility according to the present invention;
FIG. 1b is a schematic diagram illustrating a sub-set of automated resources and a related machine zone;
FIG. 1c is similar to FIG. 1b, albeit illustrating a second arrangement of resources and a corresponding machine zone;
FIG. 1d is similar to FIG. 1b, albeit illustrating a third arrangement of resources and a related machine zone;
FIG. 1e is similar to FIG. 1b, albeit illustrating a fourth resource sub-set arrangement and corresponding machine zone;
FIG. 2a is a perspective view of an exemplary wireless resource device (WRD) according to the present invention;
FIG. 2b is a schematic diagram of various components that may be included in the device of FIG. 2a;
FIG. 3 is an automated process specification that may be used by the controller of FIG. 1a to perform various aspects of the present invention;
FIG. 4 is a flow chart illustrating one method according to the present invention;
FIG. 5 is a flow chart illustrating a sub-process which may be included in the process of FIG. 4;
FIG. 6 is a flow chart illustrating another sub-process that may be included in the process of FIG. 4;
FIG. 7 is a flow chart illustrating one other sub-process that may be included in the process of FIG. 4;
FIG. 8 is an exemplary screen shot according to one aspect of the present invention;
FIG. 9 is similar to FIG. 8, albeit illustrating another aspect of the present invention;
FIG. 10 is a flow chart illustrating yet one more sub-process that may be added to the process of FIG. 4;
FIG. 11 is a flow chart illustrating a sub-process that may be used to enhance certain aspects of the methods described above;
FIG. 12 is a second automated process specification similar to the specification illustrated in FIG. 3;
FIG. 13 is a flow chart illustrating a sub-process that may be used to enhance the process of FIG. 4 above;
FIG. 14 is a sub-process that may be used to enhance the process of FIG. 13;
FIG. 15 is an exemplary screen shot that may be used to implement one aspect of the present invention;
FIG. 16 is a resource location determining sub-process that may comprise a portion of the process of FIG. 4;
FIG. 17 is similar to FIG. 16, albeit illustrating a second sub-process for determining resource location;
FIG. 18a is a perspective view of a wireless information device (WID) that may be used to facilitate certain aspects of the present invention;
FIG. 18b is a schematic diagram illustrating the various components of the WID illustrated in FIG. 18a;
FIG. 19 is a flow illustrating one additional sub-process that may be used to enhance the process of FIG. 4 above;
FIG. 20 is a sub-process that may be used to replace the beginning portion of the process of FIG. 4;
FIG. 21 is a schematic diagram of an exemplary resource subset in a specific juxtaposition;
FIG. 22 is a flow chart illustrating an inventive location based data mapping algorithm;
FIG. 23 is a flow chart illustrating and inventive location based tagging and monitoring algorithm;
FIG. 24 is a flow chart similar to the chart of FIG. 22 including a location based controller programming sub-process; and
FIG. 25 is a sub-process that may replace a portion of the chart of FIG. 24.
DETAILED DESCRIPTION OF THE INVENTION
The present invention and various aspects thereof will be described in the context of several different embodiments in the specification that follows. It should be appreciated that the embodiments described are not meant to be exhaustive and that, while certain aspects will be described in the context of certain embodiments, most of the aspects may be employable in any of the described embodiments. The inventive embodiments can be divided into two general types including embodiments controlled centrally and embodiments controlled via distributed controllers. Hereinafter, embodiments including one or a small set of cooperating controllers will be described first and thereafter embodiments including distributed controllers or processors will be described.
In order to simplify this explanation some terminology must first be defined. In this regard, the term "resource" will be used to refer to any facility component that may be combined with other facility components to perform or enable an automated process, to control a process, or to monitor a process. For instance, a resource may be a machine such as a drill press, a pellet dryer, a PCB inserter, a transfer line, a mill, etc. A resource may also comprise a distributed controller or an interface device such as a workstation, a display terminal, etc. A resource may further include both a machine and a dedicated distributed controller. For example, a PCB insertion machine may include a built-in distributed controller dedicated to controlling insertion machine operations. Moreover, a resource may also include an I/O rack including a programmable controller and other resources (e.g., sensors, actuators, etc.) linked thereto. In some cases a resource may include a single sensor a actuator or a set thereof.
A. Exemplary System Components
Referring now to the drawings wherein like reference numbers correspond to similar elements throughout the several views and, more specifically, referring to FIG. 1a, the present invention will be described in the context of an exemplary, albeit simplified, manufacturing facility 10 that includes a rectilinear facility floor space or area 14 confined by four facility walls collectively identified by numeral 12. In the exemplary facility 10, the entire area 14 comprises a single room (i.e., there are no wall partitions within facility 10 and all of the facility resides on a single level). A doorway 16 is provided to allow access to area 14.
Exemplary facility 10 includes seventeen separate resources identified by labels R1a, R1b, R2a, R2b, R2c, R3, R4, R5a, R5b, R6, R7a, R100a, R100b and R101a. Labels R3, R4 and R1b are each used twice to indicate instances of the same resources type that have identical characteristics. For instance, each instance of label R4 is used to earmark a separate instance of an interface resource. The resources are shown as being different sizes to visually illustrate that the resources may have very different physical footprints. For example, resource R7a is illustrated as having a much larger physical footprint than resource R6. In general, the resources are spaced out within area 14 although, in some cases, resources may be positioned directly next to each other such as, for instance, resources R1a, R2c, R3, R4 and R5a in FIG. 1a.
The lower case letter qualifiers that follow some of the resource type labels are used to distinguish instances of a single resource type where the instance has some characteristic that is different, from a control perspective, than other instances of the same resource type. For example, labels R1a and R1b are used to earmark PCB insertion machines where the "a" and "b" qualifiers indicate that the each of the machines has machine characteristics that are distinct form the other.
In FIG. 1a, unless indicated otherwise, resources shown as rectangular blocks will be assumed to be resources that, while they may be mobile, are, at the very least, already present at a facility location and associated with a specific automated process to be performed. For instance, a first resource sub-set collectively identified by numeral 24 including resources R1a, R2c, R3, R4 and R5a within the top one third of facility space 14 are at least proximate each other and are assumed to be associated with a process to be performed at least in part by those resources. In some cases rectilinear resources will already be juxtaposed in their operating positions and I/O linkages will have been made for communicating with one or more system controllers (e.g., 38). In other cases one or more controllers linked to the rectilinear resources grouped together may already be controlling those resources via program code to perform the associated automated process. A second resource sub-set 26 and a third resource sub-set 28 in FIG. 1a include resources R1b, R2a, R3, R4 and R5b in the center one third of space 14 and resources R1b, R2b, R6 and R7a in the lower one third of space 14, respectively.
It will also be assumed that sub-sets 24 and 26 have each been configured to manufacture a first end product while sub-set 28 has been configured to manufacture a second end product that is different than the first product. While sub-sets 24 and 26 are each provided to manufacture the same end product, each sub-set includes at least some instances of the same resource types where instances of the same type may have different characteristics. For instance, again, resources R1a and R1b are each PCB insertion machines but the small letter qualifiers indicate that each of the machines has its own characteristic set (e.g., I/O, movement capabilities, sensors, actuators, etc.). Hereinafter, the process to be performed by each of the first and second sub-sets 24 and 26 will be referred to as first process P1 while the process to be performed by the third resource sub-set 28 will be referred to as second process P2.
Six sided resources such as resources R100a, R100b and M101a are assumed to be mobile (e.g., supported by casters) and not yet associated with specific automated processes in any fashion. Thus, for instance, unassociated resource R100b may eventually be associated with any of the first, second or third resource sub-sets 24, 26 or 28, respectively, if the programs associated with the sub-sets require a resource of type R100.
In FIG. 1a it is contemplated that many of the resources include at least one and, in many cases, a plurality of sensing devices (not illustrated) that sense resource operating characteristics and provide signals that can be used to facilitate resource monitoring and control via an interface. For instance, in the case of a drilling machine, sensors may include limit switches that are tripped when a drill slide reaches various positions along a travel path, on/off switches, speed sensing switches, motor operating characteristic sensors, etc. In addition, it is contemplated that many of the resources may also include various types of actuators used to begin, control and end resource cycles.
Most, if not all, facility resource sub-sets (e.g., 24, 26, 28, etc.) will include some type of control interface (e.g., interfaces R4) to facilitate sub-set control and process monitoring. For example, again, in the case of a drilling machine, drill slide stroke length may be altered, drill speed may be altered, the angle at which a drill bit enters a work piece may be altered, etc. As another example, in the case of a PCB insertion machine, the path that an articulating arm defines during movement may be altered, the timing of arm movement sequences may be altered, the pressure applied to components during picked up and insertion may be altered, etc.
According to the present invention, in addition to the components above, facility 10 is equipped so that a controller 38 can determine the locations of each mobile resource within the facility 10. Once the location of a resource within facility 10 is identified, the invention generally includes providing some type of process information related to how the located resource should be configured to cooperate with other resources proximate the located resource's location to perform an automated process.
Thus, according to the present invention, resource location can be used as an attribute (e.g., a "location attribute") to identify process information that in turn can be used to configure the located resource for cooperation with other facility resources to perform automated processes. More specifically, presence of a specific resource proximate a specific resource sub-set (e.g., 24, 26, 28, etc.) can be used to identify process information useable to combine the specific resource with the resource sub-set.
In some cases location determination may be commenced when a system operator performs some step in addition to steps typically required to combine resources to perform a process. For instance, after a first resource is positioned in a location proximate a resource sub-set that an operator intends to combine the first resource with, the operator may be required to activate a button indicating that controller 38 should determine the location of the first resource. The activation button may be on some type of interface known to be proximate the first resource. One interface type contemplated includes a stationary interface (e.g., a workstation or the like). Here, when an operator activates an interface button indicating that a resource is proximate the interface, resource location may be surmised through association with the interface location. One other interface type described in greater detail below includes a wireless information device (WID) including a transceiver (or just a transmitter in some embodiments) that can be used with wireless access points to determine WID location. Here, knowing that the WID is proximate the first machine, when WID location is determined, resource location can be surmised.
In other cases location determination may be automatically performed by controller 38 (i.e., may not require the system operator to initiate the location determination process). For instance, a transmitter or transceiver capable of communicating with wireless access points may be provided on each mobile resource so that resource location within facility 10 can be determined at any time in a manner completely transparent to the system operator. As another instance, each facility resource may be equipped with a limited power transmitter and a single resource in each sub-set to be combined may be equipped with a receiver. Here, the resource including the receiver may receive signals from proximate transmitters and determine proximity of other nearby resources.
As another instance, where hardwire I/O is required, when an operator links a resource to a system back plane that is in a known facility location, resource location can be surmised from the location of the backplane. Here, as in the case of wireless resource location systems, resource location can be determined automatically without requiring the operator to perform additional locating steps.
With respect to the location related process information provided after a resource location is determined, the process information may simply confirm for a system operator that the located resource is to be combined with other proximate resources. In addition, the process information may include information that instructs the operator how to physically combine (e.g., juxtapositions) the resource with proximate resources to perform an automated process. Moreover, the process information may include information useable by the controller to automatically control the resource and, perhaps, to control the proximate resources to perform the automated process. Still further, the process information may include information regarding required I/O linkages and commissioning procedures to configure the resources to perform an automated process. Furthermore, the information may include information useable to configure interfaces both for carrying out a commissioning process and for interfacing with an operator subsequently during performance of an automated process. Moreover, the process information may also include program code for supporting either fault type diagnostics or status based diagnostics where appropriate or required. Moreover, the process information may also customize program code as a function of the instances of resources to be combined and their specific locations with facility 10. Other information helpful in the configuration process is contemplated.
It is contemplated that there may be instances where a first resource is proximate other resources and the operator does not want the first resource to be combined with the other resources . Thus, at least some embodiments of the invention, after a resource is located proximate other resources, may require an operator to affirmatively indicate that automated resource configuration should commence thereby avoiding inadvertent and unintended configuration or resources or stoppage of resources already performing some type of automated process.
In this first exemplary embodiment it will also be assumed that, for each possible process/resource sub-set combination that may be configured in facility 10, a separate process specification has been specified. Thus, for instance, referring again to FIG. 1a, while it has been assumed that the same process P1 is performed by each of resource sub-sets 24 and 26 to assemble a first product, because different resource sub-sets (e.g., 24 and 26) are employed to perform the process where each sub-set includes resources with distinct resource characteristics (e.g., physical footprint, I/O, movement capabilities, etc.), different process specifications are provided for each of the sub-sets 24 and 26 where each specification may differ from the other with respect to required physical resource layout, I/O combinations, commissioning procedures, interface specifications, program codes and other control characteristics. Thus, once a specific combination is identified, associated process information can readily be identified and thereafter used to aid or carry out resource configuration.
While the inventive embodiments will be described herein as being supported by a voluminous data construct including separate process specifications for each process/resource sub-set combination and, in some cases, a separate process specification for each process/sub-set/physical specification combinations, it should be appreciated that the voluminous construct is assumed here to simplify this explanation and that other software architecture constructs are also contemplated. For instance, where a single process P1 is performed by two different resource sub-sets where the sub-sets differ only slightly (e.g., a first sub-set may include one interface type while the second sub-set includes a second interface type), another software construct may include a single process specification for the process supplemented by interface sub-specifications that may be chosen as a function of which interface resource is included in a resource sub-set. Other data constructs for supporting various configuration sub-sets are contemplated and should be known to one of ordinary skill in the programming art.
Hereinafter, unless indicated otherwise, first, an exemplary embodiment of the present invention will be described in context of a system where each mobile facility resource includes a transmitter and the facility includes access points linked to controller 38 where the transmitters, access points and controller cooperate to automatically identify resource locations.
Referring again to FIG. 1a, exemplary facility 10 includes a plurality of communication access points 11, system controller 38, a database 40, and a plurality of two-way data buses 34, 36 and 42. Controller 38 may be positioned within facility 10 or may be located at some remote location such as, for instance, in a separate building, in a separate room within the facility that includes area 14 or at a completely different location such as a remote campus associated with facility 10. In addition, in many industrial environments, controller 38 will be physically associated with specific machine lines so that the controller 38 may be positioned, for instance, at the front end of a line of resources to facilitate easy access to resource operating characteristics adjacent the resources and/or to allow operating characteristics to be altered in a proximate manner.
In FIG. 1a, controller 38 is linked to each of the facility resources via a two-way data bus 34 that allows controller 38 to monitor resource operating characteristics as well as control resource operation. Controller 38 is typically a processor (typically having programmable logic controller (PLC) capabilities) based workstation capable of running various types of computer programs. For instance, some programs are resource control programs that enable controller 38 to either separately control each resource or, safely and precisely sequence resource operation thereby allowing relatively complex manufacturing processes to be performed in an efficient manner. In addition, other controller programs may allow controller 38 to derive various resource operating characteristics from monitored or sensed characteristics (e.g., motor voltage and current data is useful to derive stator and rotor resistance estimates, system inductances, identify harmonics, determine system torques, etc.) and to run complex algorithms to identify operating trends, alarm conditions, potentially unsafe conditions, maintenance requirements, raw material requirements and so on. Moreover, controller 38 may also run programs that facilitate data management and warehousing so that subsequent algorithms may be applied to warehoused data to identify historical operating patterns for various purposes.
Furthermore, controller 38 may run programs designed to support interfacing with facility operators (e.g., maintenance personnel, process engineers, etc.) thereby providing control capabilities and system monitoring capabilities. To this end, controller 38 may include its own input and output interfacing devices such as a display screen, a keyboard, a pointing and selecting device such as a mouse or trackball or any other types of interfacing devices known in the art. Other interfacing devices (e.g., resources R4) are provided within facility 10 to enable monitoring and control.
Importantly, for the purposes of the present invention, controller 38 also runs a location determining program for determining the locations of resources (e.g., R1a, R100a, etc.) within facility 10. Furthermore, controller 38 runs programs to identify process information as a function of resource locations and provides process information for configuring resources as indicated above and described in greater detail below.
Controller 38 is linked via two-way data bus 42 to data base 40. Controller programs are stored in database 40. In addition, data generated by controller 38 is stored in database 40 and can be accessed to allow examination of historical resource operating characteristics, real time operating characteristics and any other data generated by algorithms performed by controller 38.
Referring still to FIG. 1a, each information access point 11 includes a two-way wireless transceiver that, as well known in the computer arts, is capable of transmitting and receiving electromagnetic (e.g., radio or infrared) signals within an area proximate the transceiver. Wireless transceivers like access points 11 are well known in the industry and therefore, in the interest of simplifying this explanation, will not be described here in detail. For the purposes of the present invention, it should suffice to say that each transceiver 11 transmits information signals, which decrease in strength as distances from the transceiver increase. In the illustrated example, six separate access points 11 are provided within area 14 and are generally equi-spaced within area 14. Typically, access points 11 will be mounted on the ceiling within an area 14 to allow relatively unobstructed communication between an access point 11 and other devices that communicate therewith. While access points 11 are illustrated as being substantially equi-spaced within area 14, it should be appreciated that other access point arrangements are contemplated and that, in many cases, other access point arrangements may be most suitable given specific resource layouts, the physical characteristics of each resource and likely machine zone and process zone layouts (described below).
Controller 38 is linked to each access point 11 via a two-way data bus 36 which allows controller 38 to receive information from the access points 11 and also allows controller 38 to provide information to each of the access points 11 for transmission within area 14. Information received from each access point 11 is typically tagged by the access point so that controller 38 can determine which access point 11 provided the received information. This tagging may either be performed by access point 11 earmarking data packets with an access point identifier (e.g., an access point number) or, in the alternative, may be facilitated by simply providing separate hardwires from each of the access points 11 to the controller 38. In a similar fashion, controller 38 and access points 11 are configured such that controller 38 can address information to each separate and specific access point 11.
Referring still to FIG. 1a, in at least some embodiments of the invention each of the mobile resources (e.g., R100a, R100b, R101a and perhaps some if not all of the rectilinearly illustrated sources) is equipped with a wireless transmitter (e.g., a wireless resource device (WRD)) that can wirelessly transmit information via electromagnetic communication or some other suitable wireless communication medium. Thus, generally, each mobile resource transmitter is equipped to communicate with any access point 11 in area 14.
It should be appreciated that, while the illustrated area 14 is relatively small, many industrial facilities may include much larger spaces such as, for instance, spaces including tens of thousands of square feet. In these cases, it is contemplated that the transmitting distance of a typical transmitter will be insufficient to transmit information to all access points within a facility. In other words, while a transmitter may be able to communicate with each access point 11 within a facility, communication will be limited by signal strength capabilities and reliable transmissions will require a transmitter proximate access points.
Referring yet again to FIG. 1a, according to at least one embodiment of the present invention, sub-spaces within area 14 are earmarked or identified as process zones associated with each of the separate machine sub-sets 24, 26 and 28. For instance, a space labeled PZ1d surrounding sub-set 24 is referred to hereinafter as the process zone associated with machine sub-set 24. Other labeled process zones in FIG. 1a include zones PZ2d and PZ3d associated with machine sub-sets 26 and 28, respectively. Each process zone corresponds to a sub-region within area 14 in which, when a resource is present, there is a high probability that the resource will be added to the sub-set of resources associated with the process zone to either enable an automated process to be performed, enhance an automated process or at least provide one additional resource required for a process to be performed. Thus, for instance, when each of resources R100a and R100b is outside process zone PZ1d, it is just as likely, based solely on location, that either of resources R100a or R100b will be combined with resource sub-set 24 to add process functionality. However, if resource R100a is moved into process zone PZ1d and resource R100b remains outside zone PZ1d, again, based solely on resource locations, it is relatively more likely that resource R100a as opposed to resource R100b will be combined with sub-set 24 to facilitate an automated process.
As indicated above, in at least some embodiments of the invention, it is contemplated that all of the resources that comprise a resource sub-set required to perform a process may be mobile. In these cases, it should be appreciated that the process zones will not be static but instead will be dynamic in the sense that the process zone areas will depend upon where resources are gathered to perform a process. For instance, in FIG. 1a, if resource sub-set 24 were gathered in a space near the bottom of facility 10 as illustrated (e.g., in the space occupied by sub-set 28 as illustrated), zone PZ1d would include a space similar to zone PZ3d near the bottom of facility space 14 as illustrated.
The "d" qualifier (e.g., PZ1d) included in each process zone label in FIG. 1a is used to indicate that a process (e.g., P1) associated with the zone has been "tied" to a specific facility location such that the boundaries of the specific process zone have been unambiguously designated. Thus, for example, while a zone PZ1 may be associated with a process P1 performed by a resource sub-set including resources R1a, R2c, R3, R4 and R5a, until the process P1 is associated with a specific facility location, the specific boundaries of zone PZ1 within facility 10 cannot be designated.
In other embodiments a facility may be pre-divided into separate process zones chosen to accommodate resource sub-sets. Thus, for instance, as in FIG. 1a, facility 10 may include three pre-defined or pre-designated process zones PZ1d, PZ2d and PZ3d within space 14. Larger facilities would likely include many (e.g., several hundred) different predefined process zones. In still other embodiments some facilities may include both predefined process zones and the capability to define dynamic process zones to accommodate mobile resources.
To minimize operator confusion, in at least one embodiment of the invention, adjacent process zones do not overlap. For example, the process zones corresponding to adjacent sub-sets 24 and 26 do not overlap. To further minimize the possibility of confusion, buffer zones or regions may be provided between process zones so that zones can be clearly distinguished from each other.
In some embodiments of the invention the process zones may be hysteretic such that, once a resource has been brought into the zone and associated with a specific sub-set of resources being configured to perform a specific process, the process zone space is expanded so that the resource can be more easily moved about the sub-set of resources without being taken out of the process zone to arrange the resource sub-set in a suitable juxtaposition. This hysteretic feature is particularly advantageous in cases where facility resources are rather cramped as the process zones may have to be restricted to relatively small spaces about associated resource sub-sets.
In at least some embodiments of the invention no physical markers are provided within area 14 to distinguish process zones and instead the zones are earmarked electronically on a facility map that resembles the schematic of FIG. 1a and that is stored in database 40 for access by controller 38. Where all of the resources to be combined to perform a process are mobile, process zones are determinable by controller 38 once a process is associated with a specific facility location. For instance, assume that a first resource R1a is located as illustrated in FIG. 1a but that all of the other resources adjacent thereto are not yet within zone PZ1d. Here, until resource R1a has been associated with the first process, when resource R2c is proximate resource R1a, there will be no association of the two resources for performing the first process P1. However, once the first process is associated with resource R1a, a zone PZ1d including resource R1a is designated and the process of monitoring for instances of resources M2, R3, R4 and M5 within zone PZ1d can commence.
Where process zones are pre-defined within a facility physical markers may be provided within facility 10 to aid operators in efforts to position mobile resources within facility 10. For instance, tape or paint may be provided on a facility floor to earmark process zone boundaries.
While there may be a most suitable or optimal process zone for a specific resource sub-set, in some embodiments of the invention, process zones selected by controller 38 will be a function of facility layout and other already existing process zones. For instance, referring again to FIG. 1a, assume that resources R1a, R2c, R3, R4 and R5a are all located proximate each other and that the resources in sub-sets 26 and 28 are not present within facility 10. In this case, process zone PZ1 d associated with sub-set 24 may be expanded to include more space than illustrated (e.g., may include entire space 14). As another instance, if an operator brings an additional machine into facility 10 and associates the additional resource with a third process, process zones PZ1d, PZ2d and PZ3d illustrated in FIG. 1a may have to be altered to accommodate the additional resource and associated process.
In at least some embodiments process zones will change as a function of the number of resources located within the zones. For instance, referring again to FIG. 1a, assume that first process P1 has been associated with resource R1a and that, initially, only resources R1a and R2c of sub-set 24 are located proximate each other. Here, zone PZ1d may initially be much smaller than illustrated and include a space more proximate resources R1a and R2c. When resource R3 is retrieved and positioned proximate resources R1a and R2c, the initial process zone may be made larger to accommodate the additional resource and other resources to be added together to configure sub-set 24. This process of enlarging the process zone as a function of proximate related resources may continue until the entire resource sub-set has been configured.
In some embodiments process zones will also be a function of the characteristics of the instances of each resource type. In this regard, referring again to FIG. 1a, while each of sub-sets 24 and 26 includes instances of resource types R1 through R5, resource R5a may be much larger than resource R5b and therefore, as illustrated, zone PZ1d may be larger than zone PZ2d.
In some cases it is contemplated that, once a resource sub-set has been completely configured to perform an automated process, the process zone may be entirely eliminated for the specific sub-set. Here, when one process zone is eliminated, adjacent process zones may be expanded to facilitate positioning of resources in the other zones for providing information related thereto.
Generally, referring still to FIG. 1a, when a resource is located within facility 10 and its transmitter is turned on, controller 38, access points 11 and the resource transmitter cooperate to determine resource location within facility 10. Once resource location has been determined, controller 38 accesses the facility map (e.g., a map akin to the FIG. 1a schematic) in database 40 and determines if the resource is within one of the process zones corresponding to or associated with a specific automated process. If a resource is within a process specific zone, controller 38 accesses process information corresponding to the specific resource and associated zone and provides that information in whatever form is appropriate given the way in which the information is to be used. Thereafter the information is used to configure the resource and, perhaps, other resources in the process zone to perform an associated process.
Referring now to FIGS. 2a and 2b, an exemplary wireless resource device (WRD) 30 is illustrated. WRD 30 includes, generally, a plurality of components that are mounted within a hardened plastic or metallic housing identified by numeral 32. Housing 32 is in turn mounted (e.g., bolted to, glued, etc.) to an associated resource (not illustrated in FIG. 2a). In at least one embodiment, WRD 30 components include a processor 71, a memory 69 and a transmitter 48. Processor 71 is linked to each of the transmitter 48 and memory 69. In at least some embodiments processor 71 is programmed to periodically transmit some type of resource identifier stored in memory 69 from transmitter 48 to controller 38 (see again FIG. 1a) via access points 11 which can be used to determine location of an associated resource.
In other embodiments, as illustrated in FIG. 2b, transmitter 48 may be replaced with a transceiver 48 that can both transmit information to access points 11 and receive information from access points 11. In this case, a location determining program may be stored in memory 69 and the system may be programmed so that controller 38 periodically transmits signals from access points 11 to WRD 30. The WRD processor 71 may run a location determining program using the signals received from the access points 11 to identify WRD location and hence the location of the machine associated with the WRD 30. WRD 30 may then be equipped to transmit its location back to controller 38 via access points 11.
As another alternative, in embodiments where facility process zones are pre-defined, a map of the pre-defined zones may be stored in WRD memory 69 so that WRD 30 can determine if WRD 30 is located within a process zone and, when WRD 30 is in a process zone, WRD may transmit a signal indicating the process zone to controller 38. Where process zones are not fixed and instead are altered by controller 38 (e.g., as a function of proximity of other facility processes), the step of determining if a WRD is in a process zone is, in some embodiments, performed by controller 38.
Referring still to FIG. 2b, where WRD 30 includes a transceiver 48, WRD 30 may also include one or both of an audio indicator 51 (e.g., a speaker) and a visual indicator 50 (e.g., an LED) linked to processor 71. Here it is contemplated that the indicators 50, 51 may be used to provide some indication to a facility operator when a resource including a WRD 30 is located within a process zone, when an automated configuration process is commenced, when a resource is in a suitable juxtaposition with respect to other resources with which the resource is to be configured, etc. For example, when a WID is located in a specific process zone, controller 38 may transmit a signal to WRD 30 causing processor 71 to issue a short beep via speaker 51 or to illuminate an LED 50 for a short time or both. Once alerted to location, a system operator can take whatever steps may be necessary to configure resource sub-sets. This feature can reduce the amount of zone hunting that may occur as an operator searches for process zones.
Referring now to FIG. 3, an exemplary automated process specification (APS) 200 that may be stored in database 40 (see again FIG. 1a) for use by controller 38 in designating process zones and identifying process information required to configure resource sub-sets to perform facility processes is illustrated. APS 200 includes several columns of information. It should be appreciated that many of the columns of information illustrated may be combined in a simplified APS and that the information has been broken out into columns to highlight various aspects of the present invention. For instance, program code in column 214 may include specification required to drive an interface and hence column 212 information may be folded into code column 214 in some embodiments. Similarly information in each of columns 210, 216, 218 and 202 may be combined with information in column 214 in some application.
Exemplary APS 200 includes information to support many different aspects of the present invention. Many of the inventive embodiments will only use a portion or sub-set of the information in APS 200 while other embodiments may use all of the information in APS 200. An APS may include information in addition to the information illustrated in exemplary 200 to support other information providing aspects of the invention that may not be described herein. Thus, it should be appreciated that APS 200 is not meant to be exhaustive. Exemplary APS 200 includes nine separate columns including a process column 204, a resources present column 206, a physical specification column 208, a commissioning procedure column 210, an interface specification column 212, a program code column 214, an affirmation required column 216, a machine zone column 218 and a process zone column 202.
Process column 204, as its label implies, includes a list of specific automated facility processes. For instance, process P1 may be a PCB manufacturing process for assembling a first type of PCB product, process P2 may be a PCB inspection process designed to identify product flaws and so on. Many other associated processes are contemplated and each would be listed in column 204.
Resources present column 206 includes separate sub-columns for each resource type required in a resource sub-set to perform an associated process in column 204. For example, referring also to FIG. 1a, to perform the first process P1 associated with resource sub-set 24, in the present example, it is assumed that instances of each of resource types R1, R2, R3, R4, R5 and R100 are required. Thus, the portion of resources present column 206 corresponding to associated process P1 in column 204 includes six separate resource type columns labeled R1, R2, R3, R4, R5 and R100.
The portion of resources present column 206 corresponding to each associated process in column 204 includes a matrix of all possible combinations of different instances of the resource types that may be combined to perform the associated process. For example, with respect to associated process P1, assuming that there are two different instances of resource type R1 including resources R1a and R1b that can be combined with instances of each of resources R2, R3, R4, R5 and R100 to perform process P1, the matrix in column 206 corresponding to associated process P1 in column 204 includes resource sub-sets that include resource instance R1a and resource instance R1b. Similar comments are applicable to each of resource types R2, R5, and R100 as it has been assumed that there is more than a single instance of each of those resource types that may be combined with other resources to perform associated process P1.
A "-" indicator in any of the resource columns indicates that there is only a single instance of that type of resource or that, from a controls perspective, there is no distinction between the instances of the specific resource type when used to perform the associated process. For example, the "-" in row 220 under resource type column R3 indicates that there is only one instance of resource R3 that may be used within facility 10 or that the characteristics of the instance of resource type R3 selected to configure the sub-set are irrelevant from a control perspective.
Thus, one sub-set of resources identified in column 206 that may perform the associated process P1 in column 204 and that corresponds to row 220 includes resources R1a, R2a, R3, R4, R5a and R100a. A second resource sub-set corresponding to sub-set 24 in FIG. 1a is identified by row 226 in resource present column 206 while a third resource sub-set corresponding to sub-set 26 in FIG. 1a is identified by row 227 in column 206.
Referring still to FIG. 3 and also again to FIG. 1a, the matrix in row 206 corresponding to the second process P2 includes only five resource type columns R1, R2, R6, R7 and R101 in resource present column 206 indicating that only five resources are required to perform associated process P2 in column 204. Many other machine combinations are contemplated and would be indicated in resources present column 206.
Physical specification column 208 includes one or more specifications of machine juxtapositions and/or input and output (I/O) linkage requirements for each of the sub-sets of resources specified in resources present column 206. For example, referring again to row 226, where resources R1a, R2c, R3, R4, R5a and R100b are within a process zone, column 208 indicates a specific machine juxtaposition J2 to configure the resources present to perform associated process P1 in column 204. Similarly, column 208 indicates juxtaposition J1 when the resource sub-set corresponding to row 227 is within a zone associated with process P1.
Juxtaposition may simply correspond to a specific order of resources that operate in a sequential fashion or, in the alternative, may include clustering of resources in specific configurations required to perform associated processes. Although not separately indicated in column 208, column 208 may also include complete I/O specifications indicating how different resources in the resource sub-sets identified in column 206 are to be linked to a controller backplane, to each other etc., to provide required communication between the controller (e.g., 38 in FIG. 1a) and each of the sub-set resources.
The physical specifications 208 may be provided in any of several different ways. In at least one embodiment of the invention, where at least one of the sub-set resources includes an interface (see R4 in FIG. 1a), the physical specification may include an actual schematic image similar to the resource schematics illustrated in FIG. 1a that spatially identifies where sub-set resources should be located with respect to each other. Similarly, the I/O specification in column 208 may visually indicate how different resource input and output ports are to be linked to backplane input and output ports. In the alternative, I/O specification may simply provide a listing of required I/O linkages, a tool with which most automated facility operators should be familiar.
In some embodiments of the invention controller 38, in conjunction with other system components, will be able to confirm juxtaposition and I/O linkages after an operator attempts to comply with the specifications provided pursuant to column 208. Where the controller 38 is capable of confirming juxtaposition and I/O linkages and those specifications have not been suitably met, in at least some embodiments of the invention it is contemplated that controller 38 will provide some type of feedback to a system operator to indicate that resource position and/or I/O linkage requirements have not been achieved.
Referring still to column 208 of FIG. 3, in some embodiments of the invention, for at least some of the resource sub-sets listed in column 206, physical specification column 208 may list two or more specifications that are suitable for the specific sub-set to perform the associated process in column 204. For instance, for the resource sub-set corresponding to row 226 and including resources R1a, R2c, R3, R4, R5a and R100a, column 208 includes two different physical specifications including specification J2 and specification J13 (see 221). Referring to FIG. 1b, second resource sub-set 26 in FIG. 1a is illustrated with resource R100b in a first juxtaposition with respect to the other sub-set resources. The juxtaposition of FIG. 1b should be contrasted with the juxtaposition of FIG. 1c where resource R100a is in a second relative position with respect to the other sub-set resources. Among other things, FIGS. 1b and 1c are illustrative of multiple suitable juxtapositions for a single resource sub-set.
Where multiple juxtapositions are suitable, it is contemplated that, in at least some embodiments of the invention, controller 38 will provide a choice of resource juxtapositions to a system operator and allow the operator to select which of the juxtapositions is appropriate. In this regard, it may be that an operator has access to information which renders one of a plurality of resource juxtapositions more suitable than other possible juxtapositions. For example, a system operator may know that a second machine line will be constructed adjacent a first machine line in the near future and may also know that one of the possible juxtaposition options is better than the other option given the likely location of the second machine line.
As well known in automated controls, often, when a group of resources are combined to perform an automated process, a commissioning procedure may have to be performed to either provide specific information to a system controller (e.g., 38 in FIG. 1a) required to run the process or to test the process to make sure that the resources are suitably sequenced and controlled to provide the desired end result. In this regard, the commissioning procedure typically depends upon the types of resources that are combined to perform the process including the types of sensors and actuators used, the sequences performed, the relative juxtapositions of the resources and so on.
Referring again to FIG. 3 and, more specifically to column 210, commissioning procedures column 210, as its label implies, includes, for at least some of the process/sub-set physical specification combinations in column 204, 206, and 208, a separate commissioning procedure. Thus, commissioning procedure C1 corresponds to the process/sub-set/physical specification combination in row 220, commissioning procedure C5 corresponds to the combination in row 226, and so on. An "N" indicator in column 210 indicates that there is no commissioning procedure required for an associated process/sub-set/physical specification combination.
Exemplary commissioning procedures may require a system operator to input specific rated operating characteristics of the resource sub-sets in column 206, may require performance of actual resource sequences to derive operating characteristics, may require specific resource sequences that have been selected as being representative of whether or not a resource or group of resources are operating properly, may require entry of information related to characteristics of raw materials employed by sub-set resources, etc. As in the case of the physical specifications, the commissioning procedures in column 210 may include interaction with the system operator via some type of resource interface and here, it is contemplated that procedure 210 specifies how to interface with the operator (e.g., provides an interface type specification for carrying out the commissioning procedure).
During machine operations, often it is advantageous to allow a system operator to interact in some fashion with the machines that are performing the process. In this regard, the machine operator may wish to alter resource operations or, in the alternative may wish to simply monitor resource operation as a process is being performed by observing resource operating characteristics via an interface or the like.
Referring once again to FIG. 3 and specifically to column 212, interface specification column 212 includes a separate interface specification for each of the process/sub-set/physical specification combinations in columns 204, 206 and 208. Thus, for instance, interface specification I1 corresponds to the combination associated with row 220, interface specification 15 corresponds to the combination of row 226, and so on.
The programs run by controller 38 to perform a facility process will depend on the sub-set of resources combined to perform the specific process. For example, referring again to FIG. 1a, while the same process P1 is performed by each of resource sub-sets 24 and 26, because different instances of resource type R1 (i.e., R1a and R1b) are included in each of the resource sub-sets 24 and 26, respectively, the programs run by controller 38 to perform each of the processes may be different.
Referring still to FIG. 3, program code column 214 includes a separate controller program for each one of the process/sub-set/physical specification combinations in columns 204, 206 and 208. For example, a program PC1 in column 214 corresponds to the row 220 combination, program PC2 corresponds to the row 226 combination and program PC7 corresponds to the row 227 combination. Many different programs are contemplated.
As indicated above, in some cases, instead of automatically using information to configure a sub-set of resources to perform a process, controller 38 may provide a system operator with the option to configure a resource sub-set to avoid unintended automatic configuration. Referring to FIG. 3, column 216 includes indicators that can be used to identify when operator affirmation is required prior to resource configuration. In column 216 a "Y" indicator indicates that operator affirmation prior to automatic configuration is required whereas an "N" indicator indicates that affirmation is not required. Thus, for example, referring again to row 220, when each of resources R1a, R2a, R3, R4, R5a and R100a is present within a zone associated with process P1 and, assuming controller 38 performs at least some automatic programming or configuration of the sub-set of resources in column 206 when those resources are present, the "Y" indicator in column 216 indicates that controller 38 will require the system operator to affirm that the automated portion of the configuring process be performed. Confirmation that a process should be performed can be supported in any of several different ways including, but not limited to, providing an indication that confirmation is required via a system interface.
In some cases the present invention may be used with a portable wireless information device (WID) that may be used by a system operator to obtain process information as described above, to perform commissioning procedures, to receive physical resource specifications, to provide configuration affirmation and to perform any other type of configuration interfacing process required. In addition, it is contemplated that a WID may also be used during resource operation to either monitor resource operating parameters and/or to control resource operations in a wireless fashion.
When either accessing resource information or controlling resource operation, it is contemplated that in at least some embodiments of the invention the information access and resource control capabilities should be restricted to zones that are proximate the resources being monitored or controlled. For example, referring once again to FIG. 1a, a first machine zone MZ1d corresponding to resource R5a is illustrated and includes the space adjacent one end of resource R5a. Similarly, a second machine zone MZ2d corresponding to the entire resource sub-set 26 is illustrated which includes space that essentially surrounds all of the resources in sub-set 26. A third illustrated machine zone MZ3d includes a space around machine sub-set 28. When a WID is located within machine zone MZ1d, it is contemplated that the WID operator is able access information corresponding to resource R5a or control resource R5a. Similarly, when a WID is located within machine zone MZ2d, it is contemplated that a WID operator is able to either access information from or control any of the resources in sub-set 26 and so on.
In at least some embodiments of the invention it is contemplated that some automated processes may be able to be performed by less than an optimal number of resources. For example, referring once again to FIG. 1a, it may be that first process P1 can be performed without any instance of resource type R100 or, in a more optimal fashion, with an instance of resource R100. In this case, the machine zone corresponding to the less optimal resource sub-set including resources R1b, R2a, R3, R4 and R5b may be different than the machine zone corresponding to the sub-set that includes an instance of resource R100a. Referring also to FIG. 1b, a modified machine zone MZ2d′ is illustrated that is associated with the optimal resource sub-set including resource R100a where modified zone MZ2d′ is different than the initial zone MZ2d (see again FIG. 1a).
In addition, referring again to FIG. 3, where more than one physical specification corresponds to each resource sub-set in column 206, there may be different machine zones corresponding to each of the different juxtapositions. In this regard, comparing FIGS. 1b and 1c, where resources R100a is located in different juxtapositions with respect to the other sub-set resources, the machine zones MZ2d′ and MZ2d", respectively, are different.
Moreover, when a resource is added to an existing sub-set of resources, it may be appropriate to provide a separate machine zone for the added resource and may also be appropriate to alter the existing machine zones corresponding to the initial sub-set of resources. In this regard, referring to FIG. 1d, in at least some embodiments, when a resource R100a is added to an existing sub-set, the machine zone MZ2d may be altered to provide a modified machine zone MZ2d′" and an additional machine zone MZXd corresponding to the added resource R100a may be provided adjacent resource R100a. In the figures a "d" qualifier after a machine zone label indicates a designated machine zone tied to a specific facility location.
Referring still to FIG. 3, as its label implies, machine zone column 218 includes a separate machine zone specification corresponding to each of the process/sub-set/physical specification combinations identified in columns 204, 206 and 208. For instance, machine zone specification MZ1 corresponds to the combination associated with row 220 while machine zone specification MZ4 corresponds to the combination in row 226 and so on. Here, the machine zone specifications include algorithms that can be used to identify machine zones required for specific process/sub-set/physical specification combinations in columns 204, 206 and 208. Thus, referring once again to FIG. 1a, where resource sub-set 24 is configured relative to facility walls 12 as illustrated, machine zone MZ1d may be specified as illustrated. However, if resource sub-set 24 were configured near the bottom of facility 10 as illustrated (i.e., in the space occupied by resource sub-set 28 as illustrated), the machine zone MZ1d would be specified in a different location near the bottom of facility 10 as illustrated but in the same relative juxtaposition with respect to the resources in resource sub-set 24. As another instance, referring again to FIGS. 1c and 1d, where a system user is provided with two different possible physical specifications for combining mobile resource R100a, the machine zones MZ2d" or MZ2d′" and MZXd may be identified via the corresponding machine zone specification. While only simple machine zone algorithms are described here it should be recognized that other far more complex algorithms are contemplated that may alter machine zone sizes, shapes and relative juxtapositions as a function of various factors including but not limited to the number of resources combined to perform a process, resources types, relative juxtapositions, control and monitoring capabilities, etc.
Referring still to FIG. 3, process zone column 202, as its label implies, indicates process zones associated with each process/sub-set/physical specification combination in columns 204, 206 and 208. For instance, when the process/sub-set/physical specification combination of row 226 occurs, process zone PZ1 is identified in column 202, when the combination of row 227 occurs process zone PZ2 is identified in column 202 and so on. Unlike the zones earmarked in FIG. 1a, zones in column 202 do not include a "d" qualifier. This is because the zones in column 202 simply define zone boundaries relative to process and/or resource sub-sets that have not yet been "tied" to a specific facility location. Hereinafter, to distinguish column 202 process zones from designated zones (i.e., zones ties to specific facility locations), column 202 process zones will be referred to as generic process zones.
In some embodiments it is contemplated that controller 38 runs a process zone algorithm to identify suitable process zones given whatever zone related criteria have already been specified or is already available. For instance, referring again to FIG. 3, assume that initially only resource R1b is associated with first process P1. Here the optimal generic process zone for use with the full compliment of resources that will eventually comprise the resource sub-set combination assembled to perform process P1 will not be determinable because which instances of resource types R2, R5 and R100 will be included in the sub-set cannot be ascertained. In this case, controller 38 may be programmed to simply select the first generic process zone in column 202 that is associated with the resources currently present. In the present example, controller 38 selects process zone PZ6 (see row 229). Once process zone PZ6 is identified, controller 38 designates a zone PZ6d (not illustrated) about resource R1b for use in identifying additional resources to combine to perform process P1.
As other required resources are brought into the process zone, zone PZ6d may be replaced with a more suitable zone. For instance, where a resource R5b is next brought into zone PZ6d, controller 38 may select the zone in column 202 associated with the first resource sub-set in column 206 that includes each of resources R1b and R5b (i.e., zone PZ2 corresponding to row 227) and may then designate new zone PZ2d (see FIG. 1a). Thus, the zone refining process would continue until all required resources are present. Eventually, as additional resources are added to round out the required sub-set, controller 38 alters the process zone accordingly.
Other relatively simple process zone specifications may be employed in some inventive embodiments. For instance, a single size process zone may be specified for all resource sub-sets or two or three different process zone sizes may be specified to generally accommodate differently configured resource sub-sets.
Referring yet again to FIG. 3, where more than one physical specification is identified in column 208 for a process/sub-set combination in columns 204 and 206, it is contemplated that each of columns 210, 212, 214, 216, 218 and 220 may also include different information for each physical specification. For instance, rows 226 and 221 include different information for each of physical specifications J2 and J13.
B. Exemplary Methods
Hereinafter, unless indicated otherwise, the invention will be described in the context of an exercise to configure the resource sub-set 26 in FIG. 1a to perform process P1. In addition, it will be assumed that some of the resource sub-sets in facility 10 have already been configured and are performing their associated processes. Processes being performed will be referred to as "enabled processes" while processes for which additional resources are required will be referred to as "non-enabled processes."
Referring now to FIG. 4, one method 100 for facilitating resource configuration to perform a process is illustrated. Referring also to FIGS. 1a, 2a, 2b and 3, at process block 102, an APS like APS 200 illustrated in FIG. 3 is specified and stored in database 40 for access by controller 38.
At block 105 at least one of the sub-set 26 resources is associated with process P1. For example, a system operator may plug interface R4 into a backplane input port linked to controller 38 via bus 34 and indicate via the interface that the operator wishes to configure a sub-set of resources to perform process P1. At block 103 controller 38 determines the location of the resource associated with process P1.
At block 107, controller 38 uses the process zone specification in column 202 to identify a process zone for process P1 that is positioned as a function of the location of the associated resource. As indicated above, where less than all required resources for performing an associated process are present, controller 38 may select as a default process zone the first generic process zone in column 202 that is consistent with the instances of the resources present. Thus, where only interface R4 is present controller 38 selects process zone PZ1 (see row 220 in FIG. 3). Where instances R1b, R2a and R5b are present (e.g., row 227), controller 38 selects process zone PZ2. Other algorithms for selecting default intermediate process zones are contemplated. Once a generic process zone has been selected controller 38 designates boundaries of the zone as a function of the location of the associated resource. Hereinafter it will be assumed that process zone PZ2d in FIG. 1a has been designated.
Next, at block 104, with a plurality of resources inside facility 10, controller 38 monitors resource locations. At block 106 controller 38 determines, for each non-enabled process, whether or not there are instances of each required resource type in an associated process zone. In this regard, referring again to FIG. 3, for example, assuming process P1 associated with zone PZ2d has not yet been enabled, at block 106 controller 38 determines whether or not at least one instance of each of resources R1, R23, R3, R4, R5 and R100 is located within zone PZ2d. Where one or more of the required resource types is not located within zone PZ2d, control passes back up to block 104 where controller 38 continues to monitor resource locations. Where at least one instance of each of resources R1-R5 and R100 is located within zone PZ2d, control passes from block 106 to block 108. At block 108, controller 38 accesses APS 200 for the resource sub-set present within zone PZ2d. Thus, for example, assuming that the resources corresponding to row 227 (i.e., resources R1b, R2a, R3, R4, R5b and R100a) are present in zone PZ2d controller 38 access associated information in columns 208, 210, 212, 214, 216 and/or 218 of APS 200 at block 108.
It should be noted that the condition of block 106 likely would not be required in most embodiments of the invention and instead, as resources required to perform a process are brought into a process zone associated with the process, the controller 38 would provide information useable to configure the additional resource. This aspect of the invention is more consistent with typical configuration procedures where resources are brought to the configuration location and configured in small sets. Nevertheless, the fiction represented by decision block 106 is used here to simplify the present explanation.
Continuing, at block 110 in FIG. 4, after accessing APS information and providing that information, the resource sub-set in zone PZ2d is configured. As indicated above, configuration may be manual, automatic or may include both manual and automatic aspects. In any case, the configuration process at block 110 includes configuring the sub-set of resources within zone PZ2d in a manner consistent with the APS process information. After the resources have been appropriately configured to perform the associated process, control passes to block 112 where the process is enabled prior to control passing back up to block 104 where the cycle is repeated.
The loop corresponding to blocks 106, 108, 110 and 112 is routinely performed for each non-enabled process within facility 10. Thus, for example, in FIG. 3, the FIG. 4 process is repeated for associated process P1 in each of process zones PZ1d and PZ2d in a parallel fashion while the loop is performed for process P2 in zone PZ3d (see row 228) and so on. Hence, the loop including blocks 106, 108, 110 and 112 may be at different stages of completion for each of the associated processes in column 204 of FIG. 3 at any given time.
Referring now to FIG. 5, consistent with the description above, one exemplary way to monitor resource location includes, where each resource includes a WRD 30, transmitting resource identifier signals at a specific and known signal strength to access points 11 proximate the WRD's at block 96. When an access point 11 receives a transmitted signal, the access point 11 identifies the signal strength and the WRD and packages those two bits of information along with an access point identifier and transmits this information packet via data bus 36 to controller 38. At block 98, controller 38 uses signal strengths and the access point identifiers to determine the location of the specific WRD and associated resource within facility 10.
Any of several different methods to determine WRD location using signal strength may be used. For instance, a signal triangulation method whereby the intersection of three access point signal strength circles is used to determine location may be employed. Other statistical methods of locating are also contemplated including those described in WO 02/054813 which in incorporated herein by reference for its teachings regarding location based algorithms. At block 98, after WRD 30 location has been precisely identified, controller 38 accesses the facility map in database 40 and determines in which, if any, machine zone the WRD 30 is located.
Referring now to FIG. 6, a sub-process for providing a system operator the opportunity to initiate a resource configuring procedure when required by column 216 in APS 200 is illustrated. Referring also to FIG. 4, after block 106, when at least one instance of each resource required to perform a process in column 204 is located within a process zone corresponding thereto in column 202, control passes from block 106 to block 114. At block 114, controller 38 determines whether or not process affirmation is required. In this regard, controller 38 accesses APS 200 and identifies the indicator in column 216 corresponding to the process/sub-set combination in columns 204 and 206. Where process affirmation is not required, control simply passes back to block 108 in FIG. 4 and the machine sub-set is configured in a manner consistent with the APS information in columns 208, 210, 212, 214, 218 and 200.
In the present example, process affirmation is required in column 216 when the process/sub-set/juxtaposition specification corresponding to row 227 occurs and hence, from block 114, control passes to block 116 where a query is provided to the system operator requiring an affirmative indication that the configuration process should begin. Here, where one of the resources includes an interface (e.g., R4) a simple screen shot provided via the interface may indicate to the operator that all of the resources required to perform the associated process in column 204 are within process zone PZ2d and request that the operator either select a "configure" icon or a "no configure" icon. The icons may be selectable via a mouse controlled cursor, a touch screen, or in any other manner known in the computing arts.
WRDs may be provided with some type of input devices to facilitate at least some minimal interfacing capabilities. For instance, referring again to FIGS. 2a and 2b, rudimentary selection buttons 53 may be provided on each WRD 30 for opting to configure or not configure resources to perform an associated process. Buttons 53 are linked to processor 71 which transmits a selected option to controller 38.
If one of the machines required to perform the process is removed from the process zone PZ2d, this may be taken as an affirmative request not to perform configuration. In any event, at block 118, if configuration is affirmed, control passes back to block 108 in FIG. 4. If affirmation is not provided, control passes back up to block 104 in FIG. 4 where machine locations are again monitored.
Referring now to FIG. 7, an exemplary configuration sub-process which may comprise blocks 108 and 110 in FIG. 4 is illustrated. To this end, referring also to FIG. 1a, it will be assumed that initially resources R1b, R2a, R3, R4 and R5b are all present within second process zone PZ2d and have not yet been configured to perform process P1. Consistent with the above description it will also be assumed that resource R4 is an interface for providing information to and receiving information from an operator. Moreover, it will be assumed that mobile resource R100a is brought into process zone PZ2d.
Referring now to FIG. 4 and also to FIG. 7, at block 106 in FIG. 4, after controller 38 determines that instances of each required resource type R1 through R5 and R100 are within process zone PZ2d as required by APS 200, control passes to block 120 in FIG. 7. At block 120, controller 38 accesses APS 200 to identify the physical specification in column 208 corresponding to the sub-set of resources including resources R1b R2a, R3, R4, R5b and R100a and indicates both the juxtaposition and I/O mapping requirements. Here, interface R4 is used to provide the juxtaposition and I/O requirements.
Referring also to FIG. 8, an exemplary screen shot 280 for providing juxtaposition and I/O mapping information is illustrated which includes an instruction box 282, a juxtaposition map 284 and an I/O mapping table 286. Instruction box 282 generally instructs a system operator to arrange the resource sub-set as illustrated in the juxtaposition map 284 and to hook up the resources as indicated by the I/O mapping information presented in table 286. In this example, it is assumed that controller 38 and access points 11 can determine when the resource sub-set is in the required juxtaposition and hence when the juxtaposition criteria has been met. In addition, because controller 38 is directly linked to the back plane to which each of the resources in the sub-set is connected via I/O linkages, it is also assumed that controller 38 can determine when a particular resource has been linked to a particular input or output of the back plane and hence when the I/O mapping criteria has been met.
At block 122, controller 38 determines whether or not the juxtaposition and I/O criteria have been met. When the criteria have not been met, control passes from block 122 to back up the block 120 and screen shot 280 is continually providing via interface R4. Once the juxtaposition and I/O criteria have been met at block 122, the control passes to block 124. At block 124, controller 38 downloads the program code in column 214 of APS 200 that corresponds to the process/sub-set/physical specification combination in columns 204, 206 and 208. In the present example, the program code corresponding to the combination associated with row 227 includes PC7.
After block 124 control passes to block 128 where controller 38 accesses APS commissioning procedure column 210 to determine whether or not a commissioning procedure is required prior to enabling the resource sub-set in column 206 to perform the automated process P1. Where a commissioning procedure is not required, control passes to block 131 where machine zones for the machine sub-set 26 and/or the separate machines in the sub-set are identified.
Referring again to block 128, where controller 38 determines that a commissioning procedure is required, control passes to block 126 where the required commissioning procedure is downloaded to controller 38. In the present example, column 210 indicates that commissioning procedure C12 must be performed when the process/sub-set/physical specification combination of row 227 occurs and hence, commissioning procedure C12 is downloaded to controller 38 at block 126. Controller 38 performs the commissioning procedure C12 at block 130. Where the commissioning procedure requires some interaction (e.g., entry of rated values associated with resources, etc.) with a system operator, the commissioning procedure may include instructions to guide the operator through the manual process steps. Referring to FIG. 9, an exemplary commissioning procedure screen shot 290 is illustrated that controller 38 may provide via interface R4 pursuant to a commissioning specification. Shot 240 includes an instruction box 292 and a series of manual commissioning steps 294.
After block 130 control passes to block 131 where suitable machine zones for monitoring and control are identified. After machines zones have been identified, the zones are used at block 132 to generate or designate a machine zone map that is stored in database 40 for subsequent use by controller 38. From block 132 control passes back to block 112 in FIG. 4.
In at least some embodiments of the invention it is contemplated that, when an interface resource is provided within a process zone, controller 38 may operate in conjunction with interface R4 to provide guidance to a system operator in obtaining instances of resources required to perform associated processing. A sub-process which may be added to the process of FIG. 4 between blocks 106 and 104 to help a system operator obtain required resources is illustrated in FIG. 10. Referring also to FIG. 4, after block 106, if one or more required resource types are not represented within a process zone, control passes from block 106 to block 134 in FIG. 10. For instance, referring again to FIG. 1a, where each of resources R1b, R2a, R3, R4 and R5b are located within process zone PZ2d and no instance of resource type R100 is within zone PZ2d, control passes from block 106 to block 134. At block 134, controller 38 identifies the required resource type that is not located within the associated zone. In the present example, controller 38 identifies resource type R100. At block 136, controller indicates the required resource type not present within the zone to the system user via interface R4. In the present example, controller 38 indicates resource type R100 via interface R4. After block 136 control again passes to block 104 in FIG. 4.
In at least some embodiments of the invention, controller 38 may provide warnings when a sub-set of resources are not in a required juxtaposition for performing a specific automated process. An exemplary sub-process that may comprise block 122 in FIG. 7 for identifying incorrect resource juxtaposition and providing a warning to a system operator is illustrated in FIG. 11. Referring to also to FIG. 7, after controller 38 accesses the APS 200 for a particular process/sub-set combination and identifies a required resource juxtaposition at block 120, control passes to block 138 in FIG. 11. At block 138, controller 38 determines whether or not the sub-set of resources is juxtaposed in the configuration required by APS 200. Where juxtaposition is correct control passes to block 124 in FIG. 7 where further configuration steps (e.g., downloading program code, downloading a commissioning procedure, identifying machine zones, etc.) are performed by controller 38. Where resource juxtaposition is not correct at block 138, control passes to block 140 where incorrect juxtaposition is indicated.
Any of several different ways to indicate incorrect juxtaposition are contemplated. For instance, referring once again to FIG. 8, where a juxtaposition map 284 is provided via interface R4, all correctly juxtaposed resources may be provided in a first color while other resources which are incorrectly juxtaposed may be highlighted in a second color different from the first color. After block 140, control passes back to block 104 in FIG. 4 where resource locations are continually monitored until, eventually, the resources are correctly juxtaposed.
As described briefly above, in at least some embodiments of the present invention, it is contemplated that, for at least some processes performed within a facility, the processes may be performed by groups of resources including less than a full compliment of resources that can optimally perform the process. For example, referring again to FIG. 1a, the process P1 performed by the resources that comprise sub-set 26 may be able to be performed by resources R1b, R2a, R3, R4 and R5b in a less than optimal fashion or, in the alternative, may be performable in an optimal fashion by resources R1b, R2a, M2, R4, R5b and additional resource R100a (or any instance of resource type R100). In this case, the present invention contemplates a process whereby, when optimal processing can be performed by adding an additional resource to an already operating sub-set of resources, controller 38 initiates a reconfiguration of resources when the additional resource is brought into a process zone associated with the less than optimal set of resources.
Referring now to FIG. 12, a second APS 250 is illustrated which includes information arranged to support a process which may be performed by less than an optimal set of resources. APS 250 is similar to APS 200 in FIG. 3 in that APS 250 includes each of a process column 254, a resources present column 256, a physical specification column 258, a commissioning procedure column 260, an interface specification column 262, a program code column 264, an affirmation requirement column 266, a machine zone column 268 and a process zone column 250. Differences between APS 250 and APS 200 are generally two fold. First, APS 250 indicates, for at least some process/sub-set combinations in columns 254 and 256, that one or more of the resources are optional while other resources are required. For instance, in FIG. 12 an "r" qualifier following a resource column heading (e.g., R1r, R2r, etc.) indicates that an instance of the particular resource type is required to perform the associated process. Where no "r" qualifier is provided (e.g., R100), the resource type is optional. Thus, for instance, in the case of row 229 each of resource instances R1b, R2a, R3, R4 and R5b are required while instance R100a is optional.
Second, each of columns 258, 260, 262, 264, 268 and 252 includes two separate columns of specifications, one column labeled "r" corresponding to the required resources in column 256 and the other column labeled "o" corresponding to the resource set including the required and optional resources. Thus, for instance, referring again to FIGS. 1a and 12, where resources R1b, R2a, R3, R4 and R5b are present within a zone PZ2d associated with process P1 and resources R100a is not present, physical specification J8 may be appropriate. However, where resource R100a is brought into zone PZ2d, a different physical specification J1 may be required. FIG. 1e illustrates one exemplary different physical specification where each of resources R1b and R3 have to be moved to accommodate resource R100a. Similarly, when resource R100a is added to the less than optimal sub-set the commissioning procedure, interface specification, program code, machine zone and process zone may all be different as indicated in APS 250.
Other resource options and ways to specify those options are contemplated. For instance, more than one resource type may be optional in each or a subs-set of the resource sub-sets or, one resource type may be optional given a first sub-set of other resources but may be required given a second sub-set of other resources.
APS 250 is used in a manner similar to the manner described above with respect to APS 200 in FIG. 3 with slight modifications. To this end, referring also to FIG. 13, a sub-process which may be added to the process of FIG. 4 to automatically reconfigure a resource sub-set to accommodate an additional resource being added to optimize the process is illustrated. Referring also to FIG. 4, after block 104, control passes to block 150 in FIG. 13 where controller 38 accesses APS information for each enabled process. At block 152 controller 38 determines, for each enabled process, whether or not there is at least one instance of an optional non-configured resource type in an associated process zone. Where there is no instance of an optional non-configured resource type within a zone associated with an enabled process, control passes from block 152 back to block 106 in FIG. 4 where the bottom portion of process 100 in FIG. 4 is performed.
At block 152, where at least one optional non-configured resource type is within a process zone associated with an enabled process, control passes from block 152 to block 154. For instance, referring once again to FIG. 1a, assuming resources R1b, R2a, R3, R4 and R5b are initially configured and enabled and are operating to perform associated process P1, when resource R100a is brought into process zone PZ2d, consistent with row 229 in APS 250, controller 38 identifies resource R100a as one instance of an optional non-configured machine type and control passes to block 154.
At block 154, controller 38 accesses APS information for the associated process and machine set present within process zone PZ2d and reconfigures (or requires manual reconfiguration) the resource sub-set consistent with the APS 250 for the resource set including the resource R100a to be added. At block 156, after the resource sub-set has been configured, controller 38 controls the reconfigured sub-set to perform process P1.
Referring now to FIG. 14, a sub-process that may be added to the process of FIG. 13 to provide a system operator the option to reconfigure an enabled sub-set of resources when an optional resource is proximate the enabled sub-set is illustrated. Referring also to FIG. 13, at block 152, when there is at least one instance of an optional non-configured resource present in a process zone associated with an enabled process, control passes to block 158 where a system operator is queried via an interface of some type to determine if the user wishes to reconfigure the resources or have the controller 38 begin the reconfiguration process to add resource R100a to the other resources present. An exemplary query screen shot 170 is illustrated in FIG. 15 including an instruction box 172, selection icons 174 and 175 and a selection cursor 176 for selecting one of the icons 174 and 175. If re-configuration is not selected control passes to block 106 in FIG. 4. However, where reconfiguration is selected at block 160, control passes to block 154 in FIG. 13 where the reconfiguration process commences as described above.
While wireless access point type location determination has many advantages, other ways of determining resource location are also contemplated. For example, referring to FIG. 16, a sub-process for identifying machine location which may comprise block 104 in FIG. 4 is illustrated. In this regard, in facilities that do not include access points or some other type of hardware that supports wireless communication and location determination, control may p |