Click or drag to resize

CFX.ResourcePerformance Namespace

CFX Topic related to the performance of an endpoint (speed, OEE, fault rates, etc).
Classes
 ClassDescription
Public classCalibrationPerformed Sent when calibration of any sort has been performed at an endpoint.
{
  "TransactionID": "a71dae78-b78d-49b6-939d-d8fb20281391",
  "Calibration": {
    "CalibrationCode": "FID1",
    "CalibrationType": "UnitPosition",
    "Comments": "Position Check.  Fiducial FID1.",
    "Status": "Ok",
    "CalibrationTime": null,
    "Measurements": [
      {
        "MeasurementName": "Measure1",
        "MeasurementValue": {
          "Value": 0.97,
          "ValueUnits": "mm",
          "ExpectedValue": 1.0,
          "ExpectedValueUnits": "mm",
          "MinimumAcceptableValue": 0.9,
          "MinimumAcceptableValueUnits": "mm",
          "MaximumAcceptableValue": 1.2,
          "MaximumAcceptableValueUnits": "mm"
        }
      }
    ]
  }
}
Public classChangeSleepStateRequest

** NOTE: ADDED in CFX 1.3 **

This request allows an external source to change the sleep state of a Stage or Station ChangeSleepStateResponse message that it sends back to the requester.
{
  "StageName": "Stage 1",
  "NewSleepState": "Awake"
}
Public classChangeSleepStateResponse

** NOTE: ADDED in CFX 1.3 **

Response to an external source to modify a generic configuration parameter of a process endpoint.
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  },
  "OldSleepState": "Hibernate",
  "NewSleepState": "Awake",
  "Stage": {
    "StageSequence": 2,
    "StageName": "Stage 1",
    "StageType": "Work"
  },
  "Lane": null,
  "TransitionTimeRemaining": "00:00:45"
}
Public classEnergyConsumed Sent by a process endpoint on a sampled interval of between 1 minute and 1 hour to indicate the energy usage and power consumption.
{
  "StartTime": "2018-04-05T09:33:06.1358356-04:00",
  "EndTime": "2018-04-05T09:38:06.1358356-04:00",
  "EnergyUsed": 0.012,
  "PeakPower": 125.6,
  "MinimumPower": 120.3,
  "MeanPower": 124.6,
  "PowerNow": 121.1,         
  "PowerFactorNow": 0.95,
  "PeakCurrent": 0.82,       
  "MinimumCurrent": 0.00,    
  "MeanCurrent": 0.68,       
  "CurrentNow": 0.69,       
  "PeakVoltage": 239.1,      
  "MinimumVoltage": 231.6,   
  "MeanVoltage": 232.9,      
  "VoltageNow": 212.1,       
  "PeakFrequency": 52,
  "MinimumFrequency": 50.5,
  "MeanFrequency": 50.6,
  “FrequencyNow": 50.6,
  "PeakPowerRYB": [ 125.6, 77.4, 10.2 ],
  "MinimumPowerRYB": [ 120.3, 68.5, 8.5 ],    
  "MeanPowerRYB": [ 124.6, 70.2, 9.8 ], 
  "PowerNowRYB": [ 121.1, 68.9, 10.1 ], 
  "PowerFactorNowRYB": [ 0.95, 0.92, 0.80 ],
  "PeakCurrentRYB": [ 0.82, 0.65, 0.33 ], 
  "MinimumCurrentRYB": [ 0.00, 0.01, 0.32 ], 
  "MeanCurrentRYB": [ 0.68, 0.58, 0.32 ],
  "CurrentNowRYB": [ 0.69, 0.57, 0.32 ], 
  "PeakVoltageRYB": [ 420.1, 413.7, 404.6 ], 
  "MinimumVoltageRYB": [ 393.6, 399.8, 397.4 ],
  "MeanVoltageRYB": [ 402.9, 400.1, 402.3 ],
  "VoltageNowRYB": [ 401.1, 401.5, 402.3 ], 
  "ThreePhaseNeutralCurrentNow": 0.06 
}
Public classEnergyConsumptionRequest

** NOTE: ADDED in CFX 1.3 **

