Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 21 Next »

 Table of Contents

Overview

The purpose of the LogiX Business Integrator Component is to enable data exchange between LogiX Applications and ISA-95 Level 4: Business logistics and reporting systems, such as ERP, APS, or CMMS.

The Integrator will ultimately cover the following areas:

  • Processing orders

  • Handling materials

  • Scheduling production events

  • Processing raw and aggregated KIPs and other data by LogiX applications

Assumptions

  • Almost every LogiX deployment needs to communicate with ERP systems or other business apps.

  • Those applications are often COTS or legacy software that are hard to change.

  • Even for the same app (or a set of apps), there are often various integration scenarios for a single Client.

Goals

  • Decoupling:

    • LogiX internal data model, of which semantics is known across LogiX components, from external data models.

    • LogiX cloud services from implementation of custom integration components, supporting various interfaces, different orchestrations, ETL batch exchanges, and data formats.

  • Common core message bus and data structure

  • Security:

    • Authorizations

    • DDoS - Request Flood prevention

    • Events/errors logging

  • Out-of-the-box observability:

    • Monitoring

    • Logging for auditing and debugging

    • Tracing in case there is a need for deeper problem analysis.

API - General Description

The description is available here: https://stage.api.logix.cloud/index.html

Authentication

In accordance with OpenID Connect specifications, the following parameters are sent to each Client individually:

  • Authentication base URL

  • Client ID

  • Client Secret

You can use them to generate a new token using the following parameters:

Grant Type: client_credentials

Discovery Endpoint: [baseUrl]/.well-known/openid-configuration

Access Token URL: [baseUrl]/connect/token

Scope: api.logix.cloud logix.api

Example Request:

POST /connect/token
CONTENT-TYPE application/x-www-form-urlencoded

    client_id=client1&
    client_secret=secret&
    grant_type=client_credentials&
    scope=api.logix.cloud%20logix.api

Example Response:

{
    "access_token": "eyJh...",
    "expires_in": 3600,
    "token_type": "Bearer",
    "scope": "api.logix.cloud logix.api"
}

General Assumptions

  1. In API calls, you should use IDs for factories (PlantCode) and production lines (LineCode). You can find those IDs in the ConfigHub app in the Factories tab.

  2. If you want to add new activities or modify the existing ones, you should use the HTTP PUT method:

  • if the activity that you are adding exists, it will be updated.

  • if the activity that you are adding does not exist, it will be added as a new activity.

Updating via an external system is not allowed only if a specific activity is blocked as Managed by LogiX (it is done by setting a special internal flag in LogiX). Such blocking occurs automatically when an activity is added or modified through an app that belongs to the LogiX Suite (PackOS or KeepUp).

  1. Changing the statuses of activities that are in the

LogiX scheduler can be initiated from outside by invoking right methods on the resources related to specific activities.

Resources

/activities

Read-only use. It returns the activity schedules of all types: scheduled, executed, or historical ones. You can use filters for schedules by providing the LineCode ID and narrowing down the time range of activity (for example, production orders).

 Activity attributes- (common attributes for all types of activities)

ID - external identifier of activity, unique within given plant. Identifier must begin and terminate with a digit or letter and can contain ‘_' and '-’ letters inside

Type - type of line activity:

Changeover,

Cleaning,

Order,

Other

PlantCode - factory ID, as described above

LineCode - line ID, as described above

plannedExecution - container for dates of planned execution for given activity (orginal as of external system):

PlannedStart - planned start date and time

PlannedEnd - planned end date and time

scheduledExecution - container for dates of scheduled execution for given activity (managed by Logix):

ScheduledStart - scheduled start date and time

ScheduledEnd - scheduled end date and time

actualExecution - container for dates of actual execution for given activity (registered in Logix):

ActualStart - start date and time for given activity as it actually happened

ActualEnd - end date and time for given activity as it actually happened

EstimatedEnd - end date and time for given activity predicted by LogiX taking into account actual performance

ExpectedEffort - container for information about planned labor utilization

manhours - number of hours (decimal data type)

ActualEffort - container for information about actual, reported labor utilization

manhours - number of hours (decimal data type)

Status - current activity status:

Draft - activity not validated

Released - activity ready to be started

Started - activity in progress

Suspended - activity on hold, can be started or completed

Completed - activity finished

Kind - additional activity classification within given type (eq. kind of changeover: Labeling vs Product change)

Description - additional free text to describe acitivty

additionalFields - collection of arbitrary name/value pairs to enrich/classify/describe given activity

validationErrorCount -

Created - date and time of activity creation

Modified - date and time of last modification of activity

/activities/changeovers

Changeovers are always related to production order and they can be created automatically with an order by specifying additional attributes (plannedActivation begin and end).

 Attributes specific to changeover activity.

OrderId - identifier of corresponding production order

/activities/cleanings

Dedicated resource is for line cleaning activities.

 Attributes specific to cleaning activity.

No specific attrbiutes

/activities/orders

Resource to create, update or retrieve information about production orders. It is possible to create at once an Order with correlated Changeover activity by specifying optional Planned Activation dates.

 Attributes specific to Order activity.

orderedQuantity:

value - scheduled quantity of goods to be produced

unit - unit of measurement in which quantity was specified

producedQuantity:

value - quantity of goods actually produced

unit - unit of measurement in which quantity was specified

wastedQuantity:

value - quantity of wasted products

unit - unit of measurement in which quantity was specified

productId - identifier of product to be manufactured

flowName - optional identifier of Line Configuration as defined in PackOS

/products

Resource to manage Products registry.

 Specific product attributes

Id- unique, external product identifier

name - product name

ean - optional EAN code of a product

additionalFields - a collection of name value pairs which can be freely used for addtitional product description

lineConfigurations - a collection of design and validated performance for given product on different lines

lineCode - code of line

designSpeed

value - design speed value

unit - unit of measurement for speed value

validatedSpeed

value - validated speed value

unit - a unit of measurement for speed value

packagingStructures - conversion between packages

fromUnit - the name of base unit

toUnit - the name of destination unit

multiplier - multiplier to convert quantity between Units of Measurement

  • No labels