Set Up Connected Assets and Equipment

Enterprises and manufacturing plants often use smart equipment and assets that can generate operational data and alerts. Operational data can include production updates, such as details on quantities produced, quality inspection results, and alerts related to machine errors or asset failures.

You can use the data from smart equipment and assets to automate tasks in Manufacturing and Maintenance, such as automatically updating production quantities, performing quality inspections, and generating exceptions and maintenance work orders for faults and errors.

You need to provision and configure the SCM Core Service- Smart Operations service on your instance before you can capture and evaluate events from connected assets in Maintenance and connected equipment in Manufacturing.

To enable this service, you need to log a Service Request (SR). For Manufacturing, use the following SR details:

  • Select Product Module - Oracle Fusion Manufacturing Cloud Service.
  • Select Category - Work Execution.
  • Select Subcategory - Manage Work Orders.
  • Select Component: Installation Issue (INSTALL).
  • Copy and paste this text into description area of the SR: Enable the SCM Core Service-Smart Operations.

For Maintenance, use the following SR details:

  • Select Product Module: Oracle Maintenance Cloud Service.
  • Select Category: Maintenance Work Orders.
  • Select Subcategory: Maintenance Work Orders.
  • Select Component: Installation Issue (INSTALL).
  • Select Severity: 3-Minimal Loss of Service.
  • Copy and paste this text into description area of the SR: Enable the SCM Core Service-Smart Operations.
Note: You only need to create one SR, using either category, if you are using both Manufacturing and Maintenance.

Once the SCM Core Service- Smart Operations service is enabled on your Oracle Public Cloud region instance, follow the implementation steps described in the following sections.

Before you start

Your IIoT environment or external system should be available and configured. You should have connected your assets and machines, and created the required attributes to identify and generate data.

Smart Operations currently support the following standard event types:

  • Operation Execution Start: Indicates the start of a work order operation at a workstation. This event type has the following data attributes:
    • WORK_ORDER_NUMBER: Required string.
    • OPERATION_SEQUENCE: Required number.
  • Operation Execution Stop: Indicates the stopping of work order operation execution at a workstation. This event type has no data attributes.
  • Quantity Report: Reports production quantities, such as completed and rejected quantities, for a work order operation at a workstation. Also reports inspection results that includes values for the inspection characteristics. This event type has the following data attributes:
    • SERIAL_NUMBER: Optional string.
    • QUANTITY_REPORT_TYPE: Required string. Allowed values are COMPLETE, REJECT, and INSPECT.
    • QUANTITY: Required number.
    • INSPECTION_CHARACTERISTICS: BLOB value that supports multiple "key: value" pairs. Required only if the QUANTITY_REPORT_TYPE is INSPECT.

      The keys should use the inspection characteristic names. For example:

      {
          "entityCode": "RT39578219-2712",
          "eventTypeCode": "CA_QUANTITY_REPORT",
          "eventTime": "2024-06-04T13:21:14Z",
          "data": {
              "QUANTITY": 1,
              "SERIAL_NUMBER": "SR001",
              "QUANTITY_REPORT_TYPE": "INSPECT",
              "INSPECTION_CHARACTERISTICS": {
                  "temperature": 23,
                  "pressure": 3500,
                  "label": "SR001TP"
              }
          }
      }

      The locale for the characteristic name should also be included in the header. The default is English (en).

  • Asset Fault: Indicates a fault generated by a connected equipment or asset. Faults are associated with fault codes and can be of types diagnostic and failure. This event type has the following data attributes:
    • FAULT_CODE: Optional string.
    • FAULT_TYPE: Optional string. Allowed values are: FAILURE and DIAGNOSTIC.
  • Asset Status: Indicates the status of the connected equipment or asset, such as idle, in-use, or down. This event type has the following data attribute:
    • STATUS: Required string. Allowed values are: IN_USE, IDLE, and DOWN.