This request allows an external source to inquire data regarding energy consumption of the endpoint EnergyConsumptionResponse message that it sends back to the requester.
Public classEnergyConsumptionResponse

** NOTE: ADDED in CFX 1.3 **

Response to an external source inquiring data regarding energy consumption of the endpoint.
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  },
  "StartTime": "2018-04-05T09:33:06.1358356-04:00",
  "EndTime": "2018-04-05T09:38:06.1358356-04:00",
  "EnergyUsed": 0.012,
  "PeakPower": 125.6,
  "MinimumPower": 120.3,
  "MeanPower": 124.6,
  "PowerNow": 121.1,         
  "PowerFactorNow": 0.95,
  "PeakCurrent": 0.82,       
  "MinimumCurrent": 0.00,    
  "MeanCurrent": 0.68,       
  "CurrentNow": 0.69,       
  "PeakVoltage": 239.1,      
  "MinimumVoltage": 231.6,   
  "MeanVoltage": 232.9,      
  "VoltageNow": 212.1,       
  "PeakFrequency": 52,
  "MinimumFrequency": 50.5,
  "MeanFrequency": 50.6,
  “FrequencyNow": 50.6,
  "PeakPowerRYB": [ 125.6, 77.4, 10.2 ],
  "MinimumPowerRYB": [ 120.3, 68.5, 8.5 ],    
  "MeanPowerRYB": [ 124.6, 70.2, 9.8 ], 
  "PowerNowRYB": [ 121.1, 68.9, 10.1 ], 
  "PowerFactorNowRYB": [ 0.95, 0.92, 0.80 ],
  "PeakCurrentRYB": [ 0.82, 0.65, 0.33 ], 
  "MinimumCurrentRYB": [ 0.00, 0.01, 0.32 ], 
  "MeanCurrentRYB": [ 0.68, 0.58, 0.32 ],
  "CurrentNowRYB": [ 0.69, 0.57, 0.32 ], 
  "PeakVoltageRYB": [ 420.1, 413.7, 404.6 ], 
  "MinimumVoltageRYB": [ 393.6, 399.8, 397.4 ],
  "MeanVoltageRYB": [ 402.9, 400.1, 402.3 ],
  "VoltageNowRYB": [ 401.1, 401.5, 402.3 ], 
  "ThreePhaseNeutralCurrentNow": 0.06 
}
Public classFaultAcknowledged Sent when a fault has been acknowledged by the operator, but not yet corrected (cleared). A subsequent FaultCleared message will be sent once the operator addresses the issue.
{
  "Operator": {
    "OperatorIdentifier": "BADGE4486",
    "ActorType": "Human",
    "LastName": "Doe",
    "FirstName": "John",
    "LoginName": "john.doe@domain1.com"
  },
  "FaultOccurrenceId": "5af7e56c-cfbf-4f1f-aa4c-79d94a7442bc"
}
Public classFaultCleared Sent by a process endpoint when a fault is cleared as described in a FaultOccurred message
{
  "FaultOccurrenceId": "22ac3c8a-9e6d-42f8-85b2-f51bf2224ecc",
  "Operator": {
    "OperatorIdentifier": "BADGE4486",
    "ActorType": "Human",
    "LastName": "Doe",
    "FirstName": "John",
    "LoginName": "john.doe@domain1.com"
  }
}
Public classFaultOccurred

Sent by a process endpoint whenever a fault is encountered. A data structure must be included in the message related to specific equipment type.

Generic Fault Example:

{
  "Fault": {
    "Cause": "MechanicalFailure",
    "Severity": "Error",
    "FaultCode": "ERROR 3943480",
    "FaultOccurrenceId": "ea170e0a-43fb-4b02-af2c-928a8401dd51",
    "Lane": null,
    "Stage": null,
    "SideLocation": "Unknown",
    "AccessType": "Unknown",
    "Description": null,
    "DescriptionTranslations": {},
    "OccurredAt": "2018-10-31T15:13:31.0083597-04:00",
    "DueDateTime": null
  }
}

SMT Placement Fault Example:

