First, the job is sent from the MES system to the woodworking machine. This can be either done by calling the 2:Store or the 2:StoreAndStart Method on the 2:JobOrderReceiverObject defined in OPC 10031-4. In both cases, the job order information is transferred as instance of ISA95JobOrderDataType. An example of such a data structure is given in Table 29. In Figure 3, the planned job order is sketched. From a tree, 1 shelf floor and 4 table legs should be created. In addition a bag of chips is created.
Figure 3 – Example of a planned job order
Table 29 – Example of a job order
Field of ISA95JobOrderDataType |
Value |
JobOrderID |
12345 |
OrderNumbers |
Order_Forest_Utilize_01 |
StartTime (planned) |
27.01.2023 10:17 |
EndTime (planned) |
27.01.2023 10:19 |
MaterialRequirements[] |
|
Entry1 (Tree as planned Input) |
|
MaterialUse |
Material consumed |
Quantity |
1 |
EngineeringUnits |
pcs |
Properties[] |
|
Identification |
|
ItemNumber |
TreeTrunk |
OutputInfo |
- (only ItemNumber) |
Param_771 |
200 [diameter, cm] |
Location |
Cutting_line_input_1 |
Entry2 (shelf floor as planned output) |
|
MaterialUse |
Material produced |
Quantity |
1 |
EngineeringUnits |
pcs |
Properties[] |
|
Identification |
|
ItemNumber |
Shelf_Floor_0010 |
OutputInfo |
- (only ItemNumber) |
OrderNumber |
Order_Forest_Utilize_01 |
LotNumber |
Forest_Spruce_ShelfFloor_1245 |
SerialNumber |
FSSF_1234568 |
Param_1234 |
2500 [Width, mm] |
Param_1235 |
1500 [Length, mm] |
Param_1236 |
15,8 [Thickness, mm] |
Location |
Cutting_line_output_1 |
Entry3 (table leg (4x) as planned output) |
|
MaterialUse |
Material produced |
Quantity |
4 |
EngineeringUnits |
pcs |
Properties[] |
|
Identification |
|
ItemNumber |
Table_Leg_012 |
OutputInfo |
- (only ItemNumber) |
OrderNumber |
Order_Forest_Utilize_01 |
LotNumber |
Forest_Spruce_TableLeg_124 |
StartTime |
27.01.2023 10:17 |
EndTime |
27.01.2023 10:19 |
Param_1234 |
125 [Width, mm] |
Param_1235 |
855 [Length, mm] |
Param_1236 |
125 [Thickness, mm] |
Location |
Cutting_line_output_2 |
Entry4 (chips planned output) |
|
MaterialUse |
Material produced |
Quantity |
1,75 |
EngineeringUnits |
m^3 |
Properties[] |
|
Identification |
|
ItemNumber |
SpruceChips_012 |
OutputInfo |
- (only ItemNumber) |
Param_333 |
Spruce [Woodtype] |
Location |
BagFiller_output_1 |
After the job order is received, it needs to be in state “AllowedToStart” before it can be executed. In case of the 2:StoreAndStart Method, it is already in the state, otherwise the 2:Start Method needs to be called. Once it is in the “AllowedToStart” state, the woodworking machine is internally starting the job order once it is ready (and depending on priorities of other job orders which are “AllowedToStart”. As soon as the job order has started (state of the job order is “Running”), the machine can provide results of the execution of the job order. The job order may get interrupted, or even aborted. Or it completes by switching into the “Ended” state. In Table 30, the final job order results, provided in an instance of 2:ISA95JobResponseDataType, are shown.
Table 30 – Example of a job order result
Field of JobResponseData |
Value |
JobResponseID |
4 |
JobOrderID |
12345 |
StartTime |
27.01.2023 10:20 |
EndTime |
27.01.2023 10:25 |
JobState |
COMPLETED |
MaterialActuals[] |
|
Entry1 (shelf floor as actual output) |
|
MaterialUse |
Material produced |
Quantity |
1 |
EngineeringUnits |
pcs |
Properties[] |
|
Identification |
|
ItemNumber |
Shelf_Floor_0010 |
OutputInfo |
- (only ItemNumber) |
OrderNumber |
Order_Forest_Utilize_01 |
LotNumber |
Forest_Spruce_ShelfFloor_1245 |
SerialNumber |
FSSF_1234568 |
StartTime |
27.01.2023 10:20 |
EndTime |
27.01.2023 10:22 |
Param_1234 |
2500 [Width, mm] |
Param_1235 |
1500 [Length, mm] |
Param_1236 |
15,8 [Thickness, mm] |
Location |
Cutting_line_output_1 |
Entry2 (table leg (4x) as actual output) |
|
MaterialUse |
Material produced |
Quantity |
4 |
EngineeringUnits |
pcs |
Properties[] |
|
Identification |
|
ItemNumber |
Table_Leg_012 |
OutputInfo |
LotNumber |
OrderNumber |
Order_Forest_Utilize_01 |
LotNumber |
Forest_Spruce_TableLeg_124 |
StartTime |
27.01.2023 10:22 |
EndTime |
27.01.2023 10:25 |
Param_1234 |
125 [Width, mm] |
Param_1235 |
855 [Length, mm] |
Param_1236 |
125 [Thickness, mm] |
Location |
Cutting_line_output_2 |
Entry3 (chips as actual output) |
|
MaterialUse |
Material produced |
Quantity |
1,75 |
EngineeringUnits |
m^3 |
Properties[] |
|
Identification |
|
ItemNumber |
SpruceChips_012 |
OutputInfo |
- (only ItemNumber) |
SerialNumber |
Bag_12345 |
StartTime |
27.01.2023 10:20 |
EndTime |
27.01.2023 10:25 |
Param_333 |
Spruce [Woodtype] |
Location |
BagFiller_output_1 |
JobResponseData[] |
|
AsBuiltBOM[] |
|
Entry1 |
|
Identification |
|
ItemNumber |
Shelf_Floor_0010 |
OutputInfo |
LotNumber |
LotNumber |
Forest_Spruce_ShelfFloor_1245 |
ComponentInformation[] |
|
Entry1 |
|
Identification |
|
ItemNumber |
TreeTrunk |
OutputInfo |
SerialNumber |
SerialNumber |
TreeTrunk_Sepp123 |
Quantity |
1 |
EngineeringUnits |
pcs |
Entry2 |
|
Identification |
|
ItemNumber |
Table_Leg_012 |
OutputInfo |
LotNumber |
LotNumber |
Forest_Spruce_TableLeg_124 |
ComponentInformation[] |
|
Entry1 |
|
Identification |
|
ItemNumber |
TreeTrunk |
OutputInfo |
SerialNumber |
SerialNumber |
TreeTrunk_Sepp123 |
Quantity |
1 |
EngineeringUnits |
pcs |