Within the framework of job management, the flow and association of data are meticulously structured to ensure consistency and traceability throughout the production process. The connectivity of data is outlined as follows:
- An Article is composed of multiple Parts.
- Items represent specific instances of an Article.
- Processes are defined abstractly.
- Processes are the tangible implementations of a process. For instance, if a wire requires both ends to be crimped, the job will have two distinct processes of the type 'Crimp,' each with its own identifier.
- Processes can reference corresponding elements in the ArticleSpec.
- Results are uniquely identified using the Process ID (ArticleID and JobID are also given in the result but are not sufficient to clearly assign the result to the corresponding processes or parts). This ensures precise allocation and traceability of outcomes.
Figure 11 illustrates the thoroughness of data, from a measurement result to a Contact Point within an Article:
- CP1 (Contact Point 1) and CP2 (Contact Point 2) are elements of a Part within the Article that need processing.
- Strip 1, Crimp 1, Cut 1, Strip 2, and Crimp 2 represent individual tasks to be performed, tied to their respective Crimp points.
- JOB Result: Results, such as 'Actual Crimp Height,' are the measurable outcomes from the execution of the job. Each result is linked back to the specific process instance, such as Crimp 1 or Crimp 2, ensuring that the measurement can be traced back to the corresponding action and Part within the Article.
The visualization of the process in the image underscores the seamless flow of data from the initial design of an Article through to the final measured result of a job. This integration is vital for maintaining the integrity of the manufacturing process, allowing for precise adjustments, quality control, and accountability across all stages of production. By establishing a clear linkage between Articles, jobs, process instances, and results, the system facilitates a robust and efficient manufacturing environment for wire harnesses.
Figure 11 – Article, JOB, and JOB Result Correlation
A Part in this Companion Specification is represented by a value of the 3:ISA95MaterialDataType which contains an entry in the Properties field. Table 15 lists all Parameters a needed by a Part element.
Table 15 – 3:ISA95MaterialDataType Parameters of a Part
ParameterName |
DataType |
Description |
VECPartVersion |
Contains the master data of the part. Only the ID of the 7:PartVersion is mandatory. The Values of Company, PartNumber, 7:PartVersion are optional. |
|
VECDocumentVersion |
7:DocumentVersion |
Contains the master data of the article. The field Specification contains important specifications for that part. The kind of specification depends on the process of the machine. |
The MaterialDefinitionID represents the part number, which must be unique within the company.
The MaterialClassID is restricted to the value range of the VEC 7:PrimaryPartType. The table contains the MaterialClassID (7:PrimaryPartType) for the different processes.
Table 16 – MaterialClassIDs used in this Companion Specification for Parts
Process |
MaterialClassID |
Cut |
Wire |
Strip |
Wire |
Seal |
CavitySeal, MultiCavitySeal |
Crimp |
Terminal, WireEndAccessory, PluggableTerminal, RingTerminal, WireEndAccessory, (SpliceTerminal, BoltTerminal, BridgeTerminal, OpenWireEndTerminal) |
The linkage between the 3:ISA95MaterialDataType and the VEC is established through the 7:PartVersion. The PartVersion.PartNumber must be the same as in MaterialDefinitionID.
The field Specification of the 7:DocumentVersions contains important specifications for the Part. The kind of specification depends on the processes of the machine. If a machine covers more than one process, all Specifications need to be implemented. Section 10.2 contains more information about the specification and the content which is needed.
Table 17 – Needed VEC Specifications for a Part
ProcessName |
Specifications |
Crimp |
WireSpecification/ |
Cut |
WireSpecification |
Seal |
WireSpecification/ |
Slit |
WireSpecification |
Strip |
WireSpecification |
It is recommended that only one entry is used for each Part. If the quantity of the Part is more than one, the Quantity field should be used.
An Article in this Companion Specification is represented by a value of the 3:ISA95MaterialDataType which contains an entry in the Properties field. Table 18 lists all Parameters needed by an Article element.
Table 18 – 3:ISA95MaterialDataType Parameters of an Article
ParameterName |
DataType |
Description |
VECPartVersion |
Contains the master data of the article. Only the ID of the 7:PartVersion is mandatory. The Values of Company, PartNumber, 7:PartVersion are optional. |
|
VECDocumentVersion |
7:DocumentVersion |
Contains the master data of the article. The field Specification contains important specifications for that article. The kind of specification depends on the process of the machine. |
Processes |
ProcessInputType[] |
Contains the information of which processes should be done to create the article. The SubTypes of the ProcessInputType can contain process parameters and monitoring flags. |
The MaterialDefinitionID represents the article number, which must be unique within the company.
The MaterialClassID is restricted to the value “PartStructure”.
The linkage between the 3:ISA95MaterialDataType and the VEC is established through the 7:PartVersion, where all attributes except for _id are optional.
Table 19 – Needed VEC Specifications and Roles for an Article
ProcessName |
Specifications |
Roles of the components in the CompositionSpecification |
Crimp |
PartStructureSpecification ContactingSpecification |
WireRole TerminalRole |
Cut |
CompositionSpecification PartStructureSpecification |
WireRole
|
Seal |
CompositionSpecification PartStructureSpecification |
WireRole CavityPartRole |
Slit |
CompositionSpecification PartStructureSpecification |
WireRole |
Strip |
CompositionSpecification PartStructureSpecification |
WireRole |
The details for the different Parts and Articles are described below.
The 3:ISA95JobOrderDataType fields defined in Table 20 must be used:
Table 20 – Mandatory fields of the ISA95JobOrderDataType
Name |
Type |
Description |
JobOrderID |
0:String |
An identification of the Job Order. |
JobOrderParameters |
3ISA95ParameterDataType[] |
Key value pairs, not associated with a resource, that are provided as part of the job order; may be empty if not specified. |
MaterialRequirements |
3:ISA95MaterialDataType[] |
A specification of any material requirements associated with the job order; may be empty if not specified.
Note: To comply with this Companion Specification, at least one material must be specified (including Article Specification and Quantity > 0), and the MaterialUse must be set to "material produced".
|
The following 3:ISA95JobOrderDataType fields defined in Table 23 may be used if the relevant information is available:
Table 21 – Recommended fields of the ISA95JobOrderDataType
Name |
Type |
Description |
PersonnelActuals |
3:ISA95PersonnelDataType[] |
A specification of any personnel actuals associated with the job response, may be empty if not specified. |
The 3:ISA95JobResponseDataType fields defined in Table 22 must be used:
Table 22 – Mandatory fields of the ISA95JobRespsonseDataType
Name |
Type |
Description |
JobResponseID |
0:String |
A unique identification of the Job Response. |
JobOrderID |
0:String |
An identification of the Job Order. |
JobOrderParameters |
3:ISA95ParameterDataType[] |
Key value pairs, not associated with a resource, that are provided as part of the job order; may be empty if not specified. |
JobState |
3:ISA95StateDataType[] |
The current state of the job. The array shall provide at least one entry representing the top-level state and, potentially, additional entries representing substates. The first entry shall be the top-level entry, having the BrowsePath set to null. The order of the substates is not defined. |
MaterialActuals |
3:ISA95MaterialDataType[] |
A specification of any material requirements associated with the job order; may be empty if not specified.
Note: To comply with this Companion Specification, at least one material must be specified (including Article Specification and Quantity > 0), and the MaterialUse must be set to "material produced."
|
The following 3:ISA95JobResponseDataType fields defined in Table 23 may be used if the relevant information is available:
Table 23 – Recommended fields of the ISA95JobResponseDataType
Name |
Type |
Description |
StartTime
|
0:DateTime |
The actual start time for the job order.
|
EndTime
|
0:DateTime |
The actual end time for the job order; may be empty if the job has not yet completed.
|
PersonnelActuals |
3:ISA95PersonnelDataType[] |
A specification of any personnel actuals associated with the job response, may be empty if not specified. |
For data consistency, the values of the Machinery Job Management and the Result Transfer must also be mapped. Table 24 defines the mapping between the values of the two models in the scope of this specification.
Table 24 – Mapping between JobManagement and Result Transfer
ResultMetaData |
JobManagement |
Comment |
Example |
ResultId |
|
No mapping defined |
Result_123 |
StepId |
ProcessInputDataType.id |
|
strip_left_1_22 |
PartId |
|
No mapping defined |
wire_1234 |
ProductId |
MaterialDefinitionID (of the article) |
|
MySAP-Number-123 |
JobId |
JobOrderId
|
|
MyJob-100pcs-0.75mm2-blue |
The following 2: ResultMetaDataType fields defined in Table 25 must be used:
Table 25 – Mandatory fields of ResultMetaDataType
Name |
Type |
Description |
ResultId |
0:TrimmedString |
System-wide unique identifier, which is assigned by the system. This ID can be used for fetching exactly this result using the method GetResultById and is identical to the ResultId of the ResultReadyEventType. If the system does not manage ResultIds, it should always be set to “NA.” |
StepId |
0:TrimmedString |
Identifies the step which produced the result. Although the system-wide unique JobId would be sufficient to identify the job which the result belongs to, this makes for easier filtering without keeping track of JobIds. This specification does not define how the StepId is transmitted to the system. Typically, it is provided by the Client when starting an execution. |
PartId |
0:TrimmedString |
Identifies the part used to produce the result. Although the system-wide unique JobId would be sufficient to identify the job which the result belongs to, this makes for easier filtering without keeping track of JobIds. This specification does not define how the PartId is transmitted to the system. Typically, it is provided by the Client when starting the job. |
ProductId |
0:TrimmedString |
Identifies the product used to produce the result. This specification does not define how the ProductId is transmitted to the system. Typically, it is provided by the Client. |
JobId |
0:TrimmedString |
Identifies the job which produced the result. This ID is unique within the system and is assigned by the system. |
ResultEvaluation |
6:ResultEvaluationEnum |
The ResultEvaluation indicates whether the result was within tolerance. |
ProcessingTimes |
6:ProcessingTimesDataType |
Collection of different processing times that were needed to create the result. |
The ResultContent should be a list of subtypes of the ProcessOutputType. Each process which is done as part of a job has one entry in the array.
There are different methods for handling batches in the JobOrderRequest. An order with batches can be managed via separate job orders or through one run for each batch. A run is treated as a JobOrder, but is not included in the workflow.
Example: A custom order should contain 40 articles (4 batches of 10 articles each). This can be managed as either 4 job orders on the machine, each with 10 articles, or as one job order with 10 articles and 4 runs.
The different state machines from the Machinery Basic Building Blocks and ISA-95 JobManagement work together. In this specification, the recommendations in Table 26 should be followed:
Table 26 – Recommendations for the State Machines
Case |
MachineryItemState |
MachineryOperationMode |
Job State Machine |
Teach & Verify |
All possible |
Setup |
Running |
Verify Process in a production phase |
Executing |
Processing |
Running |