{
  "Fault": {
    "$type": "CFX.Structures.SMTPlacement.SMTPlacementFault, CFX",
    "PlacementFaultType": "PickupError",
    "ProgramStep": 56,
    "Designator": {
      "ReferenceDesignator": "R31",
      "UnitPosition": null,
      "PartNumber": "PN123456"
    },
    "MaterialLocation": {
      "LocationIdentifier": "UID23948348324",
      "LocationName": "SLOT47",
      "MaterialPackage": {
        "UniqueIdentifier": "UID34280923084932849",
        "InternalPartNumber": "IPN456465465465",
        "Quantity": 854.0
      },
      "CarrierInformation": {
        "$type": "CFX.Structures.SMTPlacement.SMDTapeFeeder, CFX",
        "BaseUniqueIdentifier": null,
        "BaseName": null,
        "LaneNumber": 1,
        "TapeWidth": 8.0,
        "TapePitch": 8.0,
        "UniqueIdentifier": "FDR2348934-32890",
        "Name": "8MMFDR231"
      }
    },
    "HeadAndNozzle": {
      "HeadId": "HEAD1",
      "HeadNozzleNumber": 3,
      "NozzleType": "TYPE914",
      "UniqueIdentifier": "UID2389432849",
      "Name": "NOZZLE3243244"
    },
    "Cause": "MechanicalFailure",
    "Severity": "Error",
    "FaultCode": "ERROR 3943480",
    "FaultOccurrenceId": "a5c05bdc-41a3-4e50-b421-b084eb12ba2b",
    "Lane": 1,
    "Stage": {
      "StageSequence": 2,
      "StageName": "STAGE2",
      "StageType": "Work"
    },
    "SideLocation": "Unknown",
    "AccessType": "Unknown",
    "Description": null,
    "DescriptionTranslations": {},
    "OccurredAt": "2018-10-31T15:13:31.0552292-04:00",
    "DueDateTime": null
  }
}

THT Insertion Fault Example:

{
  "Fault": {
    "$type": "CFX.Structures.THTInsertion.THTInsertionFault, CFX",
    "InsertionFaultType": "ClinchError",
    "ProgramStep": 56,
    "Designator": {
      "ReferenceDesignator": "R31",
      "UnitPosition": null,
      "PartNumber": "PN123456"
    },
    "MaterialLocation": {
      "LocationIdentifier": "UID23948348324",
      "LocationName": "SLOT47",
      "MaterialPackage": {
        "UniqueIdentifier": "UID34280923084932849",
        "InternalPartNumber": "IPN456465465465",
        "Quantity": 854.0
      },
      "CarrierInformation": {
        "$type": "CFX.Structures.SMTPlacement.SMDTapeFeeder, CFX",
        "BaseUniqueIdentifier": null,
        "BaseName": null,
        "LaneNumber": 1,
        "TapeWidth": 8.0,
        "TapePitch": 8.0,
        "UniqueIdentifier": "FDR2348934-32890",
        "Name": "8MMFDR231"
      }
    },
    "Cause": "MechanicalFailure",
    "Severity": "Error",
    "FaultCode": "ERROR 3943480",
    "FaultOccurrenceId": "cdc5d80e-bd0a-4b3b-9d85-9084b23f95e5",
    "Lane": 1,
    "Stage": {
      "StageSequence": 1,
      "StageName": "STAGE2",
      "StageType": "Work"
    },
    "SideLocation": "Unknown",
    "AccessType": "Unknown",
    "Description": null,
    "DescriptionTranslations": {},
    "OccurredAt": "2018-10-31T15:13:31.0708549-04:00",
    "DueDateTime": null
  }
}

Solder Paste Printing Fault Example:

