CFX. |
Class | Description | |
---|---|---|
![]() | ActivateRecipeRequest |
Used to activate a named recipe at the process endpoint.
The response indicates whether this was successful or not.
{ "RecipeName": "RECIPE1234", "Revision": "C", "Lane": 1, "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" } } |
![]() | ActivateRecipeResponse |
Response to a request to activate a named recipe at the process endpoint.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" } } |
![]() | ActivitiesExecuted |
Indicates that one or more activities have been performed in the course of processing one or more production units.
The activities may or may not be value added. Activities are dynamic structures, and may vary depending upon the
nature and purpose of the endpoint.
{ "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" }, "Activities": [ { "$type": "CFX.Structures.UnitLoadActivity, CFX", "LoadTime": "00:00:05.3000000", "TimeStamp": "2018-10-25T08:45:51.5300797-04:00", "ActivityInstanceId": "dec7ca54-efc7-4519-a250-0bc7dbeae1d6", "ActivityState": "Completed", "ActivityName": "UNIT LOAD", "Comments": null, "ValueAddType": "NonValueAdd" }, { "$type": "CFX.Structures.UnitAlignmentActivity, CFX", "DX": 0.0, "DY": 0.0, "DZ": 0.0, "DXY": 0.0, "DZX": 0.0, "DZY": 0.0, "TimeStamp": "2018-10-25T08:45:51.5300797-04:00", "ActivityInstanceId": "a6a3307b-d2e4-4c50-a8cc-9949b7866a2b", "ActivityState": "Started", "ActivityName": "UNIT ALIGNMENT", "Comments": null, "ValueAddType": "NonValueAdd" }, { "$type": "CFX.Structures.UnitAlignmentActivity, CFX", "DX": 0.125, "DY": 0.104, "DZ": 0.0, "DXY": 0.987, "DZX": 0.0, "DZY": 0.0, "TimeStamp": "2018-10-25T08:45:56.5300797-04:00", "ActivityInstanceId": "a6a3307b-d2e4-4c50-a8cc-9949b7866a2b", "ActivityState": "Completed", "ActivityName": "UNIT ALIGNMENT", "Comments": null, "ValueAddType": "NonValueAdd" }, { "$type": "CFX.Structures.SMTPlacement.SMTNozzleChangeActivity, CFX", "OldNozzles": [], "NewNozzles": [ { "HeadId": "HEAD1", "HeadNozzleNumber": 1, "NozzleType": "409A", "UniqueIdentifier": "UID234213421", "Name": "Nozzle45" }, { "HeadId": "HEAD1", "HeadNozzleNumber": 2, "NozzleType": "302B", "UniqueIdentifier": "UID234213421", "Name": "Nozzle32" } ], "TimeStamp": "2018-10-25T08:46:16.5300797-04:00", "ActivityInstanceId": "fa97ae52-2374-4530-8ec5-107fc5bb1ff1", "ActivityState": "Completed", "ActivityName": "NOZZLE CHANGE", "Comments": null, "ValueAddType": "NonValueAdd" }, { "$type": "CFX.Structures.UnitUnloadActivity, CFX", "UnloadTime": "00:00:03.2000000", "TimeStamp": "2018-10-25T08:46:46.5300797-04:00", "ActivityInstanceId": "b5d68d84-440f-4667-b5b7-aa481fcff002", "ActivityState": "Completed", "ActivityName": "UNIT UNLOAD", "Comments": null, "ValueAddType": "NonValueAdd" } ] } |
![]() | BlockMaterialLocationsRequest |
Sent to a process endpoint to block or disable a particular material setup location.
This is typically used where a loaded material may become unsuitable for use,
for example MSD expiry of an SMT material.
{ "Reason": "ExpiredMaterial", "Comments": "MSD Material Has Expired", "Locations": [ { "LocationIdentifier": "23143433", "LocationName": "SLOT45", "MaterialPackage": null, "CarrierInformation": null }, { "LocationIdentifier": "23143454", "LocationName": "SLOT46", "MaterialPackage": null, "CarrierInformation": null } ] } |
![]() | BlockMaterialLocationsResponse |
Sent to a process endpoint to block or disable a particular material setup location.
This is typically used where a loaded material may become unsuitable for use,
for example MSD expiry of an SMT material.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" } } |
![]() | GetActiveRecipeRequest |
Used to request the name of the recipe that is activated at a process
endpoint. The response indicates the name of the recipe.
{ "Lane": 1, "Stage": null } |
![]() | GetActiveRecipeResponse |
Used to request the name of the recipe that is activated at a process
endpoint. The response indicates the name of the recipe.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" }, "ActiveRecipeName": "RECIPE5566", "ActiveRecipeRevision": "C" } |
![]() | GetAvailableRecipesRequest | ** NOTE: ADDED in CFX 1.4 ** This message is used to request a process endpoint for the available recipes. The response includes the list of the recipes, with a maximun specified by the MaxCount parameter{ "Path": "myRecipes/CFX/A-Team*", "MaxCount": 5 } |
![]() | GetAvailableRecipesResponse | ** NOTE: ADDED in CFX 1.4 ** Response to a request of getting the available recipes. The response includes a list of recipes (name, revision), but not their data.{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" }, "ActualCount": 3, "RecipeCount": 2, "Recipes": [ { "RecipeName": "Recipe1", "Revision": "1.2" }, { "RecipeName": "Recipe2", "Revision": "2.7" } ] } |
![]() | GetRecipeRequest |
This message is used to request a process endpoint for the details of a named
recipe. The response includes details of the recipe, depending on the
classification of the process.
{ "RecipeName": "RECIPE3234", "Revision": null } |
![]() | GetRecipeResponse |
This message is used to request a process endpoint for the details of a named
recipe. The response includes details of the recipe, depending on the
classification of the process.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": null }, "Recipe": { "Name": "RECIPE4455", "Revision": null, "MimeType": "application/octet-stream", "RecipeData": "ESKImSNVZlM=" } } UnitsInspectionRecipe provides the means to convey static recipe information of inspection programs. It is expected to contain an InspectionMeasurementExpected object for each solder deposit to inspect. { "Result": { "Result": "Success", "ResultCode": 0, "Message": null }, "Recipe": { "$type": "CFX.Structures.SolderPasteInspection.SolderPasteInspectionRecipe, CFX", "Name": "SolderRecipeXYZ_TextBoard1", "Revision": "1.3.3.33", "ExpectedCycleTime": 0.0, "ExpectedUnitsPerWorkTransaction": 0.0, "UnitLength": null, "UnitWidth": null, "UnitHeight": null, "MimeType": null, "RecipeData": null, "UnitsToInspect": [ { "UnitPositionNumber": 1, "Name": null, "ChildObjects": [ { "Group": "Resistor", "Type": "Pad", "RefNo": 1, "CRD": "R100.1", "PartNumber": "A2C000628080001", "PackageType": "0201", "Steps": [ { "Name": "PasteDeposit", "Sequence": 1, "TargetValue": { "EX": 0.8, "EY": 1.5, "EZ": 0.1, "PX": 1000.0, "PY": 1200.0, "EA": 1.2, "EVol": 0.0001, "AR": 1.8, "RXY": 0.0, "Vertices": null, "UniqueIdentifier": "249a0c81-875f-474f-85b3-5c628108efec", "MeasurementName": null, "TimeRecorded": null, "Sequence": 0, "Result": "Passed", "CRDs": null } } ] }, { "Group": "Resistor", "Type": "Pad", "RefNo": 2, "CRD": "R100.2", "PartNumber": "A2C000628080001", "PackageType": "0201", "Steps": [ { "Name": "PasteDeposit", "Sequence": 1, "TargetValue": { "EX": 0.8, "EY": 1.5, "EZ": 0.0, "PX": 3000.0, "PY": 1200.0, "EA": 1.2, "EVol": 0.0001, "AR": 1.8, "RXY": 0.0, "Vertices": null, "UniqueIdentifier": "71aeb946-ace8-4c83-997e-2bc9cabc5e91", "MeasurementName": null, "TimeRecorded": null, "Sequence": 0, "Result": "Passed", "CRDs": null } } ] } ] } ], "RecipeGenerationDate": "2020-11-30T13:35:00.4214651+01:00", "InspectionMethod": "Human" } } |
![]() | GetRequiredSetupRequest |
Sent to a process endpoint to request the setup requirements of the active recipe.
The response lists the required materials and tools, along with the locations where
the materials/tools must be loaded.
{ "Lane": 1, "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" } } |
![]() | GetRequiredSetupResponse |
Response from a process endpoint to a request to obtain the setup requirements of the active recipe.
The response lists the required materials and tools, along with the locations where
the materials/tools must be loaded.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" }, "RecipeName": "RECIPE4455", "RecipeRevision": "C", "Lane": 1, "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" }, "SetupRequirements": { "Lane": 1, "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" }, "SetupName": "COMMONSETUP45", "MaterialSetupRequirements": [ { "Position": "B1.F.45", "PartNumber": "IPN1123", "ApprovedAlternateParts": [ "IPN2343", "IPN3432" ], "ApprovedManufacturerParts": [ "MOT4329", "SAM5566" ] }, { "Position": "B1.F.47", "PartNumber": "IPN1124", "ApprovedAlternateParts": [ "IPN3344", "IPN3376" ], "ApprovedManufacturerParts": [ "JP55443", "TX554323" ] } ], "ToolSetupRequirements": [ { "Position": "MODULE1.BEAM1", "PartNumber": "HEADTYPE5566", "ToolIdentifier": null }, { "Position": "MODULE1.BEAM2", "PartNumber": "HEADTYPE5577", "ToolIdentifier": null } ] } } |
![]() | GetUnitInfoRequest | ** NOTE: ADDED in CFX 1.4 ** This message is used to request a process endpoint for the details of a list of Unit{ "PrimaryIdentifier": SN1234567890, "HermesIdentifier": null, "UnitIdentifier":null } |
![]() | GetUnitInfoResponse | ** NOTE: ADDED in CFX 1.4 ** Response from a process endpoint to a request to obtatin Unit information. The reponse lists the units and the related information (e.g., BadMark, Fiducials){ "Result": { "Result": "Success", "ResultCode": 0, "Message": null }, "PrimaryIdentifier": "SN123456789", "HermesIdentifier": null, "UnitCount": 2, "Units": [ { "BadMark": 0, "FiducialCount": 2, "Fiducials": [ { "FiducialX": 0.12, "FiducialY": 0.16, "FiducialRXY": 0.0 }, { "FiducialX": 0.12, "FiducialY": 2.56, "FiducialRXY": 0.0 } ], "UnitIdentifier": "SN12345", "PositionNumber": 1, "PositionName": "Circuit1", "X": 0.254, "Y": 0.556, "Rotation": 0.0, "FlipX": false, "FlipY": false }, { "BadMark": 1, "FiducialCount": null, "Fiducials": null, "UnitIdentifier": "SN091235", "PositionNumber": 0, "PositionName": null, "X": 0.0, "Y": 0.0, "Rotation": 0.0, "FlipX": false, "FlipY": false } ] } |
![]() | LockStationRequest |
Request that the endpoint cease active operation (locked) as soon as practically possible
at a process endpoint. A specific production lane or stage may be optionally specified.
Includes a reason, and applies to all operations. The response indicates that the process
has stopped.
{ "Lane": 1, "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" }, "Reason": "QualityIssue", "Requestor": { "OperatorIdentifier": "e4d92c77-6a19-4d1e-8c2a-b2b217f59a44", "ActorType": "Human", "LastName": "Smith", "FirstName": "Bill", "LoginName": "bill.smith@domain1.com" } } |
![]() | LockStationResponse |
Response to a request that the endpoint cease active operation (locked) as soon as practically possible
at a process endpoint.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" } } |
![]() | OperatorActivated |
Indicates that an operator is now active at or responsible for a process endpoint.
Having multiple operators (each needs to be activated and deactivated separately) or
an absence of an operator is possible.
{ "Operator": { "OperatorIdentifier": "42b7a5cc-3bbd-4010-8a01-1c5851b9a2a3", "ActorType": "Human", "LastName": "Smith", "FirstName": "Bill", "LoginName": "bill.smith@domain1.com" } } |
![]() | OperatorDeactivated |
Indicates that an activated operator is no longer active or responsible at a process endpoint
{ "Operator": { "OperatorIdentifier": "ea9da45d-9b1f-4e6a-974f-df06aeede42f", "ActorType": "Human", "LastName": "Smith", "FirstName": "Bill", "LoginName": "bill.smith@domain1.com" } } |
![]() | ReadingsRecorded | A process endpoint uses this message to send a data object that has been acquired for example from a sensor or a reading taken during processing of the unit. This data is typically used as a traceability record. Where no unit ID is provided, the measurement is applicable to the process in terms of time only. |
![]() | RecipeActivated |
Sent by a process endpoint to indicate the activation of a recipe by its name
{ "RecipeName": "RECIPE3234", "Revision": "B", "Lane": 1, "Stage": null, "ExpectedCycleTime": 60, "ExpectedUnitsPerWorkTransaction": 1, "NumberOfComponentsPerUnit": 500, "WorkOrderIdentifier": { "WorkOrderId": "WO-1000-1000", "Batch": "WO-1000-1000-B1" }, "TargetQuantity": 500.0, "RelevantSurface": "PrimarySurface", "RecipeStagesInformation”: [ { "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" } "ExpectedCycleTime": 80, "NumberOfComponentsPerUnit": 200 }, { "Stage": { "StageSequence": 2, "StageName": "STAGE2", "StageType": "Work" } "ExpectedCycleTime": 120, "NumberOfComponentsPerUnit": 250 } ] } |
![]() | RecipeDeactivated | ** NOTE: ADDED in CFX 1.2 ** Sent by a process endpoint to indicate the deactivation of a recipe by its name{ "RecipeName": "RECIPE3234", "Revision": "B", "Lane": 1, "Stage": null } |
![]() | RecipeModified |
Sent by a process endpoint to indicate that a change has been made to a specified named recipe.
{ "RecipeName": "RECIPE3234", "Revision": "D", "ModifiedBy": { "OperatorIdentifier": "95739c63-7e59-481b-a597-627cb843c8f4", "ActorType": "Human", "LastName": "Smith", "FirstName": "Bill", "LoginName": "bill.smith@domain1.com" }, "Reason": "PositionalCorrection", "Notes": null } |
![]() | SetupRequirementsChanged |
Sent whenever the setup requirement of materials, tools, etc. are changed for any reason at a process endpoint.
This message contains a detailed listing of the required items, and their designated positions.
This message is typically used for example, whenever a new recipe is activated which requires a different setup.
If the Lane and Stage properties are left empty, the setup requirements of the entire Endpoint have been impacted.
Otherwise, only the specified Lane and/or Stage is impacted.
{ "Lane": 1, "Stage": null } |
![]() | ToolsCleaned | ** NOTE: ADDED in CFX 1.5 ** This message is used when a tool such as stencil or squeegee is loaded into a cleaning machine{ "TransactionID": "72b27f43-78ff-4804-bf5c-45582f6463e3", "Tools": [ { "$type": "CFX.Structures.SolderPastePrinting.SMTSqueegee, CFX", "CleaningState": "Cleaned", "UniqueIdentifier": "SQ1234567890", "Name": "Squeegee name" }, { "$type": "CFX.Structures.SolderPastePrinting.SMTStencil, CFX", "CleaningState": "Cleaned", "UniqueIdentifier": "ST1234567890", "Name": "Stencil name" } ], "CleaningSteps": [ { "CleaningStepType": "Wash", "CleaningStepTime": 200.0, "Readings": [ { "ReadingType": "FlowRateAverage", "ReadingValue": 12.0 }, { "ReadingType": "FlowRateMax", "ReadingValue": 20.0 }, { "ReadingType": "FlowRateMin", "ReadingValue": 4.0 } ] } ] } |
![]() | ToolsLoaded | ** NOTE: ADDED in CFX 1.5 ** This message is used when a tool such as stencil or squeegee is loaded into a cleaning machine{ "TransactionID": "d3e7fe9a-5e42-4121-9edd-a8b46d112ba9", "Tools": [ { "$type": "CFX.Structures.SolderPastePrinting.SMTSqueegee, CFX", "CleaningState": "NotCleaned", "UniqueIdentifier": "SQ1234567890", "Name": "Squeegee name" }, { "$type": "CFX.Structures.SolderPastePrinting.SMTStencil, CFX", "CleaningState": "Unknown", "UniqueIdentifier": "ST1234567890", "Name": "Stencil name" } ] } |
![]() | ToolsUnloaded | ** NOTE: ADDED in CFX 1.5 ** This message is used when a tool such as stencil or squeegee is unloaded from a cleaning machine{ "TransactionID": "d3e7fe9a-5e42-4121-9edd-a8b46d112ba9", "Tools": [ { "$type": "CFX.Structures.SolderPastePrinting.SMTSqueegee, CFX", "CleaningState": "Cleaned", "UniqueIdentifier": "SQ1234567890", "Name": "Squeegee name" }, { "$type": "CFX.Structures.SolderPastePrinting.SMTStencil, CFX", "CleaningState": "Cleaned", "UniqueIdentifier": "ST1234567890", "Name": "Stencil name" } ] } |
![]() | ToolsUsed |
Sent by a process endpoint when one or more tools are used in the course of performing an assembly operation.
JSON Example - SMT Placement Machine { "TransactionId": "ff199a2e-4b31-4321-8afe-eff177f1a860", "UsedTools": [ { "UnitIdentifier": "PANEL23423432", "UnitPositionNumber": 1, "Tool": { "$type": "CFX.Structures.SMTPlacement.SMTHeadAndNozzle, CFX", "HeadId": "HEAD1", "HeadNozzleNumber": 2, "NozzleType": "409A", "UniqueIdentifier": "UID234213421", "Name": "Nozzle45" }, "UsageCycles": 3, "InstalledComponents": [ { "ReferenceDesignator": "R1", "InstallationTime": "2018-10-25T08:46:46.6320834-04:00" }, { "ReferenceDesignator": "R2", "InstallationTime": "2018-10-25T08:46:46.6320834-04:00" }, { "ReferenceDesignator": "R3", "InstallationTime": "2018-10-25T08:46:46.6320834-04:00" } ] }, { "UnitIdentifier": "PANEL23423432", "UnitPositionNumber": 2, "Tool": { "$type": "CFX.Structures.SMTPlacement.SMTHeadAndNozzle, CFX", "HeadId": "HEAD2", "HeadNozzleNumber": 3, "NozzleType": "409A", "UniqueIdentifier": "UID234223422", "Name": "Nozzle47" }, "UsageCycles": 3, "InstalledComponents": [ { "ReferenceDesignator": "R1", "InstallationTime": "2018-10-25T08:46:46.6320834-04:00" }, { "ReferenceDesignator": "R2", "InstallationTime": "2018-10-25T08:46:46.6320834-04:00" }, { "ReferenceDesignator": "R3", "InstallationTime": "2018-10-25T08:46:46.6320834-04:00" } ] } ] } JSON Example - Hammer Used by Human in Manual Operation { "TransactionId": "8561b98b-21ba-47e6-810d-0917b58a4415", "UsedTools": [ { "UnitIdentifier": "PANEL23423432", "UnitPositionNumber": 1, "Tool": { "UniqueIdentifier": "UID234228874", "Name": "Hammer 45" }, "UsageCycles": 3, "InstalledComponents": [] }, { "UnitIdentifier": "PANEL23423432", "UnitPositionNumber": 2, "Tool": { "UniqueIdentifier": "UID234228874", "Name": "Hammer 45" }, "UsageCycles": 3, "InstalledComponents": [] } ] } |
![]() | UnblockMaterialLocationsRequest |
Sent to a process endpoint to release a material locations block which was put
into place by a previously sent BlockMaterialLocationsRequest
{ "Locations": [ { "LocationIdentifier": "23143433", "LocationName": "SLOT45", "MaterialPackage": null, "CarrierInformation": null }, { "LocationIdentifier": "23143454", "LocationName": "SLOT46", "MaterialPackage": null, "CarrierInformation": null } ] } |
![]() | UnblockMaterialLocationsResponse |
Response to UnblockMaterialLocationsRequest
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "BLOCKED OK" } } |
![]() | UnitsArrived |
Sent when production units physically arrives at a process endpoint, prior to any work or other activity commencing.
{ "UnitCount": 2, "Units": [ { "UnitIdentifier": "CARRIER5566", "PositionNumber": 1, "PositionName": "CIRCUIT1", "X": 50.45, "Y": 80.66, "Rotation": 0.0, "FlipX": false, "FlipY": false }, { "UnitIdentifier": "CARRIER5566", "PositionNumber": 2, "PositionName": "CIRCUIT2", "X": 50.45, "Y": 80.66, "Rotation": 90.0, "FlipX": false, "FlipY": false } ] } |
![]() | UnitsDeparted |
Sent by a process endpoint when units physically depart from a process endpoint.
This does not imply any information about any activity that may have taken place.
{ "UnitCount": 2, "Units": [ { "UnitIdentifier": "CARRIER5566", "PositionNumber": 1, "PositionName": "CIRCUIT1", "X": 50.45, "Y": 80.66, "Rotation": 0.0, "FlipX": false, "FlipY": false }, { "UnitIdentifier": "CARRIER5566", "PositionNumber": 2, "PositionName": "CIRCUIT2", "X": 50.45, "Y": 80.66, "Rotation": 90.0, "FlipX": false, "FlipY": false } ] } |
![]() | UnitsDisqualified |
Sent by a process endpoint to identify that a specific production unit is disqualified or scrapped.
This includes logical disqualification in the case that a unit is abandoned during manufacturing
{ "Reason": "DefectiveRepairNotPossible", "Comments": "The units were accidentally dropped, and irrepairably damaged", "UnitCount": 2, "Units": [ { "UnitIdentifier": "CARRIER5566", "PositionNumber": 1, "PositionName": "CIRCUIT1", "X": 50.45, "Y": 80.66, "Rotation": 0.0, "FlipX": false, "FlipY": false }, { "UnitIdentifier": "CARRIER5566", "PositionNumber": 2, "PositionName": "CIRCUIT2", "X": 50.45, "Y": 80.66, "Rotation": 90.0, "FlipX": false, "FlipY": false } ] } |
![]() | UnitsInitialized |
Sent when one or more production units are first introduced into the production process flow.
Unit initialization most often occurs when new production units are first labeled with unique identifiers (or laser marked)
{ "WorkOrderIdentifier": { "WorkOrderId": "WO45648798", "Batch": "BATCH45648798-1" }, "TransactionID": null, "UnitCount": 2, "Units": [ { "UnitIdentifier": "UNIT5566687", "PositionNumber": 1, "PositionName": "CIRCUIT1", "X": 50.45, "Y": 80.66, "Rotation": 0.0, "FlipX": false, "FlipY": false }, { "UnitIdentifier": "UNIT5566688", "PositionNumber": 2, "PositionName": "CIRCUIT2", "X": 50.45, "Y": 80.66, "Rotation": 90.0, "FlipX": false, "FlipY": false } ] } |
![]() | UnlockStationRequest |
Request that a process endpoint resume production, following a previous lock. The response indicates that the lock has been removed.
{ "Lane": null, "Stage": null, "Requestor": { "OperatorIdentifier": "71926954-6b23-4f83-a5b4-ed7ef8cc226d", "ActorType": "Human", "LastName": "Smith", "FirstName": "Bill", "LoginName": "bill.smith@domain1.com" } } |
![]() | UnlockStationResponse |
Response to a request for a process endpoint to resume production, following a previous lock.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" } } |
![]() | UpdateRecipeRequest |
This message is used to send a named recipe to a process endpoint. The message
includes details of the recipe, depending on the classification of the process.
The response indicates whether the recipe has been received correctly or not.
UpdateRecipeRequest JSON example { "Overwrite": true, "Recipe": { "Name": "RECIPE234324", "Revision": "C", "ExpectedCycleTime": 0.0, "ExpectedUnitsPerWorkTransaction": 0.0, "UnitLength": 22.46, "UnitWidth": 19.21, "UnitHeight": 0.85, "MimeType": "application/octet-stream", "RecipeData": "//w0" }, "Reason": "NewRevision" } Load Printer Recipe / Modify Printer Recipe based on UpdateRecipeRequest and UpdateRecipeResponse { "Overwrite": true, "Recipe": { "$type": "CFX.Structures.SolderPastePrinting.SolderPastePrintingRecipe, CFX", "Strokes": [ { "PrintPressure": 1.0, "PrintSpeed": 12.0 }, { "PrintPressure": 2.0, "PrintSpeed": 9.0 } ], "PrintGap": 1.2, "Separation": { "Name": null, "SeparationSpeed": 1.6, "SeparationDistance": 1.2, "SeparationDelay": null }, "PeriodicCleanings": [ { "CleanFrequency": 2, "CleanMode": "W" } ], "Name": "RECIPE234324", "Revision": "C", "ExpectedCycleTime": 46.25, "ExpectedUnitsPerWorkTransaction": 4.0, "UnitLength": 22.46, "UnitWidth": 19.21, "UnitHeight": 0.85, "MimeType": null, "RecipeData": null }, "Reason": "NewRevision" } |
![]() | UpdateRecipeResponse |
This message is used to send a named recipe to a process endpoint. The message
includes details of the recipe, depending on the classification of the process.
The response indicates whether the recipe has been received correctly or not.
{ "Result": { "Result": "Success", "ResultCode": 0, "Message": "OK" } } |
![]() | WorkCompleted |
Sent by a process endpoint when all work has been completed at a process endpoint.
Generic example { "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Result": "Completed", "PrimaryIdentifier": null, "HermesIdentifier": null, "UnitCount": 0, "Units": [] } Example with PerformanceImpact empty - no performance impact { "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" }, "Result": "Completed", "PerformanceImpacts": [] } Example with PerformanceImpact { "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" }, "Result": "Completed", "PerformanceImpacts": [ { "Cause": "LowFeederSpeed" }, { "Cause": "AlternativeTrackUsed" } ] } |
![]() | WorkOrderActionExecuted | ** NOTE: ADDED in CFX 1.2 ** Sent when a non-added value action (out of production) relative to a work order is started, aborted or completed by a process endpoint.{ "WorkOrderActionInstanceId": "dec7ca54-efc7-4519-a250-0bc7dbeae1d6", "WorkOrderIdentifier": { "WorkOrderId": "WO1122334455", "Batch": null }, "TimeStamp": "2018-08-01T13:46:15.5391201-04:00", "Type": "PreProductionOperations", "State": "Started", "Comments": "Feeders loading", } |
![]() | WorkStageCompleted |
Sent by a process endpoint to indicate that a stage has been completed.
{ "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" }, "Result": "Completed", "PerformanceImpacts": [ { "Cause": "LowFeederSpeed" }, { "Cause": "AlternativeTrackUsed" } ] } |
![]() | WorkStagePaused |
Sent when activity pauses for some reason at a stage of the process endpoint
{ "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" } } |
![]() | WorkStageResumed |
Sent when activity recommences at a stage within a process endpoint, following a WorkStagePaused message
{ "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" } } |
![]() | WorkStageStarted |
Sent by a process endpoint when the work-stage for a unit or group of units starts
{ "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Stage": { "StageSequence": 1, "StageName": "STAGE1", "StageType": "Work" } } |
![]() | WorkStarted |
Sent by a process endpoint when the work-cycle for a unit or group of units starts
{ "TransactionID": "2c24590d-39c5-4039-96a5-91900cecedfa", "Lane": 1, "UnitCount": 2, "Units": [ { "UnitIdentifier": "CARRIER5566", "PositionNumber": 1, "PositionName": "CIRCUIT1", "X": 50.45, "Y": 80.66, "Rotation": 0.0, "FlipX": false, "FlipY": false }, { "UnitIdentifier": "CARRIER5566", "PositionNumber": 2, "PositionName": "CIRCUIT2", "X": 70.45, "Y": 80.66, "Rotation": 90.0, "FlipX": false, "FlipY": false } ] } |