About CFX: The Global Standard for Smart Manufacturing Enablement
Are you looking to streamline your factory's digital transformation? Do you want to address expensive and time-consuming shop floor equipment integration? Connected Factory Exchange (CFX) is the industry-driven, plug-and-play standard that eliminates costly custom integrations while seamless machine-to-machine communication.
Built on the global standard IPC-2591, CFX forms the backbone of Digital Factory applications, ensuring efficient, secure, and standardized connectivity between machines, software, and business systems. Designed and maintained by industry for the industry, CFX evolves with the latest advancements, releasing regular version updates to meet growing industry needs.
Why Choose CFX
- Universal Communication - One language for all machines
- Plug-and-Play - No Middleware or custom integration is required
- Lower Cost - Eliminates interface development costs
- Faster Deployment - Reduces time, risk and cost
- Superior, Consistent Data Quality - Rich, real-time machine data
- Enhances MES, PLM, ERP - Seamless system integration
- Optimizes Equipment Performance - Data-driven insights for vendors
CFX is Your Real-Time Data Flow
Manufacturing Optimization
- Clear visibility of mission-critical, real-time KPI tracking and analytics
- Closed-loop machine-to-machine data exchange
- Automated process control under Digital Factory initiatives
Operational Efficiency
- Lean Materials, logistics, and planning
- Quality management and predictive maintenance
- Process and material traceability
IPC-2591 Version History
The CFX Standard Task Group regularly updates IPC-2591 and the CFX software development kit (SDK). All updates are built on the CFX baseline framework, so all versions of the CFX SDK are backward compatible.
Topics:
- Added the topic CFX. Information System. Topic Validation, which is implemented by an endpoint that allows other endpoints to discover the validation types supported by the responding endpoint.
Messages:
- CFX. Information System. Validation. TopicValidation. Validate Topic Request/Response
- Added new request/response messages to query an endpoint on its CFX capabilities. Allows other endpoints to request the topics/capabilities of another endpoint.
- CFX. Materials. Transport. CreateTransportOrderRequest/Response and CFX. Materials. Transport. Start Transfer Request/Response
- Added new request/response messages to create transport orders and respond to order requests for fleet managers and to inform a machine than an AMR has arrived at its location and materials can be transferred from/to the AMR to/from the machine.
- CFX.Production.LocalRecipeChanged
- Added new message that indicates that a recipe has been modified locally on the endpoint.
- CFX.Production.LoadingAndUnloading.UnitsLoaded/Unloaded, CFX.Production.UnitsDisqualified, CFX.Production.UnitsInitialized
- Added new property UnitCount to account for the number of individual production units.
- CFX.ResourcePerformance.CalibrationPerformed
- Added new property TransactionID to represent the work transaction with which this calibration is associated. This can be left empty if calibration not associated with a work transaction.
- CFX.Production.Processing.UnitsProcessed
- Added support for wave solder equipment via new CFX.Structures.SolderWave.WaveProcessData data structure, and new related sub-structures in CFX.Structures.SolderWave namespace.
- Added support for hand solder operations via new CFX.Structures.HandSoldering.HandSolderingBoardProcessData data structure, and new related sub-structures in CFX.Structures.HandSoldering namespace.
Data Structures:
- CFX.Structures.AppliedMaterial
- Added new structure AppliedMaterial to describe the quantity of the material that was applied to a production unit, with defined units and thresholds.
- CFX.Structures.CalibrationMeasurement
- Added new structure CalibrationMeasurement to provide a list of measurements captured during a calibration process.
- CFX.Structures.WorkOrderActionType
- Added two new items to this enumeration: PreProductionOperations_MaterialSelection and PreProductionOperations_MaterialKitting.
- CFX.Structures.SMTPlacement.SMDMultiTrayFeeder
- Added new structure SMDMultiTrayFeeder to accommodate multiple trays
- CFX.Structures.SMTPlacement.SMDTrayPackagingInfo
- Added new structure SMDTrayPackagingInfo to support collection of packaging information for an SMD tape
- CFX.Structures.TransportedMaterial
- Added new structure TransportedMaterial, which contains lists of transported materials and provides a dedicated list by type of material.
- CFX.Structures.ValidationData
- Added new dynamic structure ValidationData which includes MaterialCarrierValidationTopicData to represent Material Carriers that need to be identified, MaterialValidationTopicData to represent materials that need to be identified, RecipeValidationTopicData to represent the information of a recipe that needs to be validated by ValidateTopicRequest, and ToolValidationTopicData to represent tools that need to be validated.
- CFX.Structures.TransportPriority
- Added new enumeration TransportPriority to specify the priority (low, medium, high) of a transport
- CFX.Structures.Conveyor
- Added new properties CenterSupportHeightReadingPoint, CenterSupportHeightSetPoint, CenterSupportPositionReadingPoint, CenterSupportPositionSetPoint, Sequence, SpeedReadingPoint, SpeedSetPoint, WidthReadingPoint, WidthSetPoint
- CFX.Structures.InspectedPanel
- Added new property PCBVariant to provide the identification of the PCB variant.
- CFX.Structures.NumericValue
- Added new properties MaximumAcceptableValueUnits and MinimumAcceptableValueUnits to provide maximum and minimum acceptable values represented in valid SI units.
- CFX.Structures.SMTPlacement.SMDBulkCaseFeeder and CFX.Structures.SMTPlacement.SMDTrayFeeder
- Added new properties CellNumberX and CellNumberY to add missing cell coordinates for the x and y positions of a material within a tray.
- CFX.Structures.SMTPlacement.SMTInstalledComponent
- Added new properties InstallationSequence to provide the installation sequence within the corresponding placement cycle for this material/part, PickingSequence to provide the picking sequence within the corresponding picking cycle for this material/part and PickingTime to provide the specific time when the material/part was picked or attempted to be picked.
- CFX.Structures.SMTPlacement.SMTNonInstalledComponent
- Added new properties PickingSequence to provide the picking sequence within the corresponding picking cycle for this material/part and PickingTime to provide the specific time when the material/part was picked or attempted to be picked.
- CFX.Structures.SMTPlacement.SMTPlacementFault
- Added new properties NumberOfTriesBeforeError to provide occurrences of errors that have resulted in this fault (mostly relevant for PartsExhaust, FeederError, NozzleError and HeadError types of placement faults) and ReferencePartNumber which indicates the original part number if the material package is used as an alternate part.
- CFX.Structures.SolderPastePrinting.SolderPastePrintingPCBProcessData
- Added new properties PrePrintStretch and PostPrintStretch to provide the relative stretch ratio of a printed board before and after printing.
- CFX.Structures.UnitPosition
- Added new property Z to provide the z coordinate of a Production unit origin, as it is known to the endpoint, expressed in mm.
Topics:
- Added Topic CFX. Information System. Operator Validation, which is implemented by endpoints that need to validate activation of operators with an externa;system.
Messages:
- CFX. Production. Test And Inspection. Get Inspection Info Request/Get Inspection Info Response
- Added new request/response message pair optionally implemented by test and inspection systems, which allows other CFX endpoints to query for a list of inspections and tests performed on a specific set of units.
- CFX. Heartbeat
- Added new properties Active Faults and Active Recipes that indicate if there are any open (unaddressed faults) and the currently active recipe at the endpoint, respectively.
- CFX. Information System. Operator Validation. Validate Operator Request/Validate Operator Response
- Added new request/response message pair optionally implemented by factory software systems that allows equipment and other endpoints to validate that a given operator is qualified and permitted to operate a certain piece of equipment or perform a certain task.
- CFX.Materials.Storage.GetLoadedMaterialsRequest
- Added new optional property ResourceUniqueIdentifier that allows the requestor to identify the specific resource in which they are interested.
Data Structures:
- CFX.Structures.MaterialCarrierLocation
- Added new property ResourceLocation that identifies the resource to which the MaterialCarrierLocation is associated.
- CFX.Structures.Resource
- Added new property Type that indicates the type of material storage resource (e.g., Shelf, Storage Tower, Machine).
- CFX.Structures.UnitInfo
- Added new property CRDs, which is a list of specific component reference designators that are relevant to a particular transaction.
Topics:
No changes
Messages:
- CFX. Production. Recipe Activated
- Added new property Expected Work Time that represents the expected amount of time that the equipment will spend processing each unit for this recipe.
- CFX.Production.RecipeDeactivated
- Added new property WorkOrderIdentifier that represents the work order that was just deactivated.
- CFX.Production.RecipeModified
- Added new property WorkOrderIdentifier that represents the work order associated with the recipe modification.
- CFX.Production.TestAndInspection.UnitsInspected
- Added new property InspectedPanel, which is an optional field that represents a summary of inspections performed on a printed board panel.
- CFX.Production.Processing.UnitsProcessed
- Augmented dynamic structures used by this message to include support for UV curing type equipment (see details in Data Structures for this section).
- CFX.Production.WorkCompleted
- Added new PerformanceImpacts property that summarizes a list of conditions that impacted the equipment’s performance during the processing of a given unit.
- CFX.Production.WorkOrderActionExecuted
- Added new properties RecipeName, RecipeRevision and RelevantSurface to identify details of a recipe associated to a given work order.
- CFX.Production.WorkStageCompleted
- Added new PerformanceImpacts property that summarizes a list of conditions that impacted the equipment’s performance during the processing of a given unit within a particular equipment stage.
Data Structures:
- CFX.Structures.FiducialInfo
- Added new property UniqueIdentifier, intended to distinctly identify a particular fiducial.
- CFX.Structures.MaterialCarrier
- Added new property ParentCarrier to allow for subcarrier situations.
- CFX.Structures.OperatingSystem
- Added new value to this enumeration: Windows11
- CFX.Structures.UnitStatus
- Added new value to this enumeration: Skip
- CFX.Structures.Recipe
- Added new property ExpectedWorkTime, representing the expected amount of time the equipment will spend processing each unit for this recipe.
- CFX.Structures.RecipeStageInformation
- Added new property ExpectedWorkTime, representing the expected amount of time the equipment will spend processing each unit for this recipe at a particular stage.
- CFX.Structures.SolderPasteInspection.SolderPasteInspectionRecipe
- Added new property Fiducials to this data structure, indicating information about the fiducials associated with the recipe.
- CFX.Structures.UVCuring.UVCuringProcessData
- Added new dynamic structure derived from ProcessData, allowing UV Curing type equipment to report process data using the UnitsProcessed CFX message.
- CFX.Structures.UVCuring.UVCuringGlassPlate
- New data structure used by the UVCuringProcessData dynamic structure.
- CFX. Structures. UV Curing. UV Curing Lamp Data
- New data structure used by the UVCuringProcessData dynamic structure.
Topics:
No changes
Messages:
- CFX. Production. Tools Cleaned
- Added new event type message indicating that one or more Tools have been cleaned.
- CFX.Production.Tools Loaded
- Added new event type message indicating that one or more Tools have been loaded at an endpoint.
- CFX.Production.Tools Unloaded
- Added new event type message indicating that one or more Tools have been unloaded at an endpoint.
- CFX.Resource Performance.Process Data Recorded
- Added new event type message allowing an endpoint to indicate that processing of some kind has occurred outside of main flow of production. This is complimentary to the Units Processed message, which indicates that processing has occurred within the main flow of production, involving production units.
- CFX.Production.Processing.Units Processed
- Augmented dynamic structures used by this message to include support for cleaning and depaneling (router) type equipment (see details in Data Structures section).
Data Structures:
- CFX.Structures.Fault Cause
- Added new value to this enumeration: Rejected Component.
- CFX.Structures.Installed Material
- New property Reference Part Number added to pre-existing Installed Material structure.
- CFX.Structures.Material Package Detail
- Added to property and dynamic structure Packaging Info to Material Package Detail structure. This new property/ dynamic structure allows endpoints to specify details, such as dimensions, related to the physical packaging of the material (tape reel, tube, box, etc.).
- Added new properties to the pre-existing Material Package Detail data structure: BatchId, GreyZone, Internal Package Name, Packaging Info, Part Price, Part Price Unit.
- CFX.Structures.PackagingInfo
- Added to dynamic structure PackagingInfo. This new dynamic structure allows endpoints to specify details, such as dimensions, related to the physical packaging of a material (tape reel, tube, box, etc.).
- CFX.Structures.UnitPosition
- New property Status added to pre-existing UnitPosition structure, which is used to indicate the processing outcome of an individual unit processed together with a group of units.
- CFX.Structures.UnitStatus
- Added new enumeration UnitStatus, which is used by the pre-existing UnitPosition structure to indicate the processing outcome of an individual unit processed together with a group of units.
- CFX.Structures.VerificationResult
- Added new values to this enumeration: DefectAccepted, DefectClosed, DefectRepaired. This is used by the pre- existing Defect data structure.
- CFX.Structures.Cleaning.CleaningProcessData
- Added new dynamic structure to support cleaning type equipment. This structure can be utilized by the UnitsProcessed and ProcessDataRecorded messages to report detailed information specific to cleaning processes.
- CFX.Structures.Cleaning.CleaningManagementData
- Added new dynamic structure to support cleaning type equipment. This structure can be utilized by the UnitsProcessed and ProcessDataRecorded messages to report detailed information specific to cleaning processes.
- CFX.Structures.Coating.CoatingMeasurement
- Added new properties to this pre-existing structure: Axis, FluidPressure, NozzleWidth.
- CFX.Structures.Coating.CoatingMeasurementType
- Added new values to this enumeration: Axis, Fluidweight, Heater, MaterialLevel, Monitor, NozzleWidth.
- CFX.Structures.Coating.CoatingNozzle
- Added new structure CoatingNozzle, used by CoatingProcessData dynamic structure.
- CFX.Structures.Coating.CoatingNozzleData
- Added new structure CoatingNozzleData, used by CoatingProcessData dynamic structure.
- CFX.Structures.Coating.CoatingProcessData
- Added new property Nozzle to this pre-existing dynamic structure.
- CFX.Structures.Depaneling.RouterToolProcessData
- Added new dynamic structure to support depaneling/router type equipment. This structure can be utilized by the UnitsProcessed and ProcessDataRecorded messages to report detailed information specific to depaneling and routing processes.
- CFX.Structures.SMTPlacement.SMDBulkCaseFeeder
- Added new dynamic structure SMDBulkCaseFeeder, a specific type of MaterialCarrier, that represents a bulk type material feeder used by SMD equipment.
- CFX.Structures.SMTPlacement.SMDTapePackagingInfo
- Added new dynamic structure SMDTapePackagingInfo, a specific type of PackagingInfo, that represents a reel of taped SMD parts.
- CFX.Structures.SMTPlacement.SMDTubePackagingInfo
- Added new dynamic structure SMDTubePackagingInfo, a specific type of PackagingInfo, that represents a tube of SMD parts.
- CFX.Structures.SMTPlacement.SMTPlacementFaultType
- Added new values to this enumeration: FeederError, LowQuantity, PartsPartiallyExhaust.
- CFX.Structures.SMTPlacement.SMTStageInformation
- Added new dynamic structure SMTStageInformation, a specific type of StageInformation, that represents a stage within SMT type equipment. This is part of the schema used by the GetEndpointInformationRequest/Response messages.
- CFX.Structures.SolderPastePrinting.SMTSqueegee
- Added new property CleaningState to this pre-existing data structure.
- CFX.Structures.SolderPastePrinting.SMTStencil
- Added new property CleaningState to this pre-existing data structure.
Topics:
- Added Topic CFX. Information System. Data Transfer, which is implemented when a resource is capable of transferring data packages (e.g., IPC-2581 design data) from one endpoint to another.
- Added Topic CFX. Production. Rework And Repair, which is implemented by endpoints involved in the repair and/or rework of production units.
Messages:
- CFX. Information System. Data Transfer. File Transfer Request/File Transfer Response
- Added new request/response message to allow an endpoint to initiate a file transfer between itself and another endpoint. File transfers may proceed either from the initiator/requester to the recipient (PUSH Mode), or from recipient to initiator/requester (PULL Mode). File transfers may also be in-band, meaning the file data payload is included in the CFX message directly and transferred via the AMQP protocol. They may also be out-of-band, meaning a secure link to the data file is passed via the CFX message over AMQP protocol, and a secondary protocol (such as HTTPS or SFTP) is then used to transfer the file data payload, independent of the AMQP message stream.
- CFX.Production.GetAvailableRecipesRequest/GetAvailableRecipesResponse
- Added new request/response messages that allow an endpoint to query another endpoint for a listing of all available recipes that are resident on that endpoint (or at a specific folder or location on that endpoint).
- CFX.Production.GetUnitInfoRequest/GetUnitInfoResponse
- Added new request/response messages that allow an endpoint to query another endpoint for information related to a specific production unit or grouping of production units (i.e., in the case of a printed board panel). For example, this new request/response pairing enables an endpoint to obtain the bad-mark mapping of a particular panel from another endpoint that has such knowledge. This could be used as an alternative to scanning the whole panel, searching for bad-marks, thereby saving valuable production time.
- CFX.Production.ReworkAndRepair.UnitsRepaired
- Added new event type message that allows an endpoint to provide detailed information related to the repair and rework of production units previously found to be defective.
- CFX.Production.Hermes.GetWorkOrderDataResponse
- Added new property Route to existing message that enables routing information to be passed to downstream endpoints.
- CFX.ResourcePerformance.LogEntryRecorded
- Added new property AdditionalInfo that enables an endpoint to provide additional detail related to the log entry. This new property is a dynamic structure and may be overridden to provide different information for different types of endpoints.
- CFX.Structures.Defect, CFX.Structures.Symptom, CFX.Structures.Image
- Added new property Status to both structures. This new property is an enumeration that permits the lifecycle of an issue (a Defect or a Symptom) to be tracked. This is related to the new CFX.Production.ReworkAndRepair topic and messages.
- Added new properties ImageURL and TransferMode to the pre-existing Image data structure used by the Defect data structure. These new properties enable images of the defects to be transferred out-of-band, similar to the new FileDataTransferRequest/Response functionality.
- CFX.Structures.ProcessingResult, CFX.Structures.TestResult, CFX.Structures.ValidationStatus, CFX.Structures. WorkResult
- Added new value Skipped to all of these pre-existing enumerations to support bad-marks.
- CFX.Structures.RejectionReason
- Added new value BadVisionTestBeforePickup to this pre-existing enumeration used by the CFX.Production.Assembly.MaterialsInstalled message.
- CFX.Structures.InspectedUnit
- Added new property TotalInspectionCount to this pre-existing data structure used by the CFX.Production.TestAndInspection.UnitsInspected message.
- CFX.Structures.InstalledMaterial
- Added new property QuantityNonInstalled to this pre-existing data structure used by the CFX.Production.Assembly.MaterialsInstalled message.
Topics:
- Added Topic CFX. Maintenance, which is implemented when a resource is capable of exposing maintenance information and responding to maintenance requests.
- Added Topic CFX.Production.Hermes, which is implemented by endpoints that support the HERMES standard.
Messages:
- CFX. Get End point Information Response:
- Added new property Supported PCB Dimensions to Endpoint structure which defines the maximum and minimum dimensions to which a printed board panel or fixture needs to conform.
- Added new property SleepStates to Endpoint structure which identifies the energy conservation modes supported by the endpoint.
- CFX.NotSupportedResponse:
- Added new response type message that may be sent in response to any request type message indicating that the endpoint does not support the request that was made by another endpoint.
- CFX.Maintenance.GetResourceInformationRequest/GetResourceInformationResponse:
- Added new request/response messages to obtain detailed information about the resources and sub-resources contained within an endpoint that main require maintenance.
- CFX.Maintenance.GetResourceMaintenanceAndServiceRequest / GetResourceMaintenanceAndServiceResponse:
- Added new request/response messages to obtain detailed maintenance related information regarding the resources and sub-resources contained within an endpoint.
- CFX.Maintenance.GetResourceMaintenanceStatusRequest/GetResourceMaintenanceStatusResponse:
- Added new request/response messages to obtain detailed information regarding the status of the resources and sub- resources contained within an endpoint.
- CFX.Maintenance.GetResourceSetupRequest/GetResourceSetupResponse:
- Added new request/response messages to obtain detailed information regarding the status of removeable maintenance resources and sub-resources currently attached to an endpoint.
- CFX.Maintenance.ResourceInformationEvent:
- Added new event type message that periodically reports the current resources and sub-resources contained within an endpoint.
- CFX.Maintenance.ResourceMaintenanceAndServiceEvent:
- Added new event type message that periodically reports maintenance and service information related to resources and sub-resources contained within an endpoint.
- CFX.Maintenance.ResourceMaintenanceStatusEvent:
- Added new event type message that periodically reports status of resources and sub-resources contained within an endpoint.
- CFX.Maintenance.ResourceSetupEvent:
- Added new event type message that periodically reports when detachable resources are setup at an endpoint.
- CFX.Production.GetRecipeResponse:
- Added new dynamic recipe structure for SPI equipment called SolderPasteInspectionRecipe.
- Added new property UnitPositionNumber to Board structure used by dynamic PCBInspectionRecipe dynamic recipe structure for AOI equipment.
- Added new property PartNumber to Component structure used by dynamic PCBInspectionRecipe dynamic recipe structure for AOI equipment.
- CFX.Production.RecipeActivated:
- Added new property RelevantSurface that identifies the surface of the product to which the recipe applies.
- Added new property TargetQuantity that reports the total number of production units intended to be produced by the run associated with the newly activated recipe.
- Added new property WorkOrderIdentifier that identifies the Work Order and/or Batch that will be produced by the newly activated recipe.
- CFX.Production.Assembly.MaterialsInstalled and CFX.Production.Assembly.MaterialsUninstalled:
- Added new property Stage to InstalledComponent structure that identifies the stage within the endpoint that performed the installation or uninstallation.
- CFX.Production.Hermes.GetMagazineDataRequest/GetMagazineDataResponse:
- Added new request/response messages that allows an endpoint to request information about a Hermes magazine.
- CFX.Production.Hermes.MagazineArrived:
- Added new event type message that allows an endpoint to signal when it has received a Hermes-enabled magazine containing production units.
- CFX.Production.Hermes.MagazineDeparted:
- Added new event type message that allows an endpoint to signal when a Hermes-enabled magazine containing production units has departed from the endpoint.
- CFX.Production.Hermes.GetWorkOrderDataRequest/GetWorkOrderDataResponse:
- Added new request/response type messages that may be used by an endpoint to acquire information related to a particular work order (typically at the beginning of a Hermes-enabled line). This information would typically then be passed down the line through the Hermes protocol/mechanism.
- CFX.Production.Hermes.MagazineDeparted:
- Added new event type message that allows an endpoint to signal when it has received a Hermes-enabled magazine containing production units.
- CFX.Production.TestAndInspection.UnitsInspected:
- Added new property RefNo to the Inspection structure that identifies the part of the Recipe to which the Inspection applies.
- Added new properties A, AR, EA, PX, PY, and RXY to SolderPasteMeasurement dynamic structure.
- CFX.ResourcePerformance.CalibrationPerformed:
- Added new property Status to Calibration structure indicating the current status of the calibration effort.
- Added new property CalibrationTime to Calibration structure indicating when that particular calibration was performed.
- CFX.ResourcePerformance.EnergyConsumed:
- Added new properties CurrentNow, CurrentNowRYB, FrequencyNow, MeanCurrent, MeanCurrentRYB, MeanFrequency, MeanPower, MeanPowerRYB, MeanVoltage, MeanVoltageRYB, MinimumCurrent, MinimumCurrentRYB, MinimumFrequency, MinimumPowerRYB, MinimumVoltage, MinimumVoltageRYB, PeakCurrent, PeakCurrentRYB, PeakVoltage, PeakVoltageRYB, PowerFactorNow, PowerFactoryRYB, PowerNow, PowerNowRYB, ThreePhaseNeutralCurrentNow, VoltageNow, and VoltageNowRYB to allow more detailed energy consumption reporting.
Transport:
- Standardized AMQP envelope properties for CFX messages. The content of AMQP 1.0 message properties and application properties is now defined by IPC-2591, allowing for advanced message routing and delivery by compatible brokers and message routing systems.
- Compressed message encoding support. CFX messages may now be compressed for transmission via gzip compression, materially reducing the bandwidth requirements. The AMQP message envelope indicates whether the message payload is compressed.
Topics:
- Added Topic CFX. Production. Loading And Unloading, which is implemented when a production resource is capable of loading or unloading production units into any type of fixture or carrier. This includes depanelization equipment, for example.
Messages:
- CFX. Heartbeat:
- Added new message Heartbeat, sent periodically by an endpoint as a keep alive and endpoint status mechanism.
- CFX. Get End point Information Response:
- Added new properties SoftwareVersion, FirmwareVersion, OperatingSystem, OperatingSystemPlatform, and OperatingSystemVersion to Endpoint structure.
- CFX.InformationSystem.UnitValidation.ValidateUnitsRequest:
- Added new property Lane to ValidateUnitsRequest, which indicates the production Lane on the endpoint through which the production unit is about to travel.
- CFX.Production.ActivitiesExecuted:
- Changed SMTPlacementActivity dynamic structure.
- Changed singular Head property to plural Heads and restructured as a list to reference multiple placement heads in one single activity.
- CFX.Production.GetRecipeResponse and CFX.Production.UpdateRecipeRequest:
- Added new UnitLength, UnitWidth, and UnitHeight properties to Recipe structure.
- Added new dynamic structure SolderPastePrintingRecipe, which represents a specialized type of Recipe related to solder paste printing processes.
- CFX.Production.ReadingsRecorded:
- Added new dynamic structure CFX.Structures.VaccumDeposition.CoatingProcessReading, which is a specialized type of Reading sent by endpoints which perform vacuum deposition coating processes.
- CFX.Production.RecipeActivated:
- Added new property RecipeStagesInformation, which indicates the expected cycle time and component count breakdowns for each Stage of the Recipe.
- CFX.Production.RecipeDeactivated:
- Added new message RecipeDeactivated, sent when a recipe is no longer active on a production resource.
- CFX.Production.RecipeModified:
- Added new Reason enumeration Deleted to indicate that the recipe has been deleted at the endpoint.
- CFX.Production.WorkOrderActionExecuted:
- Added new message WorkOrderActionExecuted to record activities performed on a WorkOrder not directly related to production work transactions.
- CFX.Production.WorkStagePaused:
- Added new PauseReason StoppedByOperator to WorkStagePauseReason enumeration.
- CFX.Production.LoadingAndUnloading.UnitsLoaded:
- Added new message UnitsLoaded which indicates when an endpoint loads production units into any type of carrier or fixture.
- CFX.Production.LoadingAndUnloading.UnitsUnloaded:
- Added new message UnitsUnloaded which indicates when an endpoint unloads production units from any type of carrier or fixture, such as in the case of depanelization.
- CFX.Production.Processing.UnitsProcessed:
- Added new dynamic structure SolderPastePrintingPCBProcessData, which is used to provide detailed trace information related to solder paste printing.
- CFX.Production.TestAndInspection.UnitsTested:
- Added new dynamic structure CFX.Structures.VaccumDeposition.CoatingThicknessMeasurement, which is a specialized type of Measurement sent by endpoints which perform vacuum deposition coating processes.
- CFX.ResourcePerformance.FaultOccurred:
- Added new property TransactionId to Fault structure, which may be used to relate a specific Fault to a particular work transaction established by a WorkStarted message.
- Added new enumeration type ProcessError to FaultCause enumeration.
Topics:
No Changes
Messages:
- CFX. Information System. Unit Validation:
- Added Primary Identifier and Hermes Identifier properties to Validate Units Request message in support of Hermes compatibility.
- Added these properties to CFX. Production. Units Arrived, CFX. Production. Units Departed,
- CFX. Production. Units Disqualified, CFX. Production. Units Initialized, CFX. Production. Work Started, CFX. Sensor. Identification. Identifiers Read, CFX. Sensor. Identification. Identify Units Response and Condition Result structure.
- CFX. Materials. Management. Get Material Information Request/Response:
- Added messages.
- CFX. Materials. Management. Materials Chain Split:
- Added message.
- CFX.Production.Assembly.MaterialsInstalled:
- Added NonInstalledMaterials property. This allows assembly machines to account for materials that were intentionally not installed during an assembly operation.
- CFX.Production.Processing.UnitsProcessed:
- Added structure for Selective Soldering, SelectiveActivity.
- CFX.Production.TestAndInspection.UnitsInspected:
- Added additional inspection method, automated X-ray inspection (AXI).
- Added additional test methods, in-circuit test (ICT), flying probe test (FPT), FCT, basic systems test (BST).
- Added RecipeName and RecipeRevision properties so subscribers may know the specific revision of the Recipe in use at the time of inspection.
- CFX.Production.TestAndInspection.UnitsTested:
- Added additional test methods; now supports, boundary scan, burn-in, printed board flying probe, FCT and ICT.
- CFX.Production.WorkStagePaused:
- New parameter added to indicate the reason why the pause has occurred.
- CFX.Production.Application.Solder:
- Topic removed – should not be supported.
- CFX.Production.Application.Solder.PCBSelectiveSoldered:
- Message removed – should not be supported. The CFX.Production.Processing.UnitsProcessed should be used in all cases.
- CFX.Production.Assembly.MaterialsInstalled:
- Now includes a parameter set that lists noninstalled materials (i.e., those that should have been installed but for some reason were not).
- CFX.Production.RecipeActivated:
- Updated this message and Recipe structure to include expected cycle time and panel size (units/cycle) in support of overall equipment effectiveness (OEE) calculations.
- Added new parameter NumberOfComponentsPerUnit property in support of components per hour (CPH) calculations.
- CFX.Production.UnitsArrived/CFX.Production.UnitsDeparted:
- Added new property Lane.
- CFX.Production.UnitsInitialized:
- Added new property TransactionID.
- CFX.Production.WorkCompleted:
- Added new properties PrimaryIdentifier, HermesIdentifier and Units collection.
Message Structures:
- ActivityState enumeration:
- Added additional activity states On and Off.
- FaultCause enumeration:
- Added additional fault states ElectricalFailure and ServicesFailure.
- InspectedUnits/Inspection/Measurement structures:
- Added VerificationResult enumeration.
- MaterialModifyReason enumeration:
- Added additional SensorTriggeredCorrection.
- MaterialPackage data structure:
- Added LeadingMaterialPackage, BatchID, BatchMaterialPackage, and GreyZone properties.
- MaterialPackageDetail data structure:
- Added ExpiryDate property.
- PCBInspectionRecipe:
- Dynamic structure added, derived from existing Recipe structure. This new structure provides detailed geometric information about the printed board and the components being inspected, so that pick-and-place equipment (and others) may correlate inspection results to printed board layout dynamically.
- ResourceState enumeration:
- Added additional states SBY NoProductBlocked and SBY NoProductStarved.
- Selective Activity:
- New structure created for CFX.ProductionProcessing.UnitsProcessed.
- ValidationType enumeration:
- Added UnitTraceValidation property, used by CFX.InformationSystem.UnitValidation.ValidateUnitsRequest/Response message.
Your Path to CFX Success
Whether you are an equipment vendor, EMS/OEM company, or software provider, IPC can help you successfully implement CFX.
1. Getting Started
- Purchase IPC-2591 for you and your IT team.
- Explore Software Tools and Support and have your IT team download the free SDK.
2. Learn How to Implement CFX
- Watch On-Demand Training for CFX, including step-by-step guidance for proper implementations.
3. Connect with industry leaders and influence IPC-CFX development
- Join the CFX Standard Task Group and collaborate with a global community on CFX enhancements
- Connect with other CFX integrators via GitHub
4. Use the CFX Qualified Products List
- Equipment vendors: Subscribe to CFX Validation and Qualification System to ensure compliance.
- Equipment buyers: View equipment by type and get full visibility into CFX capabilities on the IPC-CFX-2591 Qualified Products List.
5. Get Expert Support
- Still need assistance with integrations. Personalized guidance through CFX Engineering Support services is available to all Validation and Qualification System subscribers.