{
  "Fault": {
    "$type": "CFX.Structures.SolderPastePrinting.SMTSolderPastePrintingFault, CFX",
    "PrintingFaultType": "SqueegeeError",
    "Cause": "MechanicalFailure",
    "Severity": "Error",
    "FaultCode": "ERROR 234333",
    "FaultOccurrenceId": "1610b591-eba0-4d30-b56e-89fdc94f865e",
    "Lane": 1,
    "Stage": {
      "StageSequence": 1,
      "StageName": "PRINTSTAGE",
      "StageType": "Work"
    },
    "SideLocation": "Unknown",
    "AccessType": "Unknown",
    "Description": null,
    "DescriptionTranslations": {},
    "OccurredAt": "2018-10-31T15:13:31.1021044-04:00",
    "DueDateTime": null
  }
}
Public classGetActiveFaultsRequest This request allows an external source to query the equipment for a list of active faults. GetActiveFaultsResponse message that it sends back to the requester.
Public classGetActiveFaultsResponse Response to an external source to modify a generic configuration parameter of a process endpoint.
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": null
  },
  "ActiveFaults": [
    {
      "Cause": "MechanicalFailure",
      "Severity": "Error",
      "FaultCode": "ERROR 3943480",
      "FaultOccurrenceId": "85a0286a-622f-4f87-99d5-1f11c95806f3",
      "Lane": null,
      "Stage": null,
      "SideLocation": "Right",
      "AccessType": "Remote",
      "Description": "PCB Transport is blocked",
      "DescriptionTranslations": {
        "de-DE": "Der Leiterplattentransport ist blockiert"
      },
      "OccurredAt": "2018-10-31T15:13:30.9146011-04:00",
      "DueDateTime": "2018-10-31T18:13:30.9146011-04:00"
    },
    {
      "Cause": "LoadError",
      "Severity": "Error",
      "FaultCode": "ERROR 3943555",
      "FaultOccurrenceId": "bb1933c4-5c7f-4840-9261-72998d682b2f",
      "Lane": null,
      "Stage": null,
      "SideLocation": "Right",
      "AccessType": "Local",
      "Description": "PCB Transport is blocked",
      "DescriptionTranslations": {
        "de-DE": "Der Leiterplattentransport ist blockiert"
      },
      "OccurredAt": "2018-10-31T15:13:30.9146011-04:00",
      "DueDateTime": "2018-10-31T18:13:30.9146011-04:00"
    }
  ]
}
Public classHandleFaultRequest This request allows an external source to modify the behaviour for this dedicated fault in such a way that the equoipment itself is not indicating the operator to handle this fault. Basically the fault should be handled remotly and no operator should be guided by the equipment itself to handle this fault locally on the equipment. HandleFaultResponse message that it sends back to the requester.
{
  "FaultOccurrenceId": "5f643ff3-8928-4079-af7f-926bcafb13f8",
  "HandleRemote": true
}
Public classHandleFaultResponse Response to an external source to modify the behaviour for the equipment to guide the operator process endpoint.
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  }
}
Public classLogEntryRecorded An informational message sent by a process endpoint regarding the something that has occurred at the station. Information about the criticality of the information should also be given (information, warning, error etc.).
{
  "InformationId": "INF21321321",
  "Message": "Beam 1 Zeroed and Homed",
  "Importance": "Information",
  "Lane": 1,
  "Stage": {
    "StageSequence": 1,
    "StageName": "STAGE1",
    "StageType": "Work"
  }
}
Public classMaintenancePerformed Sent by an endpoint when maintenance has been performed. Information includes the type of maintenance, maintenance code, parts used, labor etc.
{
  "MaintenanceType": "Preventive",
  "MaintenanceOrderNumber": "MO676578576",
  "MaintenanceJobCode": "MNT113334",
  "ConsumedMaterials": [
    {
      "MaterialLocation": {
        "LocationIdentifier": null,
        "LocationName": null,
        "MaterialPackage": {
          "UniqueIdentifier": null,
          "InternalPartNumber": "PN2343243",
          "Quantity": 0.0
        },
        "CarrierInformation": null
      },
      "QuantityUsed": 3.0,
      "QuantitySpoiled": 0.0,
      "RemainingQuantity": 0.0
    },
    {
      "MaterialLocation": {
        "LocationIdentifier": null,
        "LocationName": null,
        "MaterialPackage": {
          "UniqueIdentifier": "UID23849854385",
          "InternalPartNumber": "PN4452",
          "Quantity": 0.0
        },
        "CarrierInformation": null
      },
      "QuantityUsed": 3.0,
      "QuantitySpoiled": 0.0,
      "RemainingQuantity": 0.0
    }
  ],
  "Tasks": [
    {
      "Task": "Changed hydraulic fluid in resovoir 1",
      "TaskId": "HYD233432432",
      "Operator": {
        "OperatorIdentifier": "BADGE489435",
        "ActorType": "Human",
        "LastName": "Smith",
        "FirstName": "Joseph",
        "LoginName": "joseph.smith@abcdrepairs.com"
      },
      "ManHoursConsumed": 0.75
    },
    {
      "Task": "Checked torque on main mount bolts",
      "TaskId": "CHK3432434",
      "Operator": {
        "OperatorIdentifier": "BADGE489435",
        "ActorType": "Human",
        "LastName": "Smith",
        "FirstName": "Joseph",
        "LoginName": "joseph.smith@abcdrepairs.com"
      },
      "ManHoursConsumed": 0.25
    }
  ]
}
Public classModifyStationParametersRequest This request allows an external source to modify a generic configuration parameter of a process endpoint. Upon successful processing of this request, the endpoint should publish a StationParametersModified message in addition to the ModifyStationParametersResponse message that it sends back to the requester.
{
  "NewParameters": [
    {
      "$type": "CFX.Structures.GenericParameter, CFX",
      "Name": "Torque1",
      "Value": "35.6"
    }
  ]
}
Public classModifyStationParametersResponse Response to an external source to modify a generic configuration parameter of a process endpoint.
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  }
}
Public classProcessDataRecorded