All event types additionally contain the following metadata about the event and the connected equipment or asset that generates the event:

  • entityCode: Required string. The code for the connected entity, such as the asset number.
  • eventTypeCode: Required string. The code for the event type, as described in the Fusion application. Possible values are CA_OPERATION_EXECUTION_START, CA_OPERATION_EXECUTION_STOP, CA_QUANTITY_REPORT, CA_FAULT, and CA_STATUS corresponding to the standard event types.
  • eventTime: Required string (date-time). Time when the event occurred in ISO 8601 format.
Note: See Create Operational Events in the REST API for Oracle Supply Chain Management Cloud guide for sample payload examples.

Your IIoT environment or external system should have been configured to map the relevant equipment or asset attributes to the event payload attributes specification. This includes the following:

  • Direct mapping for attributes that are fetched directly from the connected asset or machine:
    • FAULT_CODE (String)
    • WORK_ORDER_NUMBER (String)
    • OPERATION_SEQUENCE (Number)
    • SERIAL_NUMBER (String)
    • QUANTITY (Number)
    • INSPECTION_CHARACTERISTICS(Multiple data types): The various inspection characteristics and their respective data types.
  • Derived mapping for attributes that are transformed into Oracle-specified event attributes, including the supported List of Values (LoV).

    The STATUS LoV supports the following: IN_USE, IDLE, and DOWN. The QUANTITY_REPORT_TYPE LoV supports COMPLETE, REJECT, and INSPECT.

  • Additional optional mappings if required.

    For example, you may need to map fault types to fault codes. Say, fault type FAILURE maps to fault codes E01 and E03, and fault type DIAGNOSTIC maps to fault codes E02 and E04.

You should have configured the authentication mechanism to post events from your external system or IIoT environment to Smart Operations, as follows:

  • The IIoT environment or external system should use OAuth Integration for authentication and authorization to be able to post data for Smart Operations.
  • The IIoT environment or external system should have the provision to capture Oracle Client ID, Secret (masked), Scope, Oracle AUTH Token URL, and Oracle Fusion Cloud Endpoint URL.
  • The IIoT environment or external system should be able to invoke the Oracle AUTH Token URL with client ID, secret, and scope to retrieve the bearer token.
  • The IIoT environment or external system should be able to POST events to the Oracle Fusion Cloud Endpoint URL using the retrieved bearer token.
    Note: See Create Operational Events in the REST API for Oracle Supply Chain Management Cloud guide for sample payload examples.

For manufacturing, ensure that your workstations are ready to support automatic work execution:

  • Enable a workstation for automated execution of work order operations by setting the Enable for automated execution of operations flag for the workstation.
  • To enable equipment resource instances for connected execution, they need to be associated with an asset configured in Oracle Fusion Maintenance Cloud. The asset's location organization should be the same as the equipment resource instance's manufacturing organization.

Create an Identity Domain Application and Configure Authorization

Generate a client ID and client secret that can be used to configure OAuth integration in your IIoT environment or external system. You can create one or more identity domain applications for each integration.

  1. Sign in to your Oracle Identity Cloud Service console as an administrator.

  2. From the navigation menu, select Identity & Security.

  3. Under Identity, click Domains and select the identity domain.

  4. Click Integrated applications.

  5. On the Integrated applications page, click Add application.

  6. In the Add application dialog, select Confidential Application and click Launch workflow.

  7. Provide a name for the application. For example, SMART_OPERATIONS_HTTP_CLIENT.

  8. On the Configure OAuth step, select Configure this application as a client now under Client configuration.

  9. Under Authorization, select Client credentials.

  10. Under Token issuance policy select Add resources.

  11. Under Resources, click Add scope.
  12. Search for the scope spectra-scm-core.

  13. Under Select scope, select Urn:opc:resource:fusion:{namespace}:scm-core/api/scm-core/operational-data and click Add.

    Here {namespace} is your instance namespace.

  14. Click Next, then Finish.
  15. Click Activate to activate the application.

    You can get the client ID and client secret under the General Information section.

Enable Security Console External Application Integration

Enable the Security Console for your connected assets and equipment, which facilitates integration with your IIoT environment or external system.