** NOTE: ADDED in CFX 1.5 **

Cleaning Agent needs to report the status of the cleaning liquid regularly as well as an alarm if certain values go out of the allowable range
{
  "ProcessData": {
    "$type": "CFX.Structures.Cleaning.CleaningManagementData, CFX",
    "Readings": [
      {
        "ReadingType": "TemperatureAverage",
        "ReadingValue": 25.0
      },
      {
        "ReadingType": "DIWaterVolumeAdd",
        "ReadingValue": 1.5
      }
    ]
  }
}
Public classSleepStateChanged

** NOTE: ADDED in CFX 1.3 **

Sent by a process endpoint when the sleep state transitions from one state to another.

Example 1 (Sleep State change to deeper sleep state):

{
  "OldSleepState": "Awake",
  "NewSleepState": "Shallow",
  "TransitionTimeRemaining": null
}

Example 2 (Sleep State change to shallower sleep state):

{
  "OldSleepState": "Hibernate",
  "NewSleepState": "Awake", 
  "Stage": {
    "StageSequence": 2,
    "StageName": "Stage 1",
    "StageType": "Work"
  },
  "Lane": null,    
  "TransitionTimeRemaining": "00:00:45"
}
Public classStageStateChanged Sent by a process endpoint when the production state of one of its stages transitions from one state to another per its state model.
{
  "Stage": {
    "StageSequence": 2,
    "StageName": "STAGE2",
    "StageType": "Work"
  },
  "Lane": null,
  "OldState": 2200,
  "OldStateDuration": "00:01:25",
  "NewState": 1100,
  "RelatedFault": null
}
Public classStationOffline Sent by a process endpoint when it is about to transition to a state where it is not possible for further communication, for example when the endpoint is powered down, reset, put into maintenance mode, or simply set off-line.
Public classStationOnline Sent by a process endpoint when it is ready for communication to resume, for example, powered up, maintenance over, etc.
{
  "OfflineDuration": "00:23:00"
}
Public classStationParametersModified Sent by a process endpoint to indicate that an operator has modified a generic parameter or configuration setting. This does not apply to settings related to recipes, which are handled by the RecipeModified event.

Generic Example

{
  "ModifiedParameters": [
    {
      "$type": "CFX.Structures.GenericParameter, CFX",
      "Name": "Torque1",
      "Value": "35.6"
    }
  ]
}

Example fore Solder Reflow Oven

{
  "ModifiedParameters": [
    {
      "$type": "CFX.Structures.SolderReflow.ReflowOvenParameter, CFX",
      "ConveyorSpeedSetpoint": 50.0,
      "ConveyorWidth": 25.0,
      "ZoneParameters": [
        {
          "Zone": {
            "ReflowZoneType": "PreHeat",
            "StageSequence": 1,
            "StageName": "Zone1",
            "StageType": "Work"
          },
          "Setpoints": [
            {
              "SubZone": "Top",
              "SetpointType": "Temperature",
              "Setpoint": 220.0
            },
            {
              "SubZone": "Bottom",
              "SetpointType": "Temperature",
              "Setpoint": 220.0
            }
          ]
        },
        {
          "Zone": {
            "ReflowZoneType": "Soak",
            "StageSequence": 2,
            "StageName": "Zone2",
            "StageType": "Work"
          },
          "Setpoints": [
            {
              "SubZone": "Top",
              "SetpointType": "Temperature",
              "Setpoint": 200.0
            },
            {
              "SubZone": "Bottom",
              "SetpointType": "Temperature",
              "Setpoint": 220.0
            }
          ]
        },
        {
          "Zone": {
            "ReflowZoneType": "Reflow",
            "StageSequence": 3,
            "StageName": "Zone3",
            "StageType": "Work"
          },
          "Setpoints": [
            {
              "SubZone": "Top",
              "SetpointType": "Temperature",
              "Setpoint": 200.0
            },
            {
              "SubZone": "Bottom",
              "SetpointType": "Temperature",
              "Setpoint": 220.0
            },
            {
              "SubZone": "WholeZone",
              "SetpointType": "O2",
              "Setpoint": 500.0
            },
            {
              "SubZone": "WholeZone",
              "SetpointType": "Vacuum",
              "Setpoint": 2.0
            },
            {
              "SubZone": "WholeZone",
              "SetpointType": "VacuumHoldTime",
              "Setpoint": 5.0
            }
          ]
        },
        {
          "Zone": {
            "ReflowZoneType": "Cool",
            "StageSequence": 4,
            "StageName": "Zone4",
            "StageType": "Work"
          },
          "Setpoints": [
            {
              "SubZone": "Top",
              "SetpointType": "Temperature",
              "Setpoint": 105.0
            },
            {
              "SubZone": "Bottom",
              "SetpointType": "Temperature",
              "Setpoint": 105.0
            }
          ]
        }
      ]
    }
  ]
}
Public classStationStateChanged Sent by a process endpoint when the production state transitions from one state to another per its state model.

Example 1 (State change with no related fault):

{
  "OldState": 2200,
  "OldStateDuration": "00:01:25",
  "NewState": 1100,
  "RelatedFault": null
}

Example 2 (State change with related fault):

{
  "OldState": 1100,
  "OldStateDuration": "00:00:25",
  "NewState": 5500,
  "RelatedFault": {
    "Cause": "MechanicalFailure",
    "Severity": "Error",
    "FaultCode": "ERROR 3943480",
    "FaultOccurrenceId": "3de0cfce-42f4-4302-982b-96dba4ec3de0",
    "Lane": null,
    "Stage": null,
    "SideLocation": "Unknown",
    "AccessType": "Unknown"
  }
}
Public classToolChanged Sent when a new tool is selected for active use at a production endpoint

Example 1 (Generic tool change):

{
  "OldTool": null,
  "ReturnedToHolder": null,
  "NewTool": {
    "UniqueIdentifier": "UID23890430",
    "Name": "TorqueWrench_123"
  },
  "LoadedFromHolder": {
    "LocationUniqueIdentifier": "UID238943243243",
    "LocationName": "BIN45",
    "BaseName": null
  }
}

Example 2 (Nozzle change on SMT placement machine):

{
  "OldTool": null,
  "ReturnedToHolder": null,
  "NewTool": {
    "$type": "CFX.Structures.SMTPlacement.SMTHeadAndNozzle, CFX",
    "HeadId": "HEAD1",
    "HeadNozzleNumber": 1,
    "NozzleType": "TYPE914",
    "UniqueIdentifier": "UID23890430",
    "Name": "NOZZLE234324"
  },
  "LoadedFromHolder": {
    "LocationUniqueIdentifier": "UID238943243243",
    "LocationName": "HOLDER14",
    "BaseName": "NEST2"
  }
}