To begin, set a profile value that prepares the Security Console to work with permission groups and related objects. In the Setup and Maintenance work area:

  1. Click the Tasks panel, and click Search.

  2. Search for the string Manage Administrator Profile Values.

  3. Click the Manage Administrator Profile Values task in the search results.

  4. In the Search: Profile Option section, enter ORA_ASE_SAS_INTEGRATION_ENABLED in the Profile Option Code field and click Search.

    A record of the ORA_ASE_SAS_INTEGRATION_ENABLED profile option code appears.

  5. In the row for the Site profile level, select Yes in the Profile Value field.

  6. Click Save and Close.

Enable Permission Groups

Enabling permission groups is required to work with connected assets and equipment. You can enable permission groups for the predefined job role. Alternatively, if you are using your own custom job role for data ingestion, you can enable permission groups and add the appropriate duty role for operational data ingestion to the role hierarchy.

Use the following steps to enable permission groups for the predefined job role:

  1. Click Roles in the security console.

    To access the security console, click Navigator > Tools > Security Console.

  2. Search for the ORA_SCM_SMO_SMART_OPERATIONS_SERVICE_AGENT_JOB role.
  3. Select the Edit Role option from the search result section.
  4. Click Enable Permission Groups to enable permission groups for the role. Confirm your choice.
  5. Click the Summary step and click Save and Close. You can also navigate to the Summary step by clicking Next until you reach the final step.

Use the following steps to use a custom job role:

  1. Click Roles in the security console.

    To access the security console, click Navigator > Tools > Security Console.

  2. Search for the ORA_SCM_SMO_SMART_OPERATIONS_SERVICE_AGENT_JOB role.
  3. Select the Copy Role option from the search result section.
  4. Select Copy top role and inherited roles in the Copy Options dialog and click Copy Role.
  5. Optionally edit the name and code for the custom role.
  6. Click Enable Permission Groups to enable permission groups for the role. Confirm your choice.
  7. Click the Role Hierarchy step. You can also click Next until you reach the Role Hierarchy step.
  8. Click the Roles and Permission Groups tab and click Add Role.
  9. Search and add the duty role ORA_DR_SMO_INGEST_OPERATIONAL_DATA_DUTY.
  10. Click the Summary step and click Save and Close. You can also navigate to the Summary step by clicking Next until you reach the final step.
Note: You should enable permission groups for any predefined or custom roles that you may be using with connected assets and equipment.

To ensure that the changes to the roles have been readily synced, you may need to run the Import User and Role Application Security Data and Retrieve Latest LDAP Changes scheduled processes:

Assign Job Role to the Client ID

Associate the Smart Operations Service Agent job role (ORA_SCM_SMO_SMART_OPERATIONS_SERVICE_AGENT_JOB) or the custom job role with the confidential application Client ID. This ensures that the Client ID generated for OAuth integration in the IIoT environment or external system is authorized to post events to Smart Operations.

  1. In the Security Console, switch to the Application Extensions tab.
  2. Under Custom OAuth Client Applications, click your application name.
  3. On the application page, click the Roles tab.
  4. Click Add to add the job role.
  5. In the Add Role dialog, search for ORA_SCM_SMO_SMART_OPERATIONS_SERVICE_AGENT_JOB.
  6. Select and add the Smart Operations Service Agent role.

Verify Event Payload Transmission

Invoke the Oracle AUTH Token URL with client ID, secret, and scope to retrieve the bearer token. Post events to the Oracle Fusion Cloud Endpoint URL using the bearer token.

Note:

Your external system or IIoT environment should be able to get a SUCCESS response on event POST. If the response is not received, the system should be able to retry to POST the event. Additionally, your external system or IIoT environment should be able to capture the logs of both successful and failed POST events.

What to do next

Smart Operations let users create operational rules for asset faults and asset status events. These operational rules evaluate the incoming events and execute automated workflow actions if the rule conditions are met. To create operational rules using Smart Operations, refer to the user guide and the What's New material for Manufacturing and Maintenance:

Smart Operations maintain a record of operational events, such as operation execution start or stop, quantity report events, and asset status events. You can view the operational event records and also view operational events that failed to process. To learn more about viewing operational events, refer to the following What's New entries for Manufacturing: